Artix-7 35T Arty vs DE0-Nano-SoC - Page 1
Forum section: electronics / general

author: ea_man
author_rank: Contributor
timestamp: December 17, 2015, 05:48:10 am
content: I'm going to buy my first FPGa board and I'm considering these two boards:- Artix-7 35T Arty FPGA Evaluation Kithttp://www.xilinx.com/products/boards-and-kits/arty.html- DE0-Nano-SoC Kit/Atlas-SoC Kithttp://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=163&No=941&PartNo=2The price is almost the same, as form factor and attitude to networking.IMHO the DE0-Nano looks much better (RAM, gigabit, PIN) but I see many people recommend the Xilinx instead of the Terasic.Maybe the Artix-7 is so much better than the Altera Cyclone V SE?Or is it because of the build environment?Am I right to understand that the Altera has a physical ARM Cortex-A9 + 40kLE while the Xilinx has just a soft CPU running on the FPGA for a total of 16,640LE?Hmm, what would you recommend me?

author: hamster_nz
author_rank: Super Contributor
timestamp: December 17, 2015, 08:35:58 am
content: TLDR -Code:if just want to learn FPGAs thenIf you want to hang up the soldering iron for a while thenget a Digilent Basys3elseget a Terasic DE0 Nano or Digilent Artyend ifelse if you want three times the scope for learning or you need high performance CPU for your design thenIf you want to hang up the soldering iron for a while thenget a Digilent Zyboelseget a Terasic DE0 Nano SoCend ifend ifBoth boards are pretty cool, and either board much better than none at all....My general feeling is that Arty is a new territory for Digilent - their boards are usually 'fully featured' and aimed more at then plug-and-play education market then hobbyists. The Terasic boards seem more aimed at industry, for somebody who knows how to hold a soldering iron and can make their own I/O PCB to add the missing bits the want.If you are after a FPGA+ARM board, the closer board would be the Digilent Zybo -http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/- on special at the moment for $132. For the extra dollars you get HDMI, Audio codec, VGA, and a few more buttons and switches. It can be used powered just from a USB port, which is great for working from the sofa.With just a pure FPGA board, if you want to go the HDL way rather than plugging IP blocks, I guess you've got at least a year of projects and learning before you get familiar with the technology (I'd say 120 hours at the very least). About 25% of that will be crawling your way up the very steep initial learning curve. With an SoC you've got three times as much learning (the FPGA part, the ARM CPU part, gluing the two together) - that is a very long time to be on the steep part of a learning curve, even if you will get twice the value out of the board.Have a look at Adam's MicroZed chronicles (PDF fromhttps://drive.google.com/file/d/0B-lgsbmVeytsY3hQdi01elBDZm8/view?usp=sharing) if you want to see what you are getting yourself into with a SoC. It's for a different board with the Xilinx Zynq chip, but the Altera part isn't that much different.Oh, and when pricing things, don't forget to include shipping charges in your calculation. They can add significantly to the total board cost.

author: miguelvp
author_rank: Super Contributor
timestamp: December 17, 2015, 10:30:31 am
content: Code:if just want to learn FPGAs thenIf you want to hang up the soldering iron for a while thenget a Digilent Basys3elseget a Terasic DE0 Nano or Digilent Artyend ifelse if you want three times the scope for learning or you need high performance CPU for your design thenIf you want to hang up the soldering iron for a while thenget a Digilent Zyboelseget a Terasic DE0 Nano SoCend ifend ifOr if you are feeling edgy, just get at $10 prototyping board:http://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-andIt can drive a monitor at 800x600@75Hz (probably higher) with the internal clock to run the pixel clock at 50MHz thanks to the built in PLL with no visible jitter (unless you are using a scope, then there is plenty of jitter even after 100ms, unless you use a XTAL or an external clock source)(Clocked with internal IMO) no XTAL or external clock.Sure you could do TMDS with 10 bits per pixel requiring a 500MHz pixel clock but Analog is not dead, just yet, MikeI'm in the midst of writing a tutorial to make a display with that prototyping board (it even has an USB device to hook it anywhere.With the limitation of a 64K frame buffer.True, not really doing HDMI but even at 25.175MHz pixel clock 640x480 @60Hz it will require a 251.75MHz clock using DVI-D or HDMI. Might be able to get the 25MHz LVDS data out of this thing (80MHz rated) but not sure I could do the 10 bit per pixel.BTW the Arm Cortex M3 is just doing this:Code:#include <project.h>int main(){H_CTRL_Start();V_CTRL_Start();H_SYNC_Start();V_SYNC_Start();CyGlobalIntEnable; /* Enable global interrupts. *//* Place your initialization/startup code here (e.g. MyInst_Start()) */for(;;){/* Place your application code here. */}}Don't need the interrupts for this code yet, but I will so I left the interrupt enable in.Anyways, the ARM is just doing nothing at all (yet).The display part is all implemented by programmable hardware so I just need to initialize the corresponding modules.Of course I'm not done yet. 800x600 is 480,000 pixels so it's going to be character based (until I put some external memory which I did ordered)At the moment and not close to be done with the tutorial write-up. I'm generating the pixel pattern by hardware as well. Eventually it would be a DMA transfer and maybe even an ADC for a simple scope (200KHz using the 1MSPS ADC)Edit: capture of the existing schematic that drive the video (with no software overhead "YET", because that will come later on):You can write Verilog modules (no VHDL I'm afraid) to make custom component modules without using the Arm processor resources. Has both programmable analog and digital sections.I did get the DE0-Nano-SOC but to tell you the truth, I find this cheaper little board more exciting.Btw, it can take several rails and do level translations as well. Did not play with that so no idea on the bus speeds doing so.Can handle full speed USB device as well 12Mbps, etc...Edit: I forgot, power consumption on this thing is at least 2 orders of magnitude less than an FPGA, maybe 3 but didn't look at the datasheets.According to the polar bears (someone gave me this device in this forum, thank you) it's only consuming half a watt (4.92V at 0.1 Amps) Edit, those are the readings on that device so it's probably a bit more than 0.1 Amps (0.10366 according my calculator)excuse the other dev kits in the way, gotta find a place to put them away without forgetting I have themEdit: Forgot to ad, I'm using this R2R VGA PS2 module with 3 bits per color:http://www.ebay.com/itm/VGA-PS2-Board-Accessory-Test-Module-for-VGA-PS2-Control-Connector-Interfaces-/251031101624http://www.wayengineer.com/wx-vga-ps2-board-testing-vga-ps2-interfaces-p-2292.htmlhttp://www.waveshare.com/product/VGA-PS2-Board.htmNot current pin configuration:

author: Scrts
author_rank: Frequent Contributor
timestamp: December 17, 2015, 01:23:30 pm
content: Since my Xilinx ISE experience was terrible, I've switched to Altera and never wanted to look back. FPGAs with SoCs are really great.Seems like you will get more IOs if you will go for DE board.

author: ea_man
author_rank: Contributor
timestamp: December 17, 2015, 02:26:41 pm
content: Thanks guys, much appreciated.The Digilent Zybo is quite expensive here @180euro so I'd rather skip.The PSoC things are quite interesting, they are cheap and available so I could just get one and play with it.The CY8CKIT-044 PSoC® 4 M-Series Pioneer Kithttp://www.cypress.com/documentation/development-kitsboards/cy8ckit-044-psoc-4-m-series-pioneer-kit?source=search&keywords=CY8CKIT-044%20PSoC%C2%AE%204%20M-Series%20Pioneer%20Kitlooks interesting, it's a shame that all these things don't have software for Gnu/Linux but Quartus II takes 12.81 on my hard disk so I'd rather deal with that (~585MG), I hope I can use just GCC for part of it.I'd like to get a gasp on FPGa and maybe a classic board as:-http://www.aliexpress.com/item/Free-shipping-ALTERA-FPGA-EP2C5T144C8N-fpga-board-USB-BLASTER-fpga-development-board-fpga-altera-board/793643076.html?ws_ab_test=searchweb201556_1,searchweb201644_3_79_78_77_82_80_62,searchweb201560_8-http://www.aliexpress.com/store/product/altera-fpga-board-fpga-development-board-fpga-altera-board-fpga-development-board/620372_32446368593.htmlwould be easier.But then I'd like to "put at use" this technology and something like a SOC as in a CPU + custom FPGA makes sense, but that's a lot of stuff. Also If I have to commit to it maybe it would be better to start on something that is not old generation as in a Cyclone IV?If there's something more simple (maybe this PSoC? Or a Papillio that looks weird and is not available at the moment... ) that can provide that "custom extra" to a microcontroller (*arduino / STM32 / *raspberrypy) and avoids me the bloatware of ~13GB FPGA IDE madness that would be perfect. For programming my preference would be C++ and Verilog, I'm not looking into VHDL.

author: miguelvp
author_rank: Super Contributor
timestamp: December 17, 2015, 04:17:45 pm
content: Of course FPGAs are way better and have more logic elements, I guess I was just stating that there are other alternatives.Also on the PSoC front, it's Windows only I'm afraidThe 4M is nice but way more limiting than the 5LP.

author: filssavi
author_rank: Frequent Contributor
timestamp: December 18, 2015, 12:20:11 am
content: I think you have to decide beforehand what you want to do...do you want to learn how to work with FPGA, or you want to do more conventional hacking and stuff?if the answer is the latter PSOC is the way, even i i never used it first person, I will guarantee you it'll be far easier to deal with, it will have a much less steep learning curve, and it will enable you to get up and running in no time, that said it is far from being an FPGA, in fact if you take a look at the datasheet their universal-something-block (the basic Programmable logic bloc) is a PAL gate array, so PSOC is an MCU+ smallish PLD, it's good for glue logic but not much morethat said if you need an higher performing solution, you wnat to look at FPGA's, let me get the downsides clear from the start:FPGA's are complex beasts, it's not your average arduino-like MCU solution, where in a couple minutes you will have a basic grasp of what's what, you will have to spend quite some time just to unlearn serial programming and start wrapping you head around the "everything happens at the same fucking time (jitter and delay's give or take)™" paradigm, think it this way, if you have done some multithreaded programming, you will know that synchronization is sometimes a pretty difficult thing, well here is like that, just 100^100 times worse, since every verilog instruction could be run at any moment (you have serial constructs, but if you use too much of them then your performances will be shit)ok now on with FPGA's great advantage,(if you use them as they are meant to be used) they are insanely fast, and FPGA+ARM soc even more so, an example? The Zynq FPGA+ARM siglent has put in their oscilloscope, and they are running the whole box with that is IIRC the same you have on the ZYBO board or maybe the next size up, and they are the smallest of the whole range, the new ZYNQMP line have some even more ungodly powerfull chips (like quad core 64 bits cortex A57 1.5 GHz, dual core cortex R5 real time coprocessor, ARM male 400 GPU that coupled with some big ass FPGA's)also if you need lots of I/O's an FPGA is hard to beat....as to what to buy if you want to get into FPGA's (that applies also to SoC's since you can just as easilly use them as a normal FPGA while starting) I don't think buying an old board will help much, the chip complexity is the same, but you may be precluded to use the lastest tools and you may be stuck ar 2 or 3 releases behind, and forget about those Fake chinese crap, you might get luky and get a fully working die (that stays like that with use) but most likelly it'll have some issues (since FPGA's are manifactured on the latest product nodes they they will be the production rejects that crop up from altera fab's on the chinese grey market) and as a beghinner it'll be a nightmare to distinguish between bad code/constrains and bad IC...as for language forget C++ the choices you have are 2(maybe 3) verilog and VHDLVerilog has a more c like syntax period the language is otherwise completely different (one could argue that the similar syntax is in fact a drawback since it creates a lot of confusion in beginners)also the synthetizer will "compile" almost anything you trow at him, if it makes sense ofr not is not that easy to sayVHDL apart from the completely different syntax had a much more pedantic compiler, it nags you for just about anything it's a c complilerin verbose mode... on steroids ...so the first times getting the things to work will be a bit of a challenge, but after that first phase this actually helps you catching a lot of bugs and ambiguity you may writenow from this month there is also the possibility to use C, in particular Xilinx har released their vivado HLS tool with a free webkit license (for the smaller fpga's model), but I never used it so i dont know how good it is

