请说明如下数字设计综合工具的执行脚本里每个命令的作用:“source -verbose "../const/design_info.tcl" set_attribute information_level 9 set_attribute hdl_track_filename_row_col true set_attribute hdl_generate_index_style %s_%d set_attribute hdl_generate_separator _ set_attribute hdl_search_path $SEARCH_PATH set_attribute library $LIB_LIST_MAX read_hdl -sv $RTL_LIST -define LEAF_BHV set_attr blackbox true [find / -hdl_arch clock_tree_model*] elaborate $DESIGN_TOP # Verilog Style set_attribute write_vlog_bit_blast_constants true set_attribute write_vlog_unconnected_port_style none ;#(none/partial/full) set_attribute hdl_undriven_output_port_value none set_attribute hdl_unconnected_input_port_value x set_attribute hdl_allow_inout_const_port_connect false syn_gen -effort high change_names -regexp -allowed "a-zA-Z0-9_" -subdesign -max_length 20 change_names -regexp -allowed "a-zA-Z0-9_" -instance change_names -regexp -allowed "a-z0-9_" -net write_hdl -equation > $GNR_NETLIST”
这段数字设计综合工具的执行脚本包含了多个命令,每个命令的作用如下:
source -verbose "../const/design_info.tcl"
:引入常量文件design_info.tcl
。set_attribute information_level 9
:设置综合信息输出级别为 9。set_attribute hdl_track_filename_row_col true
:在门级网表中添加源代码文件名、行号和列号等信息。set_attribute hdl_generate_index_style %s_%d
:设置门级网表的索引样式为%s_%d
,其中%s
表示模块或信号的名称,%d
表示该模块或信号在其父模块中的序号。set_attribute hdl_generate_separator _
:设置门级网表中模块和信号之间的分隔符为下划线。set_attribute hdl_search_path $SEARCH_PATH
:设置综合工具的搜索路径为$SEARCH_PATH
,其中$SEARCH_PATH
是常量文件中定义的路径。set_attribute library $LIB_LIST_MAX
:将当前设计的综合库设置为工程中定义的最大库列表。read_hdl -sv $RTL_LIST -define LEAF_BHV
:读取 Verilog/SystemVerilog 文件,其中$RTL_LIST
是常量文件中定义的文件列表,-define LEAF_BHV
表示定义了宏LEAF_BHV
。set_attr blackbox true [find / -hdl_arch clock_tree_model*]
:将时钟树模型标记为黑盒。elaborate $DESIGN_TOP
:对顶层模块进行综合。set_attribute write_vlog_bit_blast_constants true
:在 Verilog 输出文件中写入常量的位表示。set_attribute write_vlog_unconnected_port_style none ;#(none/partial/full)
:在 Verilog 输出文件中处理未连接的端口,none
表示不处理。set_attribute hdl_undriven_output_port_value none
:定义未驱动输出端口的默认值为none
。set_attribute hdl_unconnected_input_port_value x
:定义未连接输入端口的默认值为x
。set_attribute hdl_allow_inout_const_port_connect false
:禁止连接 inout 类型端口和常量端口。syn_gen -effort high
:进行综合,-effort high
表示使用高效的综合策略。change_names -regexp -allowed "a-zA-Z0-9_" -subdesign -max_length 20
:对子模块的名称进行修改,将不符合规范的字符替换为下划线,最大长度为 20 个字符。change_names -regexp -allowed "a-zA-Z0-9_" -instance
:对实例的名称进行修改,将不符合规范的字符替换为下划线。change_names -regexp -allowed "a-z0-9_" -net
:对信号的名称进行修改,将不符合规范的字符替换为下划线。write_hdl -equation > $GNR_NETLIST
:将门级网表输出到$GNR_NETLIST
文件中。
相关推荐


















