1、全定制ic设计工具:
* Virt uos Schematic Composer : IC Design Entry 它是可以进行混合输入的原理图输入方式。支持 vhdl/hdl语言的文本输入。
* Affirma ANALOG DEsign Environment
这是一个很好的混合信号设计环境
* Virtuos Layout Editor版图编辑
它支持参数化单元,应该是一个很好的特性。
* Affirma SPECTRA 高级电路仿真器
和hspice一类的仿真器。
* Virtuoso Layout Synthesizer
直接的layout生成工具,小规模设计环境
* Assura 验证 环境,包括diva
* dracula验证和参数提取包
* ICCragtsman 布局设计的环境。在面向ip的设计中比较合适。
2、板级电路设计系统。
包括原理图输入、生成、模拟数字/混合电路仿真,fpga设计,pcb编辑和自动布局布线mcm电路设计、高速pcb版图的设计仿真等等。包括:
* Concept HDL原理图设计输入工具,有for NT和for Unix的产品。
* Check Plus HDL原理图设计规则检查工具。(NT & Unix)
*
SPECTRA Quest Engineer PCB版图布局规划工具(NT & Unix)
* Allegro Expert专家级PCB版图编辑工具 (NT & Unix)
*
SPECTRA Expert AutoRouter 专家级pcb自动布线工具
* SigNoise信噪分析工具
* EMControl 电磁兼容性检查工具
* Synplify FPGA / CPLD综合工具
* HDL Analyst HDL分析器
* Advanced Package Designer先进的MCM封装设计工具
3、时序驱动的深亚微米设计
这部分是底层设计的软件。底层设计的工作我感觉是细活,来来回回是需要走很多次重复的流程的。在以前的设计流程中( .6um及其以上 ),一般情况下对于连线延时是可以不用考虑,或是说它们对设计的影响不算很大。在设计完成后,做一下pex,然后仿真一下,小设计的话,多半是可以通过的。
现在的很多软件都直接在布局阶段就将线路延时考虑进去,这也是现在的深亚微米设计的要求。因为在设计中,连线延时对整体设计的影响很大,因此甚至在综合阶段就需要考虑到floorplan的影响。synopsys和ambit和jupiter(Avanti!公司的综合软件)等在它们的综合过程中都加入了这样的考虑。
candence的软件中,有SE和design planner两个主要的软件来进行时序驱动的设计,Cadence 的这块的软件推出很早,可惜就是更新比较慢,现在象avanti公司的软件都把布局布线,时序分析和综合等等几乎全套的流程都统一起来的时候,cadence现在在底层还没有什么创新的地方,还是几年前的模样。
Cadence 的底层软件有下面这些:
* 逻辑设计规划器。
这是用于设计早期的规划工具。其主要用途是延时预测、生成供综合工具使用的线路负载模型。这个工具是用来在物理设计的早期象逻辑设计者提供设计的物理信息。
* 物理设计规划器。
物理设计的前期规划。对于大型设计而言,物理设计的前期规划非常重要。很多流程中,在前期的物理规划(floorplan)结束后,就需要一次反标验证设计的时序。
* SE (Silicon Ensemble)布局布线器
se是一个布局布线的平台,它可以提供多个布局布线及后期处理软件的接口。
* PBO Optimization基于布局的优化工具
* CT-GEN 时钟树生成工具
* RC参数提取
HyperRules规生成,HyperExtract RC提取,RC简化,和delay计算
* Pearl静态时序分析
Pearl 除了界面友好的特点外,还有就是可以和spice仿真器交换数据来进行关键路径的仿真。
* Vampire验证工具
4、Alta系统级无线设计
这一块的产品主要是应用于网络方面的,我个人以为。尤其是它包括有一套的gsm模型,很容易搞cdma等等之类的东西的开发。但是我觉得做信号处理和图象处理也可以用它,因为它里面内的spw太牛了,至少是看起来是,spw最牛的地方就是和hds的接口,和matlab的接口。matlab里面的很多模型可以直接调入spw,然后用hds生成c语言仿真代码或者是hdl语言仿真代码。(这我没有license,没有试过,看openbook上说的)。也就是说,要是简单行事的话,就可以直接用matlab做个模型,然后就做到版图了,呵呵。
Alta主要有下面的一些Package:
* SPW (Cierto Signal Processing Work System)信号处理系统。
可以说,spw包括了matlab的很多功能,连demo都有点象,呵呵。它是面向电子系统的模块化设计、仿真和实现的环境。它的通常的应用领域包括无线和有线载波通信、多媒体和网络设备。在进行算法设计、滤波器设计、c Code生成、软/硬件结构联合设计和硬件综合的理想环境。它里面非常有意思的就是信号计算器。
* HDS (Hardware Design System)硬件系统设计系统
它现在是SPW的集成组件之一。包括仿真、库和分析扩展部分。可以进行spw的定点分析行为级和rtl级的代码生成。
* Mutimedia多媒体 (Multimedia Design Kit)
我没有见识过这部分的东东。在产品发布会的演示上看起来倒是很有意思。据说可以很快的生成一个多媒体的应用环境。它可以进行多媒体应用的设计,包括电视会议系统、数字电视等等以及任何种类的图象处理系统的设计。
* 无线技术Wireless(IS-136 Verification Environment)
无线电技术标准系统级验证工具,可以在系统级的抽象层上生成、开发和改进遵守IS-54/136 标准的信号处理算法。在完成硬件结构设计后,就可以使用hds直接生成可综合的hdl描述和相应的标准检测程序(testbench)。
* IS-95无线标准系统级验证
* BONeS网络衉议分析和验证的设计工具。
这个东东看起来很有意思。它是一套软件系统,专门用来做多媒体网络结构和衉议的设计这个东东看起来很有意思。它是一套软件系统,专门用来做多媒体网络结构和衉议的设计的。可以用来快速的生成和分析结构单元之间的信息流的抽象模型,并建立一个完整的无线网络的运作模型。例如,用户可以改进atm转换器的算法,并建立其基于微处理器包括高速缓存和内存和总线、通信处理方法的应用模型。
* G、VCC 虚拟衉同设计工具包
它是用来进行基于可重用的ip核的系统级设计环境。
在上面的这些东西中,我觉得很重要的还是需要有库的支持,例如在spw里面就要有对应的不同的算法的hdl库的支持,才能够得到最后rtl级的实现。在大学版中,这些部分的license和部分bin代码也没有提供。
5、逻辑设计与验证(LDV)设计
这部分的软件大家都应该是很熟悉的,因为pc版的d版好象现在已绮很普及了。^-^这里简单介绍一下cadence的ldv流程,虽然感觉大家用synopssy还是居多。
首先是老板产生一个创意,然后就是设计人员(学生)使用vhdl或者是verilog语言对设计来进 行描述,生成hdl代码。然后,可以用 Verilog-XL, NC-Verilog, LeapfrogVHDL NC-VHDL等工具来进行行为级仿真,判断设计的可行性,验证模块的功能和设计的debug。然后是调试和分析环境中使用代码处理箱(verisure/for verilog) (VHDLCover/for VHDL)分析仿真结果,验证测试级别。然后用Ambit BuildGates进行综合,并使用综合后的时延估计(SDF文件)来进行门级仿真,然后再使用verifault进行故障仿真。
以上是很简单的一个流程,实际上系统级设计后,就应该进行设计仿真的,要是设计是一个大的模块的话。而且在综合的时候,写综合限制文件也是很麻烦的,要求很多次的反复。上面的流程还不包括测试的加入(如扫描啦什么的)。上面的流程对于小设计是可以的。
LDV包括的模块有下面的这些东西:
* verilog-xl仿真器
* Leapfrog VHDL仿真器
支持混合语言的仿真,其vhdl语言的仿真是通过编译后仿真,加快了速度。
* Affirma NC Verilog仿真器
其主要的特点是适合于大系统的仿真。
* Affirma NC VHDL仿真器
适用于VHDL语言的仿真。
* Affirema 形式验证工具--等价检验器
* Verifault-XL 故障仿真器
感觉故障仿真是最费时间的仿真步骤。用来测试芯片的可测性设计的。
* VeriSure代码覆盖率检查工具
* Envisia Build Gates 综合工具
Ambit 的BuildGates的特性中,我觉得最好用的应该是它的PKS的feature,当然,呵呵我没有它的license。因为在pks feature中,ambit可以调用se的pdp等物理布局工具来进行时延估计。这样的话,我觉得它的Timing 会比synopsys要好。在我试过的synopsys的小的设计中,大概它的误差在100%左右,呵呵。综合后时间是2.9ns,布局布线和优化后的时间是5ns。可是ambit的综合肯定是要比synopsys的差的,因为它没有很大的库的支持,在大的逻辑块的综合的时候我觉得就可以很明显的感觉出来的。我没有具体试过,那位大虾有时间可以比较一下他们的综合特性。
3 原理图设计-基本操作
3.1 创建原理图的流程
3.1.1 创建原理图的流程请见下图:

3.1.2 创建一个层次化原理图的流程请见下图:

3.2 图纸版面设置
3.2.1 图纸统一格式设置
创建项目后,就进入以下界面:

在进入原理图设计之前,我们先需要进行原理图图纸格式设置:
在上面的“Project Manager”中点击 Setup,接着选择 tools-concept setup,在图纸选择栏通过“Browse”选择 zte-standard 库中的图纸格式,如下图:

图框、目录表、会签表应该使用公司的统一格式的原理图库,见下表:

ZTE_FrameA3 是统一的 A3 尺寸图纸格式。其标注栏如下,包括设计公司说明“ZTE
CORPORATION”。原理图归档前,设计者、检查者、标准化者、更改者必须签名。标题,页码
编号,版本等信息必须填写清楚。

3.3 Concept编辑环境
点击“Design Entry”,就进入原理图设计界面,如下图:(设置图纸版面后需退出 Project
Manager,再重新进入):

在标题栏中显示是将要编辑的原理图文件信息,即:ZXIC_CPU.SCH.1.1。它的格式
<Cell>.<View>.<Version>.<Page>。即是<设计>.<视图>.<版本>.<页码>)。这里的 Version 并不是原理图多次修改的版本号,而是将该原理图作为一个单一的逻辑功能元件时,出现在原理图中的元件符号版本。
界面包含以下几部分:
* 设计窗口 Design window
* 菜单栏 Menu bar
* 工具栏 Toolbars
* 状态栏 Status bar
* 命令窗口 Console command window
* 对上下文敏感的菜单 Context-sensitive menus
3.3.1 栅格设置
在上面 Project Manager 的 Concept Option 界面的 Grid 栏中可以设置原理图栅格,也执行
菜单命令 Tools->Options即可进入此界面。可以采用的值如下:
*0.100 5(跟踪 100mil 显示 500mil,为默认值)
*0.100 1(跟踪 100mil 显示 100mil)
*0.050 2 (跟踪 50mil 显示 100mil)
*0.010 10(跟踪 10mil 显示 100mil)
因为原理图库的元件管脚间距为 100mil,为使得连线坐标直观且方便推荐采用 Logic Grid
采用*0.100 5(跟踪 100mil 显示 500mil,为默认值)或者 0.100×1 格式。Symbols Grid 为设计原理图库时使用的栅格,不要修改它。即设置如下:

