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学习---第二章 设计入口
作者:未知 时间:2010-08-15 15:04:19 来自:网络转载 2.1 软件的启动
在UNIX下执行dc_shell即可启动DC的命令行界面,执行design_analyzer& 即可启动相应的图形界面。启动以后的图形界面如图2-1所示。
在图形界面中若需要执行命令行,可以用Window菜单打开命令行功能,如图2-2所示。
Setup->Command
在软件启动时,启动文件中所定义的变量均已加载,若希望改变其他变量的值,可以在Setup->Variable中进行,如图2-3所示。
2.2 设计的读入
设计的读入有两种方法:analyze + elaborate和read。
2.2.1 analyze + elaborate
analyze命令用以分析、翻译RTL代码,并将中间结果存入指定的库中。其语法为: analyze
-library <库名称> -format <文件类型> <文件名列表>
-library? <库名称>:指定中间结果所存放的库,即UNIX下的一个目录,缺省为当前目录(WORK)
-format? <文件类型>:RTL源文件的类型,即Verilog或vhdl ? <文件名列表>:所有需要分析的源文件名,若有多个文件,则用“{}”括起
例 2-1 (将直接数字频率合成器的所有设计源文件读入lib1库中):
hdlin_enable_presto = false /*禁止Presto编译器功能*/ define_design_lib lib1 -path “./lib1” /*将目录 ./lib1 映射为一个设计库*/
analyze –library lib1 –format verilog {croma.v, cromb.v, ddfs.v, froma.v, fromb.v}
在图形界面中,选择File -> Analyze,在弹出的Analyze File 对话框的File域中填入源文件名,并在Library域中填入 “lib1”,
选中 “Create New Library if it Doesn’t Exist” 复选框,点OK即可(如图2-4所示)。
Elaborate命令用于为设计建立一个结构级的与工艺无关的描述,为下一步的工艺映射做好准备。命令的一般格式为: elaborate <设计名>
-library <库名称> -architecture <构造体名> -parameters <参数列表> -update
? <设计名>:需要描述的设计
-library? <库名称>:设计的分析结果所在的库
-architecture? <构造体名>:需要分析的构造体,针对VHDL描