New to FPGAs - Advices needed - Page 1
Forum section: electronics / general

author: StjepanV
author_rank: Newbie
timestamp: June 28, 2018, 01:20:31 pm
content: Hi guys/gals,I'm new to FPGA world and would really like to learn a lot more about them. The problem is that compared to MCU datasheets FPGA datasheets are harder to read (in my opinion).I want to play around with FPGA that has SDRAM connected to it, but don't know how to discern which ones support SDRAM... I was thinking of using this one for my designhttps://www.digikey.ie/product-detail/en/lattice-semiconductor-corporation/LCMXO2280C-3TN100C/220-1436-ND/2731638.Is this maybe a big chunk to swallow if I'm only starting to learn about FPGAs or what? All advice is very welcome!

author: Ice-Tea
author_rank: Super Contributor
timestamp: June 28, 2018, 01:33:05 pm
content: SDRAM? Just about anythingFind yourself a dev board with it already on. Easy enough to copy afterward if needed.

author: NivagSwerdna
author_rank: Super Contributor
timestamp: June 28, 2018, 01:45:20 pm
content: Quote from: Ice-Tea on June 28, 2018, 01:33:05 pm+1Terasic has nice dev boards with SDRAM onboard.Note that MachXO2 and friends do have some SRAM on chip and adding SDRAM isn't hard... so you could build an expansion board to add on to say ahttps://www.mouser.co.uk/new/Lattice-Semiconductor/lattice-machx03-kit/very easily.

author: daveshah
author_rank: Unknown
timestamp: June 28, 2018, 01:56:35 pm
content: I think a MachXO with 2280 logic cells, although it would fit a simple SDRAM controller easily, is probably a bit small for many applications that would talk advantage of that SDRAM. Personally I'd look for something with at least 8000 logic cells. I would also definitely look for something with SDRAM on board so you only have to debug the SDRAM controller (remember in an FPGA you will have to implement the SDRAM your controller yourself, or find a suitable core online) and not both the FPGA SDRAM controller and your electrical connections to the SDRAM.

author: NorthGuy
author_rank: Super Contributor
timestamp: June 28, 2018, 02:16:02 pm
content: If you want to learn basics about FPGA, external SDRAM is not a good place to start.

