第一范文网 - 专业文章范例文档资料分享平台

DC使用全书(Design - Compiler)

来源:用户分享 时间:2025/5/31 10:06:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

DC学习----第一章 基本概念

作者:未知 时间:2010-08-15 15:02:50 来自:网络转载 1.1 启动文件

启动文件用来指定综合工具所需要的一些初始化信息。DC使用名为“.synopsys_dc.setup”的启动文件,启动时,DC会以下述顺序搜索并装载相应目录下的启动文件: 1)、DC的安装目录; 2)、用户的home目录; 3)、当前启动目录。

注意:后装载的启动文件中的设置将覆盖先装载的启动文件中的相同设置。

下面是一个DC启动文件的实例,它包含了几乎所有重要的设置,下文将结合该实例解释启动文件中各项设置的具体含义。

例1-1(一个DC启动文件):

search_path= search_path + {“.”, synopsys_root + “/dw/sim_ver” } search_path= search_path + { “~/risc32/synthesis/libraries” } target_library={ tcb773stc.db } synthetic_library={dw_foundation.sldb}

link_library = { “*”, dw_foundation.sldb, tcb773stc.db } symbol_library = { tcb773s.sdb }

synlib_wait_for_design_license = {\ alias rt “report_timing” designer= XXXXX

company= “ASIC Lab, Fudan Univ.” search_path指定了综合工具的搜索路径。

target_library为综合的目标库,它一般是由生产线提供的工艺相关的库。

synthetic_library是综合库,它包含了一些可综合的与工艺无关的IP。dw_foundation.sldb是Synopsys提供的名为Design Ware的综合库,它包含了基本的算术运算逻辑、控制逻辑、可综合存储器等IP,在综合是调用这些IP有助于提高电路性能和减少综合时间。

link_library是链接库,它是DC在解释综合后网表时用来参考的库。一般情况下,它和目标库相同;当使用综合库时,需要将该综合库加入链接库列表中。 symbol_library为指定的符号库。

synlib_wait_for_design_license用来获得DesignWare-Foudation的许可(license)。 alias语句与UNIX相似,它定义了命令的简称。

最后的designer和company项则表明了设计者和所在公司。 另外,在启动文件中用符号 “/*” 和 “*/” 进行注释。 1.2 设计实体

在DC中,总共有8种设计实体:

? 设计(Design):一种能完成一定逻辑功能的电路。设计中可以包含下一层的子设计。 单元(Cell):设计中包含的子设计的实例。?

? 参考(Reference):单元的参考对象,即单元是参考的实例。 端口(Port):设计的基本输入输出口。? ? 管脚(Pin):单元的输入输出口。

连线(Net):端口间及管脚间的互连信号。? ? 时钟(Clock):作为时钟信号源的管脚或端口。

库(Library):直接与工艺相关的一组单元的集合。? 1.3 寻找设计实体

在DC中使用find命令寻找设计实体,其语法为: find <实体类型> <名称列表> -hierarchy

? <实体类型>:上节所述的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学习---第二章 设计入口

作者:未知 时间:2010-08-15 15:04:19 来自:网络转载 2.1 软件的启动

在UNIX下执行dc_shell即可启动DC的命令行界面,执行design_analyzer& 即可启动相应的图形界面。启动以后的图形界面如图2-1所示。

在图形界面中若需要执行命令行,可以用Setup->Command Window菜单打开命令行功能,如图2-2所示。

在软件启动时,启动文件中所定义的变量均已加载,若希望改变其他变量的值,可以在Setup->Variable中进行,如图2-3所示。

搜索更多关于: DC使用全书(Design - Compiler) 的文档
DC使用全书(Design - Compiler).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8do147hoga4qfr016rk0_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top