3.3.2 原理图中的文字设置
原理图中标题栏加的字符应该与栏的名称字符等大。原理图中加的信号名、说明文字等,
应该与整个图面相称。 推荐使用缺省设置,即:信号名、说明文字的大小为 82 mil ;管脚号
的大小为 66 mil。如图。执行菜单命令 Tools->Options 即可进入此界面。

字符的缺省设置
注:对于器件库中的器件名称的字符大小,不要求按此缺省值。通常器件名称的字符大小与器件符号相称,并
且字符应稍大,易于快速找器件。
Concept Option 一旦设置好,以后就不要修改。每新建立一个 Cadence PSD 工程一般经
上述流程。如果在 site.cpm或者 cds.cpm项目文件中已经修改好了,就没必要进行修改。
3.4 添加首页和目录页
原理图的首页为封面,原理图封面调用库 zte_standard 中的 ZTE_COVER_A4。原理图的第
二页为目录页。
3.4.1 原理图目录页的格式
目录页的内容位置安排如下图,目录一页放不下时使用续页,目录页的内容要求下表:

3.4.2 目录表
目录表的填写方法示例,见表:

除封面和目录页之外,每页原理图上应该在左下角(位置同目录页的 Drawing),应标注与
目录表 Description 一致的功能简述。
例如:
在时钟电路页的左下角应注:
Clock Generator
在处理器模块下的 CPU电路页的左下角应注:
Processor:CPU
3.5 页面操作
3.5.1 增加、删除、插入新的原理图页
一般的原理图都有多页,在 File->Edit Page/symbol 下可以通过 Add new page 或 Delete
Page 、Insert Page 来增加、删除或插入新的一页(或几页),操作完后在标题栏中显示新的文件信息,如第一页是 ZXIC_CPU.SCH.1.1 ,增加一页后则标题栏现在会变成
ZXIC_CPU.SCH.1.2。

