1 / 35

ECE 545 Project 2 Specification

ECE 545 Project 2 Specification. 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

bonner
Download Presentation

ECE 545 Project 2 Specification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ECE 545 Project 2Specification

  2. 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:ASIC Target: revised synthesizable code scripts for Design Analyzer and PrimeTime synthesis with Design Analyzer timing analysis with PrimeTime design equivalence with Formality

  3. 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)

  4. Optimization Criteria Architecture 1 Minimum Maximum ratio Total Circuit Area Architecture 2 Throughput divided by Total Circuit Area

  5. 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 ModelSim VHDL Synthesis:Synopsys Design Analyzer Timing Analysis: Synopsys PrimeTime Design Equivalence: Synopsys Formality

  6. Task 1 Select two or more versions of your synthesizable VHDL code developed as a part of Project 1 (a & b), and optimized for a) minimum area b) maximum throughput to area ratio. Use the results of your earlier experiments with FPGAs or 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 theycan be synthesized using Synopsys Design Analyzer with TSMC libraries of standard cells.

  7. Task 2 Verify your revised codes using functional simulation based on a comprehensive testbench developed as a part of Project 1.

  8. Task 3 Prepare Design Analyzer scripts which will enable you to synthesize all considered versions of 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.

  9. Task 4 • Synthesize your codesusing Synopsys • with the following libraries: • Synopsys with the 90 nm TCBN90G TSMC library • Synopsys with the 130 nm TCB013GHP TSMC library • Repeat synthesis for multiple values of parameters • identified 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.

  10. Task 5 • Synthesize your best codes optimized for • a) minimum area • b) maximum throughput to area ratio • using Synplicity Synplify Pro and the following FPGAs • as target devices: • Xilinx Spartan 3 • Xilinx Virtex II • In both cases use the smallest device of a given family • capable of holding the entire circuit with up to • 70% of CLB slice utilization.

  11. Task 6 • Compare the maximum clock frequency • between circuits synthesized using • Xilinx Spartan 3 FPGA • vs. • ASIC with 90 nm TSMC library • 2. Xilinx Virtex II FPGA • vs. • ASIC with 130 nm TSMC library Explain the obtained results.

  12. Task 7 Prepare PrimeTime scripts to be used to analyze your circuits. Use templates suggested by George Michael and the TA, and modify them to match your code and the types of analyses you are planning to perform.

  13. Task 8 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 script and identify any violations of timing constraints. For the obtained violations, explain the meaning of the violation by drawing a corresponding simplified timing waveform.

  14. Task 9 Using PrimeTime Repeat your analysis for the case of input and output delays equal to the 20%,40%, 60%, and 80% of the clock period. Identify which values of input and output delays lead to violations of the timing constraints. Explain why? How would you modify your circuit to eliminate these timing violations?

  15. Task 10 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 strictly rules for writing a synthesizable VHDL code.

  16. Task 11 In case you have obtained no mismatches in Task 8 without the need to modify your codes, generate the mismatches on purpose by making a small modification in your VHDL code and comparing it with a netlist corresponding to the unmodified code. The possible modifications may include replacing a register by a direct connection between its input and output, changing the connections in your circuit, modifying a sensitivity list in a process, etc.

  17. Tips & Hints (1) Each entity and each package should be placed in a different file. The name of each file should be exactly the same as 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}

  18. Tips & Hints (2) Use only one clock in your entire design. Use an identical name for the clock signal in all your entities and packages (including declarations of components). Use the same clock name in all clock-related commands of your script, such as create_clock, set_clock_transition, etc.

  19. Tips & Hints (3) • 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 knowledge and experience that are beyond the scope of ECE 545.

  20. 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 tb directory. Place your scripts in the script directory. Define at least the following directories close to the beginning of your script: src_directory, report_directory, db_directory.

  21. Tips & Hints (5) Do not change values of the constraint conditions specified 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 commands if necessary. These constraints are required to be the same for all students.

  22. Tips & Hints (6) 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.

  23. 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 warnings and errors generated during synthesis. Please do your best to eliminate all errors and majority of warnings generated by the scripts and written to the log files.

  24. Project DeliverablesTask 1 Source codes of all synthesizable files you have developed in 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.

  25. Project DeliverablesTask 2 Source code of the comprehensive testbench capable of verifying the operation of your entire circuit. Input files containing test vectors, and output files containing reports from simulation. Timing waveform from functional simulation, demonstrating the correct operation of the circuit.

  26. Project DeliverablesTask 3 All scripts developed as a part of Task 3, and used in Task 4.

  27. Project DeliverablesTask 4 • The detailed timing and area results obtained forall • synthesized circuits, including • maximum clock frequency • area • maximum throughput • maximumthroughput/area ratio Values of parametersleading to circuits with the a) minimum area b) maximum throughput to area ratio.

  28. Project DeliverablesTask 4 – cont. Diagrams showing the dependence between the target clock frequency and the actual clock frequency and area. Possible explanation of the obtained results.

  29. Project delivarables Tasks5 & 6 The detailed timingresults for FPGAs, and their comparison with the timing results for ASICs. Explanation of differences.

  30. Project Deliverables Task 7 All PrimeTime scripts developed in order to analyze your circuits.

  31. Project Deliverables Task 8 Block diagrams with marked critical paths. All timing reports generated by your script and the summary ofthe obtained violations of timing constraints. For the obtained violations, simplified timing waveform explaining the meaning of these violations.

  32. Project Deliverables Task 9 Reports from timing analysis for the case of input and output delaysequal to the 20%,40%, 60%, and 80% of the clock period. Values of input and output delays leading to violations of the timing constraints. Explanation how would you modify your circuit to eliminate these timing violations.

  33. Project Deliverables Task 10 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.

  34. Project Deliverables Task 11 Short description of the artificially generated mismatches and the way of reporting them by the tool.

  35. 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.

More Related