? <实体类型>:上节所述的8种类型
? <名称列表>:用来匹配的关键词,其中可带 “*” 统配符 ? -hierarchy:指令DC搜索所有设计层次 例1-2(find命令的使用): find (cell, *U*) find (net, “*”)
find (design, {A_*, B_*} -hierarchy)
另外,使用all_inputs()和all_outputs()可以得到设计所有的输入端口和输出端口。
1.4 编译器指示语句
有时,可以利用HDL描述中的一些特定的注释语句来控制综合工具的工作,从而弥补仿真环境和综合环境之间的差异,这些注释语句称为编译器指示语句(Compiler Directives)。 1.4.1 Verilog编译器指示语句 1) translate_off/ translate_on
这组语句用来指示DC停止翻译 “//synopsys translate_off”之后的Verilog描述,直至出现 “//synopsys translate_on”。当Verilog代码钟含有供仿真用的不可综合语句时,这项功能能使代码方便地在仿真工具与综合工具之间移植。 例1-3(translate_off/ translate_on指示语句的使用): //synopsys translate_off /*仅供仿真用语句 …… */
//synopsys translate_on /*可综合语句 …… */
2) parallel_case/ full_case
DC可能使用带优先级的结构来综合Verilog的case语句,为避免这种情
况,可以使用“//synopsys parallel_case”指示DC将case语句综合为并行的多路选择器结构。
例 1-4(parallel_case指示语句的使用): always @ (state) begin
case (state) //synopsys parallel_case 2’b00: new_state = 2’b01; 2’b01: new_state = 2’b10; 2’b10: new_state = 2’b00; default: new_state = 2’b00; endcase end
另外,Verilog允许case语句不覆盖所有可能情况,当这样的代码由DC综合时将产生锁存器。为避免这种情况,可以使用 “//synopsys full_case”指示DC所有可能已完全覆盖。
例 1-5(full_case指示语句的使用): always @ (sel or a1 or a2) begin
case (sel) //synopsys full_case 2’b00: z = a1; 2’b01: z = a2; 2’b10: z = a1 & a2; endcase end
1.4.2 VHDL编译器指示语句 1) translate_off/ translate_on
作用同Verilog,注意需要使用符合VHDL语法的注释: --synopsys translate_off --synopsys translate_on
也可以使用: --pragma translate_off --pragma translate_on
需要注意的是,在VHDL中使用了以上编译指示语句后,DC仍会对translate_off/on之间的描述进行语法检查,若想避免这一点,可以改变以下变量的值:
hdlin_translate_off_skip_text = true 2) synthesis_off/ synthesis_on
其作用和语法均类似于translate_off和translate_on,只是它的作用不受上述变量控制。
DC学习---第二章 设计入口
2009-03-13 11:58:57来源:网络转载作者:本站编辑共有评论(0)条浏览次数:458
2.1 软件的启动
在UNIX下执行dc_shell即可启动DC的命令行界面,执行
design_analyzer& 即可启动相应的图形界面。启动以后的图形界面如图2-1所示。
在图形界面中若需要执行命令行,可以用Setup->Command Window菜单打开命令行功能,如图2-2所示。
相关推荐: