Author Topic: Advice on an FPGA project  (Read 7597 times)

0 Members and 1 Guest are viewing this topic.

Offline 0xff7Topic starter

  • Newbie
  • Posts: 8
  • Country: us
  • Information Addict
    • Together We Hack
Advice on an FPGA project
« on: January 25, 2019, 09:22:21 am »
 So I ordered a Numato Mimas v2 as I have a project in mind using [https://fupy.github.io](https://fupy.github.io/) and was wondering if the XC6SLX9 is a good choice for my particular project. My plan is to make an FPGA based "bus pirate" type of project but with some extra features aside from the standard UART/JTAG/SPI/I2C. My board would also have a "JTAG" finder feature similar to the JTAGulator as well as Logic Analyzer feature (likely using SUMP and Sigrok) and maybe even some sort of glitching features similar to the ChipWhisperer. Basically the idea is yet another "hardware hacking Swiss Army knife". My plan is to use the Mimas V2 to start prototyping and then eventually build a custom PCB for the project. Since I'm still new to FPGAs in general tho I've been having a hard time choosing exactly which FPGA the project would use and finally just ordered the Mimas v2 figuring I can't go wrong with the XC6SLX9. With that said does my chosen chip sound like a good choice for the project? All input regarding the project is very much appreciated:)
Information addict | Poking holes in security is fun | Mobile Security nerd turned Hardware Hacker | Founder TogetherWeHack | #ExploitEverything
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Advice on an FPGA project
« Reply #1 on: January 25, 2019, 03:56:52 pm »
I would think it would work well.  The only concern I have is with the DDR memory and the logic analyzer application.  The Sump project is based on using onboard static RAM of the Spartan 3 Starter Board.  The project has been ported to a number of other platforms but I haven't followed along.  Look through the ports and see what you turn up.  I also know next to nothing about the timing of DDR memory - among many other topics.

The lack of a large header to connect with the logic analyzer level shifter/breakout board is a PITA.  One of the very nice features of the Spartan 3 Starter board was the 3 50-pin headers.  I have 3 or 4 of those boards and I still think about using them from time to time.  These days, it's the Artix-7 which is a very nice chip with a ton of logic.  But more pricey...

This is also a very nice board with a lot of pins but it doesn't have static RAM
https://www.ztex.de/usb-fpga-2/usb-fpga-2.01.e.html

I guess I'm just not a big fan of the PMOD headers although I concede they have their place for I2C, SPI, UART and so on.

 

Offline 0xff7Topic starter

  • Newbie
  • Posts: 8
  • Country: us
  • Information Addict
    • Together We Hack
Re: Advice on an FPGA project
« Reply #2 on: January 25, 2019, 07:36:57 pm »
The lack of a large header to connect with the logic analyzer level shifter/breakout board is a PITA.  One of the very nice features of the Spartan 3 Starter board was the 3 50-pin headers.  I have 3 or 4 of those boards and I still think about using them from time to time.  These days, it's the Artix-7 which is a very nice chip with a ton of logic.  But more pricey...

Yea when I first decided to order an FPGA I was going back and forth between the Digilent Arty A7 and the Mimas v2. I settled on the Mimas v2 because not only is it half the price but Numato gives a student discount so I got it for around $35 before shipping (was about $55 w/ shipping)
Information addict | Poking holes in security is fun | Mobile Security nerd turned Hardware Hacker | Founder TogetherWeHack | #ExploitEverything
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Advice on an FPGA project
« Reply #3 on: January 25, 2019, 08:18:42 pm »
The lack of a large header to connect with the logic analyzer level shifter/breakout board is a PITA.  One of the very nice features of the Spartan 3 Starter board was the 3 50-pin headers.  I have 3 or 4 of those boards and I still think about using them from time to time.  These days, it's the Artix-7 which is a very nice chip with a ton of logic.  But more pricey...

Yea when I first decided to order an FPGA I was going back and forth between the Digilent Arty A7 and the Mimas v2. I settled on the Mimas v2 because not only is it half the price but Numato gives a student discount so I got it for around $35 before shipping (was about $55 w/ shipping)

I haven't seen an Artix board with static RAM anyway.  There is a static RAM component for the DDR memory on the Nexys 4 DDR board but I haven't studied the timing.

For the price, the Numato board is going to be hard to beat.  See if it works for the logic analyzer but don't spend much time worrying about it.  Build your other projects, learn the business of coding logic and think about the fact that the Mimas board isn't your last board.
 

Online Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 3359
  • Country: nl
Re: Advice on an FPGA project
« Reply #4 on: January 26, 2019, 09:14:47 am »
A long time ago I decided to not go into FPGA, as my limited brain capacity is already strained with writing uC firmware.

In the last few years I've seen open source software tools growing in capabilities and low priced FPGA boards are also becoming available from Ali / Ebay / China / Etc.
With a bit of searching you can get minimal development boards with an FPGA from Altera or Xilinx for less than EUR 10, which makes the price trivial, in my book and the quality of support by open source tools would then becoma a more important factor for me.

As a "swiss army toolbox gadged" the combination of ESP8266 seems very promising.
You can use REPL over WiFi and use python commands to extract data from I2C chips etc via a web browser.

Sigrok is a wonderfull piece of software, and has seen some significant updates, the last big version step from 2018-10 added some nice features. I use it with a CY7C68013A box (24MHz 8ch, from Ali / Ebay / Etc).
With the generic CY7C68013A development board you get 16 channels in Sigrok, but it lacks input protection.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #5 on: January 26, 2019, 03:10:31 pm »
If you're going to sell them then price of the development board means nothing. Select the chip you want to use in your final product (likely to be Spartan-7) then buy the board with this chip. If you design everything for Spartan-6, then moving to Spartan-7 will not be easy - it's totally different set of tools - Vivado vs. ISE.

If you're just doing a project for yourself, use the board you already have. Practically any FPGA can do what you want. However, keep in mind that Spartan-6 is only supported by ISE, which is now obsoleted by Xilinx and replaced with Vivado. If you're just starting, it might not be a good idea to use obsoleted tools.

Of course, if you want to go to very higher speeds, it's another story.
 

Offline 0xff7Topic starter

  • Newbie
  • Posts: 8
  • Country: us
  • Information Addict
    • Together We Hack
Re: Advice on an FPGA project
« Reply #6 on: January 26, 2019, 03:35:24 pm »
If you're going to sell them then price of the development board means nothing. Select the chip you want to use in your final product (likely to be Spartan-7) then buy the board with this chip. If you design everything for Spartan-6, then moving to Spartan-7 will not be easy - it's totally different set of tools - Vivado vs. ISE.

If you're just doing a project for yourself, use the board you already have. Practically any FPGA can do what you want. However, keep in mind that Spartan-6 is only supported by ISE, which is now obsoleted by Xilinx and replaced with Vivado. If you're just starting, it might not be a good idea to use obsoleted tools.

Of course, if you want to go to very higher speeds, it's another story.

Well I'm planning on open-sourcing the project so anyone can build/improve/whatever. I'll likely manufacturer and sell some boards on tindie or something too though
Information addict | Poking holes in security is fun | Mobile Security nerd turned Hardware Hacker | Founder TogetherWeHack | #ExploitEverything
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Advice on an FPGA project
« Reply #7 on: January 26, 2019, 04:20:35 pm »
I'm not a fan of open source tools for FPGA development for the simple reason that the factory is going to know more about the internals of the chip than any outside developer.  I don't want to have to debug my HDL and the toolchain.

It took me a while to warm up to Vivado after ISE - I don't do well with change, I guess.  Now it's all good.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #8 on: January 26, 2019, 04:36:27 pm »
I'll likely manufacturer and sell some boards on tindie or something too though

Then you need to think about things like price, form factor, future proofing etc.
 

Online iMo

  • Super Contributor
  • ***
  • Posts: 4784
  • Country: pm
  • It's important to try new things..
Re: Advice on an FPGA project
« Reply #9 on: January 26, 2019, 08:32:38 pm »
For your app with an external ddr I would recommend you a bit bigger chip, at least an XC6SLX16, or better the Artix-7 line.
The XC6SLX9 is pretty capable, its internal sram is rather smallish, you can run a Microblaze MCU in it plus a lot of your own logic, or a complete PDP-8 :).
Connecting the LX9 to an external ddr or something like that would cost you a lot of resources, however.