author: ea_man
author_rank: Contributor
timestamp: December 19, 2015, 05:04:14 am
content: 1000 thanks to filssavi, miguelvp and everyone that has contributed.You covered my scenario very well, the hunger for a new more customizable platform after some uC experience and the issues with FPGA.I've decided to invest that money on:1x S10 CY8CKIT-059 PSoC® Development Kit1x $4 PSoC® 4 CY8CKIT-049 4xxx~50euro of various components on aliexpressAnd maybe I'll also put a TI MSP-EXP432P401R in the cart as it's quite cheap, there's a lot of documentation and some fancy development environment to play with(the Energia that runs 2 Blinks tabs in multitasking is cute, it should work with GCC on Linux) and I see that it has a some traction on .hackster.io .Also a couple of cheap MapleMini with STM32duino.Considering where I'm now in the study of electronics the jump on a DE0-Nano Soc would be narcissistic: before I can properly put it to use there are going to be a couple of new generation out... And it won't be the most enjoyable journey I'm afraid.So I think that it's better for me to put that money and time to explore some more around uCs and maybe get some fresh air on the PSoC while I put all my ducks in a row. Time that I'm done with this maybe there will be some FPGA + [embedded|uC] which is more "fun" and with some decent free (as in freedom) build environment .As for the Linux part (that I like a lot) I'll play with a cheap OrangePC embedded.Thanks again, I'll put FPGA in pause for now.

