Download - Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH
![Page 1: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/1.jpg)
Part A Final
Dor ObstbaumKami Elbaz
Advisor: Moshe Porian
August 2012
FPGA SETTING USING FLASH
![Page 2: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/2.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Content• Introduction• Top Architecture• Micro Architecture
• Testability
• GUI
• Conclusions
• Schedule• Demo in Lab
![Page 3: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/3.jpg)
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
![Page 4: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/4.jpg)
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 HostFLASH memory
• Software writes up to date configuration in the FLASH memory
• FPGA setting using FLASH system does the connection
![Page 5: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/5.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
TOP Architecture
![Page 6: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/6.jpg)
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
![Page 7: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/7.jpg)
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
![Page 8: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/8.jpg)
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
Data
Data
EOF
SOF
CRC
Leng
th
![Page 9: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/9.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Write Transaction
![Page 10: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/10.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Read Transaction
![Page 11: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/11.jpg)
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
![Page 12: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/12.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
RX path
Address
DataDataData
EOF
SOF
CRC
TypeLength
SOFType
LengthAddress
DataDataData
CRCEOF
Address
TypeLength
![Page 13: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/13.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
TX path
Type
Address
DataDataData
TypeLength
DataDataData
TypeAddress
Length
TypeAddress
Length
CRC
SOFEOF
DataDataData
![Page 14: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/14.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Wishbone communication
![Page 15: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/15.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Wishbone master and slave
![Page 16: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/16.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Wait Client
![Page 17: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/17.jpg)
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
![Page 18: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/18.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
LEDS Client
![Page 19: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/19.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Clock and Reset
![Page 20: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/20.jpg)
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
![Page 21: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/21.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Display client
65 MHz100 MHz
Integrated from
RunLen project
![Page 22: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/22.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Display client
Integrated from
RunLen project
Enable Lines
Line ROILine width
RGB start val
Enable Lines
Line ROI
RGB start val
RGB
Line color diff
Line color diff
Line width
![Page 23: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/23.jpg)
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 registersAre updated?
![Page 24: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/24.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Synthetic Data Provider
![Page 25: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/25.jpg)
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
![Page 26: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/26.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Testability
![Page 27: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/27.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Test Plan
• Write Transactions• Read Transactions• Correct Functionality of Clients• System boundaries• System Generics
![Page 28: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/28.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Test Environment
DUT
![Page 29: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/29.jpg)
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
![Page 30: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/30.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
GUIBuild the TransitionRegister
DescriptionPacket
WindowText files control
Change/Remove CRC, SOF, EOF
RX and TX debug window
Messages for user window
![Page 31: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/31.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
GUI and Simulations
![Page 32: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/32.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Synthesis Results
![Page 33: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/33.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Timing Results
![Page 34: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/34.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Debugging the hardwareProblem: First programming on FPGA…nothing happensSource: The reset button on the DE2 board is active low while our
generic for reset is active highSolution: Change the reset_activity_polarity_g generic to ‘0’.Conclusion: The ‘Programming indication led’ is found useful.
![Page 35: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/35.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Debugging the hardwareProblem: Writes effect only register address 0.Source: A FF was not implemented by synthesis because ‘clk’ signal
was not mentioned in a process sensitivity listSolution: 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
![Page 36: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/36.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
Debugging the hardwareProblem: No DisplaySource: Forgot to allocate one pin in the pin allocation scriptSolution: Using signaltap found hardware is OK. Pin allocation script
was repairedConclusion: Double check the pin allocation script
![Page 37: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/37.jpg)
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
![Page 38: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/38.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo
ScheduleTo do… Due Date Num.
CCB specification done 1
Implement CCB 01.09 2
Test CCB in lab 10.09 3
FLASH control specification 17.09 4
Implement FLASH control 10.10 5
Full system simulation and debug 30.10 6
Extend GUI capabilities 20.11 7
Final debug in lab 10.12 8
Final Presentation 28.12 9
![Page 39: Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH](https://reader036.vdocument.in/reader036/viewer/2022062309/5697c00f1a28abf838ccaa1c/html5/thumbnails/39.jpg)
Introduction
Top Architecture
Micro Architecture
Testability
GUI
Conclusions
Schedule
Demo