CS/COE 535 |
Acceleration of Algorithms in Reconfigurable Hardware |
Lockwood, Fall 2003 |
Assigned |
Monday, November 3rd, 2003 |
Due Date |
Wednesday, November 19th, 2003 by 4pm |
Purpose: |
Remove reporting false positives |
Points |
(100 points) |
SRAM Timing & Interface
In this MP we will implement an analyzer to remove reporting false positives. Thus we will need to add functionality to the options processor. This entails using SRAM. You will be provided with a SRAM interface circuit. This interface allows two different modules to share SRAM. However, we have only one module, so the second interface will be unused. The signals of interest are enumerated below. Note that the snort_app entity has changed from previous machine problems. You will need to adhere to this structure for MP3 to work properly. The entity declaration has been provided for you in the distribution file.
A sample timing diagram is shown below in Figure 1. As can be seen, you can perform reads and writes in the same request instance. This is thanks to the ZBT (zero-bus turnaround) SRAM that we use. Note that the read delay is 4 clock cycles. While the timing diagram of Figure 1 shows mod1_gr being asserted the clock cycle after mod1_req, this is not necessarily the case.
Figure 1: SRAM Timing.
As shown in the Figure, you must hold mod1_req asserted until your memory transactions are complete. When grant is de-asserted, you must de-assert request as soon as possible. Once you have been granted access to SRAM, you retain access until you de-assert request.
Directions:
Part 0: Download the distribution file for MP3. This will be what your circuit communicates with to perform memory transactions.
Part 1: Creating an analyzer
Part 2: Change the CPP
Figure 2: Control packet format for Opcode x70.
Part 3: Wire it together
Part 4: Simulation
Part 5: Synthesis and Build
Use Synplicity to make an edn file for your design. Follow the steps given in MP1.
Things to Turn In:
Here is a checklist of the things you need to turn in:
Part 1: All vhdl code written. ( 9 pts)
Part 2: All modified code. ( 2 pts)
Part 3: All modified code. ( 2 pts)
Part 4: Synthesis and Build
Also submit the network_application_core.par file generated after running the build scripts. ( 2 pts)
A simple simulation that proves that these new opcodes work. ( 10 pts)
Submit the requested waveforms and vhdl to the Electronic Homework Server. ( 25 pts)
Submit synthesized .bit file to the test server where it will be tested in hardware. ( 75 pts)
Follow the instructions on the server, it will inform you if your design passed or not