DC脚本学习

1.suppress_message VER-130

屏蔽(VER-130)Warning信息。

2.analyze&elaborate

analyze:分析HDL的源程序并将分析产生的中间文件存于当前工作目录下,(用户也可以自己制定目录)中间文件如 .pvl .syn .mr 等等

elaborate:在产生的中间文件中生成verilog的模块,默认情况下,读取的是当前目录中的文件。

analyze [-library library_name] [-format verilog | vhdl | sverilog] file_list
# library:指定中间结果存放的库
# format:HDL 源文件的类型
# file_list:源代码文件名列表,文件名的指定可以通过TCL的链表命令 {}、“”、[list file_name] 等三种方法之一完成
elaborate design_name [-library library_name] [-parameters param_list]
# deisgn_name:指需要进行描述的设计
# library:用于保存设计的结构级描述
# parameters:指定给设计传递的参数,若省略则参数使用缺省值;参数用“”括起来
3.define_design_lib work -path tmp

定义工作目录,用于存放analyze后生成的那些中间文件.pvl.syn.mr。不然默认生成的中间文件是当前工作目录比较乱。

4.set_clock_gating_style -minimum_bitwidth 6 -pos integrated -neg integrated -control_point before -control_signal scan_enable

sequential_cell none | latch

带不带latch得gate,带latch不会产生毛刺,不带的话会产生毛刺,比如:与门做gate,1使能时会长生posedge的毛刺,或门做date,0使能时会产生negedge的毛刺。

minimum_bitwidth minsize_value

不是每个寄存器前都要增加clk gate,为了减少clk gate需要定义至少多少个寄存器才加一个gate

setup setup_value 

hold hold_value

positive_edge_logic

详细解释请看大神链接

数字SOC设计之低功耗设计入门(五)——RTL级低功耗设计(续)_sequential cell-CSDN博客

5.set_fix_multiple_port_nets -all -buffer_constants [get_designs *]

解决输入输出直连的问题,防止综合后的网表出现assign语句,assign语句对综合没有影响,但是对pr有影响,加了这条命令会对直通的信号之间加上buffer,从字面意思来看可能会有些疑惑,此时可以理解成,一条线既连接了input又连接了output,所以有multiple_port的含义。

6.compile_ultra  -no_autoungroup  -gate_clock
7.change_names -rules verilog -hierarchy
8.write -format verilog -hierarchy -output netlist/digital_top.v
9.set_case_analysis 1 [get_ports i_scan_mode]

对电路特定模式的设置,为了减少不必要的时序路径分析,如果不设置此命令那么分析时序时会分析多种路径的情况,比如regA到regB的路径有1.func_clk为起始点到regA,scan_clk为终点到regB进行分析;2.func_clk为起始点到regA,func_clk为终点到regB进行分析;3.scan_clk为起始点到regA,func_clk为终点到regB进行分析;4.scan_clk为起始点到regA,scan_clk为终点到regB进行分析;实际上我们只需要再function下分析2 ,在scan下分析4就足够了。

详细解释参考这位大神:

静态时序分析:SDC约束命令set_case_analysis详解_sdc set case analysis-CSDN博客

10.set_dft_signal -view spec -type ScanEnable -port i_scan_en -active_state 1

-view spec:写的code里面没有关于此信号的逻辑

-view existing: 写的code里面已经有了此信号的逻辑,比如scan clk 已经和func clk 做了mux

11.set_scan_path -view spec c0 -scan_date_in i_scan_di -scan_data_out o_scan_do
12.set_dft_insertion_configuration -synthesis_optimization none -preserve_design_name true
13.set compile_instance_name_prefix DFTC_
14.set hdlin_enable_rtldrc_info ture
15.compile_ultra -incr -scan
16.create_test_protocol
17.preview_dft
18.insert_dft

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值