author: miguelvp
author_rank: Super Contributor
timestamp: December 20, 2015, 03:19:46 am
content: Quote from: ea_man on December 19, 2015, 05:04:14 amFPGAs are more powerful but I think this is a good stepping stone.To get you started and because I wanted to do a tutorial about using the PSoC hardware to drive a VGA, I started a project/tutorial on how to use Verilog on the PSoC 5LP Prototyping board like the one you got:https://www.eevblog.com/forum/projects/no-bitbanging-necessary-or-how-to-drive-a-vga-monitor-on-a-psoc-5lp-programmabl/You will need a VGA module like the one I used (links to sources on that thread), solder some headers on the prototyping board and some female to female jump wires 3 for Red, 3 for Green, 3 for Blue, 2 black ones for ground, one black one for VSync, one white one for HSync. Of course you can use other colors, I would have use green but couldn't find 3 of them around so I substituted with gray. But it helps when doing the connections so no signals get crossed.

author: Someone
author_rank: Super Contributor
timestamp: December 20, 2015, 03:47:56 am
content: Quote from: miguelvp on December 17, 2015, 10:30:31 amThats quite a big claim to be orders of magnitude lower in power consumption, for reference I've got useful XGA/SXGA/1080p applications running on FPGAs at less than 100mW all inclusive.

