external_delay tcl
Hi,i heard only first two terms u specified.A vlsi engineer should know them as far as iam is concerned.
scripts allows you to write list of commands in a single file.
scripts are used when we need to execute commands repetitively.
we are sourcing all cshrc files for setting environment that is a script where set of commands are written.
tcl is supported by most of the tools xilinx,cadence etc,and we write scripts before doing synthesis so that we write all constraints and write up files in one script.
iam attaching an example script in tcl which i used for synthesis in cadence.
example shows we r writing commands which sets paths where to get vhdl file,library files,clocking issues, asking to report about timing,and write netlist files in .vhd and .v extension.
this can be done by executing step by step or writing in a script.
we almost perform this operations every time we do synthesis in RTL compiler,only change is .vhd file for which we r working.
i hope this helps u and dont forget to press help button.
set_attribute information_level 9
set_attr hdl_search_path ~/vhdldesigns/
set_attr lib_search_path ~/rc61/library /
set_attribute library {typical.lib tpz973gtc.lib} /
read_hdl -vhdl adder32.vhdl #{mipssc.vhdl adder32.vhdl alu.vhdl Datapath.vhdl extender.vhdl instrfetch.vhdl mux32.vhdl #mux5.vhdl opexec.vhdl register32.vhdl registerfile.vhdl scontrol.vhd memory.vhdl}
elaborate mipssc
set_attribute allow_sharing_subdesign true [find /designs* -subdesign *]
define_clock -name clk -period 5000
set clk [define_clock -p 5000 [find /des* -port ports_in/CLK]]
external_delay -input 100 -clock $clk [find /des* -port ports_in/*]
external_delay -output 100 -clock $clk [find /des* -port ports_out/*]
set cap [get_attr load [find [find /lib* -libcell PDIDGZ] -libpin PAD]]
set_attr clock_network_late_latency 150 clk
report timing
#retime -min_delay mat
synthesize -to_mapped -effort high
write -m > mips_synth.v
write -m > mips_synth.vhdl
write_sdc > mips_sdc.sdc
#write_encounter design -basename counter_enc -lef {../library/all.lef ../library/tpz973g_6lm.lef ../library/tsmc18_6lm_tech.lef}
bye.