Menu Close

数字电路逻辑综合步骤(Cadence RTL Compiler)

逻辑综合步骤(Cadence RTL Compiler)

本教程将使用以下Cadence CAD工具: 用于逻辑综合的RTL编译器 RTL Compiler, Cadence 逻辑综合的编译器的名字有时会变动,从最初的 PKS, 到 Silicon Encounter请核对查找最新的相关工具,命令基本不变。

运行Cadence逻辑综合工具

现在运行Cadence工具。 永远不要从根目录运行Cadence,它会创建许多多余的文件,这些文件会使根目录混乱。 相反,要创建一个目录(例如cadence,类似这样的目录)和一个用于设计的目录(例如,tutorial 或 lecture ),最后是一个用于综合文件的目录(例如,synthesis):

相关命令:

cd cadence

cd tutorial

mkdir synthesis

cd synthesis

 

对于本教程,用一个随机实例来走逻辑综合的各个步骤,在实践中可以使用任何的 RTL 码,当然建议使用比较小,功能单一的设计,主要目标是走通流程

键入命令rc -gui(no&),在前台启动RTL编译器,这里使用的是版本8.1(2009),这时应该获得rc启动窗口:

%title插图%num

图 1     RTL编译器启动窗口

 

该窗口 (Window) 包含三个区域:

菜单栏 Menu Bar(顶部)

文件浏览器File Browser(左)

原理图浏览器Schematic Browser(右)

 

与其他用户图形界面 ( Graphic User Interface, GUI) 不同,这次的控制台是启动rc的初始窗口(这就是为什么它必须在前台启动的原因)。 请尝试熟悉主窗口,单击菜单等。有关各种Cadence工具的更多信息,建议阅读相应的用户手册。 可以通过按菜单栏右侧的 “Help -> Reference Manuals” 来获得这些手册。 花一些时间浏览手册以了解很多可用的东西! 在学习中, 经常会在在线手册 (on-line manuals) 中寻找信息,以补充这些教程提供信息的有限性。 实际上, 可以将本教程看作是在线帮助下可用的教程的子集!

现在,我们需要运行一个文件脚本 (所谓脚本,就是一连串命令的集合,用 TCL语言编写,工具可以按照脚本自动执行脚本里所有的命令, 如果对工具命令很熟,可以一个个键入相应的命令,更能直观显示每条命令工具执行的情况), 因此从菜单栏的 “File” 菜单转到 “ File -> Source Script”。 单击rtl.tcl,然后单击确定:

%title插图%num

图 2     读取运行脚本

 

电脑上的控制台会运行一小段时间, 应该会收到一条成功消息:从下图可以看出,该脚本包括设置运行环境,指定各个库的路径,运行综合, 输出等

%title插图%num

图 3     脚本运行成功

 

现在,GUI窗口应在右侧显示一个网表 ( Netlist) 的图形,如果单击HDL,则在左侧显示源代码:

%title插图%num

图 4     网表和源代码

 

尝试一些菜单选项,例如,通过转到Report -> Netlist -> Mapped Gates..

可以查看在综合后的网表中使用了哪些标准单元库 ( Standard Cells)

%title插图%num

图 5    综合中使用标准单元库分解

 

注: osu0.18 stdcells 是 Oklahoma State University 的 VLSI Computer Architecture Research Group 开发的面向公众的标准单元库,此外他们还有 PDK,设计流程,大部分,特别是对成熟工艺,都是免费使用的;有兴趣可以登陆:Index of /flows (okstate.edu) 去下载学习;

下图是 OSU 的单元库下载界面;

%title插图%num

图 6     OSU 的单元库下载界面

 

另一个重要的工具是设计浏览器,显示设计模块的层级关系等;请转到: Tools -> Object Browser…

%title插图%num

图 7     设计浏览器

 

最后,可以通过转到 File -> Exit来关闭GUI,现在可以在文件accu_synth.v中分析综合结果,该文件可用于网表仿真以及随后使用Encounter工具进行布局和布线, 进入芯片设计后端工序:

%title插图%num

图 8     综合后的网表 (Gate level netlist )

 

Posted in 数字集成电路

发表评论

相关链接