ece 545 project 2 specification. project 2 (15 points) – due tuesday, december 19, noon...
TRANSCRIPT
ECE 545 Project 2Specification
Project 2 (15 points) – due Tuesday, December 19, noon
Application: cryptography OR digital signal processing optimized version
with structural optimizations for minimum area and maximum throughput/area ratio
Technology: ASICTarget: revised synthesizable code
scripts for Design Analyzer and PrimeTime synthesis with Design Analyzer
timing analysis with PrimeTime design equivalence with Formality
Sources
Synopsys documentation and examples available at http://ece.gmu.edu/courses/ECE545/viewgraphs_F06/synopsys.htm
George Michael,
PrimeTime: Static Timing Analysis Tool, scholarly paper,
George Mason University, December 2006
(available on the course web page)
Optimization Criteria
Maximum ratio
Throughput divided by
Total Circuit Area
Architecture 2
Architecture 1
MinimumTotal Circuit Area
Project 2 - Platforms & tools
Target devices: standard-cell ASICs
Libraries: 90 nm TCBN90G TSMC library 130 nm TCB013GHP TSMC library
Tools:
VHDL Simulation: Aldec Active HDL or ModelSimVHDL Synthesis: Synopsys Design AnalyzerTiming Analysis: Synopsys PrimeTimeDesign Equivalence: Synopsys Formality
Select two or more versions of your synthesizable VHDL code developed as a part of Project 1 (a & b), and optimized for
a) minimum areab) maximum throughput to area ratio.
Use the results of your earlier experiments with FPGAsor consider multiple values of circuit parameters(such as parameter d for encryption) in order to find a circuit with the maximum throughput to area ratio.
Revise your codes in such a way that they can be synthesized using Synopsys Design Analyzer
with TSMC libraries of standard cells.
Task 1
Verify your revised codes using functional simulationbased on a comprehensive testbenchdeveloped as a part of Project 1.
Task 2
Prepare Design Analyzer scripts which will enable you to synthesize all considered versionsof your codes optimized for a) minimum area b) maximum throughput to area ratio.
Identify commands and parameters (such as defining target clock period) that you can attempt to modify in order to obtain the synthesized circuit with a) minimum area b) maximum clock frequency c) maximum ratio of throughput to latency.
Task 3
Synthesize your codes using Synopsyswith the following libraries:
1. Synopsys with the 90 nm TCBN90G TSMC library2. Synopsys with the 130 nm TCB013GHP TSMC library
Repeat synthesis for multiple values of parametersidentified in Task 3, in order to find parameters leading to circuits with the a) minimum area b) maximum throughput to area ratio.Draw diagrams showing the dependence between the target clock frequency and the actual clock frequency and area.
Task 4
Synthesize your best codes optimized for a) minimum area b) maximum throughput to area ratiousing Synplicity Synplify Pro and the following FPGAs as target devices:
1. Xilinx Spartan 32. Xilinx Virtex II
In both cases use the smallest device of a given familycapable of holding the entire circuit with up to70% of CLB slice utilization.
Task 5
Compare the maximum clock frequencybetween circuits synthesized using
1. Xilinx Spartan 3 FPGAvs.
ASIC with 90 nm TSMC library
2. Xilinx Virtex II FPGAvs.
ASIC with 130 nm TSMC library
Task 6
Explain the obtained results.
Prepare PrimeTime scripts to be used to analyze your circuits.Use templates suggested by George Michael andthe TA, and modify them to match your codeand the types of analyses you are planning to perform.
Task 7
Using PrimeTime - determine the critical paths in your circuits optimized for
a) minimum area b) maximum throughput to area ratio.
Mark these critical paths in your block diagram.
Analyze all timing reports generated by your scriptand identify any violations of timing constraints.
For the obtained violations, explain the meaning of the violation by drawing a corresponding simplified timing waveform.
Task 8
Using PrimeTime
Repeat your analysis for the case of input and output delaysequal to the 20%,40%, 60%, and 80% of the clock period.
Identify which values of input and output delayslead to violations of the timing constraints.Explain why? How would you modify your circuit toeliminate these timing violations?
Task 9
Using Formality, determine the design equivalence between the original VHDL code and the optimized netlist obtained from synthesis.
Repeat your analysis for the circuits optimized for a) minimum area
b) maximum throughput to area ratio.
In case of mismatches, modify your VHDL code,resynthesize it, and check for equivalence again.When introducing changes try to follow strictlyrules for writing a synthesizable VHDL code.
Task 10
In case you have obtained no mismatches in Task 8without the need to modify your codes,generate the mismatches on purpose by making a smallmodification in your VHDL code and comparing it witha netlist corresponding to the unmodified code.
The possible modifications may includereplacing a register by a direct connection betweenits input and output, changing the connectionsin your circuit, modifying a sensitivity list in a process, etc.
Task 11
Tips & Hints (1)
Each entity and each package should be placedin a different file.
The name of each file should be exactly the sameas the name of an entity or package it contains.
Arrange entity names in the bottom-up order(the top-most entity at the end of the list)and define this list in your script using the command
blocks = { entity1, entity2, …, entityN}
Tips & Hints (2)
Use only one clock in your entire design.
Use an identical name for the clock signal in all yourentities and packages (including declarationsof components).
Use the same clock name in all clock-related commandsof your script, such as create_clock, set_clock_transition, etc.
Avoid advanced features, such as:• multiple clocks, • gated clocks, • multicycle paths, • circular feedback loops containing only combinational logic.
Although these features are supported by Synopsys,their correct use requires additional knowledgeand experience that are beyond the scope of ECE 545.
Tips & Hints (3)
Tips & Hints (4)
Create a project directory in your main user directory.
Create the following subdirectories in the project directory: db, docs, log, reports, scripts, tb, vhdl.
Place all your synthesizable source files in the vhdl directory, and your testbench files in the tbdirectory.Place your scripts in the script directory.
Define at least the following directories close to thebeginning of your script: src_directory, report_directory, db_directory.
Tips & Hints (5)Do not change values of the constraint conditionsspecified using the following script commands:
set_clock_latency 1.0 find(clock, "clk")set_clock_transition 0.01 find(clock, "clk")set_clock_uncertainty -setup 0.1 find(clock, "clk")set_clock_uncertainty -hold 0.1 find(clock, "clk")set_load 0 all_outputs()set_wire_load_model -library tcb013ghptc -name "TSMC8K_Fsg_Conservative“
You can change a clock name “clk” within these commandsif necessary.
These constraints are required to be the same for all students.
Using commands
set_input_delay
&set_output_delay
set input dalay and output delay initially to 20%of the target clock period.
Modify these values as a part of Task 9.
Tips & Hints (6)
Tips & Hints (6)
Change your current directory to your log directory before you execute design_analyzer.
After executing your script within design_analyzer,
analyze the contents of log files generated in the directory log.
These files contain the exact description of warningsand errors generated during synthesis.
Please do your best to eliminate all errors andmajority of warnings generated by the scripts and written to the log files.
Project DeliverablesTask 1
Source codes of all synthesizable files you have developedin order to meet the project specification.
Description of any changes you have had to make in these codes in order to a. get your codes synthesized using Synopsys with TSMC libraries, b. eliminate all synthesis errors and minimize the number of synthesis warnings.
Source code of the comprehensive testbench capable of verifying the operation of your entire circuit.
Input files containing test vectors, and output filescontaining reports from simulation.
Timing waveform from functional simulation,demonstrating the correct operation of the circuit.
Project DeliverablesTask 2
All scripts developed as a part of Task 3,and used in Task 4.
Project DeliverablesTask 3
Values of parameters leading to circuits with the a) minimum area b) maximum throughput to area ratio.
Project DeliverablesTask 4
The detailed timing and area results obtained for all synthesized circuits, including
• maximum clock frequency• area • maximum throughput• maximum throughput/area ratio
Diagrams showing the dependence between the target clock frequency and the actual clock frequency and area.
Possible explanation of the obtained results.
Project DeliverablesTask 4 – cont.
Project delivarablesTasks 5 & 6
The detailed timing results for FPGAs, and their comparison with the timing results for ASICs.
Explanation of differences.
All PrimeTime scripts developed in orderto analyze your circuits.
Project DeliverablesTask 7
Block diagrams with marked critical paths.
All timing reports generated by your scriptand the summary of the obtainedviolations of timing constraints.
For the obtained violations, simplified timing waveformexplaining the meaning of these violations.
Project DeliverablesTask 8
Reports from timing analysis for the case of input and output delays equal to the 20%,40%, 60%, and 80% of the clock period.
Values of input and output delaysleading to violations of the timing constraints.
Explanation how would you modify your circuit toeliminate these timing violations.
Project DeliverablesTask 9
Short description of the results obtained from Formality.
Description of any changes you have had to make in your codes in order to pass the equivalence check.
Project DeliverablesTask 10
Short description of the artificially generated mismatches and the way of reporting them by the tool.
Project DeliverablesTask 11
All Projects – Honor Code Rules
• Using somebody’s else code and presenting it as your own is a serious Honor Code violation and may result in an F grade for the entire course.
• All students are expected to write and debug their codes individually.
• Students are encouraged to help and support each other in all problems related to the– basic understanding of the problem– operation of the CAD tools.