Cyclone FPGA question - Page 1
Forum section: electronics / general

author: Mrt12
author_rank: Regular Contributor
timestamp: March 26, 2019, 09:12:09 pm
content: Hi,it is several years ago since I played around with some Cyclone II and III FPGAs, so please excuse if my question is too basic.So I wanted to use a Cyclone II FPGA in a small project I want to do. I got a tray of those for free some years ago; I know they are old and perhaps obsolete. But since I have them already, why not use them....So I have a question for these FPGAs. Is it possible to use an ordinary SPI flash for the configuration storage (e.g. something like SST25VF016B)? the handbook always talks about the EPCS configuration devices, but I can't see what the differences to an ordinary SPI flash are.Further question, if I use the SPI flash for configuration in AS mode, is it possible to use the Altera USB Blaster to load the config into the flash?Third, if I change my design to Cyclone 10 - is it still possible to use the same flash?

author: ebclr
author_rank: Super Contributor
timestamp: March 27, 2019, 06:21:23 am
content: Why not use the right thing?Do you wanna add another variable to your design?https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cfg/cyc_c51014.pdf

author: bingo600
author_rank: Super Contributor
timestamp: March 27, 2019, 06:38:07 am
content: Have a look here (I haven't tried it out my self)https://fpgaforum.blogspot.com/2006/03/any-replacement-for-altera-epcs_19.htmlAnd this is from my "Spi-flash collected info"Quote/BingoPs:I think one of your fellow countrymen could help out (real experience w. this) , his id here is : davorinhttps://www.eevblog.com/forum/profile/?u=96539

author: AndyC_772
author_rank: Super Contributor
timestamp: March 27, 2019, 07:02:42 am
content: I've certainly used generic SPI flash in the past as a configuration device for Cyclone II. It would have been criminal not to; the prices of the EPCS parts are absolutely ridiculous, more than the FPGA itself in some cases.Unfortunately that was a long time ago now, and the part I used is obsolete. ST haven't sold flash for years, and I've no idea what (if anything) is compatible that's still manufactured.These days, when I do a design with an FPGA, I configure it using a microcontroller.

author: OwO
author_rank: Super Contributor
timestamp: March 27, 2019, 07:07:28 am
content: Quote from: Mrt12 on March 26, 2019, 09:12:09 pmIf you are considering switching FPGA family I would recommend the Spartan 6 instead. It supports Winbond SPI flash officially which are very cheap and easy to source. Last time I checked Spartan 6 is still the best bang for buck for medium-low capacity. If you need >50k LUTs I would go for Artix-7.

author: Scrts
author_rank: Frequent Contributor
timestamp: March 27, 2019, 12:17:14 pm
content: Quote from: OwO on March 27, 2019, 07:07:28 amI had about 3 years of experience with Altera FPGAs and 0 with Xilinx. Purchased Zynq board and so far - the process of learning Vivado is relatively slow... Will see how it goes in general.

author: OwO
author_rank: Super Contributor
timestamp: March 27, 2019, 12:43:30 pm
content: Quote from: Scrts on March 27, 2019, 12:17:14 pmI started with Altera 5 years ago, I got a Terasic DE1-SoC board which has a Cyclone V socfpga (85K logic elements). Later when it came time to put an FPGA in a product I settled on the Spartan 6, and noted that all my designs achieved about the same Fmax on S6 compared to CV, even though S6 is one generation behind (45nm vs 28nm). Recently I finally got around to developing a custom Zynq-7010 board, and found that Fmax is much improved in the 7 series Zynq/Artix and sometimes almost twice what I can get on Altera Cyclone V. The Zynq-7010's FPGA is the same as Artix-7 and has the same datasheet specs.

author: OwO
author_rank: Super Contributor
timestamp: March 27, 2019, 12:47:13 pm
content: The other thing is I've found Xilinx parts much easier to source, there seems to be a big surplus/new-old-stock/reballed market and I can get Xilinx parts for really cheap (Zynq for ~$13, Artix-7 100K LE for $20) whereas the Cyclone V SoC seems to be nearly impossible to find.

author: Deni
author_rank: Regular Contributor
timestamp: March 27, 2019, 01:07:40 pm
content: I've been using Cyclone-II successfully with various flash memories. As one type gets obsolete, I switch to another. However, number of options is rapidly decreasing. Please note that Cyclone-II is VERY mature product (at least from Alt.. ups - Intel's standpoint) so it is not supported by any newer version of Quartus. And yes, Altera programmers can program it in-circuit.I moved some of designs to MAX10. It has internal flash that makes things simpler - so you do not need external memory anymore and that answers your last question.

author: Scrts
author_rank: Frequent Contributor
timestamp: March 27, 2019, 06:59:04 pm
content: Quote from: OwO on March 27, 2019, 12:43:30 pmSo far, from what I can compare - Altera FPGAs have to be design constrained very well to achieve good frequencies. Now once that's done correctly - you can get decent speeds. E.g. I remember doing 270MHz oversampling logic with two 337.5MHz clocks on Cyclone II and it worked well. However, I had to constrain the input very well, placing the input flip flops exactly at the input pin blocks for sufficient performance... It seemed like for one input signal, I needed 20 lines in the SDC for a proper constraint.

author: Mrt12
author_rank: Regular Contributor
timestamp: March 27, 2019, 08:59:17 pm
content: Hi guys,thanks for the many answers. Actually I would also prefer to configure the FPGA via a small microcontroller, but on the other hand I would need to include a USB port and also write a loader software, which I didn't plan. My microcontroller will for sure not have enough internal memory for the FPGA bitstream, so I would need to get it somehow into the serial flash... it kind of doesn't really solve the problem. This is why I wanted to use the USB blaster.I was also thinking about switching to, e.g. Microsemi or so, but I have done my first experiments with Altera MAX7000 about 15 yrs ago, and then did some Altera stuff from time to time. Even with Xilinx, which I used only once, the learning curve will be a lot steeper, unfortunately, while Quartus hasn't changed that much since the first time I used it.Quote from: AndyC_772 on March 27, 2019, 07:02:42 amThe prices and availability are exactly the reasons why I don't want to use the EPCS parts :-)And if the generic part does work with Cyclone II, I wonder whether it also works with Cyclone 10?Quote from: Scrts on March 27, 2019, 12:17:14 pmI also used Zynq once; however I am not sure whether I used Vivado or something else - but it was extremely complicated and slow. Too much for me ;-) and this is going to be a hobby project, so definitely no Zynq required here.Quote from: Deni on March 27, 2019, 01:07:40 pmCould you tell which flash memory you used the last time?Quote from: Scrts on March 27, 2019, 06:59:04 pmHmm I will definitely need a good speed. I plan to use one of the internal PLLs to run a counter at around 200 MHz - preferrably more if possible. According to the datasheet, this should be possible... I will soon get a Cyclone II board and can test it.

author: Deni
author_rank: Regular Contributor
timestamp: March 30, 2019, 08:03:17 pm
content: QuoteIt was Micron's M25P32And I am using external MCU to re-program config memory once FPGA is initialized (in-field updates). So, programmer is used only once (for first-time flash programming).

author: ejeffrey
author_rank: Super Contributor
timestamp: April 01, 2019, 04:24:07 am
content: Quote from: Mrt12 on March 27, 2019, 08:59:17 pmWell, it solves the compatibility problem. I don't know about the Cyclone V, but the Arria V are incredibly picky about their flash chips, especially for the larger sizes. Just last month Intel announced that several of the EPCQ devices that were supposed to have availability until ~2025 are now EOL with no replacement so you can't even fall back on the absurdly priced first party chips if you have to. Using a microcontroller means you can load the bitstream from anywhere even if that is still an off the shelf SPI flash that may not be compatible with the FPGA. But it could also be a SD card with a filesystem on it.

author: OwO
author_rank: Super Contributor
timestamp: April 01, 2019, 04:31:08 am
content: Quote from: ejeffrey on April 01, 2019, 04:24:07 amThat's the other reason to avoid Intel/Altera

author: ejeffrey
author_rank: Super Contributor
timestamp: April 01, 2019, 03:49:02 pm
content: Quote from: OwO on April 01, 2019, 04:31:08 amYeah, well this particular design was selected before I started on it, and inherited from an ancient stratix II based project. But I will definitely be looking at xilinx next time it comes up for a number of reasons.