project d1427: stand alone fpga programmer final presentation 6/5/10 supervisor: mony orbach...

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

If you can't read please download the document

Upload: angela-stanley

Post on 13-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

  • Slide 1

Project D1427: Stand Alone FPGA Programmer Final presentation 6/5/10 Supervisor: Mony Orbach Students: Shimrit Bar Oz Avi Zukerman High Speed Digital Systems Lab Slide 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. Slide 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. hexout formatJTAG format FPGA programmer Slide 4 Technical description Initial plan The system is uses the MMC experiment card which contains: a DLP Altera Cyclone FPGA. The system also includes software driver. DLPCyclone USB JTAG output JTAG inputs MMC experiment card Driver hexout input Slide 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. Slide 6 Blocks diagram Initial plan 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. Receiver block Transmitter block Binary Byte JTAG output Software block hexoutByte JTAG output transmit acknowledge Slide 7 Blocks diagram Final plan Software block transmits the.hexout file to the DLP. DLP outputs connect to target FPGA with JTAG interface. DLP block Binary Byte JTAG output Software block hexout JTAG output transmit acknowledge Control Slide 8 .hexout format The input to the system should be a completely burn ready program from Quartus. Slide 9 Slide 10 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 cards display. The test case had been completed successfully using full Quartus flow and.sof format. Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Work flow Summary Understanding the system requirements and choosing hardware. Learning the Quartus burn file formats. HDL designer and Quartus work environment. The projects 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. Slide 16 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 Slide 17 Hardware The main element of the hardware is the DLP used as an interface between the computers 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. Slide 18 Schematics - DLP Slide 19 Schematics Control DLP buffer Slide 20 Schematics Data buffer Slide 21 Schematics 5V transceiver Slide 22 Schematics Connector and Power ground connections Slide 23 Schematics - Decoupling Slide 24 Schematics Pull ups/downs Slide 25 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 Slide 26 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. Slide 27 Conclusions and summary Although we didnt 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.