3.5.2 原理图多页面操作
Design Entry HDL 可以实现多页面间的内容交换和复制,通过 Copy或 Move 等命令进行操
作,在 Windoes --> New Window切换不同的页面。多页面操作时,光标所在的窗口为当前
活动窗口。
3.5.3 删除某个设计、设计视图或者某页原理图
删除方法如下:
1. 选择命令 File->Remove命令,出现 View Remove对话框。
(1) 选择需要删除的 cell,则会删除整个 cell。
(2) 点击 cell名称前边的+,选择一个 view,则会删除此视图。
(3) 点击 view前边的+,比如 sch_1,选择某一页,可以删除此页。
2. 点击按钮 Remove。请见下图

注意:一定不要在 Windows Explorer 或者 DOS命令下执行上述删除命令,可能会出问题。
更复杂的页面管理请见第 9.8 节。
3.6 基本界面操作


3.6.1 常用的快捷键
系统默认的一些快捷键有:
F1:帮助
F2:Windows Fit(全屏显示)
F3:Display Both(属性的 Value和 Name 都显示)
F4:Display Attachment(显示连接关系)
F5:Refresh(刷新屏幕)
F6:Show Property(显示属性)
F11:Windows in (放大)
F12:Windows out(缩小)
Ctrl+方向键:移动屏幕(也可用鼠标右键)
Tools->Cusomize->Key中可以自己定义快捷键。
通过执行 Display->Attachments命令可以显示所有元件和线网属性的连接关系,信号名总是
连接在相关网络的中间,如果从属线指向了线网段的末端,则表示你错误的将该信号添加给了
一个管脚。
也可以启动智能感应功能查看信号名,执行 View-Data Tip可以启动该功能,此时,只需
把鼠标放在信号线上,即可报告该信号名;鼠标放在元件其它属性上则报告其它属性。
3.6.2 笔画命令
点画命令是 Cadence 独特的一种快捷方式,可以直接用鼠标在屏幕上写特定的笔划,不同
的笔划表示不同的命令。例如,Z 表示放大,W 表示整体显示,M 表示移动,C表示拷贝等。
按下鼠标左键,并写字母 Z,则 concept 会自动将原理图放大到 Z 所包括的区域,用同样的方
法画 W 则 concept 会自动满屏显示全图。请见下图 Cadence提供的缺省的笔画命令,红色代表
笔画的起始点。
用户也可根据自己的习惯来定义笔划,在命令窗口输入 stroke 命令即可定义。