author: SiliconWizard
author_rank: Super Contributor
timestamp: June 28, 2018, 02:54:58 pm
content: Most FPGAs on the market nowadays have IPs for SDRAM and even DDR controllers, including the Lattice MachXO2. So if you plan on using SDRAM at some point, the MachXO2 would be fine.That said, if you're new to FPGAs, I'd suggest beginning with much simpler stuff than playing with SDRAM.The AK-MACHXO2-7000 (https://www.artekit.eu/products/devboards/ak-machxo2-7000/) would be a good starting dev board for this. Yes I really suggest starting with a dev board before designing your own if you're new to this. And again, start slow!

author: Bassman59
author_rank: Super Contributor
timestamp: June 28, 2018, 03:16:49 pm
content: Quote from: StjepanV on June 28, 2018, 01:20:31 pmStandard advice: doing FPGA design is doing digital logic hardware design, so your previous microcontroller experience really don’t apply. And that applies to the design language (VHDL or Verizon); theyseemlike programming languages but are more correctly “hardware description” languages, and you’ll have to wrap your head around that.I agree with the others who’ve suggested the Lattice Mach XO2 devices and their starter boards. The Lattice development tools are a lot simpler than Xilinx Vivado, Altera Quartus and MicroSemi’s Libero. The chips themselves are pretty good, too; not blazing fast but fast enough for learning and they have all of the usual I/O standards and such.

author: Ice-Tea
author_rank: Super Contributor
timestamp: June 28, 2018, 03:27:02 pm
content: Verilog. Not Verizon.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: June 28, 2018, 03:58:45 pm
content: I have decided to not do FPGA stuff, because I have my hands (and head) full with uC stuff. Not enough room left.Every now and then I do pick up some news, and it has become quite feasable to do FPGA stuff with open source tools, if that is your thing:https://duckduckgo.com/html?q=fpga+open+sourceHackaday may give you some ideas for tinkering with projects / examples:https://hackaday.com/?s=fpgaFPGA hard/software used to be expensive, but development boards from Ali (and SDRAM) start at prices of < EUR 20.I always like to start with "realatively cheap" stuff, because I have a tendency to let some of the magic smoke escape, especially when new to an area of interest. I would not like to do that on a > EUR 100 board.https://www.aliexpress.com/w/wholesale-fpga-sdram.htmlAnd no FPGA thread is complete without a link to opencores:https://opencores.org/projects

author: rstofer
author_rank: Super Contributor
timestamp: June 28, 2018, 04:58:33 pm
content: I would prefer to avoid any style of dynamic memory. That said, with Xilinx Vivado you get a core to handle DDR3 (I think) as well as other variants so they are workable. You don't get the IP core for devices that are only supported by ISE (older chips).I prefer SRAM - just plain ordinary static RAM. Here is a little board with 512KB of SRAM and a modern Artix A7 chip (supported by Vivado)I would definitely want the 35T version at $89https://store.digilentinc.com/cmod-a7-breadboardable-artix-7-fpga-module/There is no way I plan to build a PCB for an FPGA. At reasonable device sizes you are looking at 4 layers or more and fan-out from a BGA can't be fun.What is the actual memory requirement? How deep, how wide, how fast, that kind of thing?

author: NivagSwerdna
author_rank: Super Contributor
timestamp: June 28, 2018, 05:23:20 pm
content: Quote from: Doctorandus_P on June 28, 2018, 03:58:45 pmCheck out tinyFPGAhttps://tinyfpga.com/might be the ideal crossover for you.

author: StjepanV
author_rank: Newbie
timestamp: June 29, 2018, 04:33:33 pm
content: Thanks guys! Advice taken! AK-MACHXO2-7000 on it's way

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 29, 2018, 04:48:59 pm
content: Any FPGA can do (non-ddr) SDRAM with a simple state machine, but for a beginner I'd suggest using SRAM if you need more than what is on-chip.

author: nctnico
author_rank: Super Contributor
timestamp: June 29, 2018, 05:07:06 pm
content: Nowadays I would recommend to use an FPGA with a built-in DDR memory controller. The ones in Xilinx are not difficult to use and offer a huge amount of memory bandwidth. Then again if only a little bit of memory is needed an SRAM is not difficult to use as well.

author: asmi
author_rank: Super Contributor
timestamp: June 29, 2018, 10:54:25 pm
content: Quote from: rstofer on June 28, 2018, 04:58:33 pmNot only it CAN be fun, but it actually IS a lot of fun! It might look a bit intimidating at first, but once you will get enough FPGA experience under your belt to require a custom board you will quickly learn to appreciate BGAs and understand why they are so popular nowadays. I used to be afraid of BGAs in the past, but once I actually forced myself to try I quickly learnt to love them!Not to mention the feeling of pure joy and excitement you get after turning on your freshly assembled FPGA board for the first time and seeing it coming to life.... Mmm anyone who ever experienced that will tell you - it's magical!!

author: Sparky49
author_rank: Regular Contributor
timestamp: June 30, 2018, 11:49:15 am
content: Hi,I have also just started out with FPGAs, been using one for a couple of months now. I used this cheap Chinese dev board from Ebay, with it's SDRAM and it works fine.https://www.ebay.co.uk/itm/Altera-Cyclone-IV-FPGA-Learning-Board-EP4CE6E22C8N-and-USB-Blaster-Programmer-UK/292432559605?hash=item441656bdf5:g:OukAAOSwjIVactxTSure it might not have the same support as the established dev kits, but it's 10% of the price and I haven't had any problems with the hardware.

author: kizmit99
author_rank: Regular Contributor
timestamp: June 30, 2018, 01:58:09 pm
content: I've been playing with that same Cyclone IV board -- documentation is very light, but the board itself has been working very well.A lot of the pins routed to the 26 pin connector are also shared with the D/A resistor bridge used for the VGA connector (just something to be aware of)...