Home > Full text of "A Manual on Encounter RTL Synthesis"

Full text of "A Manual on Encounter RTL Synthesis"

ACKNOWLEDGEMENT



I am thankful to my guide and instructor, Dr.
J . V . R . Ravinrda, I I IT , Hyderabad for giving me this wonderful
opportunity to write this book under his guidance. The love and
faith that he showered on me have helped me to go on and complete
this manual.

In the end, we would like to thank my friends, my parents and that
invisible force that provided moral support and spiritual strength,
which helped us completing this project successfully.



2 | P a g e



Table of contents Page no .

introduction 4

1. Basic Definitions 7

2 . Compilation procedure 15

3. Flow of RTL compiler 20

4. RC of a 128 Counter 34

5. List of VLSI tools 41



3 | P a g e



1 . 1 Introduction



The basic aim of an Encounter RTL compiler is to get a physical
design from the netlist given to it by over verilog code. The
physical design is acquired on a platform called GRAPHICAL USER
INTERFACE (GUI) . as the name says it all, it is a interface
between the user and the graphic design.

Encounter RTL compiler follows Top-down global
RTL design synthesis , that means the behavioural logic that we
have written , will give you an overview of the system is
formulated, specifying but not detailing any first-level
subsystems. Each subsystem is then refined in yet greater detail,
sometimes in many additional subsystem levels, until the entire
specification is reduced to base elements.



Due to top- down approach silicon realization will
get done very rapidly in terms of speed and simplicity , because in
a silicon realisation process , the area required for placement and
routing concepts must be introduced primarily and that requires lot
of information about the system module than the indivual modules.

This is a sample Physical design of a traffic lights program on how our netlist
gets synthesized .




4 | P a g e




TIMING, AREA, AND POWER INTENT (PAT) IMPORTANCE

According to MOORE , "after every 18 months duration the no. of transistors used on a
chip gets doubled, the power consumed by that circuit gets decreased by a half, the
size of the circuit is decreased to half and the frequency of the circuit gets doubled."

This rule is traditionally coming true due to the increasing thirst or need
of man for the upgrading his comforts in his way of living , so the circuits has to take
care of the three main factors called

��S Power

��S Timing

��S Transistors

This thumb rule is followed by every VLSI company to sustain in the market
, so we are designing the most optimised design for reducing the complexity or
the congestion , which are at two different peaks , because if you decrease the
complexity , the congestion gets decreased and when the congestion is getting
increased, the complexity gets reduced, Design verification is all about
balancing these two factors.



5 | P a g e



Microprocessor Transistor Counts 1971-2011 & Moore's Law



2.EKCD5.KC-



1EO0I.0CC-



�� ICC'X'.OCC-



1 000.000



1 0.0CC »��, was

u: . ax




curve shows transistor
count dojblmg eve'y
two years



16-Core SPARC T3
Sa Core Core 7
So-Core Xeon 740C

\ '"I

DuatdnMumct �� V, 8-core power?

UfflKtti ��, Clirj-Donszl*

.'I.'-asrJ-wra HaniinTitoila
POWERG* "Nf-Cwc Koon Ntraicm-EX

Itanium i am- SMB acre* / •• Si>-Coce Cotton 2400
AMD K1Ci Cum i7 fOuadi



Ikiiiiiiii 2t



JCcff 2 Duo
Ccl



U.OK3




• /Ucril



IS71 196C 1SSC MM

Date of intrcducticn



Fig 1.3 Moore's law's Plot of CPU transistor counts against dates of introduction.



6 | P a g e



Chapter 1



BASIC

DEFINITIONS



7 | P a g e



Encounter RTL Compiler consists of many more typical terms that
much different from outside world and the basic terms are as
follows :-



is



1 . NETLIST :- structural code

2 . layout and schematic : - a schematic is the electrical
hook up or connections of the circuit, but a layout
is the physical representation of the PCB with actual
shape of the parts i.e. connection to the PCB.

3 . Graphic User Interface (GUI):- it is a output file of
a RTL compiler, or the schematic design of our
verilog code. It is a type of user interface that
allows users to interact with electronic devices
through graphical icons and visual indicators such
as secondary notation, as opposed to text-based
interfaces, typed command labels or text navigation

4. SYNTHESIS :-"Timing Check"

1. Process of converting and mapping
technology independent HDL into
Technology dependent netlist
it follows three steps > TOM

b. Translation :- HDL to logical or Boolean
operations

c. Optimisation :- selecting the best out of the
alternatives , i.e. designing with most
minimized errors.

d. Mapping :- technology independent to technology
dependent

5 . simulation :- "Functionality Check"

its basic synthesis is to meet the target frequencies

6 . DFT : - "Design for Testability" is a design
techniques that add certain testability features to a

i. microelectronic hardware product design

- it can use few non- synthesizable
codes also

7 . constraints :- decides the perfect situation
components but when given the right specifications



8 | P a g e



- EG :- just like a girl has
restrictions from her father.

8 . Linting tool : - it is a advance verification tool.
It shows the error in the module (blocks , paths,
FSM, code) displays on the report file.

9 . wire load model (WLM) :- Wire load modeling allows us
to estimate the effect of wire length and fanout on
the resistance, capacitance, and area of nets.
Synthesizer uses these physical values to calculate
wire delays and circuit speeds . Semiconductor vendors
develop wire load models, based on statistical
information specific to the vendors' process. The
models include coefficients for area, capacitance,
and resistance per unit length, and a fanout-to-
length table for estimating net lengths (the number
of fanouts determines a nominal length) .



10. non linear delay model (NLDM) :- standard delay-
modelling format.

11. clock gating : - this occurs when data signal is
used to control the data . Output of a FF is
dependent on input data.

12. Library :- A library is a collection of control
attributes, environment description , standard cell
description , delay calculations and delay models.

13. LEF : - Library Exchange Format :- contains
specifications on layer, design rules, via
definitions, metal capacitance , cell descriptions,
cell dimensions, layout of pins and blockages,
capacitances in ASCII format.



9 | P a g e



14. synthesis : - refers to Logic synthesis, the

process of converting a higher-level form of a design
into a lower-level implementation



15. DEF : -Design Exchange Format is an open
specification for representing physical layout of an
integrated circuit in an ASCII format. It represents
the net list and circuit layout. DEF is used in
conjunction with Library Exchange Format (LEF) to
represent complete physical layout of an integrated
circuit while it is being designed.

16. latch : - Latches are designed to

be transparent. That is, input signal changes cause
immediate changes in output; when

several transparent latches follow each other, using
the same clock signal, signals can propagate through
all of them at once.

In electronics , a flip-flop or latch is

a circuit that has two stable states and can be used
to store state information. A flip-flop is a bistable
multivibrator . The circuit can be made to change
state by signals applied to one or more control
inputs and will have one or two outputs. It is the
basic storage element in sequential logic. Flip-flops
and latches are a fundamental building block
of digital electronics systems used in computers,
communications, and many other types of systems

SCAN D FLIPFLOP

A special type of D flip flop where it is functioned
only when the test pattern is loaded . The idea is to
drive the DFF ' s D unit with an alternate source of
data during device testing. After one or more clock
ticks, the flipflops are put back into test mode, and
the test results are "scanned out".



10 I P a g e



17. FPGAs are semi custom devices generally

maintained for multiple times programming a single
circuit, whereas ASICs are fully custom designs the
circuit can no more be programmed when it is working
under ASIC.

there is a weird element called one time programmable
FPGA where you can actually program only for one
purpose it is a SRAM, which has volatile memory.



18. Mask-Programmable Gate Array (MPGA) was developed
to handle larger logic circuits. MPGAs consist of an
array of pre-f abricated transistors that can be
customized into the user logic circuit by connecting
the transistors with custom wires.

-large setup cost is involved and manufacturing time
is long.



FPGA vs. ASIC Design Advantages
FPGA Design



Advantage

Faster time-to-
market



No upfront non-
recurring expenses
(NRE)

Simpler design
cycle

More predictable
project cycle

Field reprogram
ability



Benefit

No layout, masks or other
manufacturing steps are
needed

Costs typically associated
with an ASIC design



Due to software that handles
much of the routing,
placement, and timing

Due to elimination of
potential re-spins, wafer
capacities, etc.

A new bit stream can be
uploaded remotely



11 | P a g e



ASIC Design



Advantage



Benefit



Full custom
capability



For design since device is
manufactured to design specs



Lower unit
costs



For very high volume designs



Smaller form
factor



Since device is manufactured to
design specs



FPGAs used for lower speed/complexity /volume designs
in the past, today's FPGAs easily push the 500 MHz
performance barrier, the examples are
embedded processors , DSP blocks, clocking,
high-speed serial at ever lower price point



12 | P a g e




ASIC



Hand-Off
to Foundry:
Wait 1-3 Months



Fuctional
Specification



HDL



I




Place & Route



Verify in Circuit



Behavioral
Simulation



Synthesis














Static Timing
^ Analysis




Equivalency
Checking









Static Timing
Analysis



Equivalency
Checking



Verification of

2nd & 3rd
Order Effects



ASIC and FPGA modelling

19. JTAG (Joint test action group) it is a process
for the boundary scan for printed circuit boards. It
can be implemented on a processor only if it has
enough pins on it .

20. BOTTOM - UP APPROACH :- combination of small
modules each one after another after synthesizing and
optimisation .



21



TOP - DOWN APPROACH



��synthesizing and



optimising directly the big module which is a
combination of small modules.



13 | P a g e



22 . Path groups



Typically Path groups are the connections in between the
modules is divided into four
They are

• input to output path group

• input to register path group

• register to register path group

• register to output path group

all these path groups are essentially should be out of
congestion




Fig 1.3 Path groups



14 | P a g e



Chapter 2

Compilation
Procedure

15 | P a g e



For making use of our raw verilog code there is a need to
generate the netlists , for generation of these netlists
we need to synthesize our own code first. Inputs of this
synthesis are our verilog code (RTL) , library files , our
constraints and the reports and netlists will be our
outputs .



library files + RTL code + constraints + (LEF & DEF
files , optional) = gate netlist (optimised) +
scripts/ reports

is the basic equation of SYNTHESIS, it is nothing but
just translation of HDL to netlists. The output includes
the First Encounter input files.

Synthesis is a technology independent process. The basic
design flow is followed in this way

1 . HDL coding

The basic idea you get for designing a circuit, its
logic, can be programmed on a platform called verilog
in

a. dataflow level

b. structural level

c. behavioural level



Writing structural verilog code is a difficult task
when the circuit complexity increases. Behavioural
code of verilog is the simple way of writing a
program of a logic. Machine can convert it into gate
level netlists.



2 . set paths & libraries



the tool needs to load the library
files (slow, fast, nominal libraries) to use the
verilog logic given by the programmer , generally
libraries contains all the basic gates with different
fan-ins, fan-outs, and also with different number of
inputs (e.g.:- 4 input NAND) , flops, level shifters,
muxes, etc .



16 | P a g e



A set of values of PVT (Process, Voltage, Temperature)
is known as operating condition. A logic library is
characterized for one set of operating condition.
Generally there are different libraries specific to
different operating condition. There are three
operating conditions very commonly used in ASIC
synthesis and implementation. Based on the affect on
cell delay due to the variation in PVT these
classifications are made.

They are :

S worst (also called 'max' or 'slow' ) library in which
cells are characterized for maximum delay

S best (also called 'min' or 'fast' ) library in which
cells are characterized for minimum delay

S nominal (also called 'typical' or 'normal' ) library in
which cells are characterized for typical delay



3. reading the HDL files

reading the netlist (hardware description language)
must be done as soon as the synthesis is done , we
specify the netlist file as *.vg .

4 Elaborate designs

Graphic User Interface is a design which gives you the
complete layout of this circuit . so a seperate command
called elaborate is given in the TCL file for this
layout generation .



3 . Specify constraints

for optimising a specific design in the desired
congestion, area , power and timing we use various
constraint files to limit the layout only to specific
conditions .



17 | P a g e



4 . synthesize

synthesis technically mean breaking up the things ,
similarly in VLSI world synthesize mean to break the
logic of the program into electronic devices.

5 . check results

checking the result such as timing slack, congestion
, power, area after the compilation is to be checked
after every optimisation step is must , that will
decide the endpoint of optimisation. If not met the
optimised point feedback the process, add few more
constraints to it.



6.netlists and constraints



Now generate the netlist using the most favourable
constraints that gives you the specific requirements.



Just like a barren lands which do not have
much minerals, a BAD NETLIST has poorly structured paths
which will give you higher cell area. Bad netlist not only
gives you high cell area but also it is too slow, has more
iterations and is unroutable in many cases. World loves
easy circuits, i.e. which has easy layout and easy timing
but not congestion routing
where even buffers are used .

note:- buffers are used for getting a time delay but
introduction of clocks increases power consumption as
these instances also consume some amount of power.



Generally ASIC designs are made to synthesize with the
help of RTL compiler, as a writer I must make sure that my
reader understands clearly what is an ASIC and a FPGA.
FPGA cell is a vast, huge , big thing i.e it contains many
ASIC designs of different functionalities but made to work
on same operation .

The standard factors of optimising a design are



18 | P a g e



1 . complexity

2. congestion (cannot be optimised much during RTL
compilation, Soc Encounter is best for checking and
optimising this constraint )

3. timing (slack)

4 . power
5 . area



the conventional ways of optimising a function
mathematically is by

1 . k-mapping

2 . sum of products (SOP )

3. product of sums(POS)

similarly in optimising a physical design in RTL compiler
world we use several parameters such as

1. generic structuring

2. global structuring

3 . incremental synthesis

but we use them inside the terminal command language (tcl)
file during RTL compiling stage .

Apart from optimising the complexity of the function we
can even increase/decrease run time for optimising the
timing constraints by making the effort levels as

1 . low

2 . medium
3 . high

the three different levels experience different levels of
runtime, for example runtime of low is x , then run time of
medium is x 2 and runtime of high is x 3



19 | P a g e



Chapter 3

Flow of RTL
compiler



20 | P a g e



Go and check the finest verilog file before computing

note:- 1 . It must not include any "assign" statements in
continuous blocks .

2. Place all your assign statements in procedural
block

WHEN IT COMES TO COMPLEX DESIGN , DTMF (Dual Tone Multi-
Frequency model)

0. Check out the verilog file

1. Go to set up file and copy that into a new tcl file.

2. Give the necessary file conditions inside the setup
file.

3. setup. tcl file includes all the necessary conditons
needed for the module level synthesis over the DTMF
VERILOG CODE

4 . generate a template file in the present working
directory

5. give the necessary conditions to it

# followed by any command is commented out in .tcl
files .

Index 1 is a set of values taken as 1 variable under
considerations where as index 2 is a set of values
taken as another variable under considerations.
"Fast. lib" contains only level shifter cells



21 | P a g e



BASIC COMMANDS TO BE USED



Compilation

1. rc -gui :- dives you graphical interface of your verilog
code, in short we wil get the schematic of our code.

2. rc -f :- the log file gets dispayed during the
execution, as well as the power , area , timing also gets
displayed in this log file.

3. rc -gui -f setup. tcl :- execute your setup. tcl file and
give this command

4. rc -version :- gives you the present version information
Program Name: Encounter (R) RTL Compiler, Version:

RC10. 1.304 - vlO . 10-s339_l (32-bit)

5. rc -f run_syn.tcl -logfile mj.tcl :- gives you the log
file in mj.tcl editor that contain evrything that
displayed during the time of execution.

6. help command_name or man command_name : -f or help on all
commands

7. write_template -simple -outfile template. tcl

generates a .tcl file named template



22 | P a g e



Inside the program



setting an attribute
1 . set_attribute <attribute name> <value> <objects> :
set_attribute

lib_search_path/root/rclabs/libraries/TIMING/STDCELL :-

from this command the library files are taken the list of
files available inside STDCELL are



-rw-


r-


— r—




1


last . iid


-rw-


r-


— r —




1


it g ivjz UC . ��1D


-rw-


r-


-r-




1


f f_hvt_lv32_0c . lib


-rw-


r-


— r—




l


"1 N T — 1 7\ T> TV /T T — 1

README


-rw-


r-


-r-




1


slow_0v70_lv08 . lib


-rw-


r-


-r-




1


slow_0v80_0v80 . lib


-rw-


r-


-r-




1


slow_0v80_0v90 . lib


-rw-


r-


-r-




1


slow_0v80_lv08 . lib


-rw-


r-


-r-




1


slow_0v90_lv08 . lib


-rw-


r-


-r-




1


slow_lv08_lv08 . lib


-rwxr-


xr-


X


1


slow . lib


-rw-


r-


-r-




1


ss_g_0v7 0_12 5c . lib


-rw-


r-


-r-




1


ss_g_0v8 0_12 5c. lib


-rw-


r-


-r-




1


ss_g_0v90_12 5c. lib


-rw-


r-


-r-




1


ss_g_lv0 8_12 5c . lib


-rw-


r-


-r-




1


ss_hvt_0v7 0_12 5c. lib


-rw-


r-


-r-




1


ss_hvt_0v80_125c . lib


-rw-


r-


-r-




1


s s_hvt_0 v 9 0_1 2 5 c . 1 ib


-rw-


r-


-r-




1


ss_hvt_lv08_125c . lib


-rw-


r-


-r-




1


ss_pg_0v7 0_lv0 8 . lib


-rw-


r-


-r-




1


ss_pg_0v7 0_lv0 8 . lib.


-rw-


r-


-r-




1


tt_g_lv2 0_2 5c . lib


-rw-


r-


-r-




1


tt_hvt_lv2 0_2 5c. lib


-rw-


r-


-r-




1


typical . lib



2 . set_attribute hdl_search_path /root/rclabs/work

giving you the HDL file search path



23 | P a g e



3 . get_attribute <attribute_name> <object>

retrieving of attributes ,

volatile in nature, prime difference bwtween set and get
is that we can change the attribute over get_attr that
means it follows multiple paths but in set_attr program
synthesis is relying only on only path .



4. set_attr library ls��50k. lib /

to load a single library file



5. set_attr library {{a. lib b.lib} c.lib {x.lib y.lib}} /

RTL comipiler loads a. lib and appends b.lib to a. lib.
then it loads c.lib. next it loads x.lib and appends
y.lib to x.lib.

6. set_attr avoid <true (1) /false (0) > <cell name(s)>
set_attr avoid 1 {mylib/snl_mux21_prx* }

can avoid the snl_mux2 l_prx* library during synthesis



7 . read_hdl -v2 001 counter . v

reads your verilog code

read_netlist -v2001 count er.v

reads your netlist

-v2001 (boolean) force Verilog 2001 mode
-vl995 (boolean) force Verilog 1995 mode
-sv :- read system verilog files



24 | P a g e



-vhdl By default RC reads VHDL - 19 93



8. synthesize -to_mapped -eff low

-to_mapped :- optimizes MUX and datapath and stops before
mapping (DEFAULT)

-to_generic :- maps specific designs to cells
-to_incremental-no_incremental :- turns incremental
synthesis on/off

- effort levels are low, medium (default ), high



constraints

constraints are the command lines given by the programmer
for optimising the system to meet the desired area, power,
timing issues.

> Display failed constraints

echo $::dc : : sdc_f ailed_commands > failed. sdc

in the terminal



# command failed at line '7' of file ' counter . sdc ' :
set_at rribute lp_insert_operand_isolat ion true /

# command failed at line '11' of file ' counter . sdc ' :
set_attr lp_multi_vt opt imization_ef fort high /

# command failed at line '14' of file ' counter . sdc ' :
external_delay -input 2 -elk [all_inputs]

# command failed at line '15' of file ' counter . sdc ' :
external_delay -output 2 -elk [all_outputs ]

> tightening constraints



25 | P a g e



patn adjust


-delay


— zuu


—from


[a���� .


. a����_


_seqs ]


—name


pa izo
















path_ad just


—delay


Odd

— ^uu


—from


[all :


: a����_


_seqs]


—name


pa_i2c
















path_adjust


-delay


-200


-from


[all:


:all_


_seqs]


-name


pa_c2o
















path_adjust


-delay


-200


-from


[all:


:all_


_seqs]


-name



pa_c2c

i : - input
o:- output
c :- register

^ Remove constraints

rm [find /des* -exceptions pa_*]

pa stands for Path Adjust

> Optimising total negative slack (TNS)
set_attr tns_opto true /

^ Sequential optimisation

set_attr hdl_preserve_unused_register true /
set_attr delete unloaded_seqs true /

> Sequential merging

set_attr opt imize_merge_f lops true /
set_attr optimize_merge_latches true /

sequential merging combines equivalent sequential
cells, both flops and latches, within same hierarchy,
flops increase the area and instance count .

^ Mapping to complex cells

set_attr hdl_f f_keep_f eedback true [find / -hdl_arch
DFF*]

uses the complex flip flops inside the library and
maps synchronous feedback logic infront of the
sequential elements.

^ Mixing up the cells into a multibit cell interfacing
set_attr use_multibit_cells true /

it makes the circuit more compact, because the
dispersed cells are combined into a block using this



26 | P a g e



command and the multibit cells contain less power due
to less capacitive loading.

^ Removing the undriven pins in a module
set_attr prune_unused_logic true /
set_attr prune_unused_logic <path to pins>

> Recombining the logic cuts happened between the
combinational circuit and DFF
set_attr time_recovery_arcs true /

area optimisations take place when the recovery archs
which are unmatched between a flop and a combo.

^ Preserve RC mapping on a instance

set_dont_touch [find /des* -instance alu2]



> Preserving instances and subdesigns

set_attr preserve true [find /des* -instance alu2]

^ Grouping and ungrouping the instances in a system
group -group_name CRITICAL_GROUP [find / -instance
II] [find / -instance 12]
ungroup [find / -CRITICAL_GROUP]
ungroup -threshold 500

> For avoiding the headache of custom partitioning use
this , its automatic !

set_attr auto_partion true /

^ Creating a hard region

set_attribute hard_region true / [find / -instance
<INST_NAME>]

note : - hard regions must be specif ed before "_mapped
structuring "

> Total deriving environment
derive_environment <instance> -name
<extracted_design_name>

individual environment of the instance is applied to
its actual environment present in the system , its
all regarding the slack timing.



27 | P a g e



> Superthreading

set_attribute super_thread_servers {machine_names } /

for automatic

set_attribute auto_super_thread true /

by this we can enable different threads to start
operating at same time.

> set_clock -period 4.75 clock: clock period constraint
set at 4.75 (210 MHz) .

> set_clock_uncertainty -setup 0.475 clock: -ve clock
skew can lead to setup violations. Possible value of
-ve skew is provided to DC so that it can model for
that. Generally setup uncertainty is taken as 10%

> set_clock_uncertainty -hold 0.27 clock: +ve clock
skew can lead to hold violations. Possible value of
+ve skew is provided to DC so that it can model for
that. Generally hold uncertainty is taken as 5%.

> set_clock_latency 0.45 clock: this provides possible
network latency constraint to DC.

> set_clock_latency -source 0.4 clock: source latency
of 0.45 is selected.

> set_clock_transition 0.04 clock: clock transition
time of 0.04 is modeled.

> set_input_delay 0.40 [all_inputs] : input delay of 0.4
is set to all inputs.

> remove_input_delay [get_ports clock]: constraining
clock with input delay leads to wrong timing
analysis. To exclude clock port from the input delay
this command is used.

> set_output_delay 0.40 [all_outputs] : output delay of
0.4 is provided. Since all outputs are registered
this delay does not affect the timing analysis.



28 | P a g e



#####################################################
##########################

# External Delay Information

#####################################################
##########################

set_input_delay 0 . 4 [get_ports { {a_rowO [3] } } ]

set_input_delay 0 . 4 [get_ports { {a_rowO [2] } } ]

set_input_delay 0 . 4 [get_ports { {a_rowO [1] } } ]

set_input_delay 0 . 4 [get_ports { {a_rowO [0] } } ]

set_input_delay 0 . 4 [get_ports { {a_rowl [3] } } ]



29 | P a g e



At the time of compilation



1 . reading the TCL file



i Applications Places Systerr



12 00 PM 39



File Repcvt Toots Preferences Window Help




urce script^ -
idate GUI p



upd
exit GUI



exit TOOL



♦1: 1 �� treofuse || ' traf_«ntr_s . . ,. [probers] | | [traf r K _»nt... ]( ^ VD^JgnaTTT^^^^^ ][ # fl^nonar... j| �� [root^use . |[ [reponsp.. | �� CM«f>ClE... i Q I

Fig3 . 1 GUI window



Read Tel Script Files



Z



Directory: /root/rclabs.'work



Filter: \tcl



cl

syn.tcl



run_aes.tcl
Q| run_dec.tcl
Q run enc.tcl
121 runsyn.tcl
Q run_syn_patrnDtct.tcl
Q template.tcl



PI traf_intr_syn.tcl



IE



' root/rc labs/ work/t raf J nt r_sy n . tc I



Move Up Delete Move Down



OK



Cancel



Fig 3.2 Reading " trans_syn . tel " file



30 | P a g e



2 . reading the report files




U^^^^M Mill! hill ml SB^^^^MOHB

Generated by: Encounter(R) RTL Compiler RC10.1.304 - v10.10-s339_1 (Nov 14 2011)

Generated on: Sep 07 2013 12:12:29

Module: traffic_intr_main

Technology library: slow 1.5

Operating conditions: slow (balanced_tree)

Wireload mode: segmented









datapath


0.00


0.00


external


0.00


0.00


others


3174.14


100.00


TOTAL


3174.14


100.00



Close



Help



Fig 3.4 Reading the Report Data path



31 | P a g e



3. opening the object browser



I Applications Races System



17 00 PM 4}




0\ J lroot@use... || ttraf jntrs... _ |pfO|ects| I . (traffic jnc.. lOesignBr... [



(-Personal-... I [ roouause . . (reportsp... OCadenceE..



Fig3 . 5 GUI window



root
Q designs

B-traf f ic_intr_main
B dex

-queue;
-runs

-thread parameters
1 — thread results



hdl libraries



El libraries

El messages

EI object_types



/hdljibraries:






Total: 20 items

./

AMBIT/






(hdljib)




CADENCE/'


(hdljib)




CW/


(hdljib)




DP/


(hdljib)




DW01/


(hdljib)




DW02


(hdljib)




DW03/


(hdljib)




DW04/


(hdljib)




DW05/


(hdljib)




DW06/


(hdljib)




DWARE/


(hdljib)




GB/


(hdljib)




GTECH'


(hdljib)




IEEE/


(hdljib)




IEEE_SYNERGY. (hdljib)




STD/


(hdljib)




SYNERGY/


(hdljib)




SYNOPSYS/


(hdljib)




synthetic/


(hdljib)




♦1








Close



Help



Fig 3.6 Libraries list inside Object Browser



32 | P a g e



1 . write_template -outfile template. tcl

Template file will be found in present working directory)

2 . source . /<script_f ile_name>

runs the script inside rc (RTL Compiler) , generally used
for running templates.

3. write_hdl > filename. vg

gate level netlist gets generated over the present
directory

4 . write_script > constraints . g

RC constraints file gets created

5. write_sdc > /root/rclabs/work/ constraints . sdc

all the constraints gets created over a file



33 | P a g e



Chapter 4



RC OF A 128
BIT

COUNTER



34 | P a g e



An example verilog file: -



######################################################
##### verilog code on 128 bit counter

######################################################

module counter (up, down, elk, reset, count) ;

input up, down, elk, reset ;
output [ 127 : 0 ] count ;
reg [ 127 : 0 ] count ;

always @ (posedge elk or negedge reset)
begin

if ( ! reset )

count <= 128'b0000;

else if (up==down)
count <= count;

else if (up)
count <= count+1;

else if (down)
count <= count-1;

else

count <= count;
end

endmodule



35 | P a g e



create a tcl file in this way



##########################################################

TCL ( TERMINAL COMMAND LANGUAGE ) f ile counter. tcl
##########################################################

tread path and library

set_attribute lib_search_path

/root/rclabs/libraries/TIMING/STDCELL (To follow library
path)

set_att ribute hdl_search_path /root /rclabs/work
(To follow your Hardware Description Language path)
set_att ribute library slow. lib

(To specify the Wanted library eg:- slow, fast , nominal . lib)
#set_attribute inf ormation_level 7



# read HDL

read_hdl -v2001 counter. v

(To read your HDL verilog code)

# elaborate design
elaborate



# constraints

define_clock -period 2000 -name elk [find /des* -port elk]

read_sdc counter. sdc

(GIVE your constraints file)

# synthesize

synthesize -to_mapped -eff low

(SPECIFY your effort level as high or low or medium)



# check results



36 | P a g e



report power > /root / rclabs/work/ reports/counter_power . rpt
report timing >

/root/ rclabs/work/ reports/ count er_timing . rpt

report area > /root / rclabs/work/ reports/counter_area . rpt

report design_rules >

/root / rclabs / work/ report s / count er_rules . rpt

report gates > /root /rclabs/work/reports/counter_gates . rpt
report datapath >

/root /rclabs /work/ report s/ count er_datapath . rpt
report clock_gating >

/root / rclabs / work/ report s / count er_clkgtng . rpt
report gate -power >

/root / rclabs / work/ report s / count er_pwrgt . rpt
report hierarchy >

/root / rclabs / work/ report s / count er_hierarchy . rpt
report memory >

/root /rclabs/work/report s/ count er_memory . rpt
report instance >

/root / rclabs / work/ report s / count er_in stance . rpt
report messages >

/root/ rclabs/work/ reports/ count er_mes sages . rpt
report summary >

/root / rclabs / work/ report s / count er_summary . rpt

report qor > /root /rclabs/work/ reports/counter_qor . rpt

# generate outputs

echo $ : : dc : : sdc_f ailed_commands > failed. sdc
write_hdl -m > mjti.vg

(Netlist files are GENERATED as mjti.vg)
write_sdc > mjtinew.sdc



37 | P a g e



THIS IS YOUR CONSTRAINTS FILE



##########################################################
CONSTRAINTS FILE ( counter . sdc ) SYNTHESIS DESIGN
CONSTRAINTS

##########################################################

create_clock -period 2 -name elk [get_ports elk]
set_clock_uncertainty -setup 0.08 [get_clock elk]
set_clock_uncertainty -hold 0.07 [get_clock elk]

set_clock_latency 0.08 -late [get_clocks elk]
set_clock_latency 0.038 -rise [get_clocks elk]

set_max_area 100

set_attribute dp_area_mode true /
set_attribute dp_postmap_downsize true /

set_att ribute lp_insert_operand_isolat ion true /
set_attr lp_insert_clock_gating true /
set_attr max_dynamic_power 100000 /des*/*
set_attr lp_mult i_vt_opt imisat ion_ef f ort high /
clock_gating insert_in_net list

set_attr clock_source_late_latency 2000 [get_clock elk]
set_attr clock_network_late_latency 2000 [get_clock elk ]

set_attr max_fanout 10 [all_inputs]

RESULTS

############## failed constraint file ###########

# command failed at line '7' of file ' counter . sdc ' :
set_atrribute lp_insert_operand_isolat ion true /

# command failed at line '11' of file ' counter . sdc ' :
set_attr lp_multi_vt opt imization_ef fort high /

# command failed at line '14' of file ' counter . sdc ' :
external_delay -input 500 -elk [all_inputs]

# command failed at line '15' of file ' counter . sdc ' :
external_delay -output 500 -elk [all_outputs ]



38 | P a g e



##########################################################

#### REPORT FILES

##########################################################

4| Applications Races System ^ ^ 1158 AM Q$



file Edit View Terminal Tags Help



OAI22XL

0AI2BB1X1

0AI2BB2XL

0AI31XL

0AI32X1

OR 2X1

0R2X2

OR4XL

TLATX1

TLATX2

XN0R2X1

XNOR2XL

X0R2X1



42.435
25.461
91.666
67.896
11.882
33.948
4/ J :��
26.369
135.792
81.475
11.882
47.527
11.882



0 . 000
8.883
8.099
0.000
8.898
0.065
0.095
8.882
8.668
6.094
8.891
0.094
0.081



60.S24
57.483
124.222
47.771
48.165
773.213
166.814
192.633
6.666
260.393



slow
slow
slow
slow
slow
slow
slow
slow
slow
slow
slow
slow
slow



total



8.137 195357 J



Leakage Leakage Internal Internal
Instances Area Area S Power (nW) Power S Power (nW) Power S




25 667.678 21.6

45 174.832 5.5

1 6.796 8.2

313 2325.438 73.3



6.625 18.2 189931.566

8.863 2.8 766.984

e.eei 0.7 9. bob

6.168 79.1 4718.538



166.0



6.137 166.6 195357.668



Beglnnlng^^nort datapath co— anil

Warning : Tne^HteDame, colufin and line number information will not be avail
: The attr^^a^^Kgettlng HDL filename and lire number Is n<

Warning




report . [RPT DP- 186J



90



Possible timing p
: The design is 'traffic int
rc:/> gul

ambiguous command name "gul": gul hide gul hv clear gul hv_get_f lie gul hv. load rile gul hv. set. Indicators gul. Into gul legend gul _pv_alrline_add gul pv airline. add cus
torn gul pv airline delete gul pv airline display gul pv airline raw add gul pv airline raw add custom gul pv clear gul pv connectivity airlines gul pv display collectlo
n gul pv draw box gul pv draw circle gul pv draw line gul pv draw triangle gul pv highlight gul pv highlight update gul pv label gul pv redraw gul pv selection gul pv s
election internal gul pv snapshot gul pv sterner tree gul pv zoom box gul pv zoom fit gul pv zoom in gul pv zoom out gul pv zoom to gul raise gul reset gul resume gul s
election gul show gul status gul suspend gul sv clear gul sv cone gul sv get Instance gul sv grey gul sv highlight gul sv load gul sv snapshot gul update
rc:/> exfj



#| I jj Iroot@userl07... ttraf_intr_sy n t... | [protects! [tfefnc_«mrmct,..]| . [Design Brows... ) | - IWmveform 1 • ... H % [Bed Hat Enter flj roob&userl07 - ��



Fig 4.1 Report inside the LOGfile during the process

1. datapath report
Command: report datapath >

/root / rclabs / work/ report_m j / count er_datapath . rpt



Generated by:
RC10. 1.304 - vl0.10-s339.
Generated on:
Module :

Technology library:
Operating conditions:
Wireload mode:
Area mode :



Encounter (R) RTL Compiler

Jul 29 2013 06:46:45 pm
m jt i
slow 1 . 5

slow (balanced_t ree )

segmented

timing library



Type



CellArea Percentage



39 | P a g e



datapath modules 0.00
external muxes 0.00
others 1420.72



0.00
0 . 00
100 . 00



total 1420.72 100.00



2. design rules report



Generated by:
RC10. 1.304 - vl0.10-s339.
Generated on:
Module :

Technology library:
Operating conditions:
Wireload mode:
Area mode:



Encounter (R) RTL Compiler

1

Aug 03 2013 02:22:34 pm

counter

slow 1.5

slow (balanced_tree )

segmented

timing library



Max_transition design rule: no violations.

Max_capacitance design rule: no violations.

Max_fanout design rule (violation total = 246.000)
Pin Fanout Max

Violation



down (Primary Input) 128.000 5.000

123 . 000

up (Primary Input) 128.000 5.000

123.000



40 | P a g e



Chapter 5



LIST OF VLSI
TOOLS



41 | P a g e



############## LIST OF CADENCE TOOLS ##################



3D Design Viewer



A



C



* Allegro AMS Simulator

* Allegro Design Authoring

* Allegro Design Entry Capture / Capture CIS

* Allegro Design Publisher
Allegro Design Workbench
Allegro FPGA System Planner
Allegro Package Designer
Allegro Package SI
Allegro PCB Designer
Allegro PCB Librarian
Allegro PCB SI
Allegro System Architect
AMS Methodology Kit
Assura Physical Verification



* Cadence 3D Design Viewer

* Cadence ActiveParts Portal

* Cadence AMS Methodology Kit

* Cadence Chip Optimizer

* Cadence Chip Planning System

* Cadence CMP Predictor

* Cadence Incisive Verification Kit
Cadence InCyte Chip Estimator
Cadence Litho Electrical Analyzer
Cadence Litho Physical Analyzer
Cadence Low-Power Methodology Kit
Cadence MaskCompose Reticle and Wafer Synthesis



Suite

* Cadence OrCAD Capture / Capture CIS



42 | P a g e



* Cadence OrCAD FPGA System Planner

* Cadence OrCAD PCB Designer

* Cadence OrCAD Signal Explorer

* Cadence Palladium Dynamic Power Analysis

* Cadence Palladium series

* Cadence Palladium XP Verification Computing Platform

* Cadence Physical Verification System

* Cadence Process and Proximity Compensation

* Cadence PSpice A/D and Advanced Analysis

* Cadence QRC Extraction

* Cadence QuickView Layout and Manufacturing Data
Viewer

* Cadence RF Design Methodology Kit

* Cadence RF SiP Methodology Kit

* Cadence SimVision Debug

* Cadence SiP Co-Design

* Cadence SiP Digital Architect

* Cadence SiP Digital Layout

* Cadence SiP Digital SI

* Cadence SiP Layout

* Cadence Space-Based Router

* Cadence SpeedBridge Adapters

* Cadence Tempus Timing Signoff Solution

* Cadence VIP Catalog

* Chip Optimizer

* Chip Planning System

* CMP Predictor

* C-to-Silicon Compiler



D

* Design IP



* Encounter Conformal Constraint Designer

* Encounter Conformal ECO Designer

* Encounter Conformal Equivalence Checker

* Encounter Conformal Low Power

* Encounter DFT Architect

* Encounter Diagnostics

* Encounter Digital Implementation System



43 | P a g e





Encounter


Library Characterizer




Encounter


Power System


��


Encounter


RTL Compiler


��


Encounter


RTL Compiler Advanced Physical Option




Encounter


Timing System




Encounter


True-Time ATPG



F



* First Encounter Design Exploration and Prototyping



Incisive Debug Analyzer

Incisive Design Team Manager

Incisive Design Team Simulator

Incisive Desktop Manager

* Incisive Enterprise Manager

* Incisive Enterprise Simulator

* Incisive Enterprise Specman Elite Testbench

* Incisive Enterprise Verifier

* Incisive Formal Verifier

* Incisive Plan-to-Closure Methodology

* Incisive Software Extensions

* Incisive Verification Kit

* Incisive Xtreme series
InCyte Chip Estimator



* Litho Electrical Analyzer

* Litho Physical Analyzer

* Low-Power Methodology Kit



M



* MaskCompose Reticle and Wafer Synthesis Suite



N



44 | P a g e



* NanoRoute Router



* Open Verification Methodology

* OrCAD Capture and Capture CIS

* OrCAD PCB Designer

* OrCAD Signal Explorer



* Physical Verification System

* PSpice A/D and Advanced Analysis



Q

* QRC Extraction

* QuickCycles Service

* QuickView Layout and Manufacturing Data Viewer



* Rapid Prototyping Platform

* RF Design Methodology Kit

* RF SiP Methodology Kit





Sigrity


BroadBand Spice






Sigrity


OptimizePI




��


Sigrity


OrbitIO






Sigrity


PowerDC






Sigrity


PowerSI






Sigrity


Speed2000






Sigrity


SystemSI






Sigrity


Transistor- to-behavioral


Model Conversion


)


Sigrity


Unified Package Designer


(UPD)



45 | P a g e



* Sigrity XcitePI

* Sigrity XtractIM
SiP Digital Architect

* SiP Digital Layout
SiP Digital SI
SiP Layout

SoC Encounter RTL-to-GDSII System
Space-Based Router
SpeedBridge Adapters



V



* Virtual System Platform

* Virtual System Platform for the Xilinx Zynq-7000 EPP

* Virtuoso Accelerated Parallel Simulator

* Virtuoso AMS Designer

* Virtuoso Analog Design Environment

* Virtuoso Chip Assembly Router

* Virtuoso DFM

* Virtuoso Digital Implementation
Virtuoso Layout Migrate
Virtuoso Layout Suite

Virtuoso Layout Suite for Electrically Aware Design

* Virtuoso Liberate

* Virtuoso Liberate LV

* Virtuoso Liberate MX

* Virtuoso Multi-Mode Simulation
Virtuoso Passive Component Designer
Virtuoso Power System
Virtuoso RF Designer

* Virtuoso Schematic Editor

* Virtuoso SiP Architect
Virtuoso Spectre Circuit Simulator
Virtuoso UltraSim Full-Chip Simulator
Virtuoso Variety

Virtuoso Visualization and Analysis
VoltageStorm Power Verification



courtesy : Cadence official website



46 | P a g e



l.VLSI tools (chip design, simulation, and layout)

* icms - command to start an IC design desktop. This tool
starts all the others listed below.

* Composer - schematic capture

* Analog Artist - Analog/Mixed Signal simulation
framework and GUI. It is similar, but far more powerful,
to PSpice Probe.

* cdsSPICE - analog SPICE simulator.

* Spectre - (analysis on DC , AC ....) analog simulator,
not based on the original Berkeley SPICE. It is still a
Newton-Raphson engine, however. It does behavioral models
as well as standard MOSFET, BJT, and others. I use it in
preference to cdsSPICE, Berkeley SPICE, or PSpice.

* Virtuoso - layout editor

* DFII, Design Framework II - Database system that
Cadence uses for all IC tools. Basically, all designs can
be hierarchical have several views . Views can be
schematics, layouts, behavioral descriptions, etc.



2. VHDL (hardware description language) tools:

* hdldesk - GUI desktop for HDL tools. This
calls Leapfrog, cv, and ev if you want it to.

* Leapfrog - simulator

* cv - compiler

* ev - elaborator (VHDL term for linker)



3. Systems Tools (circuit board level stuff )



47 | P a g e



* brddesign - GUI desktop for system tools.

* Concept - schematic capture

* Allegro - PCB layout

* Analog Workbench - simulator interface with virtual
oscilloscopes, spectrum analyzers, etc. Uses Concept for
schematic entry.

courtesy :UofA Cadence



48 | P a g e



##########################################################

TRENDING SYNTHESIS RTL COMPILERS IN THE
PRESENT MARKET

##########################################################



Software tools for logic synthesis targeting ASICs

* Design Compiler by Synopsys

* Encounter RTL Compiler by Cadence Design Systems

o BuildGates, an older product by Cadence Design
Systems, humorously named after Bill Gates

* Talus Design by Magma Design Automation

* RealTime Designer by Oasys Design Systems

* BooleDozer: Logic synthesis tool by IBM (internal
IBM EDA tool)



Software tools for logic synthesis targeting FPGAs

* XST (delivered within ISE) by Xilinx

* Quartus II integrated Synthesis by Altera

* I spLever by Lattice Semiconductor

* Encounter RTL Compiler by Cadence Design Systems

* LeonardoSpectrum and Precision (RTL / Physical) by
Mentor Graphics

* Synplify (PRO / Premier) by Synopsys

* Blast FPGA by Magma Design Automation



49 | P a g e



Set Home | Add to Favorites

All Rights Reserved Powered by Free Document Search and Download

Copyright © 2011
This site does not host pdf,doc,ppt,xls,rtf,txt files all document are the property of their respective owners. complaint#nuokui.com
TOP