Author Topic: Cyclone FPGA question  (Read 4743 times)

0 Members and 2 Guests are viewing this topic.

Offline Mrt12Topic starter

  • Regular Contributor
  • *
  • Posts: 133
  • Country: ch
Cyclone FPGA question
« on: March 26, 2019, 09:12:09 pm »
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?
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2331
  • Country: 00
Re: Cyclone FPGA question
« Reply #1 on: March 27, 2019, 06:21:23 am »
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

 

Offline bingo600

  • Super Contributor
  • ***
  • Posts: 2034
  • Country: dk
Re: Cyclone FPGA question
« Reply #2 on: March 27, 2019, 06:38:07 am »
Have a look here (I haven't tried it out my self)
https://fpgaforum.blogspot.com/2006/03/any-replacement-for-altera-epcs_19.html

And this is from my "Spi-flash collected info"
Quote
Cyclone II series use ST nor spi flash. Depending on the bitstream size you may need a EPCS4 or EPCS16.
The ST equivelants are M25P40, M25P80, M25p16. Do not use M25VP**. Anyway these parts are die identical to the rebranded parts and much cheaper. Do not use EPCQ part for cyclone II.

/Bingo

Ps:
I think one of your fellow countrymen could help out (real experience w. this)  , his id here is : davorin
https://www.eevblog.com/forum/profile/?u=96539

« Last Edit: March 27, 2019, 06:54:31 am by bingo600 »
 

Offline AndyC_772

  • Super Contributor
  • ***
  • Posts: 4284
  • Country: gb
  • Professional design engineer
    • Cawte Engineering | Reliable Electronics
Re: Cyclone FPGA question
« Reply #3 on: March 27, 2019, 07:02:42 am »
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.

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Cyclone FPGA question
« Reply #4 on: March 27, 2019, 07:07:28 am »
Third, if I change my design to Cyclone 10 - is it still possible to use the same flash?
If 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.
Email: OwOwOwOwO123@outlook.com
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 799
  • Country: lt
Re: Cyclone FPGA question
« Reply #5 on: March 27, 2019, 12:17:14 pm »
Third, if I change my design to Cyclone 10 - is it still possible to use the same flash?
If 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.

I 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.
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Cyclone FPGA question
« Reply #6 on: March 27, 2019, 12:43:30 pm »
I 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.
I 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.
Email: OwOwOwOwO123@outlook.com
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Cyclone FPGA question
« Reply #7 on: March 27, 2019, 12:47:13 pm »
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.
Email: OwOwOwOwO123@outlook.com
 

Offline Deni

  • Regular Contributor
  • *
  • Posts: 70
  • Country: hr
Re: Cyclone FPGA question
« Reply #8 on: March 27, 2019, 01:07:40 pm »
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.
« Last Edit: March 27, 2019, 01:09:25 pm by Deni »
 

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 799
  • Country: lt
Re: Cyclone FPGA question
« Reply #9 on: March 27, 2019, 06:59:04 pm »
I 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.
I 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.

So 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.
 

Offline Mrt12Topic starter

  • Regular Contributor
  • *
  • Posts: 133
  • Country: ch
Re: Cyclone FPGA question
« Reply #10 on: March 27, 2019, 08:59:17 pm »
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.

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.

The 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?

Third, if I change my design to Cyclone 10 - is it still possible to use the same flash?
If 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.

I 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.

I 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.

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.

Could you tell which flash memory you used the last time?

I 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.
I 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.

So 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.

Hmm 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.
 

Offline Deni

  • Regular Contributor
  • *
  • Posts: 70
  • Country: hr
Re: Cyclone FPGA question
« Reply #11 on: March 30, 2019, 08:03:17 pm »
Quote
Could you tell which flash memory you used the last time?
It was Micron's M25P32

And 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).
« Last Edit: March 30, 2019, 08:05:44 pm by Deni »
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Cyclone FPGA question
« Reply #12 on: April 01, 2019, 04:24:07 am »
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.

Well, 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.
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Cyclone FPGA question
« Reply #13 on: April 01, 2019, 04:31:08 am »
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.
That's the other reason to avoid Intel/Altera  ;)
Email: OwOwOwOwO123@outlook.com
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3932
  • Country: us
Re: Cyclone FPGA question
« Reply #14 on: April 01, 2019, 03:49:02 pm »
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.
That's the other reason to avoid Intel/Altera  ;)

Yeah, 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.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf