1 |
257 |
creep |
# script written by Samuel N. Pagliarini
|
2 |
|
|
# Cadence Encounter(R) RTL Compiler
|
3 |
|
|
|
4 |
262 |
creep |
#set_attr information_level 9
|
5 |
|
|
#dont use level nine unless you are evaluating the synthesis
|
6 |
|
|
|
7 |
257 |
creep |
set SVNPATH /home/nscad/samuel/Desktop/svn_atari/trunk/
|
8 |
|
|
set FILE_LIST {t6507lp_io.v t6507lp.v t6507lp_alu.v t6507lp_fsm.v}
|
9 |
|
|
|
10 |
|
|
set_attr lp_insert_clock_gating true /
|
11 |
259 |
creep |
set_attr lp_insert_operand_isolation true /
|
12 |
262 |
creep |
set_attr lp_power_analysis_effort high /
|
13 |
|
|
# controls the switching activity propagation
|
14 |
259 |
creep |
set_attr dft_scan_style muxed_scan /
|
15 |
|
|
#set_attr dft_scan_map_mode tdrc_pass /
|
16 |
|
|
# this will force the mapping of all registers that passed dft rules into scannable registers
|
17 |
|
|
set_attr hdl_search_path $SVNPATH/rtl/verilog/
|
18 |
|
|
set_attr lib_search_path "$SVNPATH/syn/cadence/libs/ /home"
|
19 |
257 |
creep |
|
20 |
|
|
read_hdl $FILE_LIST -v2001
|
21 |
|
|
set_attr library {D_CELLSL_3_3V.lib IO_CELLS_33.lib}
|
22 |
|
|
|
23 |
|
|
set_attribute avoid false [find / -libcell LGC*]
|
24 |
|
|
set_attribute avoid false [find / -libcell LSG*]
|
25 |
|
|
set_attribute avoid false [find / -libcell LSOGC*]
|
26 |
262 |
creep |
set_attribute avoid true [find / -libcell EN2LX1]
|
27 |
257 |
creep |
# the EN2LX1 cell always reports violations. i have also declared the dont use attribute of the cell in the .lib file
|
28 |
|
|
|
29 |
|
|
set_attribute lef_library {xc06_m3_FE.lef D_CELLSL.lef IO_CELLS.lef}
|
30 |
|
|
set_attr cap_table_file xc06m3_typ.CapTbl
|
31 |
|
|
set_attr interconnect_mode ple /
|
32 |
|
|
|
33 |
|
|
elaborate
|
34 |
261 |
creep |
|
35 |
257 |
creep |
define_clock -period 1000000 -name 1MHz [find [ find / -design t6507lp_io] -port clk]
|
36 |
262 |
creep |
set_attribute slew {0 0 100 100} [find / -clock 1MHz]
|
37 |
257 |
creep |
external_delay -clock [find / -clock 1MHz] -output 100 [all_outputs]
|
38 |
|
|
external_delay -clock [find / -clock 1MHz] -input 100 [all_inputs]
|
39 |
|
|
|
40 |
259 |
creep |
define_dft shift_enable -active high [find / -port scan_enable] -name SE
|
41 |
|
|
set_attribute lp_clock_gating_test_signal SE /des*/*
|
42 |
261 |
creep |
set_attribute lp_clock_gating_extract_common_enable true /des*/*
|
43 |
262 |
creep |
set_attribute max_dynamic_power 3000000 /des*/*
|
44 |
|
|
# this command sets the max power at 3mV. The tool will optimize a bit but it wont necessarily reach that goal.
|
45 |
257 |
creep |
|
46 |
259 |
creep |
#read_vcd simvision.vcd -module t6507lp -static
|
47 |
|
|
#argh
|
48 |
257 |
creep |
|
49 |
262 |
creep |
report timing -lint
|
50 |
257 |
creep |
|
51 |
259 |
creep |
check_dft_rules
|
52 |
257 |
creep |
synthesize -to_generic -effort high
|
53 |
|
|
synthesize -to_mapped -effort high -no_incremental
|
54 |
261 |
creep |
clock_gating share -hier
|
55 |
|
|
|
56 |
259 |
creep |
define_dft scan_chain -name chain1 -sdi [find / -pin data_in[0]] -sdo [find / -pin data_out[0]] -shared_out -shared_select SE -shift_enable SE
|
57 |
|
|
connect_scan_chains
|
58 |
|
|
check_dft_rules
|
59 |
|
|
|
60 |
257 |
creep |
synthesize -incremental -effort high
|
61 |
|
|
|
62 |
262 |
creep |
check_design -all
|
63 |
259 |
creep |
|
64 |
262 |
creep |
report timing > ../reports/RC_timing.txt
|
65 |
|
|
report area > ../reports/RC_area.txt
|
66 |
|
|
report power > ../reports/RC_power.txt
|
67 |
|
|
|
68 |
257 |
creep |
write_encounter design -basename /home/nscad/samuel/Desktop/svn_atari/trunk/syn/cadence/results/t6507lp_io t6507lp_io
|