使用笔画时有以下注意事项:
* 笔画要注意按照当初创建笔画时的方向和先后顺序。
* 笔画是针对一个单个的对象,选择的是笔画的起始点的对象。
* 笔画针对一组对象操作时,比如 zoom(Z)和 select(O or S),选择的是笔画的
第一点和最后一点之间的对象。
* 笔画不会创建一个有限的盒子或者针对一个指定对象的操作,可以在任意地方
画,例如 zoom fit(W)或者 undo(U)。
如果不想使用笔画命令,可以在命令窗口输入:
set stroke off
相反如果想使用笔画命令,可以输入 set stroke on 开启。
3.7 基本命令
3.7.1 基本编辑命令
* 恢复
菜单命令 Edit->Undo,Edit->Redo
* 移动
菜单命令 Edit->Move
* 旋转
Edit->Spin
Edit->Rotate
* 删除
Edit->Delete
* 拷贝
Edit->Copy
Edit->Copy All带属性拷贝
Edit->Array
* 改变颜色
Edit->Color
* 画弧线
Edit->Arc
* 画圆
Edit->Circle
* 分开重叠的对象
Edit->Split
也可以使用笔划(Stroke)命令或者上下文敏感的菜单实现上述功能。
3.7.2 基本显示命令
* 显示命令窗口 View->Console Window
* 显示原理图信息,Design Entry HDL 可以高亮选择的对象显示的信息包括:
Attachments Modified(drawing)
Color Nets
Component Origins(objects)
Connection(Wires) Pins(location)
Coordinates Pin Names
Directory(current) Properties
Distance(point to point) Return
History(drawings) Text Size
Keys(assignments)
命令即是 display->菜单中选择上述命令。
* 显示多页图中的某一页
命令 File->Edit Page->Next
命令 File->Edit Page->Previous
命令 File->Edit Page->Go To
* 显示工具栏 View->Toolbars
* 显示格点、状态栏、命令窗口,一般在 View 菜单下选择 Grid, Status Bar, Error
Status Bar, Console Window命令
* 高亮对象 Display->Highlight,去掉高亮 Display->DeHighlight。
* 打开 Markers 控制窗口 Tools->Markers
* 打开 Error状态栏,View->Error Status Bar
3.7.3 两个不同网络名的网络连接的方法
需要将两个不同网络名的网络相连接时,使用 Standard 库中Alias 将其相连,如下图:

3.7.4 检查连接关系
通过执行 Display->Attachments命令可以显示所有元件和线网属性的连接关系,信号名总是
连接在相关网络的中间,如果从属线指向了线网段的末端,则表示你错误的将该信号添加给了
一个管脚。
也可以启动智能感应功能查看信号名,执行 View-Data Tip可以启动该功能,此时,只需
把鼠标放在信号线上,即可报告该信号名。鼠标放在元件其它属性上则报告其它属性。
3.7.5 保存设计
如果设计没有保存,Design Entry HDL 在标题栏会显示*标记。在 occurrence edit 模式,
Design Entry HDL 不会显示*标记,即使是文件没有保存。
在保存设计之前,Design Entry HDL 会自动检查原理图,检查类型包括电连接检查、图符
检查、名字检查、其它检查。用户可以在 Tools->Option->Check 标签下进行设定。用户也可点
击 Tools->Check 进行实时检查。Design Entry HDL 也会检查设计中其他页上的连接错误。
保存的命令有以下几个:
* 保存一个已经存在的设计:File->Save
* 用新名字保存一个已经存在的设计:File->Save As
* 保存一个新设计:File->Save
如果在保存时发现错误,会提示。可以点击 Yes 按钮查看,也可以使用命令 Tools-
>Markers 打开 Markers 对话框,然后点击相应错误条目,Design Entry HDL 会高亮这些错误位
置。
Design Entry HDL 在保存原理图时,并不拷贝原理图中使用的元件到本地库。
另外,Cadence 还提供更强大的查错工具 Rules Checker,在 Project Manager,选择命令
Tools->Rules Checker,具体的设定和使用,用户可以查阅帮助文件(安装目录
\doc\checkplus\checkplus.pdf)。
3.7.6 打开设计和恢复设计
* 打开设计 File->Open
* 恢复设计 File->Recover,然后在文件浏览器对话框中找到./temp/xxxnedtmp 路径,
即是 Design Entry HDL 放置 undo log文件的地方。每次启动 Design Entry HDL,
都会在项目的 temp 路径下面创建一个临时路径。选择想要恢复的 undo log文件。
* 回复以前存储的版本 File->Revert,显示最新存储的版本。
3.7.7 Drawing 符号
Standard 库中的 Drawing 符号见图 5,用于自动记录原理图的最后修改时间,及对原理图
的说明等信息。