« Last Edit: January 26, 2019, 08:38:12 pm by imo »
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Advice on an FPGA project
« Reply #10 on: January 27, 2019, 03:44:33 am »
XC6SLX9/XC6SLX16 is still a very popular FPGA and is fairly good bang for the buck. I don't see it becoming obsolete any time soon. However higher end Artix-7 and Kintex-7 (and Zynq too!) are starting to become available cheaply here. I would personally avoid Spartan-7 because it seems very difficult to source and aren't available anywhere (might be because no one is using them).
Email: OwOwOwOwO123@outlook.com
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Advice on an FPGA project
« Reply #11 on: January 27, 2019, 03:59:06 am »
These parts are "safe" to use (in terms of sourcing):
* XC6SLX9 - 2500LE/$
* XC6SLX16 - 3200LE/$
* XC6SLX25 - 2500LE/$

* XC7A50T - 1800LE/$
* XC7A100T - 2600LE/$
* XC7K160T - 4000LE/$

* XC7Z010-1CLG400 - $14
* XC7Z020-2CLG400 - $30

Prices may fluctuate because of market conditions.
« Last Edit: January 27, 2019, 04:01:47 am by OwO »
Email: OwOwOwOwO123@outlook.com
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #12 on: January 27, 2019, 04:20:38 am »
I would personally avoid Spartan-7 because it seems very difficult to source and aren't available anywhere (might be because no one is using them).

Ever heard of Digi-Key? 64 different Spartan-7 parts in stock starting from $14.70

* XC7Z010-1CLG400 - $14
* XC7Z020-2CLG400 - $30

 :-DD
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Advice on an FPGA project
« Reply #13 on: January 27, 2019, 05:57:14 am »
Ever heard of Digi-Key? 64 different Spartan-7 parts in stock starting from $14.70
Yeah, if you want to pay $14 for less logic resources than a spartan 6 lx9. The xc6slx9 you can get for about $3.7 (and the market price has been dropping slowly in the last year or so).
For prototypes it doesn't matter, but when you manufacture something for sale you really aren't going to be using digikey for anything that is more than 10% of your BOM cost.
Email: OwOwOwOwO123@outlook.com
 

Online iMo

  • Super Contributor
  • ***
  • Posts: 4784
  • Country: pm
  • It's important to try new things..
Re: Advice on an FPGA project
« Reply #14 on: January 27, 2019, 09:09:46 am »
These parts are "safe" to use (in terms of sourcing):
* XC6SLX9 - 2500LE/$
* XC6SLX16 - 3200LE/$
* XC6SLX25 - 2500LE/$   <<<<<<<<<<<<   :-+
The LX9 is still pretty popular because of its 144pin flat pack package (the largest XC6+ in such an easy to handle package available, imho).
« Last Edit: January 27, 2019, 12:10:21 pm by imo »
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #15 on: January 27, 2019, 02:01:03 pm »
The xc6slx9 you can get for about $3.7 (and the market price has been dropping slowly in the last year or so).

