Cyclone V GX Starter Kit - The ultimate Arduino? - Page 1
Forum section: electronics / general

author: Crazy Ape
author_rank: Regular Contributor
timestamp: October 18, 2013, 02:02:37 pm
content: Noticed Altera pushing this in a new Youtube promotion video.I've really never had any desire to purchase anything spouting odd-weirdo headers but this might (will) change that.Very nice FPGA:QuoteLink:http://www.altera.com/products/devkits/altera/kit-terasic-cyclone-v-gx-starter.html

author: codeboy2k
author_rank: Super Contributor
timestamp: October 19, 2013, 10:18:42 am
content: Quote from: Crazy Ape on October 18, 2013, 02:02:37 pmHaving Arduino compatible headers is interesting, in that there is a boatload of cheap arduino shields available, and always more coming out..So there won't be any lack of peripherals for this FPGA dev board.I always found the FPGA development board vendors' own peripheral expansion boards to be rather expensive. This changes now.

author: ChrisW
author_rank: Contributor
timestamp: October 19, 2013, 04:51:48 pm
content: Glad I held of purchasing a DEO-Nano, this board looks freaking sweet.

author: Crazy Ape
author_rank: Regular Contributor
timestamp: October 19, 2013, 05:46:25 pm
content: I already have a DE0-Nano, but I won't let that stop me.As for the Arduino header, it's a very smart merge from Terasic, not only does it provide a potentially endless range of add-on boards for their product, it also allows them to capture a portion of the Arduino community and user base.

author: ddavidebor
author_rank: Super Contributor
timestamp: October 19, 2013, 06:26:54 pm
content: And i think they hope someone will develop some simple software

author: dannyf
author_rank: Super Contributor
timestamp: October 19, 2013, 07:01:58 pm
content: QuoteProbably not that high on their list of priorities. They are likely taking the TI strategy: conditioning your engineers so they will prefer TI products in future designs.The question is for such highly specialized products (like fpga), will this strategy work?

author: miguelvp
author_rank: Super Contributor
timestamp: February 20, 2014, 04:53:03 am
content: Quote from: ChrisW on October 19, 2013, 04:51:48 pmI'm glad I didn't go straight to the Cyclone V GX Starter kit, here is a micro review of the kit and I'll explain to why you might want to get the DE0-Nano as your first Altera FPGA.So I missed getting one on launch because of X-mas priorities, later on it was back ordered. mouser was estimating delivery on March 4th (terasIC was out of them as well and I wouldn't order directly from them because of the high shipping costs to the US)Well, mouser shipped it on the 14th and I got it just yesterday.First thing I did (Went home for lunch to play with it for a bit) was to power it up (since you really can't take it apart much) and hook it up to my living room TV and grabbed a par of power speakers.-Switch set to "RUN" Check.(It has a Run/Program selector, on the Nano is software configurable to store it other than for the NIOS soft CPU, not sure if this one will allow NIOS to run untethered, unless of course you buy the licensed soft core).-HDMI connector plugged on TV, Check.-12V 2Amps Wallwart that came with it, plugged, Check.-Power Speakers plugged to audio out, Check.(it also has a mic in and a line in)-Press Red On/Off button, Check.(Actually mine was shipped with the button already pressed)-Blinking lights, Check.-Seven Segment display updating, Check.-HDMI output, Check.(Demo displays a very bad GIF type image of the board with badly chosen look-up table, limit to the IP frame buffer I guess since it takes ascii to configure memory in mif format).-Press CPU reset button, all LEDs turn on, Check.-Press Key 0, segments and blinking restarts from the beginning, Check.-Press Key 1, 1KHz annoying sound comes out of the speakers, Check.No time to play with it until after work, but noticed one thing, no CD! Even my DE0-Nano came with both the Quartus II software and the demo disc. Well you can download it online so I did that (both versions of the CD and all samples that I could find, note that you have to sign in or have an account with TerasIC which is free).Back home, walked the dogs, grabbed a Guinness and to my office/lab (can't really call it a lab since I don't have a bench, just a desk and not much gear since I just started with electronics even if I have a pretty good understanding of the whole thing after many years of being a programmer).I have both Quartus II 10.1 and 13.1 installed (I'll explain why in a minute) the last one I installed was 10.1 so I got an error when trying to load the sof for the control panel. So I launched 13.1 and the control panel connected fine with the kit.I only have one monitor, so I stole my daughter's TV (720p but will take 1080p as well) she is travelling so she won't miss it. Well the HDMI tests in the control panel didn't display a thing (later I found out it's coded for 1024x768 output and no source code for the sof to change it). But I do have an old WUXGA laptop screen and a DVI/VGA controller I got from Ebay, that will drive it (no EDID, even the cables for the EDID are missing on the LVDS connector) I was going to make a projector with that but with newer high density lcd panels, why even bother doing the optics for a 15.1" lcd.Anyways, the HDMI test worked fine, controller has some switches that will actually navigate the very spartan osd of the lcd controller, but it told me that the code was trying to display 1024x768@60Hz, that's why the TV didn't like it at all, most TVs can do just 480, 720 and 1080.Found the HDMI test code on the CD and it also worked great! all the way past 1920x1080P at 60FPS to 1600x1200P @60 Hz as well.Started to look at the docs, code, manual. Well it's all fine other than I'm glad I started with FPGA's using the DE0-Nano, the step by step samples it has were awesome and got me to understand how the whole thing works.If I was just starting with this board, I would have to first find the samples (myFirstFPGA and myFirstNIOS under training on the TerasIC site) but then the samples were done with Quartus II 10.1 before QSys took over the SOPC builder. So the myFirstNIOS training doesn't really make much sense now. Lucky me, the DE0-Nano came with the 10.1 code so that's why I installed it last. Not too sold on Qsys yet since SOPC seems more natural and to me they are both new. Qsys gives you more flexibility but you have to do a lot of connections links that can be very confusing, and if I had to deal with it on my first go other than blinking lights directly on the FPGA without a soft core I would have probably given up (Not!).Anyway, I do recommend getting the DE0-Nano to learn Quartus II 10.1 first, then do the migration from SOPC to Qsys, there are a lot of white papers and training at the Altera University site. Maybe if you don't even look at the SOPC system with it's simplistic connectivity and easy approach and start directly with Qsys then it might be better for you, not sure.So back to the Cyclone V Starter GX, there are no tutorials or explanations on how the samples are built so it's harder to understand just by looking at all those files or even opening the projects. Most of the HDMI samples are driven by the NIOS II soft core, meaning that it's really driving the display in C code (or was it C++, not sure) but meaning you have to configure your FPGA and then compile your C code etc. (DE0-Nano manual has an awesome tutorial about using the older tools in 10.1, now you have to use Eclipse instead of the NIOS II IDE and well.... head to Altera to learn how the new stuff works).So my take on the Cyclone V GX Starter kit is a big thumbs up, but if it's your 1st FPGA dev board, I would recommend you get the DE0-Nano 1st. Specially since there is a lot of configuration code done for it already in the wild. For bang for the buck, the Cyclone V GX Starter is awesome, I was tempted to get the even newer Cyclone V SOC kit (the $200 one even the $300 might do) but with the Arduino headers and the fact that I just want to learn about FPGA's not coding (already can do that) I went for this kit.Note on the Arduino header, You Must clear the programming before using the header, because the pins are shared with two of the 7 segment display digits (HEX2/HEX3), and you MUST set all of the dip switches S1/S2 on the back to off. ALSO you MUST erase the default sample code (there is an erase_c5g_epcq file in the CD Rom that you have to download to clear the configuration).I haven't clear it yet, but I would assume you might need to set the RUN/PROGRAM switch to the Program position, then again you might not.The reason to clear the EPCQ is that you don't want random signals to go to your shield, also the pins are shared with the GPIO connector, so turn those dip switches off for those two 7 segment+dot displays digits before using the GPIO connector as well.I'm new at posting, and even pretty new at lurking, so I'm going to take advantage of this post to talk about myself.My love for electronics started with the ZX81 but I took the programming path 30 some years ago even if I used the expansion board to connect a relay to control things, but I did a speech synthesizer by software on a ZX Spectrum then learned z80 assembly and took that path and never looked back, other than I always did understand TTL logic and how chips talk to each other.So, all this craze just about electronics re-ignited because I bought a RIGOL scope (yes I know about the unlock thread) November 1st last year, but it wasn't because I wanted the scope to learn electronics, I was going to use it for my sequential control of things by coding like I always had.Anyways, when I saw the front end was driven by a couple of Xilinx FPGAS with some glue Altera CPLD or was it an FPGA? and all synched with a Blackfin DSP processor and everything is firmware driven, it brought to my mind how appliances might be able to be multi rolled in the future. Toaster Oven/Reflow Oven or a Slow cooker/Sous Vide cooker just a configuration away.On those 3 and a half months I've learned a lot, watched ALL of Dave's videos, along with innumerable hacker space videos, All of Jeri Ellsworth videos, Mike's ones too, Signal Path as well, learned about smd's, how multilayer boards are made, got my DE0-nano on December.I never knew exactly how resistors worked other than your standard water flow analogy, but not the actual "know how" same with transistors, condensers, inductors etc.. Never had a need to know exactly how they get used, but now in the world of FPGAs I need to know how to interact with the analog world more directly so i'm diving full into it. And btw Dave if you read this, you can make a transistor with water, it would take just a ballon as the gate (or a spring loaded device) that restricts the flow until it reaches it's maximum flow then it will be a constant flow output, sounds like a MOSFET to me. Commented on the video blog about it too.So, this lead me into learning more theory, I'm taking some edx.org classes, One is the MIT 6.002x but I started just this month and the class started in October last year so they all just finished and i'm still on week 5. I might drop it and retake it when they offer it again so at least I'm not doing it on my own. I'm taking another about magnetism and electricity (the requirement for the 6.002x but i'm might not need it, and just started another one (ELEC301x: Discrete Time Signals and Systems) and that one right now has me revisiting linear algebra, vector matrices (which I use often) complex numbers and calculus before it even starts. So that took me to khan Academy for those courses, and it's a lot of videos and all very well organized!I always thought the 80s where the golden age of hobbyists. That was nothing, you can learn anything you want and even manufacture your own hardware pads in no time flat with awesome quality, this era sure beats the old Radio Shack days. It's all available for anyone that wants to learn.I also have good concepts on how electronics work in general, manufacturing processes, learned how to use LTSpice and some board design programs. Of course not close enough to do something very earth shattering yet unless I do it by configuring the FPGA, seems my over 20 years of professional sequential programming experience (not counting my hobbyist years) didn't hinder my ability to parellelize data. And yes, i'm still working full time as a game programmer for a AAA studio, but I guess I always driven to learn more. I can see FPGAs in gaming as well as useful as GPUs are now for general computing.I might blog about my learning of electronics since I did have logic gates experience in the past and binary representation is 2nd nature to me I might find it too easy, but it might help others that have similar knowledge, or at least teach them how not to do it if I get stuck, bur for now I'm still going down deeper into the rabbit hole. The thing is that some concepts are repeated and redundant and some introductions will scare off potential learners, but so far it's not that hard at all, just the whole EECS concept about abstraction and simplification can be simplified even more.The short of how to learn is really commitment to it, I go to work, get home and study then back to work, rinse and repeat. I know I'm not ready to design complex stuff, but in under 4 months I've learned more about electronics than on my last 30 years.Wow, that went to the left field quick, back to the FPGA kit, it's really amazing the number of LVDS ports on the high speed connector and the arduino shield header and the general GPIO (I plan to connect my nano to this one via that, the audio capabilities, even the somewhat silly UART/USB interface for serial communication to your PC.You have a bunch of HSMC daughter boards including some pretty powerful 14 bit DAC/ADC with the $300 one allowing 250 MSPS DAC (thinking signal generator here), I mean, the accessibility and flexibility now a days is "orders of magnitude" like Dave likes to say higher than what we had back then in what people say was the golden age. That was nothing! I mean was something since we keep the mindset of optimization even with vast resources. (of course to some degree, some things don't need to be optimized) but now it's so much better now that it's hard to measure. Come on, you can even design your own chip architecture with this for under $200 including shipping, I did write a z80 emulator my own z80 assembler (neither published) even had a IBM program that would read the ZX Spectrum tapes using the DIN connector in the back by respecting all the timings. If I had what it's available now back then I might have chosen the electronics path instead of the programming one.Sorry for the long post and to an old thread too, must be cabin fever from spending too much time learning electronics, good thing my wife is very supportive on my keeping up with technology efforts.