自学内容网 自学内容网

Design Compiler常用命令大总结~

Design Compiler常用命令大总结~

1.读取RTL级代码

方式①——read_verilog

read_verilog  {A.v B.v Top.v} #读取RTL文件
current_design    Top.v #设置当前设计
link
check_design #检查RTL代码是否正确

方式②——analyze&elaborate

analyze -format varilog {A.v  TOP.v}
elaborate    MY_TOP

2.时序约束

在DC中,通常是基于路径(PATH)进行时序约束。将一个完整的RTL级代码的所有路径可分为以下三种:

  • 输入路径(输入端口寄存器D端
  • 内部路径(寄存器clock端寄存器D端
  • 输出路径(寄存器clock端输出端口

对于内部路径的时序约束(reg-to-reg)

create_clock
create_clock  -period  2  [get_ports  clk]

定义一个时钟周期为2ns,此时时钟网络为理想的时钟网络。为了更加贴合实际的工作环境,需要预估不确定性(uncertainty = skew+jitter+margin)、延迟(Latency)和转换时间(Transition)并将其建模以便更准确的表示时钟行为;

②set_clock_uncertainty

设置时钟网络中可能会出现的一些不确定情形;

set_uncertainty  -setup  Tu  [get_clocks clk]
'''
-setup:    建立时间
-hold:     保持时间
无:        既给建立时间设置,又给保持时间设置
'''
③set_clock_latency
  • 源延时模型(Source Latency):从实际时钟源晶振产生clock的地方)到create_clock端口或pin的延迟;
  • 网络延时模型(NetWork Latency):从create_clock端口或引脚寄存器时钟引脚的平均“内部”延迟;
set_clock_latency  -source  -max  0.3  [get_clocks clk]
set_clock_latency  -max  0.3  [get_clocks clk]
④set_clock_transition
set_clock_transition  Tt  [get_clocks  clk]

对于输入路径的约束(port-to-reg)

set_input_delay
单个输入端口A进行约束:
set_input_delay  -max  0.6  -clock  clk  [get_ports A]
#-max 外部可消耗的最大delay
所有输入端口(时钟端口clk除外)进行约束:

所有输入端口的输入延迟都相同

set_input_delay    -max    0.6    -clock clk  \
          [remove_from_collection    [all_inputs] [get_ports clk]]
'''
1. "\"表示换行
2. remove_from_collection
3. all_inputs
'''

另一种方式,部分端口输入延迟相同

set_input_delay    -max 0.5    -clock clk [all_inputs]
set_input_delay    -max 0.8    -clock clk [get_ports C] #该命令可覆盖上一命令中对端口C的时序约束
remove_input_delay [get_ports clk]
'''
remove_input_delay
'''

对于输出路径的约束(reg-to-port)

set_output_delay
对单个输出端口B进行约束;
set_output_delay  -max  0.8  -clock  clk  [get_ports  B]
限制所有输出端口都相同
set_output_delay    -max 0.8    -clock clk    [all_outputs]
'''
all_outputs
'''
对于纯组合逻辑时序约束

设置虚拟时钟

create_clock    -name VCLK    -period 2
'''
-name 必须命名
'''

(根据后续学习过程进行持续更新中~)


原文地址:https://blog.csdn.net/qq_44629558/article/details/142663177

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!