- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
So I'm a student; my background is in EE but I have very little experience with FPGAs. My task is to develop a motion control solution for a robotics project. I was given a "Motionfire" development kit (containing a Cyclone III), both to learn about FPGAs and then to use as a platform for developing a robot controller. I also have some books on VHDL and the syntax seems fairly straightforward. EDA tools, however, do not. I'm hoping that someone here can answer some very broad questions that I have to orient me a bit, and maybe point me to some tutorials somewhere. Some questions: -On the surface, Quartus II seems analogous to a more conventional IDE, but it's tightly integrated with SOPC Builder (and probably a lot of other things I haven't run into yet). I understand that SOPC Builder is a graphical method of assembling devices (particularly the Nios II processor) but I don't understand how the product of SOPC Builder manifests into the rest of the code visible within Quartus. Perhaps it's the other way around, and the rest of your code must be recognizable by SOPC Builder? This dev kit came with a fairly large Quartus project, and the highest tier file seems to contain a lot of references to signals in SOPC Builder. Was this file automatically generated? -With 8-bit MCUs, the work flow is pretty simple: Code, compile into a binary, and then upload into the MCU flash via ISP or similar. The next level of complication in embedded devices that I'm familiar with involves a bootloader and possibly TFTP instead of an ISP programmer. I gather that the FPGA workflow is a good deal more complex, especially since there can be two code bases (C/C++ for the Nios and VHDL/Verilog for the FPGA). Is it entirely up to the system designer to figure out how to program the Nios (e.g. using a bootloader), or is there some basic mechanism built into Quartus or the Nios IDE? Lastly, I realize that a complicated dev kit probably isn't the best thing to start out with, but if we'd purchased a simple, cheap educational kit, we probably couldn't get this larger kit that we knew we'd eventually need. Perhaps I should just cough up the $100 or so to get a BeMicro and protoboard? Also, I've been reading through the documentation linked to by Quartus and SOPC Builder, but if there are any other good tutorials out there, I'd appreciate being pointed to them. Thanks!Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I, too, started working with Cyclone III and Nios Ide about a month ago and I had only a minimal background in fpga programming (I had used fpga only for integrating very basic logic functions, no processors)
Also started with a complex dev board and reference design; anyway after a few days I could work quite easily with the dev tools. It was simpler than I expected. I suggest you start with one of the reference designs which comes with your kit and then make small changes to test how it works. The design flow is roughly the following: - with sopc builder you define your Nios system, namely your processor with all its peripherals and interfaces - sopc builder then generates: -1: a macro function block which can be synthesized in the fpga -2: a system file used in Nios IDE - use Quartus schematics or hdl to instantiate the sopc block into the fpga - build the Quartus project, then configure the fpga - at this point the fpga behaves like a normal discrete processor, so you can use the IDE to build , load and debug the software. Regards Cris
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page