Demonstration of going from behavioral verilog upto complete GDS using AMI0.5u library
for EECS 275A project course:
Project type: algo_lfsr
1. ./compile.sh
newport% more compile.sh
ncvlog -work work -linedebug rtl/def_param.v rtl/algo_auto_lfsr_core.v
ncvlog -work work -linedebug rtl/toplevel.v
ncelab work.toplevel -access +rw
#ncsim -gui work.toplevel
2. more sim.h
ncsim work.toplevel -tcl -input tcl/ncsim.tcl
3. ./sim.h
ncsim: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncsim> database -open mywave -shm -default
Created default SHM database mywave
ncsim> probe -create -shm -all -variables -depth all
Created probe 1
ncsim> run
9
203
170
85
229
189
145
135
140
70
35
222
111
248
124
62
31
192
96
48
24
12
6
3
206
103
252
126
63
208
Simulation complete via $finish(1) at time 3100 NS + 0
./rtl/toplevel.v:33 #end_time $finish;
ncsim> database -close mywave
ncsim> finish
3. more tcl/ncsim.tcl
database -open mywave -shm -default
probe -create -shm -all -variables -depth all
run
database -close mywave
finish
4. Use the command simvision to look into the output wave and open the file "mywave".
>> simvision
4. more tcl/algo_auto_lfsr_pks.tcl
# All VHDL files, separated by spaces
#set my_vhdl_files {./rtl/regfile.vhd}
set my_verilog_files {./rtl/def_param.v ./rtl/algo_auto_lfsr_core.v}
# Top-level Module
set my_toplevel_module algo_auto_lfsr_core
# The name of the clock pin. If no clock-pin
# exists, pick anything
set my_clock_pin clk
# Target frequency in MHz for optimization
set my_clock_freq_MHz 100
# Delay of input signals (Clock-to-Q, Package etc.)
set my_input_delay_ns 1
# Reserved time for output signals (Holdtime etc.)
set my_output_delay_ns 1
....
5. pks_shell -f tcl/algo_auto_lfsr_pks.tcl
Restarting optimization loop.
.
+--------------------------------------------------------------+
| Path Group Options Report |
|--------------------------------------------------------------|
| PathGroup | Effort | All | Target | Critical | Worst | TEFS |
| | | Pts | Slack | Endpoints | Slack | |
|-----------+--------+-----+--------+-----------+-------+------|
| default | medium | - | 0.00 | 0/24 | 8.09 | 0.00 |
+--------------------------------------------------------------+
+--------------------------------------------------------------+
| Path Group Options Report |
|--------------------------------------------------------------|
| PathGroup | Effort | All | Target | Critical | Worst | TEFS |
| | | Pts | Slack | Endpoints | Slack | |
|-----------+--------+-----+--------+-----------+-------+------|
| default | medium | - | 0.00 | 0/24 | 8.09 | 0.00 |
+--------------------------------------------------------------+
Command do_optimize finished at Sun Apr 16 04:27:53 2006
using 0:0:2 Real time. Current peak memory: 26.562MB .
--> WARNING: Writing VHDL netlist for module 'algo_auto_lfsr_core' with std_
logic and std_logic_vector ports" .
newport% more compile_post.sh
echo '`'timescale 1ns/10ps > output/tmp.v
cat output/algo_auto_lfsr_core.v >> output/tmp.v
mv output/tmp.v output/algo_auto_lfsr_core.v
ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v
ncvlog -work work -linedebug rtl/toplevel.v
ncvlog -work work -linedebug rtl/def_param.v /ecelib/eceware/cadence04/othertools/stdcells/ami035/lib/iit035_stdcells.v
ncelab work.toplevel -access +rw
#ncsim -gui work.toplevel
newport% ./compile_post.sh
ncvlog: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncvlog: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncvlog: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncelab: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
$recovery(posedge R, posedge CLK &&& \D&S , trec$R$CLK, NOTIFIER);
|
ncelab: *W,CUNGL1 (/ecelib/eceware/cadence04/othertools/stdcells/ami035/lib/iit035_stdcells.v,361|58): Negative timing check limit not allowed in a 1 limit timing check, setting to 0 in instance (toplevel.mod.y_reg_8).
$recovery(posedge R, posedge CLK &&& \D&S , trec$R$CLK, NOTIFIER);
newport% ./sim.sh
ncsim: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncsim> database -open mywave -shm -default
Created default SHM database mywave
ncsim> probe -create -shm -all -variables -depth all
Created probe 1
ncsim> run
9
203
170
85
newport% cd tcl
newport% encounter -init tcl/encounter.tcl
Verification Complete : 0 Viols. 0 Wrngs.
**********End: VERIFY GEOMETRY**********
*** verify geometry (CPU: 0:00:00.2 MEM: 0.0M)
******** Start: VERIFY CONNECTIVITY ********
Start Time: Sun Apr 16 04:40:53 2006
Design Name: algo_auto_lfsr
Database Units: 1000
Design Boundary: (0.0000, 0.0000) (193.6000, 184.0000)
Error Limit = 1000; Warning Limit = 50
Check all nets
Begin Summary
Found no problems or warnings.
End Summary
End Time: Sun Apr 16 04:40:53 2006
******** End: VERIFY CONNECTIVITY ********
Verification Complete : 0 Viols. 0 Wrngs.
(CPU Time: 0:00:00.0 MEM: 0.000M)
**************************************
* Encounter script finished *
* *
* Results: *
* -------- *
* Layout: final.gds2 *
* Netlist: final.v *
* Timing: timing.rep.5.final ** *
* Type 'win' to get the Main Window *
* or type 'exit' to quit *
* *
**************************************
newport% more compile_with_io.sh
echo ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v rtl/algo_auto_lfsr.v rtl/toplevel.v
ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v rtl/algo_auto_lfsr.v rtl/toplevel.v
echo ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v rtl/algo_auto_lfsr.v
ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v rtl/algo_auto_lfsr.v
echo ncvlog -work work -linedebug rtl/def_param.v /ecelib/eceware/cadence04/othertools/stdcells/ami035/lib/iit035_stdcells.v
ncelab work.toplevel -access +rw
#ncsim -gui work.toplevel
newport% ./compile_with_io.sh
ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v rtl/algo_auto_lfsr.v rtl/toplevel.v
ncvlog: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncvlog -work work -linedebug rtl/def_param.v output/algo_auto_lfsr_core.v rtl/algo_auto_lfsr.v
ncvlog: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncvlog -work work -linedebug rtl/def_param.v /ecelib/eceware/cadence04/othertools/stdcells/ami035/lib/iit035_stdcells.v
ncelab: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
$recovery(posedge R, posedge CLK &&& \D&S , trec$R$CLK, NOTIFIER);
|
newport% ./sim.sh
ncsim: 05.50-s002: (c) Copyright 1995-2005 Cadence Design Systems, Inc.
ncsim> database -open mywave -shm -default
Created default SHM database mywave
ncsim> probe -create -shm -all -variables -depth all
Created probe 1
ncsim> run
9
203
208
Simulation complete via $finish(1) at time 3100 NS + 0
./rtl/toplevel.v:33 #end_time $finish;
ncsim> database -close mywave
ncsim> finish
newport% simvision &
[1] 22181
" check presence of new modules "
newport% encounter -init tcl/encounter.tcl
newport% encounter -init encounter.tcl
This version requires license using cdslmd daemon.
Checking out Encounter license ...
SOC_Encounter_GPS license checkout succeeded.
INFO: Enable Encounter GPS.
Starting console server on port newport.eecs.uci.edu:8888 ..
sourcing /ecelib/eceware/cadence04/soc41/tools/fe/etc/rdaDSL.tcl
*******************************************************************
* Copyright (c) Cadence Design Systems, Inc. 1996 - 2005. *
* All rights reserved. *
* *
* *
* *
* This program contains confidential and trade secret information *
* of Cadence Design Systems, Inc. Any reproduction, use, *
* distribution or disclosure of this program, or any attempt to *
* obtain a human-readable version of this program, without the *
* express, prior written consent of Cadence Design Systems, Inc., *
* is strictly prohibited. *
* *
* Cadence Design Systems, Inc. *
* 2655 Seely Avenue *
* San Jose, CA 95134, USA *
* *
* Debussy nWave is provided under license from NOVAS Software Inc.*
* nWave - A Universal Waveform Analysis Tool *
* Copyright (C) 1996 - 2002 by Novas Software, Inc. *
* *
* nlviewer is provided under license from Concept Engineering GmbH*
* *
*******************************************************************