Perhaps you can get it for $3.70, but I certainly cannot. Where do you buy them for $3.70, and in what quantities?
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14472
  • Country: fr
Re: Advice on an FPGA project
« Reply #16 on: January 27, 2019, 05:49:22 pm »
Yeah, the TQFP144 is currently $16.52 at Digikey... (and you'll notice many of the other packages are non-stock... so I'm going to be wary about future supply issues...)
 

Offline OwO

  • Super Contributor
  • ***
  • Posts: 1250
  • Country: cn
  • RF Engineer.
Re: Advice on an FPGA project
« Reply #17 on: January 27, 2019, 05:59:56 pm »
Perhaps you can get it for $3.70, but I certainly cannot. Where do you buy them for $3.70, and in what quantities?

People doing manufacturing in shenzhen generally use a network of suppliers and some can be found on hqew.com. You can search by part number and request quotes from many suppliers at once. Then there are dealers that buy from the market and sell on taobao, generally to R&D customers. These will vet the suppliers (because selling bad parts on taobao will get your reputation ruined real quick) and add some premium, but taobao prices generally track market prices. The prices I listed above are taobao prices, in single quantities. In volume it's probably more like $2.5.

Outside of China your best bet is probably aliexpress. I would pick a seller with a rating of >98%. I did a quick search and the xc6slx9 averages $4 there, with many sellers so supply likely won't become a problem any time soon.
« Last Edit: January 27, 2019, 06:01:48 pm by OwO »
Email: OwOwOwOwO123@outlook.com
 

Online ali_asadzadeh

  • Super Contributor
  • ***
  • Posts: 1905
  • Country: ca
Re: Advice on an FPGA project
« Reply #18 on: January 27, 2019, 06:24:16 pm »
Quote
These parts are "safe" to use (in terms of sourcing):
* XC6SLX9 - 2500LE/$
* XC6SLX16 - 3200LE/$
* XC6SLX25 - 2500LE/$

* XC7A50T - 1800LE/$
* XC7A100T - 2600LE/$
* XC7K160T - 4000LE/$

* XC7Z010-1CLG400 - $14
* XC7Z020-2CLG400 - $30

Prices may fluctuate because of market conditions.

Thanks for the tip, which speed grades and package options do you recommend? also since you are in china and I always got my parts from there, do you recommend any reliable supplier?
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline kony

  • Regular Contributor
  • *
  • Posts: 242
  • Country: cz
Re: Advice on an FPGA project
« Reply #19 on: January 27, 2019, 07:09:57 pm »
Be warned of fakes of FPGAs on aliexpress. Already got burned on some XC6 chips (SLX45?).
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #20 on: January 27, 2019, 07:22:08 pm »
Outside of China your best bet is probably aliexpress. I would pick a seller with a rating of >98%. I did a quick search and the xc6slx9 averages $4 there, with many sellers so supply likely won't become a problem any time soon.

I have not tried buying ICs on AliExpress, but I tried to buy other things and I didn't have any good luck with AliExpress. Perhaps, if I could find good sellers and distinguish them from bad sellers, things would be different, but I'm bad at this. For example, with FPGA, I can probably tell that if the seller shows the picture of the FPGA laying on his table then he probably doesn't care that the part is moisture sensitive and I will have to bake it before soldering. But this is rather a small thing. What other information do I get? How do I know they sell good parts? They might as well be parts which didn't pass Xilinx QA, or something of that sort, how can I tell? Perhaps you can give me some tips?

BTW: There are plenty of Artix-7 parts on AliExpress, and I'm pretty sure Spartan-7 will find its way to AliExpress given enough time. Although Spartan-7's prices seem to be going up and it doesn't look as attractive compared to Artix-7 as it used to be, except perhaps for the smallest parts.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14472
  • Country: fr
Re: Advice on an FPGA project
« Reply #21 on: January 27, 2019, 07:37:45 pm »
I've already bought FPGA dev boards on AliExpress and the parts on them seemed genuine (never had a functional problem either), but I would really not feel confident buying components that end up in a shipped product... ::)
 

Offline kony

  • Regular Contributor
  • *
  • Posts: 242
  • Country: cz
Re: Advice on an FPGA project
« Reply #22 on: January 27, 2019, 07:47:19 pm »
Fakes I got are semiproffesional. You can spot them only after knowing what to look for - bit different surface texture of the BGA overmould after lapping off the old marking, very stubble error in font used for labeling. Otherwise the parts look absolutely legit, get shipped on a tray in ESD bag and only way how to reliably tell is to populate them on board. It is more than likely that even the seller was unaware about compromised source - four parts were remarked counterfits, one was legit. The seller photos mean virtually nothing, possibly the only thing to look for is if they are using ESD percautions when handling the chips.

Never had a problem with bottom of the line chips, trough.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Advice on an FPGA project
« Reply #23 on: January 27, 2019, 09:17:22 pm »
I'm not a fan of open source tools for FPGA development for the simple reason that the factory is going to know more about the internals of the chip than any outside developer.  I don't want to have to debug my HDL and the toolchain.

It took me a while to warm up to Vivado after ISE - I don't do well with change, I guess.  Now it's all good.


Open source project is not the same as open source tools. I've released many of my FPGA projects as open source, they still rely on tools like Quartus and ISE.