3.8 Design Entry HDL的模式
Design Entry HDL 提供了三种模式
* In Hierarchy Mode
* Expanded Mode
* Occurrence Edit Mode
当你刚打开一个原理图时,顶层图标题栏括号中显示的 in hierarchy,意思是 Design Entry
HDL 认可设计的所有页和层。如果在设计中有任何改变而没有存盘,就会在标题栏显示一个*
标记。在这种模式下 Design Entry HDL 不允许完成诸如全局查找和全局导航的功能,要完成这
些功能一定要进行扩展。
Design Entry HDL 扩展设计去读所有的页,并能与其他工具进行通信。在执行扩展命令之
后标题栏就显示 expanded。如果之后改变了设计,那么标题栏就显示 need expansion并带有一
个*。
Occurrence Edit Mode 当生成网络表时,Design Entry HDL 保存设计数据成两种文件类型:
* Connectivity(verilog.v or vhdl.vhd)
* Properties(viewprps.prp)
3.9 添加元件
3.9.1 在Design Entry HDL 中添加器件
Design Entry HDL 通过元件浏览器将元件添加在原理图上。先选择元件所在库,再在浏览
器的库元件清单中选择要添加的元件。一个元件可能有不同的版本(即 Version),系统默认为
版本 1,在添加元件时你可以按鼠标右键,在弹出菜单中选择元件的其它 Version 且将元件旋转
成合适的角度,然后放在原理图上。
为了将元件的物理封装形式调入,在放置元件时要点中 Physical。如果Physical Part Filter窗
口为空,则代表该元件没有物理特性(如图框等),则直接放置该元件,如果Physical Part
Filter 不为空,请从中选择合适的元件。
一定要按照物理方式添加实体元件,放置元件时,Design Entry HDL 除了放置逻辑符号有
关属性外,还将 chips 和 Part_table 两个文件中对该逻辑元件的物理封装说明信息同时放置在原理图上,这样你就能够选择该元件的物理封装方式。如下图所示:

Chips 是逻辑到物理的映射描述,一个元件可能对应多个物理封装,chips.prt 文件就是同样
一个物理元件到各种封装的映射描述,放映在 Design Entry HDLHDL 中就是 Add Part 窗口。
Part_Table 是元件的附加属性定义(例如封装、元件值、物料代码、价格、功能简介、规格型
号、供应商等信息),反映在 Design Entry HDL 中就是 Part Physical Filter。
3.9.2 修改替换元件
如果想要修改元件,选择 Component->Modify 命令,或者先选择一个元件,然后按右键,
在弹出的菜单上选择 Modify。如果要修改一组元件,先选择一组元件,然后选择 Group-
>Component->Modify。
替换元件选择 Component->Replace,替换一组元件,先选择一组元件,然后选择 Group-
>Component->Replace。
打碎元件选择 Component->Smash。
3.9.3 定义 Physical Property Options
在 Physical Part Filter对话框中点击 Options,进入 Property Options对话框,在 Property Order一栏,可以调整各个属性的先后次序,并且可以针对每个属性设置过滤,隐藏或者排序。而且当前的设置可以保存,并被重新调用。如图所示:

3.9.4 Section元件
用 Component->Section 命令可以为器件的多个逻辑部份分配管脚,如下图所示:

首先选择命令 Component->Section->Multiple Sections,弹出下图对话框:

按确定,然后在需要分配的器件上点击两点,出现如下界面:

选择 Initial Pin Number为初始管脚,然后选择 Pin Increment 数字,按 OK。
如果要去掉元件的 Section,在上图中选择 Remove Sections,然后点击元件即可。
交换管脚 Component->Swap Pins,在交换管脚之前一定要先 Section 元件。
3.9.5 使用库浏览器 PartBrowser 调用元件
使用举例:下面为公司的服务器地址(事业部的二级服务器要根据情况作相应的更改)
服务器:\\10.12.18.61:8080\ipsd
原理图库存放路径:\\10.12.18.61\ztelib\ConceptLib
PCB 封装库存放路径:\\10.12.18.61\ztelib\AllegroLib\zte_symbols
将服务器上的库目录映射到本地的 Z 盘。
首先打开一个项目启动原理图设计环境 Design Entry HDL ,然后用 WEB 方式访问服务器
http://10.12.18.61:8080/ipsd/,连接后显示如下界面,说明成功连接上,点击 Part Browser 如下所示:

搜索原理图库的方式有四种,分别是 Find by property、Find by category、 Find by symbol
和 List library,通过这四种方式都可以找到需要的元件,如下图如示:

点击左边出现的兰色型号,将界面切换到 Design Entry HDL 设计环境,将原理图库放在合适的
位置。

3.10 多窗口添加元件
添加元件时,可以游览多个库:打开一个 Add Component 窗口后,点击其中的 New &