Forum Discussion
Altera_Forum
Honored Contributor
15 years ago --- Quote Start --- My main objective is to explore the software, I thought of getting into hardware simulations later. Can you give me few other designs / guide me to a reference book that has reference designs. --- Quote End --- The best way to learn is to complete an entire project, including the hardware. For example, lets say you have an evaluation board, and that board has PCIe and DDR3 memory, and perhaps some SRAM and Flash. You could generate an SOPC (or Qsys) system for those components, and then make sure it meets timing. From the timing analysis, determine what the maximum frequency you can get the design to work at. How much power should that design be dissipating; what does PowerPlay estimate, use Modelsim to generate a .vcd file, and then run that through PowerPlay too. Then test everything in hardware to make sure it works. Measure the power; compare it to PowerPlay's estimates. Try over-clocking the design to see where it fails (this is hard to do in some designs, eg., you might not be able to overclock the PCIe bus, but you could try overclocking your DDR). Even if Quartus indicates you've failed timing for say the DDR interface, go and test it in hardware; is Quartus being conservative? Spray quickfreeze or a heatgun on a design and see if it continues to work. How can you tell if a design is 'working'? Well, if you have a DDR interface, generate lots of single/burst read/write traffic that is automatically checked, eg. a PRBS generator to create data, a controller that generates single and/or burst writes to memory, and then another to generate single and/or burst reads to the memory, and a checker to check the values read from memory. Have the checker count the read failures and then your control software can read them back and display them, so you can see if your quickfreeze spray or heatgun is affecting the design. Add a NIOS II embedded processor to the system. Write some code for it. If you plugged the card into a PCIe bus, how would you communicate with that NIOS II processor? Its not as simple as plugging in an ethernet or serial cable, since you want a direct link via the PCIe bus. Can you make it look like a serial port or ethernet link? Can you communicate with the board from Windows over PCIe, how about Linux? There's lots of things you can do to learn 'the software', just keep in mind that the software is not just the Quartus tool, its the entire suite of tools, and then Windows or Linux device driver and application tools. If you want to become a good engineer, learn about all of the tools needed to construct a system, not just one tool for one piece of a system. Cheers, Dave