DOC PREVIEW
UCSD CSE 143 - Synopsys Overview

This preview shows page 1-2-3-4 out of 13 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

SynthesisConstraintsOrder of Commands to SynthesizeSynthesizingSlide 5Slide 6Slide 7Slide 8Slide 9Reports of SynthesisSlide 11Automated SynthesisSlide 13SynthesisLearning the different commandsConstraints•Many different constraints available to apply to design:–Timing Constraints•Max clock period•Maximum slack•Max delay (non-clocked logic)–Area Constraints•Max area–Power Constraints•Max Dynamic PowerOrder of Commands to Synthesize•First set up paths to different directories Synopsys needs–Usually accomplished by a script (similar to the ones provided)–Can also be accomplished by a special file called (.synopsys_dc.setup) which defines paths to the different libraries–This is the phase were you set your libraries, different libraries try to mimic different technologies and will have different synthesis resultsSynthesizing•Analyzing the files to be processed (opening your file)–The analyze command is the file which actually opens your VDHL file.–The analyze command looks through your VHDL code for any syntactical errors.–Format of analyze command is•analyze –f vhdl filename (filename should be in a path where synopsys can find it)•For multiple files can use this format–analyze –f vhdl { firstFile secondFile }•The analyze command will return a 1 if there were no errors during the analyze processSynthesizing•The next step is to elaborate your design. Elaborating the design allows Synopsys to build a circuit which represents your design in an intermediary language.•The format for the elaborate command is:–elaborate EntityNameOfDesignOr–elaborate EntityNameOfDesign –architecture ArchitectureNameSynthesizing•Next we set the current design, we need to do this because it is possible that we have elaborated multiple entities•The command is simply:– current_design EntityNameOfDesign•Another command we usually want run after elaborating is the uniquify command. It is used to disambiguate between multiple instantiated hierarchies by giving each a unique name–uniquify (it just works on the current design)•This gives compiler greater flexibility in optimizing the designSynthesizing•Next we want to check for unwanted loops/latches in our designs•To check for latches we use the report_timing command (it has many options but we use the loops option)–report_timing –loops•To check for latches we use the all_registers command (it can be used in a number of ways to show the type of memory used in the design). To show latches we use the level_sensitive option–all_registers –level_sensitive•To print all flip-flops we could use the “-edge_triggered” optionSynthesizing•Now we set all of our constraints, there are many possible constraints to use, some of the popular ones are:–create_clock nameOfClk –period PeriodValue–set_max_area UnitsOfArea–set_max_dynamic_power UnitsOfPower–set_operating_conditions –library LibName OperatingConditionsName–set_wire_load WireLoadSize•Used to model the interconnect effects based upon a certain die size (for example 10X10 20X20, etc)Synthesizing•Now we compile the design–Compile –map_effort LevelOfEffort•The map_effort tells the compiler how hard (and consequentially how long) it should work at trying to achieve the area constraint that was setAfter Compile is complete we can view the many reports that are available showing us how the compile went, however first thing to do is to check the design to make sure it compiled properly–Do this with the check_design commandReports of Synthesis•Many reports available to tell you how Synthesis went–report_constraints•Gives you many of the constraints that your design had –report_references•Gives information about the different cells used in the design, and whether or not they are shared–report_area–report_timing–report_fsm•Gives information on any Finite State Machines that were created in your design–report_attributesSynthesis•If not satisfied with results can use the ungroup command to try and remove a level of hierarchy and recompile–ungroup -allAutomated Synthesis•Can actually use a script that performs synthesis in the background and can email you when complete•Sample Script below:–File called EmailScript–Contents•#!/bin/sh•dc_shell-t –f SciptName•mail –s “Your Script has Completed” [email protected] < additionalFileToAttachToEmailAutomated Synthesis•So, first create script and put in your directory•Give executable permission–chmod u+x ScriptName•Extend CpuLimit–cpulimit 1000000000•Check to make sure no one else is using machine (use the “who” command), otherwise synthesis will take longer•Call script and run in background–nohup ScriptName & (can view terminal output of program in the nohup.out file to make sure synthesis started properly)•Logout (it may hang at the logout command, this is ok just close the terminal window)•To double check script, login to same computer where script is being run and type–ps –aef | grep YourUserName•You should see a process called synopsys (may have other stuff attached) you can then see how long it has been running


View Full Document

UCSD CSE 143 - Synopsys Overview

Download Synopsys Overview
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Synopsys Overview and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Synopsys Overview 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?