I played around with Vivado a bit and was not impressed, maybe I'd get used to it eventually. On the Xilinx side though ISE has WAY more hobbyist support so it is preferable IMO if one is doing this as a hobby. If FPGA development is a serious career interest then Vivado is probably the way to go but that was never my interest.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Advice on an FPGA project
« Reply #24 on: January 28, 2019, 01:36:34 am »
On the Xilinx side though ISE has WAY more hobbyist support so it is preferable IMO if one is doing this as a hobby. If FPGA development is a serious career interest then Vivado is probably the way to go but that was never my interest.
It's absolutely the other way around - for hobbyists Vivado is WAAAAYYYY better as it brings more free stuff (like Microblaze infrastructure, which is NOT free for S6), not to mention that the tool itself is IMHO much user-friendly (but still is complicated enough that you will need to read/watch some tutorials and docs). After using Vivado ISE seems like a dinosaur from the stone age!

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2803
  • Country: nz
Re: Advice on an FPGA project
« Reply #25 on: January 28, 2019, 02:57:33 am »
On the Xilinx side though ISE has WAY more hobbyist support so it is preferable IMO if one is doing this as a hobby. If FPGA development is a serious career interest then Vivado is probably the way to go but that was never my interest.
It's absolutely the other way around - for hobbyists Vivado is WAAAAYYYY better as it brings more free stuff (like Microblaze infrastructure, which is NOT free for S6), not to mention that the tool itself is IMHO much user-friendly (but still is complicated enough that you will need to read/watch some tutorials and docs). After using Vivado ISE seems like a dinosaur from the stone age!

However, Vivado is definitely a product of the SSD age. It works so much better when on a SSD.

When run on an SSD it is almost usable.  >:D
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Advice on an FPGA project
« Reply #26 on: January 28, 2019, 03:16:20 am »
However, Vivado is definitely a product of the SSD age. It works so much better when on a SSD.
I'm running Vivado off SSD, but my projects are on a regular HDD, and I don't have any performance issues. My system has 32Gb of quad channel memory, so it probably helps as there is a plenty of memory for disk cache, and so relative slowness of HDD is not that critical. My CPU is rather old though (i7 3930K) even though at the time of purchase it was almost top of the line, so I'm planning to upgrade it to something more modern at some point - something like i9 9900X or 9920X.
Usability-wise Vivado is great - don't really have any issues with it, unlike ISE, which feels straight from the stone age.
« Last Edit: January 28, 2019, 03:18:45 am by asmi »
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Advice on an FPGA project
« Reply #27 on: January 28, 2019, 04:39:22 am »
On the Xilinx side though ISE has WAY more hobbyist support so it is preferable IMO if one is doing this as a hobby. If FPGA development is a serious career interest then Vivado is probably the way to go but that was never my interest.
It's absolutely the other way around - for hobbyists Vivado is WAAAAYYYY better as it brings more free stuff (like Microblaze infrastructure, which is NOT free for S6), not to mention that the tool itself is IMHO much user-friendly (but still is complicated enough that you will need to read/watch some tutorials and docs). After using Vivado ISE seems like a dinosaur from the stone age!


Who uses Microblaze in a hobby project? I don't think I've ever encountered one. Whatever the case it's completely useless for me since the only FPGA projects that interest me are retro computer/gaming stuff. I have softcores for the 6502, 6809 and Z80 and some simililar CPUs, that's all I really need. Not only that, Microblaze only works with Xilinx and I hate vendor specific IP, I strive to make everything I create relatively easy to port between vendors so people can port it to whatever hardware they have. Frankly the Xilinx stuff all feels pretty terrible next to Quartus but ISE does have a simulator I find easier to use than the Altera offerings and there are a LOT of Spartan3/6 boards out there.

This seems to start the same sort of silly religious wars that raged on with the old PC/Mac debates, but if you're aware of some significant Vivado based FPGA hobby projects or communities please do share because I looked back when I played around with it and found absolutely nothing. Literally every single hobby FPGA/CPLD project I found online used either ISE or Quartus, except for I think *one* I came across where the guy used a Lattice part. The most popular low cost hobbyist oriented boards on the market are based on older parts not supported by Vivado.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #28 on: January 28, 2019, 04:43:31 am »
Usability-wise Vivado is great - don't really have any issues with it, unlike ISE, which feels straight from the stone age.

In general, I'd say I like Vivado better, but it's much slower than ISE and I feel it produces worse results (in terms of timing).
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Advice on an FPGA project
« Reply #29 on: January 28, 2019, 04:49:15 am »
From what I was able to find out, it seems the general opinion is that Vivado is faster when dealing with very large (by my standards) projects, but the amount of... I guess you could say fixed overhead is larger, so when working with small projects it is much slower. My projects are definitely on the small side, most of them struggle to fill 50% of an ancient Cyclone II part and when I do hit a limit it is almost always block memory rather than fabric. I got a larger dev board early on in my FPGA experiments but pretty quickly realized it's rather pointless for typical hobby projects. A larger FPGA just means higher cost and longer compile times and many people will never end up needing the extra space. My smallest oldest FPGAs are my most used because the compile time is so much faster.
 

Offline NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9016
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: Advice on an FPGA project
« Reply #30 on: January 28, 2019, 05:14:20 am »
I'm running Vivado off SSD, but my projects are on a regular HDD, and I don't have any performance issues. My system has 32Gb of quad channel memory, so it probably helps as there is a plenty of memory for disk cache, and so relative slowness of HDD is not that critical. My CPU is rather old though (i7 3930K) even though at the time of purchase it was almost top of the line, so I'm planning to upgrade it to something more modern at some point - something like i9 9900X or 9920X.
Usability-wise Vivado is great - don't really have any issues with it, unlike ISE, which feels straight from the stone age.
I also run apps off SSD but keep project files on HDD, works quite well. (I actually have 2 SSDs, one for the root filesystem and one for /opt, the latter added as the root drive was getting low on space.) Also running a 3930k with 48GB of RAM, planning to just keep it running since the cost to upgrade is not really worth it.

