CADENCE16.3学习心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CADENCE16.3学习心得
CADENCE16.3 学习心得
1原理图
1.1图纸模版的设定
1.1.1标题栏的新建
1.新建一个LIBRARY,从已有设计SCH的design cache把tittle block拷贝到新建的库中,
打开编辑
2.需要插入公式LOGO时可以在库的编辑环境下Place Picture,在指定位置插入LOGO,
将做好的库保存在指定无中文字符的路径下。
要使用这个标题栏模版时,在如下图
所示的Library Name栏指定库路径和库名,在Title Block 栏中选择新建的标题名称
1.1.2图纸大小的设定
在Page Size栏中设定图纸的默认大小,一般默认设置A3纸张大小。
以上设置好后便可以新建工程文件,需要注意的是图纸模版的设定对当前的项目是无效的,只对新建的项目有效
1.2原理图页面建立
对于有一定规模的设计一般采用多页设计的原则,按照功能模块进行分页设计,在原理图根目录下放置,系统框图(System:System Block Diagram),原理图修改记录页(Memo:Hardware Modify Record),多页层次连接关系(System:System Symbol)、电源(POWER),其余原理图按照功能模块建立对应的文件夹,如时钟电路放在CLOCK文件夹下,多层原理图设计文件夹和文件需增加编号确定页面显示顺序,如下图所示:
1.3元件添加和放置
点选PLACE PART后,首先在Libraries栏中选择对应元件的库,然后在Part List栏中选择对应的元件,添加到原理图页面中。
1.4连线和端口的添加
点选PLACE WIRE添加普通走线,点选PLACE BUS增加总线走线,总线标注应注意单线标注为BD0到BD7,总线标注为BD[15:0]时,总线网络标号不能标注为BD[7:0],否则会由于总线宽度不匹配出现DRC错误。
对于没有连接的引脚应该Place No Connect 。
1.5层次化电路图创建
如果电路按照功能模块设计,选择Place Hierachical Block弹出如下对话框:
Reference栏中填入对应电路分级模块在页面中的名称,
Implementation Type中选择Schematic View 与电路图连接,在Implementation name中指定该电路层次模块所对应的内层电路图名。
一般每一个子文件夹在根文件夹下必须有一个层次电路模块,模块中的端口对应电路中的每一个PORT口用于模块与模块之间的连接,在根文件夹下的模块与模块的连接可以通过单线或单线网络标号方式连通起来。
1.6元件重命名
元件重命名可在Annotate菜单栏中实现,如下图所示:
Incremental reference update指在现有的基础上进行增加排序,Unconditional reference updte指无条件进行排序,当元件全部命名完成后,还需要增加元件,增加元件的编号可采用如下方式快速添加:
1.取消勾选下图Auto Reference中的两个选项,这样保证了后续加入的元件编号未进
行编号,比如复制电阻R11后新产生的电阻位号为R?
2.对整个设计进行重新命名,Action栏里选择Incremental reference update,这样保证
了后续新增元件的命名是在前设计的所有位号后进行累加的,原有的元件命名保持
不变。
1.7DRC检查
选择Tools菜单中的Design Rules Check,弹出如下所示对话框,
1.电气规则检查
检查单节点网络即某一个网络只连接了一个网络端点
检查电路中无驱动的电路电源引脚,即只有端口输入无端口输出的网络
检查重复的网络名称
检查未连接的总线网络
检查未连接的引脚
2.物理规则检查
一般全部选择;
3.ERC矩阵
在DRC时,检测可能会出现的输出端口连接到输入引脚或输入引脚与输入引脚连接等等引脚性质不对应的连接,矩阵可自行设定,比如取消输入端口和无源引脚连接
产生的警告规则。
注:如果在元件中定义了POWER引脚,并赋予了网络标号,如果该引脚在原理图中未连接,在进行电气规则检查时,无法检测到该引脚未连接。
1.8网表导出
选择菜单栏T ools中的Create Netlist, 在对应文件夹下会产生三个DAT文件(pstchip.dat,pstxnet.dat,pstxprt.dat),下次在重新产生网表文件时会将之前的三个网表文件重命名如(pstchip.dat,1 ,pstxnet.dat,1,pstxprt.dat,1)。
2PCB
2.1DXF的导入和导出
DXF的导出一般在将PCB结构信息导出给结构工程师时使用,具体导出步骤如下:
选择FILE->Export->DXF,如下图所示:
在DXF output file中输入导出DXF的文件名和文件路径,导出的单位(MILS或mm)和精度,点击Edit按钮进入导出层选择与对应设置
导给结构一般需要导出BOARD GEOMETRY->OUTLINEPACKAGE GEOMETRY SILKSCREENTOP即可,导出DXF层叠命名可就勾选Map Selected items中的Use layer names generated from class and subclass names,然后点击MAP,即可自动分配对应层名。
DXF的导入一般是在结构工程师将结构图做好后,需要导入到ALLEGRO软件中,以便确定PCB板外形尺寸和部分元件精确摆放位置。
具体导入过程如下:
首先最好新建一个机械元件,选择FILE->NEW,在Drawing Type选项中选择Mechanical symbol
定义好原点和工作界面大小后,选择FILE->import->DXF
选择需要导入的DXF文件位置,导入后的单位,点击Edit/View Layers,出现如图所示界面:
选中所有图层后,选中Class 中的MANUFACTURING,然后点击New Subclass, 输入一个图层名字如16PON_DXF,然后点击MAP,如图所示,整个DXF图层被分配到了PCB MANUFACTURING层的16PON_DXF子层。
单击OK,完成导入。
接着根据提供的DXF结构大小在BOARD GEOMETRY->OUTLINE 中绘制板框。
2.2网表导入
选择FILE->Import->Logic,在Import directory中输入需要导入的网表文件夹。
2.3元件定位摆放
元件定位一般是将一些固定位置的元器件定位到结构指定的位置,首先需要知道具体摆放位置的坐标信息,然后根据坐标信息区定位移动的元件,定位方式可以主要有一些3种
1.原点定位,即元件的原点与摆放位置的坐标信息吻合
2.引脚定位,即元件根据其中一个引脚的坐标信息与指定坐标吻合来达到元件定位。
3.PICK点定位,即根据元件MOVE过程中PICK到的点与指定坐标信息吻合来达到元
件定位
原点定位和引脚定位较为简单,即知道指定坐标信息后,选择MOVE,右边OPTION Point 栏中选择Sym Origin(原点定位)或Sym Pin#(引脚定位)并填入所需定位的PIN脚号,在移动元件过程中,命令行窗口中输入指定坐标即可完成定位
PICK点定位不仅需要指定摆放位置的坐标信息,而且还需要知道元件PICK处的坐标信息,两个信息获取到后,选择MOVE ,右边OPTION Point栏中选择User Pick,然后单击要移动的元件,在命令行窗口中输入“PICK 坐标”,此时定义元件将跟随鼠标指针移动,继续在命令窗口输入指定摆放位置坐标信息即可完成定位。
2.4ALLEGRO16.3多人高效布局与布线
2.4.1模块复用加速布局
ALLEGRO16.3能够使用模块复用功能快速完成几个相同布局结构的单元,步骤如下:首先在Placement Edit模式下,选择布局好的一个单元,右键选择Place replicate creat ,鼠标或命令行输入导出该单元的原点坐标右键Done,然后选择导出的文件名(.mdd)然后在Placement Edit模式下,选择需要布局的元器件,右键选择Place replicate apply即可完成具有相同电路结构的元件。
多人合作布局与布线
2.4.2多人布局
在A同事完成好一个功能模块的布局后B同事需要调用A同事布局好的模块,可使用ALLEGRO16.3的导出布局功能。
步骤如下:
1.选中布局好的元件后,点击File->Export->Placement,导出元件布局位置信息
2.打开未完成该部分布局的同一文件,点击File->Import->Placement,导入即可。
2.4.3多人布线
ALLEGRO的多人布线是通过sub-drawing来实现的,多人合作最好是分模块分区域设计,各同事走线尽量不要进入其他同事的区域,首先设置下allegro的环境参数中是sub-drawing 路径,Setup->User preference->Paths->config->clippath,双击现在路径指定你想存入的位置。
OK两次关闭对话框。
首先打开完成的走线,现需要将走好的线粘贴到A同事的文件中,点击File->Export->Sub-drawing,在Find面板勾选你想要导出的文件,如下所示:
在options面板中保留你想要的输出,如下所示:
然后按住鼠标左键拖出你想输出的PCB部分,选中的部分会高亮,在命令栏中输入X 0 0,它代表你输出是以原点为参考点的,然后会弹出对话框,选择保存路径,这个路径一定要是我们先前设置环境参数时你所定义的路径。
打开A同事的工程,找到该未走线的该部分,选中File->Import->sub-drawing,双击standard后,鼠标上会粘附这一个小方块,在命令栏输入x 0 0
2.5约束规则设置
约束管理器是一个交叉的平台,以工作簿和工作表的形式在Cadence PCB设计流程中用于管理所有工具的高速电子约束。
可以使
用约束管理器和SigXplorer Expert 开发电路的拓扑并得出电子约束,可以包含定制约束、定制测量和定制激励。
所谓约束就是用户定义的限制条件,当在板上走线和放置元件时会遵守这些约束。
电子约束(ECSets)就是限制PCB 上与电行为有关的对象,比如可以设置某个网络最大传输延迟为2ns。
以下图为一约束设置窗口。
2.5.1缩写说明
先解释一下约束的类型以及约束中用到的简写名词,如下图所示:
1、NCIs(NET CLASS)
由众多nets或者buses、differential pairs、Xnet所组成的类,可对其赋予相似的约束。
如下图所示。
2、NCC(Net Class-Class)
一般用在约束组与组之间的间距的时候使用,如下图。
3、DPr(Differential Pairs)差分对
一组差分对一般由两条Xnet或者net以差分走线的方式组成,如下图。
差分对的形成有两种方式:一是由模型指定的差分对,再者就是由用户自己定义的差分对。
模型定义的差分对:可以在器件信号模型中指定差分对,可以使用PCB Design,PCB SI,SigXplores 来将模型指定给相应的元件。
用户定义的差分对:可以在约束管理器中Net 一级的对象中创建差分对,可以灵活的更改差分对命名和更改差分对成员,但是没有模型指定差分对的精确性。
2.5.2普通单端线的线宽设置
该约束定义为PCS,即physical constraint set,选中physical-->physical constraint set-->all layers,对右边的功能名字点击右键,creat-->physical cset 即可创建pcs 约束,如下图所示,
如果需要对每层设置不同的线宽的话,只要把default 展开,修改需要单独设置的层的线宽即可。
设置好后,在physical-->net 中对对应信号使用定义好的规则,如下图
2.5.3普通单端线的线距设置
该约束定义为SCS,即spacing constraint set,选中spacing-->spacing constraint set-->all layers,对右边的功能名字点击右键,creat-->physical cset 即可创建pcs 约束,如下图所示。
设置好后,在spacing->net 中对对应信号使用定义好的规则,如下图
2.5.4差分线线宽、线距设置
建立差分对,在Electrical->Net->Routing->Wiring,右键对应的差分网络选择Create->Differential pair,弹出如下所示对话框
如果需要批量添加差分对,点击Auto Setup,如下所示,在此选择差分信号网络名中的共性条件,如差分网络在原理图设计时可使用用
尾缀_P,_N或+,-,这样在+Filter和-Filter中填入该尾缀,即可实现工程中所有差分对的创建
选择Electrical->Routing->Differential Pair,对着工程名右键如下所示,创建新的差分约束规则。
如以下创建了一个名为DIFF的差分约束,差分对主线距6mil,主线宽6mil,颈项线距4mil,颈项线宽4mil。
在Electrical->Net->Routing中将创建好的差分对应用该约束规则。
如图所示:
2.5.5设置组内规则和组外规则
比如DDR 的信号线可以分为时钟线、数据线和地址与控制线这三类。
以64bit 带宽为例,数据线又按照8bits 的宽度分为8 组,DDR 的硬件设计文档会要求每组数据线的组内间距3w 即可,组间间距起码要5w,或者要求组内线和组外线的间距为5w
class 的创建:
net class 的创建在spacing-->net-->all layers 中实现,在右面
界面中将需要组成class 的线都选中,然后右键creat-->class即可,创建后的class 会在net class-class 中出现,如下图:如果没有进一步设置的话,图中的SCS_5W 代表组内线与组外所有线的间距为5W,同时组内各线的间距也是5W
如果想设置class DDR_ADDR 与class DDR_DBUS0 的间距为4w,该两个class 与其它信号线的间距不变仍为5W 时,步骤如下:选中任何一个class-->右键creat-->class-class,在跳出的框中选中DDR_ADDR 和DDR_DBUS0,并确定后,在referenced spacing cset 中选择SCS_4W。
如下两图所示
上面的设置完成后,class DDR_ADDR 中的任何线与class DDR_DBUS0 的任何线的线间距是4w,与其余所有信号线的线间距是5W,同时class DDR_ADDR 内部各线的线间距也是5W。
如果想修改class DDR_ADDR 组内的间距为3W 该如何实现呢? 步骤如下:选中任何一个class-->右键creat-->class-class,在跳出的框中选中DDR_ADDR 和DDR_ADDR,并在对应的referenced spacing cset 中选中SCS_3W,如下两图所示
如上两图设置后,DDR_ADDR 组内各线的线距为8mil,改组与DDR_DBUS0 的线距为12mil,与其它任何线的线距为16mil。
2.5.6区域规则的设置
在spacing-->region 中创建region,右键create-->region,创建后如下图,在上图中,RGN_MPC8349 中的line to line 的间距将不再是3w 而是2.5w 的6mil 了。
region 这个规则比较特殊,创建后还需要将一个具体的region 赋值给这个约束的region,操作为:shape-->rectangular,修改options 选项如下图
之后,框中MPC8349 芯片下区域即可,创建region 后,就可以创建region-class 规则和region-class-class 规则了,region-class 规则应用于class 的处于region中的部分线段的线宽线距设置,原先应用于class 的规则被region-class 代替。
2.6差分走线
差分走线拐角可使用圆弧拐角,如下图所示:
在使用SLIDE调圆弧走线过程中需要设置Options选项如下,Corners中要选择Arc,Max arc rad可根据实际情况去调整。