Presentation is loading. Please wait.

Presentation is loading. Please wait.

Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.

Similar presentations


Presentation on theme: "Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH."— Presentation transcript:

1 Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH

2 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo in Lab

3 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Motivation How can we make the connection? Software - Pre determined - Static - Constantly updated - Dynamic Hardware Non Volatile memory

4 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Motivation Hardware operates by configuration written in the registers registers Hardware System FPGA setting using FLASH system Software Host FLASH memory Software writes up to date configuration in the FLASH memory FPGA setting using FLASH system does the connection

5 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo TOP Architecture

6 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Project Goals Creating Clients configured by registers that shall be updated using data stored in FLASH. Implementing a data structure that will be used for data storage in FLASH and for data transmission to clients. Setting an option for a host to read data from FLASH and write new data to it. Implementing strong debugging capabilities including a useful GUI

7 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Technical Demands Hardware is VHDL Implemented and burned on Altera Cyclone II FPGA on DE2 development board FLASH memory is spansion S29AL032D - 4MB also on DE2 development board FPGA – Host communication via UART protocol Internal communication via Wishbone protocol Software GUI is MATLAB implemented

8 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Message Pack Structure Start Of Frame 0x3C – 1 byte Type – Which Client – 1 byte Length of data bytes – 1 byte Address in FLASH memory or register number – 3 bytes Data – min burst 1 byte - max burst 256 bytes Cyclic Redundancy Check (CRC) End Of Frame 0xA5 Type Length Address Data EOF SOF CRC Length

9 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Write Transaction

10 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Read Transaction

11 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Micro Architecture Quick Reminder: RX path TX path Wishbone units Wait Client Leds Client Clock and Reset Detailed understanding: Display Client

12 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo RX path Address Data EOF SOF CRC Type Length SOF Type Length Address Data CRC EOF Address Type Length

13 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo TX path Address Data EOF SOF CRC Type Length Address Data Type Length Data Type Address Length Type Address Length CRC SOF EOF Data

14 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Wishbone communication

15 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Wishbone master and slave

16 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Wait Client

17 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo LEDS Client Technical Demands: Control 4 leds on DE2 board: -on/off -Blinking frequency Operates on a 100 MHz clock Inputs: Wishbone interface to configure registers Outputs: 4 led_active signals Generics: - clk_freq_g - timer_freq_g - active_state_polarity_g

18 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo LEDS Client

19 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Clock and Reset

20 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Display client Technical Demands: VESA protocol Operates on a 65 MHz clock Produces 3 kinds of pictures: lines, columns, damka squares control frame ROI and shape width and color Supports any kind of Resolution and timing by Generics Inputs: Wishbone interface to configure registers Outputs: RGB, hsync, vsync, blank 1024 768 Our Configuration

21 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Display client 65 MHz100 MHz Integrated from RunLen project

22 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Display client Integrated from RunLen project Enable Lines Line ROI Line width RGB start val Enable Lines Line ROI RGB start val RGB Line color diff Line width

23 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Display client We Want Our Frames like These: And NOT like these: How do we keep Synchronization when registers Are updated?

24 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Synthetic Data Provider

25 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Waveform Wishbone transactions configures registers Register Valid is ‘0’ while registers are updated VESA generator requests data for a new frame Valid Data is supplied after 1 cycle

26 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Testability

27 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Test Plan Write Transactions Read Transactions Correct Functionality of Clients System boundaries System Generics

28 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Test Environment DUT

29 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Example: Generating the correct Frame -Generate a Text File with a write Transaction to Display Client - Run Simulation - Analyze the results Wrong! Correct - Fix Bugs if necessary -Run and Analyze again DUT

30 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo GUI Build the Transition Register Description Packet Window Text files control Change/Remove CRC, SOF, EOF RX and TX debug window Messages for user window

31 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo GUI and Simulations

32 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Synthesis Results

33 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Timing Results

34 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Debugging the hardware Problem: First programming on FPGA…nothing happens Source: The reset button on the DE2 board is active low while our generic for reset is active high Solution: Change the reset_activity_polarity_g generic to ‘0’. Conclusion: The ‘Programming indication led’ is found useful.

35 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Debugging the hardware Problem: Writes effect only register address 0. Source: A FF was not implemented by synthesis because ‘clk’ signal was not mentioned in a process sensitivity list Solution: Using signaltap found a bug at the address advancer (inside clients registers) Conclusion: When a problem occurs at the hardware but not on simulation, take a look at Quartus warnings and compilation report

36 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Debugging the hardware Problem: No Display Source: Forgot to allocate one pin in the pin allocation script Solution: Using signaltap found hardware is OK. Pin allocation script was repaired Conclusion: Double check the pin allocation script

37 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo What have we learned so far? Planning and Specifying a Project Writing reusable generic code Protocols: UART, Wishbone, VESA Integration of many components Verify logic correctness using waveforms, text files, BMP files and scripts Testing our hardware using GUI and debug with signaltap Documentation of the work done Code Review and running a project diary are useful tools

38 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo Schedule To do…Due DateNum. CCB specificationdone1 Implement CCB01.092 Test CCB in lab10.093 FLASH control specification17.094 Implement FLASH control10.105 Full system simulation and debug30.106 Extend GUI capabilities20.117 Final debug in lab10.128 Final Presentation28.129

39 Introduction Top Architecture Micro Architecture Testability GUI Conclusions Schedule Demo


Download ppt "Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH."

Similar presentations


Ads by Google