1 / 22

Project D1427: Stand Alone FPGA Programmer

High Speed Digital Systems Lab. Project D1427: Stand Alone FPGA Programmer. Final presentation 6/5/10. Supervisor: Mony Orbach Students: Shimrit Bar Oz Avi Zukerman. Agenda. Project characterization. Technical description. User interface. Blocks diagram.

hannibal
Download Presentation

Project D1427: Stand Alone FPGA Programmer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. High Speed Digital Systems Lab Project D1427:Stand Alone FPGA Programmer Final presentation 6/5/10 Supervisor: Mony Orbach Students: Shimrit Bar Oz Avi Zukerman

  2. Agenda • Project characterization. • Technical description. • User interface. • Blocks diagram. • .hexout format. • Test case. • Work flow summary. • Software. • Hardware. • Schematics. • Implementations Vs. Plan. • Conclusions and summary.

  3. Project characterization • Design a system for programming Altera FPGA directly from a PC. • The system gets gate level burn ready software from PC in hexout format. • Translate to JTAG format. • Burn the software onto an Altera FPGA. FPGA programmer hexout format JTAG format

  4. MMC experiment card DLP Cyclone Driver JTAG output hexout input USB JTAG inputs Technical descriptionInitial plan • The system is uses the MMC experiment card which contains: a DLP Altera Cyclone FPGA. • The system also includes software driver.

  5. User interface • The user interface will be a command line software. • The command line will include the input which is a valid .hexout file. • The software will output success message or failure errors.

  6. Blocks diagramInitial plan acknowledge acknowledge acknowledge • Software block transmits the .hexout file to the DLP. • Receiver block receives the bytes and store it. • Transmitter block transmits the Byte to the target FPGA. transmit transmit Software block Receiver block JTAG output Transmitter block JTAG output hexout Binary Byte Byte

  7. Blocks diagramFinal plan acknowledge acknowledge transmit Software block DLP block JTAG output JTAG output hexout Binary Byte Control • Software block transmits the .hexout file to the DLP. • DLP outputs connect to target FPGA with JTAG interface.

  8. .hexout format • The input to the system should be a completely burn ready program from Quartus.

  9. Test case • The card from the digital system experiment has been chosen as a test case. • The test case is a simple program that changes the card’s display. • The test case had been completed successfully using full Quartus flow and .sof format.

  10. Work flow Summary • Understanding the system requirements and choosing hardware. • Learning the Quartus burn file formats. • HDL designer and Quartus work environment. • The project’s test case had been preformed on full Quartus flow. • Internal blocks interface characterization. • Implementation of software and hardware blocks. • Re characterization of blocks interface after initial implementation. • Implementation of the system with only the software block. • Design of hardware card as replacement to initial plan.

  11. Software • Used C++ to implement the software • The software was divided to several modules: • FTD2XX.dll package for using the USB. • Fpga_load.cpp the main application. • Other support classes. • The software has two main functions: • Parsing the input .hexout file. • Loading the content on the target FPGA byte by byte

  12. Hardware • The main element of the hardware is the DLP used as an interface between the computer’s USB port and the target FPGA JTAG port. • The data between the DLP and target FPGA runs threw two buffers: control buffer and data buffer.

  13. Schematics - DLP

  14. Schematics – Control DLP buffer

  15. Schematics – Data buffer

  16. Schematics – 5V transceiver

  17. Schematics – Connector and Power ground connections

  18. Schematics - Decoupling

  19. Schematics – Pull ups/downs

  20. Schematic - JTAG connector • A 15 pin connector as output. • Connecting to standard JTAG connector: • Pin 8 to DCLK • Pin 7 to DATA • Pin 6 to nStatus • Pin 5 to nConfig • Pin 4 to CONF_DONE

  21. Implementations Vs. Plan • Project was implemented in a single software block. • Implemented “dummy” combinational block to act as a feed threw the FPGA. • Designed a specific card for this project. • There was no validation of the code and hardware.

  22. Conclusions and summary • Although we didn’t complete the task of verifying the project we feel we have learned a lot on the different options to burn hardware on FPGA. • The DLP is a powerful unit that can be used to perform almost any task no a PCB card controlled by a computer with a standard USB connection.

More Related