Forum Discussion
Altera_Forum
Honored Contributor
15 years agoThe BeMicro-SDK is a good starter board for you.
When you buy it from Arrow, also buy the 'BeMicro Protoboard'. This is a breakout board that can plug into the edge-connector on the BeMicro or BeMicro-SDK. That way you will have some GPIO on 100-mil headers to play with. The BeMicro-SDK does not have a USB-serial interface, it only has the USB-Blaster interface. This interface allows you to communicate between Quartus and the board for programming, and between the NIOS II IDE and a NIOS processor during debugging. The NIOS console can also use this interface. Once you've got familiar with all that, you can ask questions. I've just received my BeMicro-SDK, but won't get a chance to play with it for a week or so. Feel free to ask questions, and I'll provide code (VHDL). Look around the forum messages, and you will see that others have this board too, so you will not be alone if you cannot figure something out. In my experience, the example code provided with development boards is not that great. What you really want to do is something like; 1) Look at the schematic 2) Get a pin assignments file, eg. from the development kit examples, and then check it by comparing it to schematic, or just write it from scratch using the schematic. 3) Create an example project that does not really do much other than drive the LEDs to a known pattern. 4) Place-and-route the design. 5) Download it, and see your LED pattern. However, this sequence should be followed with a little caution, as it is not appropriate for all boards. For example, after you place-and-route a design, you should look at the Pin Planner view of the device (Assignments->Pin planner). Look at the I/O standards assigned to the pins you have used, eg. 3.3V LVCMOS (default). Now go check your schematic again. If the I/O banks are not 3.3V, then you need to assign a logic level to the pins you've used. I just looked at the BeMicro-SDK schematic, and the VCCIO pins for banks 1, 2, 3, 4, 5, and 6 are 3.3V, but those in banks 7 and 8 are 1.8V (the mobile DDR pins). When it comes time to play with the DDR, then you will need to get those pins assigned correctly. So long as you do not use them, and they remain tri-stated, you do no need to worry. The DDR pins only remain tri-stated if you make sure of another setting in Quartus. In the Assignments->Device, Device and Pin Options, Unused Pins tab, there is a setting for 'Reserve all unused pins' which should be set to 'As input tri-stated', or 'As input tri-stated with weak pull-up'. A practical FPGA design involves more than just the Verilog or VHDL source, it also involves a constraints file (device type, pin assignments, pin logic standards, etc), and a timing constraints file. For the initial simple project above you can create a project for the BeMicro-SDK Cyclone IV device, create a simple top-level design that turns the LEDs on or off in a pattern, check the unused pin state, then P&R the design, and then download. Once you've succeeded in that, you'll feel a lot more confident, and you can start to blink the LEDs! Cheers, Dave