I mostly use ISE at this point since I got a few Pano G2 boxes for cheap (~$8 each!), great choice for 1080p output and there are two on one box if you can find a good use case for them. (No HDMI input, although I suppose there's probably some way to hack together something with one of those $20 universal HDMI to LVDS boards or a motherboard scavenged out of a broken TV or monitor.)
This seems to start the same sort of silly religious wars that raged on with the old PC/Mac debates, but if you're aware of some significant Vivado based FPGA hobby projects or communities please do share because I looked back when I played around with it and found absolutely nothing. Literally every single hobby FPGA/CPLD project I found online used either ISE or Quartus, except for I think *one* I came across where the guy used a Lattice part. The most popular low cost hobbyist oriented boards on the market are based on older parts not supported by Vivado.
I would expect Lattice to become more popular with open source projects since the entire toolchain is open source. Micah Elizabeth Scott even did a video on that a few weeks back.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14472
  • Country: fr
Re: Advice on an FPGA project
« Reply #31 on: January 28, 2019, 03:14:17 pm »
Still using Spartan 6 so far, so I use ISE and haven't even tried Vivado yet.

But I'd be interested in knowing what exactly Vivado offers that ISE doesn't (apart from the fact you don't have a choice for newer Xilinx parts)? I practically use ISE only for synthesis/map/PAR and timing analysis, and the core generator. I don't even use it as a text editor for VHDL, nor for FPGA programming. I use a third-party programming tool and a third-party simulator. So for that, I don't need anything fancier than ISE. Guess it all depends on what your workflow is.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Advice on an FPGA project
« Reply #32 on: January 28, 2019, 04:26:09 pm »
I would expect Lattice to become more popular with open source projects since the entire toolchain is open source. Micah Elizabeth Scott even did a video on that a few weeks back.

This open-source toolchain for Lattice only supports the iCE40 devices. The standard stuff (Mach, ECP) all use the proprietary Lattice Diamond tools (which bundle Synplify Pro for synthesis and Aldec for HDL simulation).

Pick the devices which work best for your design and the tools follow. Don't shoehorn yourself into a device because it is supported by an open-source tool. Since all of the devices a hobbyist would consider using are all supported by free (as in beer) vendor tools, tool availability is not a concern. Professionals, of course, use the tools and devices that are best for the product being designed, and "best" has many definitions.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Advice on an FPGA project
« Reply #33 on: January 28, 2019, 04:34:23 pm »
Who uses Microblaze in a hobby project? I don't think I've ever encountered one.
I do. It's ideal for orchestrating hardware blocks, providing user input/output, performing some auxiliary tasks.
Not only that, Microblaze only works with Xilinx and I hate vendor specific IP, I strive to make everything I create relatively easy to port between vendors so people can port it to whatever hardware they have.
I'll take Vivado-only project that works over non-vendor specific project that doesn't any time. Besides no other vendor seems even interested in hobbyists, as they don't provide even basic free IPs like DRAM controllers.
Frankly the Xilinx stuff all feels pretty terrible next to Quartus but ISE does have a simulator I find easier to use than the Altera offerings and there are a LOT of Spartan3/6 boards out there.
LOL. S3/6 are ancient junk for my projects (real time video processing). I will take Vivado's system diagram over qsys mess any time, not to mention all free IPs that are shipped as part of Vivado. Add support for modern SystemVerilog (so I don't have to use ancient languages), mixed-language simulator, great AXI4 sim library, integration with third-party editors (I use VS Code myself, but just about any editor can be integrated), etc.
This seems to start the same sort of silly religious wars that raged on with the old PC/Mac debates, but if you're aware of some significant Vivado based FPGA hobby projects or communities please do share because I looked back when I played around with it and found absolutely nothing. Literally every single hobby FPGA/CPLD project I found online used either ISE or Quartus, except for I think *one* I came across where the guy used a Lattice part. The most popular low cost hobbyist oriented boards on the market are based on older parts not supported by Vivado.
Vivado is the most advanced FPGA IDE out there, shipped with a lot of free IPs. No other FPGA vendor comes even close. It's a fact, not opinion.

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Advice on an FPGA project
« Reply #34 on: January 28, 2019, 04:40:26 pm »
This open-source toolchain for Lattice only supports the iCE40 devices. The standard stuff (Mach, ECP) all use the proprietary Lattice Diamond tools (which bundle Synplify Pro for synthesis and Aldec for HDL simulation).
iCE40 devices are too limiting for most of my projects (not enough IOs) :(

Pick the devices which work best for your design and the tools follow. Don't shoehorn yourself into a device because it is supported by an open-source tool. Since all of the devices a hobbyist would consider using are all supported by free (as in beer) vendor tools, tool availability is not a concern. Professionals, of course, use the tools and devices that are best for the product being designed, and "best" has many definitions.
The free toolchain by itself is not enough for many projects. Some basic infrastructure IPs (things like softcore, memory controllers, basic peripherals like I2C, SPI, etc.) are also required for many more advanced projects. Technically one can develop it all by himself, but the effort required would be prohibitive for hobbyists.

Online iMo

  • Super Contributor
  • ***
  • Posts: 4784
  • Country: pm
  • It's important to try new things..
Re: Advice on an FPGA project
« Reply #35 on: January 28, 2019, 05:44:28 pm »
On the Xilinx side though ISE has WAY more hobbyist support so it is preferable IMO if one is doing this as a hobby. If FPGA development is a serious career interest then Vivado is probably the way to go but that was never my interest.
It's absolutely the other way around - for hobbyists Vivado is WAAAAYYYY better as it brings more free stuff (like Microblaze infrastructure, which is NOT free for S6), not to mention that the tool itself is IMHO much user-friendly (but still is complicated enough that you will need to read/watch some tutorials and docs). After using Vivado ISE seems like a dinosaur from the stone age!
Who uses Microblaze in a hobby project? I don't think I've ever encountered one.
For at least 10y there are ISE license files floating around supporting almost all IPs. A talented beginner may spend years messing with ISE 14.7 and S6 stuff, without feeling any special need to go for Vivado. The S6 boards are pretty cheap and readily available, with LX9/16/25 and w/ tons of srams/ddrs. Especially for the retro-projects the S6 is the winner, imho.
« Last Edit: January 28, 2019, 05:50:12 pm by imo »
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14472
  • Country: fr
Re: Advice on an FPGA project
« Reply #36 on: January 28, 2019, 06:02:52 pm »
This open-source toolchain for Lattice only supports the iCE40 devices.

Not only that, but it also supports only Verilog AFAIK.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #37 on: January 28, 2019, 06:52:13 pm »
But I'd be interested in knowing what exactly Vivado offers that ISE doesn't (apart from the fact you don't have a choice for newer Xilinx parts)? I practically use ISE only for synthesis/map/PAR and timing analysis, and the core generator. I don't even use it as a text editor for VHDL, nor for FPGA programming. I use a third-party programming tool and a third-party simulator. So for that, I don't need anything fancier than ISE. Guess it all depends on what your workflow is.

If you're porting the old project, the biggest thing is that you need to re-write all the UCF files, which are not UCF any more, but XDC. This may take a while. You don't have to use GUI if you don't want to. You can write a script and run it. Or you can open a TCL console and type the commands. Or, you can use TCL console from within GUI.

 

Offline radioactive

  • Regular Contributor
  • *
  • Posts: 173
  • Country: us
Re: Advice on an FPGA project
« Reply #38 on: January 28, 2019, 07:35:13 pm »
Quote
This open-source toolchain for Lattice only supports the iCE40 devices.

The open-source tools now support more than ICE40 if the 8K/256 pin isn't enough.  Take a look at current ECP5 support:

From the next-pnr github page: https://github.com/YosysHQ/nextpnr

Quote
nextpnr aims to be a vendor neutral, timing driven, FOSS FPGA place and route tool.

Currently nextpnr supports:

    Lattice iCE40 devices supported by Project IceStorm
    (experimental) Lattice ECP5 devices supported by Project Trellis
    (experimental) a "generic" back-end for user-defined architectures

We hope to see Xilinx 7 Series thanks to Project X-Ray and even more FPGA families supported in the future. We would love your help in developing this awesome new project!

From the SymbiFlow/prjtrellis page:  https://github.com/SymbiFlow/prjtrellis

Current Status

The following features are currently working in the Yosys/nextpnr/Trellis flow.

Quote
    Logic slice functionality, including carries
    Distributed RAM inside logic slices
    All internal interconnect
    Basic IO, including tristate, using TRELLIS_IO primitives; LPF files and DDR inputs/outputs
    Block RAM, using either inference in Yosys or manual instantiation of the DP16KD primitive
    Multipliers using manual instantiation of the MULT18X18D primitive. Inference and more advanced DSP features are not yet supported.
    Global networks (automatically promoted and routed in nextpnr)
    PLLs
    Transcievers (DCUs)

Development Boards

Project Trellis supports all ECP5 devices and should work with any development board. The following boards have been tested and confirmed working:

    Lattice ECP5-5G Versa Development Kit
    Lattice ECP5 Evaluation Board
    Radiona ULX3S (open hardware)
    TinyFPGA Ex (coming soon)

 

Offline pigtwo

  • Regular Contributor
  • *
  • Posts: 133
Re: Advice on an FPGA project
« Reply #39 on: January 28, 2019, 07:43:14 pm »
Still using Spartan 6 so far, so I use ISE and haven't even tried Vivado yet.

But I'd be interested in knowing what exactly Vivado offers that ISE doesn't (apart from the fact you don't have a choice for newer Xilinx parts)? I practically use ISE only for synthesis/map/PAR and timing analysis, and the core generator. I don't even use it as a text editor for VHDL, nor for FPGA programming. I use a third-party programming tool and a third-party simulator. So for that, I don't need anything fancier than ISE. Guess it all depends on what your workflow is.

It doesn't matter in your case as you use VHDL but one advantage is Vivado supports System Verilog.  I didn't really care about this until I started using Vivado and thus started to use more System Verilog. 
 

Offline joshtyler

  • Contributor
  • Posts: 36
  • Country: gb
Re: Advice on an FPGA project
« Reply #40 on: January 28, 2019, 08:36:08 pm »
It doesn't matter in your case as you use VHDL but one advantage is Vivado supports System Verilog.  I didn't really care about this until I started using Vivado and thus started to use more System Verilog.

It's worth noting that Vivado supports (a large subset of) VHDL-2008, whilst ISE does not. VHDL-2008 does fix many of the annoyances of previous versions.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Advice on an FPGA project
« Reply #41 on: January 29, 2019, 01:36:53 am »
Who uses Microblaze in a hobby project? I don't think I've ever encountered one.
I do. It's ideal for orchestrating hardware blocks, providing user input/output, performing some auxiliary tasks.
Not only that, Microblaze only works with Xilinx and I hate vendor specific IP, I strive to make everything I create relatively easy to port between vendors so people can port it to whatever hardware they have.
I'll take Vivado-only project that works over non-vendor specific project that doesn't any time. Besides no other vendor seems even interested in hobbyists, as they don't provide even basic free IPs like DRAM controllers.
Frankly the Xilinx stuff all feels pretty terrible next to Quartus but ISE does have a simulator I find easier to use than the Altera offerings and there are a LOT of Spartan3/6 boards out there.
LOL. S3/6 are ancient junk for my projects (real time video processing). I will take Vivado's system diagram over qsys mess any time, not to mention all free IPs that are shipped as part of Vivado. Add support for modern SystemVerilog (so I don't have to use ancient languages), mixed-language simulator, great AXI4 sim library, integration with third-party editors (I use VS Code myself, but just about any editor can be integrated), etc.
This seems to start the same sort of silly religious wars that raged on with the old PC/Mac debates, but if you're aware of some significant Vivado based FPGA hobby projects or communities please do share because I looked back when I played around with it and found absolutely nothing. Literally every single hobby FPGA/CPLD project I found online used either ISE or Quartus, except for I think *one* I came across where the guy used a Lattice part. The most popular low cost hobbyist oriented boards on the market are based on older parts not supported by Vivado.
Vivado is the most advanced FPGA IDE out there, shipped with a lot of free IPs. No other FPGA vendor comes even close. It's a fact, not opinion.


Good for you oh great master. Meanwhile loads of us are not nearly as elitist as you and are quite content to play around with "ancient junk". I've never come close to filling a S6 lx45 and even the lx9 I've only ever run out of block memory. It would be absolutely pointless for me to bother with larger parts, a complete waste for what I'm interested in.

The fact that Vivado is super advanced and ships with a pile of IP is irrelevant to those who don't want/need/care about any of that IP. If it can't be ported over to Altera or other vendor devices and doesn't make it easier to recreate retro hardware then it's useless to me. If it's useful to you that's great, but maybe you can try to comprehend that great numbers of people have different needs and interests than you. That's a fact, not opinion.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Advice on an FPGA project
« Reply #42 on: January 29, 2019, 02:05:19 am »
Good for you oh great master. Meanwhile loads of us are not nearly as elitist as you and are quite content to play around with "ancient junk". I've never come close to filling a S6 lx45 and even the lx9 I've only ever run out of block memory. It would be absolutely pointless for me to bother with larger parts, a complete waste for what I'm interested in.

The fact that Vivado is super advanced and ships with a pile of IP is irrelevant to those who don't want/need/care about any of that IP. If it can't be ported over to Altera or other vendor devices and doesn't make it easier to recreate retro hardware then it's useless to me. If it's useful to you that's great, but maybe you can try to comprehend that great numbers of people have different needs and interests than you. That's a fact, not opinion.
There is nothing "elitist" about that. Try implementing any realtime video streaming/processing and you will see immediately just how useful Vivado is with those free IPs. And I don't care that my projects don't work on Antel chips because Antel itself clearly doesn't want me to build projects for their chips as they are not providing required infrastructure. FFS they even charge money for their softcore in all but the most basic configuration! :palm:

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #43 on: January 29, 2019, 03:32:22 am »
I've never come close to filling a S6 lx45 and even the lx9 I've only ever run out of block memory. It would be absolutely pointless for me to bother with larger parts, a complete waste for what I'm interested in.

Spartan-7/Artix-7 are not bigger. However, they're newer, faster, and everything is a little bit better. In particular, if you're running out of BRAM, they generally have more BRAM. BRAM blocks are bigger and can be cascaded, so that you can have memory with 16-bit addresses. BRAM blocks also can be re-configured as hardware FIFO. There are also dedicated I/O FIFOs which are shallow but very wide. Similarly, other things improved a little bit too. I personally like 7-series better. And since they're newer (Spartan-7 released only last year), they're likely to last longer.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Advice on an FPGA project
« Reply #44 on: January 29, 2019, 06:06:14 pm »
A better solution in most cases is to add a $2 SRAM or ROM rather than spend $40 more on the FPGA. I see no reason to update my entire chain and abandon hundreds of dollars worth of legacy hardware and knowledge to chase something shiny and new because it's "better". Especially when a large part of the retro spirit is in doing more with less, pushing limited systems as far as they can be made to go.

I think I was doing FPGA development for about 3 years before I ever started feeling squeezed in an ancient EP2C5T144. That is a very old, very small part and I have complete 8 bit computers and arcade games running entirely in the FPGA. $13 board and compile takes less than 30 seconds. When I tried porting one of my projects to Vivado it took something like 8 times as long to compile and I was not a fan of the UI.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: Advice on an FPGA project
« Reply #45 on: January 29, 2019, 06:39:51 pm »
A better solution in most cases is to add a $2 SRAM or ROM rather than spend $40 more on the FPGA.

They're about the same price, say for your LX45:

https://www.digikey.com/product-detail/en/xilinx-inc/XC6SLX45-2CSG324C/122-1673-ND

Spartan-7:

https://www.digikey.com/product-detail/en/xilinx-inc/XC7S50-1CSGA324C/122-2040-ND

or Artix-7:

https://www.digikey.com/product-detail/en/xilinx-inc/XC7A50T-1FTG256C/122-1916-ND

I'm sure if you want to buy yours on AliExpress, the price won't be much different neither.

I see no reason to update my entire chain and abandon hundreds of dollars worth of legacy hardware and knowledge to chase something shiny and new because it's "better".

Of course not. But do you also think the OP should start with the older chips because you have started using them several years ago? He doesn't have anything to abandon yet.

Especially when a large part of the retro spirit is in doing more with less, pushing limited systems as far as they can be made to go.

Everything is limited. Why is it wrong to have something you can push even further?

 

Offline kony

  • Regular Contributor
  • *
  • Posts: 242
  • Country: cz
Re: Advice on an FPGA project
« Reply #46 on: January 29, 2019, 07:06:03 pm »
2$ external SRAM won't run on 200MHz with dual port full width parallel interface and single cycle latency trough. It is not a subtitute for BRAM within the fabric. If you can do with that, good - but it is not because the larger FPGAs are pointlessly expensive, it is simply because the design you are running does not need anything near the full performance the chip has to offer. SRAMs that are getting close in speed are nowhere near the 2$ pricepoint, with the additional I/O turnaround latency thrown in.

Also it is not all that hard to utilize 80+% of XC6SLX45 (that being after some hand placement to help the PAR with timing closure and fitting in the choosen part size) even with relatively simplistic things like banks of signal reconstruction filters (20Gb/s input troughput). Video processing takes the estate similarily fast. That being said, Spartan 6 is not obsolete yet - the bang per buck ratio is very good and Xilinx guarantees supplying the silicon for at least next 8 years, which is past lifespan of most designs for now and next few years still.
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Advice on an FPGA project
« Reply #47 on: January 29, 2019, 09:31:38 pm »
Who uses Microblaze in a hobby project? I don't think I've ever encountered one.
I do. It's ideal for orchestrating hardware blocks, providing user input/output, performing some auxiliary tasks.
Not only that, Microblaze only works with Xilinx and I hate vendor specific IP, I strive to make everything I create relatively easy to port between vendors so people can port it to whatever hardware they have.
I'll take Vivado-only project that works over non-vendor specific project that doesn't any time. Besides no other vendor seems even interested in hobbyists, as they don't provide even basic free IPs like DRAM controllers.
Frankly the Xilinx stuff all feels pretty terrible next to Quartus but ISE does have a simulator I find easier to use than the Altera offerings and there are a LOT of Spartan3/6 boards out there.
LOL. S3/6 are ancient junk for my projects (real time video processing). I will take Vivado's system diagram over qsys mess any time, not to mention all free IPs that are shipped as part of Vivado. Add support for modern SystemVerilog (so I don't have to use ancient languages), mixed-language simulator, great AXI4 sim library, integration with third-party editors (I use VS Code myself, but just about any editor can be integrated), etc.
This seems to start the same sort of silly religious wars that raged on with the old PC/Mac debates, but if you're aware of some significant Vivado based FPGA hobby projects or communities please do share because I looked back when I played around with it and found absolutely nothing. Literally every single hobby FPGA/CPLD project I found online used either ISE or Quartus, except for I think *one* I came across where the guy used a Lattice part. The most popular low cost hobbyist oriented boards on the market are based on older parts not supported by Vivado.
Vivado is the most advanced FPGA IDE out there, shipped with a lot of free IPs. No other FPGA vendor comes even close. It's a fact, not opinion.


Good for you oh great master. Meanwhile loads of us are not nearly as elitist as you and are quite content to play around with "ancient junk". I've never come close to filling a S6 lx45 and even the lx9 I've only ever run out of block memory. It would be absolutely pointless for me to bother with larger parts, a complete waste for what I'm interested in.

Again, there's a difference between hobbyists playing around and professional product development. If you're just playing around, sure, use an old Spartan 3 board or whatever. If you're designing products, you should be using the current toolsets and the latest devices. Why? Because the latest tools and devices are better supported and will have a longer life cycle.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Advice on an FPGA project
« Reply #48 on: January 29, 2019, 10:05:38 pm »
2$ external SRAM won't run on 200MHz with dual port full width parallel interface and single cycle latency trough. It is not a subtitute for BRAM within the fabric. If you can do with that, good - but it is not because the larger FPGAs are pointlessly expensive, it is simply because the design you are running does not need anything near the full performance the chip has to offer. SRAMs that are getting close in speed are nowhere near the 2$ pricepoint, with the additional I/O turnaround latency thrown in.

But I don't need it to run at 200MHz, if I did then I'd be looking for an appropriate FPGA for thoe needs. I'm running CPU softcores at anywhere from 750kHz to 10MHz tops, most 1.5MHz or less. Again it comes down to what sort of thing you're trying to do, and selecting the part that makes the most sense for the projects at hand. Most hobbyist FPGA projects are retro stuff and that's been the extent of my interest in FPGAs. With retro my needs are frozen in time, I will never need bigger or faster parts than I already have so for me all of the fancy shiny new high performance features are irrelevant, they're of no use to me. If they're of use to you then by all means use them, I'm only annoyed by people who cannot get it through their heads that not everyone has the same needs they do and what is uselessly obsolete to them may be vastly overkill for someone with a different set of needs. Also I will reiterate, I'm talking of *hobby* FPGA development, not a professional application where one is likely to really benefit from having the latest and greatest parts and tools.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2732
  • Country: ca
Re: Advice on an FPGA project
« Reply #49 on: January 30, 2019, 02:26:49 am »
A better solution in most cases is to add a $2 SRAM or ROM rather than spend $40 more on the FPGA.
You seriously saying that $2 SRAM is the same thing as integrated BRAMs? :palm:
But I don't need it to run at 200MHz, if I did then I'd be looking for an appropriate FPGA for thoe needs.
In case you haven't noticed, this is not your thread, so what you need is of no relevance here. If you like to develop retro stuff that good, but it doesn't mean someone else is going to like it too. I for one like working with high-bandwidth low latency real time signal processing, which is what FPGAs excel at, and which is not possible to implement in any other way. I also prefer building custom FPGA boards myself - including devboards, which has its own challenges - like securing an actual chips so being forced to use modern peripheral chips as legacy stuff typically found on older pre-made devboards is hard to source.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf