Enter Post Title Here
Enter Post Title Here
Enter Post Title Here
The EDA Tool that is used for synthesis of a RTL code to GDS II
format is Magma Blast Fusion. The details of the Magma Design
Flow is explained below
The Magma tools form an integrated set of design engines that are
combined with a Tcl interpreter and a sophisticated graphical user
interface (GUI). These tools are software applications developed and
distributed by Magma Design Automation Incorporated.
Invoking Mantle
Step - 1: Create a directory where you want put all your magma
synthesis documents. In this example, aes is the working directory.
bash-2.05b$ cd aes
bash-2.05b$ /magma/2004_12_29.0014/linux24_x86_64/bin/mantle
MEM-4 WARNING: Unusually large stacksize of 17592186044416.0MB reserved by
user's shell resource limits. This may inhibit utilization of all
available system memory resources. Recommended is 8000k
Copyright (C) 1997-2004 Magma Design Automation Inc.
mantle version 4.1.57-linux24_x86_64 (compiled Dec 28 2004 23:43:34)
mantle[1]> ui start
The above command will opens the GUI based work space of the
Magma Blast Fusion as shown in the Figure 5.1.
Step - 4: Import the library using the following command where all
the logic cells are stored. (Please verify the library path with course
TA). In this example we are using the Magma 130nm library cell for
synthesis. Import volcano command reads the data model from a
disk.
"Set l " set the variable for library name. The library name that we
are using is cl013lv.
mantle[0]:>set l /cl013lv
mantle[0]:>set l /cl013lv
/cl013lv
Step - 6: "import rtl" reads the RTL files. To analyze RTL code use
"-analyze" at the end. "-analyze" is optional command.
mantle[0]:>set m /work/aes_cipher_top/aes_cipher_top
mantle[4]:>set m /work/aes_cipher_top/aes_cipher_top
/work/aes_cipher_top/aes_cipher_top
Step - 10: "export verilog netlist" saves the verilog netlist file to
specified file name for example "filename_netlist.v". The proper
usage of export command is shown below.
Note: The Netlist to GDSII flow will start from next point. You can
import any netlist file to the magma flow.
Step - 11: "run bind logical" will bind the unbound cells to the
target library.
Now you can see the circuit model schematic by selecting the "Open
Schmatic viewer" in the "Viewers" tab of the GUI. It will ask the
schematic model name, Specify the model name in this design
example is "/work/aes_cipher_top/aes_cipher_top". The schematic
diagram of the whole design (AES) is shown
in Schematic1, Schematic2 (zoom)
and Schematic3 (zoom), Schematic4 (zoom), and worst path in
Schematic viewer.
Step - 13: "force timing clock" will assign the timing constraint to
the clock. To estimate the Worst late slack assign the clock period,
rise and fall times of the clock. In this design example we are
assigning the clock period as 1000ns (1 MHz clock) and, rise and fall
times are 5ns and 10ns respectively.
Step - 14: "report force timing" will report the timing summary for
the forced or defined clock signal.
Step - 15: "force wire model" will defines the design wire model to
either constant or wireload model. In this design example we are
defining the wire model as a constant model using the following
command.
Note: In general, check the timing summary report and find what is
value of Worst Late Slack. If it is positive with small integer then
proceed to next step (try to make the worst late slack as either 0 or
1). If the worst late slack is negative then make it positive by
varying the timing information that is defined for the clock (Period,
Rise and Fall times). Do this until you get the positive slack (0 is
preferred). Make the iterative run of the previous three commands
to get the positive slack of significant amount. The following report
will give the idea of how to achieve the significant positive slack.
To See the mantle Report click here
Step - 18: "data flatten" will flattens the hierarchy under a model
or cell.
[MAIN] NEXT>>