author: miguelvp
author_rank: Super Contributor
timestamp: December 20, 2015, 04:05:27 am
content: Quote from: Someone on December 20, 2015, 03:47:56 amWhat FPGA devkit? I'm curious, or are you talking about the system tells you what the consumption is for that implementation but not taking into account the rest of the board or the rest of the fabric.You might be right and maybe 2 orders of magnitude is an exaggeration, but I could program the device so the display is still active with the CPU asleep. I don't think it will work just on 2uA while driving those signals, but if the CPU is not needed it can be shutdown. I will have to test that someday to see how low I can get it to run.From Cypress Datasheet:http://www.cypress.com/file/45906/downloadVoltage range: 1.71 to 5.5 V, up to 6 power domainsTemperature range (ambient): –40 to 85 °C Extended temperature parts: –40 to 105 °CDC to 80-MHz operationPower modesActive mode 3.1 mA at 6 MHz, and 15.4 mA at 48 MHz2-uA sleep mode300-nA hibernate mode with RAM retentionBoost regulator from 0.5-V input up to 5-V output

author: Someone
author_rank: Super Contributor
timestamp: December 20, 2015, 07:34:11 am
content: Quote from: miguelvp on December 20, 2015, 04:05:27 amApplication specific boards, inclusive of everything, as measured at the external supply. Even dev boards from diligent get down into that sort of territory, just the video part might only be 20-30mW.Quote from: blueskull on December 20, 2015, 03:54:11 am100mW system power is easy if you use analog RGB ("VGA") interfaces, and not hard with a HDMI interface either.