Fall 2005
EE 382V – System on Chip
LAB #3
DEADLINE 11:59pm, Nov 7th (Sunday)
0. NOTICE
- Please use the forum of Blackborad (https://courses.utexas.edu/webapps/portal/frameset.jsp) for all the questions.
- All reports/codes MUST be submitted to the Digital DropBox of Blackboard.
1. Overview
The Goal of this lab is to
, Understand HW/SW design tradeoffs.
, Evaluate performance of the HW accelerator with the mectrics from PRD.
The Assignment of this lab includes the following.
, Creating a synthesizable SystemC module.
, Measuring an area of viterbi decoder.
, Estimating performance improvement due to viterbi decoder.
2. LAB
1) Tutorials
a) Synthesizable SystemC module
A. Download butterfly test program shows both behavioral SystemC model and synthesizable SystemC model.
Please take a closer look at the source code and run the program for better understanding.
You should be able to notice that a synthesizable SystemC model is highly modularized and structured as in Verilog design.
B. The area and speed of this butterfly implementation can be estimated based on basic block library as in this example.
Note that you may use this source code for both this lab and project.
b) ConvergenSC provides a way of profiling the performance of a design.
If you did NOT get through ConvergenSC tutorial of Lab1, please do it NOW!
2) Viterbi decoder
a) The viterbi decoder module from Lab2 must be modified as follows.
A. Convert your viterbi decoder module into a synthesizable SystemC module using block in basic block library.
- Optimization to increase performance/throughput and to reduce area is highly recommended (pipelined, partial decoding, etc).
- If you need any special block which is not in basic block library, such block should be written in Verilog and synthesized. Please talk to TA for further information.
B. Estimate the area of your viterbi decoder and the speed of every sub module. You may try to optimize slack by using the smallest block for non-critical path.
C. For every operation of viterbi decoder, estimate the delay in # of clock cycles as in this example.
D. Run ConvergenSC simulation and verify functionality as in LAB2.
b) Measure the # of cycles taken with pure software of MSCMLC for the golden input of LAB2.
c) Measure the # of cycles taken with MSCMLC and viterbi decoder for the golden input of LAB2.
If you send any data to DISPLAY_MODULE, it will print out the clock cycle.
3. Submission
Relevant Web Pages