转载 Allegro与Capture之间的逻辑数据传送
已有 933 次阅读2017-7-4 23:22
1.从Capture中导入网络表到Allegro为何是空的?
我用自己在Capture中做的zh1226.dsn(请下载压缩文件,内有),验证从Capture中导入网络表到Allegro。
根据“从Capture中导入网络表到Allegro以及回编到Capture的操作手册.pdf”(请下载压缩文件,内有)所说,Capture到Allegro的第二种方法(新转法,见第11页)又分直接导入和间接导入。
把halfadd.dsn从D盘拷贝到E盘,在Capture里打开它,看到所有元器件均已封装,然后进行Tool\Annotate和DRC。一切正常。
(1) 直接导入
进行Tool\ create netlist, 在对话框中,选中Create or Update Allegro Borad, 在
Output Board 里输入“allegro\halfadd.brd”点击“确定”,生成网络表。如图1所示。
这时自动启动一个新的Allegro,并且看到启动后的Allegro里当前打开的文件就是halfadd.brd,可是:halfadd.brd里空空如也!根本没有元器件和杂乱的连线!无从谈起手动布局和自动布局。
此时,Allegro命令行中显示如下:
Opening existing drawing...
Grids are drawn 400.00, 400.00 apart for enhanced viewability.
Command >
图1直接法Capture里生成网络表并导入自动启动的Allegro里
(2) 间接导入
进行Tool\ create netlist, 在对话框中,这次不选中Create or Update Allegro Borad, 点击“确定”,生成网络表,包括三个pst**.dat文件。如图2所示。
这时打开Allegro,File\Import\Logic, 在对话框里,import logic type下选中 cadence,指定包含三个pst**.dat的文件夹,导入网络表。如图3所示。
这时生成一个netrev.lst文件并自动打开。
关闭netrev.lst文件,这时发现:屏幕上打开的是一个unnamed.brd, 但是仍然空空如也!根本没有元器件和杂乱的连线!
此时,Allegro命令行中显示如下:
Opening existing drawing...
Grids are drawn 400.00, 400.00 apart for enhanced viewability.
W- Allegro PCB opening an Allegro Expert design.
W- DRC set to "out of date", this product supports a different DRC set then last product used on drawing.
Command >
我一直都未能理解为什么从capture生成网络表的过程中都显示正确,Allegro加载了网络表却总是空无一物。问题何在,请高人不吝指教。
2.Allegro与Capture之间的逻辑数据传送
Capture允许象Concept-HDL一样与Allegro完全集成。你可以使用所有的Capture设计功能完成原理图设计,并生成网表,将逻辑数据传送到Allegro中。图3-10描述了Capure-Allegro设计流程。
图3-10 Capure-Allegro设计流程
由Capture到Allegro的设计流程主要有四个步骤:
1. 原理图设计
2. 生成brd文件
2.1 生成Allegro网表文件(pst*文件)
2.2 生成可供Allegro使用的brd
3. 在Allegro摆放零件和布线
4. Backannotation和同步设计
4.1 生成feedback文件(*view.dat文件)
4.2 生成Allegro网表文件(pst*文件)
4.3 生成swap文件(.swp文件)
4.4 Backannotation,更新Capture设计
3.2.1 从Capture到Allegro的逻辑数据传送
一般情况下Capture在完成原理图设计后,先进行DRC检查,点击 按钮或选择Tools>Design Rules Check,调出如图3-12所示的设置对话框:
图3-11 DRC设置对话框
Scope:
Check entire design:DRC检查整个原理图
Check Selection:DRC只检查你选择的部分
Mode:
Use instances(preferred):使用当前属性(建议)
Action:
Check design rules:进行DRC检测
Delete existing DRC marker:删除DRC检测标志
Report:DRC检测的内容
Create DRC markers for warnings:在警告的地方放置标志
Check hierarchical port connection:检测阶层端口的连接性
Check off-page connector connection:检测分页图纸间接口的连接性
Report identical part references:报告同样的器件序号
Report invalid packaging:报告无效的封装
Report hierarchical ports and off-page connection:报告阶层端口和分页图纸间接口的连接
Check unconnected net:检测未连接的网络
Check SDT compatibility:检测对于SDT文件的兼容性
Report all net name:报告所有网络名称
检查没有电气规则错误后,进行标号(Annotation)工作,如图3-12所示。
图3-12 Annotation对话框的调出与设置
Scope:
Update entire design:更新整个设计
Update selection:更新选择的部分
Action:
Incremental reference update:在现有的基础上进行增加排序
Unconditional reference update:无条件进行排序
Reset part reference to “?”:把所有的序号都变成“?”
Add Intersheet References:在分页图纸间的端口的序号加上图纸编号
Delete Intersheet References:删除分页图纸间的端口的序号上的图纸编号
Combined property:把对话框中的属性相结合
Reset reference numbers to begin at 1 each page:编号时每张图纸都从1开始
Do not change the page number:不要改变图纸编号
在Annotation完成后可以给引脚,器件或者网络指定Allegro特有属性。这项工作可以通过Capture的Property Editor来进行。在原理图中双击需要编辑的引脚,器件或者网络,可以打开Property Editor,然后选择“Cadence-Allegro/SPECCTRAQuest/APD”,如图3-13所示。
图3-13
这项工作也可以利用Capture的自动更新器件或网络的属性的功能来实现。对于使用特殊封装或拥有自己封装库的公司,此项是一项特别有用功能。首先定义好自己的属性文件(格式后面祥述),点击Tools>Update Properties,调出如下对话框:
图
Use case insensitive compares:不考虑器件的灵敏度
Convert the update property to uppercase:把更新的属性转换成大写字母
Unconditionally update the property:无条件更新属性
Do not change updated properties visibility:不改变器件更新的属性的可见属性
Make the updated property visible:使器件更新的属性可见
Make the updated property invisible:使器件更新的属性不可见
Create a report file:产生报告文件
属性文件的格式如下(可以用记事本编辑,存为文本文件即可):
"{Value}" "CB Footprint"
"74LS00" "14DIP300"
"74LS138" "16DIP300"
"74LS163" "16DIP300"
"8259A" "28DIP600"
在输出网表生成Allegro可接受的brd文件之前,需要激活Capture的intertool communication选项,这样Allegro和Capture才能同步工作。要进行这项工作,选择在Capture中选择Options-Preferences…,在弹出的对话框中选择Miscellaneous标签,然后将Intertool Communication选上,如图3-14所示。
图3-14
生成brd文件包括两个步骤,首先输出网表,然后再生成brd文件。图3-15显示了输出网表的操作。在Capture中选择Toos-Create Netlist…,然后弹出的Create Netlist对话框中选择Allegro标签。下面是图3-15的详细设置。
PCB Footprint 指定Capture的哪一个属性作为Allegro的封装,缺省为PCB Footprint。可以使用组合属性。
Create Allegro Netlist 生成Allegro格式的网表,缺省为选择。输出的网表由PSTCHIP.DAT,PSTXNET.DAT和PSTXPRT.DAT组成。选择该项目的在于输出网表工作完成后,可以在Capture的Project Manager中看到PSTCHIP.DAT,PSTXNET.DAT和PSTXPRT.DAT三个文件。
Netlist Files Directory STCHIP.DAT,PSTXNET.DAT和PSTXPRT.DAT三个文件的保存位置。缺省当前项目目录下的Allegro目录。
View Output 在输出网表后立即打开STCHIP.DAT,PSTXNET.DAT和PSTXPRT.DAT三个文件。
Create or Update Allegro Board(Netrev) 生成或者更新Allegro brd文件。如果需要更新,在“Input Board File”指定需要更新的brd文件。“Output Board File”中指定生成的或者是更新后的brd文件。
Allow Etch Removal During ECO,在更新brd文件时允许将需要重新布的线删除。
Place Changed Components 更新前后零件标号不一至时Allegro的行为。
Always Allegro重新摆放所有的零件。更新后的零件按照与更新前零件具有同样的X,Y坐标和旋转角度摆放。
If Same 如果更新后零件的封装,值,容差等和更新前零件一至,则Allegro的行为与“Always”选项相同,否则原来的零件从板图中删除,新的零件回到未摆放状态。
Never 必须通过使用者来进行更改。所有标号已更改的零件将被删除,代之的更新后的零件回到未摆放状态。
Board Launching Option 生成brd文件后的动作。
图3-15
在图3-15中单击“Setup”按钮将打开一个设置Allegro.CFG配置文件的对话框,如图2-16所示。
图2-16
在图2-16的对话框中可以指定Allegro.CFG文件,也可以对其进行编辑。Allegro.CFG决定在Capture和Allegro之间哪些属性可以相互传递。Allegro.CFG分为四个部分,采用的是Windows .INI文件的格式。
ComponentDefinitionProps Allegro零件定义属性,输出到PSTCHIP.DAT文件中。
OmponentInstanceProps Allegro零件实例属性,输出到PSTXPRT.DAT文件中。
netprops Allegro网络属性和所有的引脚级属性,输出到PSTXNET.DAT文件中。
functionprops Allegro function属性,输出到PSTXPRT.DAT文件中。
在Allegro.cfg文件中可以使用别名,通过别名可以将老的Allegro属性映射到新的Allegro属性,如表3-1所示的属性
表3-1
老Allegro属性 新Allegro属性
ASSIGN_TOPOLOGY ELECTRICAL_CONSTRAINT_SET
DELAY_RULE PROPAGATION_DELAY
MATCHED_DELAY RELATIVE_PROPAGATION_DELAY
TOPOLOGY_TEMPLATE ELECTRICAL_CONSTRAINT_SET
下面是一个Allegro.cfg文件的例子。
[ComponentDefinitionProps]
ALT_SYMBOLS=YES
CLASS=YES
PART_NUMBER=YES
TOL=YES
VALUE=YES
POWER_GROUP=YES
SWAP_INFO=YES
[ComponentInstanceProps]
GROUP=YES
ROOM=YES
VOLTAGE=YES
[netprops]
ASSIGN_TOPOLOGY=YES
BUS_NAME=YES
CLOCK_NET=YES
DIFFERENTIAL_PAIR=YES
DIFFP_2ND_LENGTH=YES
DIFFP_LENGTH_TOL=YES
ECL=YES
ECL_TEMP=YES
ELECTRICAL_CONSTRAINT_SET=YES
EMC_CRITICAL_NET=YES
IMPEDANCE_RULE=YES
MATCHED_DELAY=YES
MAX_EXPOSED_LENGTH=YES
MAX_FINAL_SETTLE=YES
MAX_OVERSHOOT=YES
MAX_VIA_COUNT=YES
MIN_BOND_LENGTH=YES
MIN_HOLD=YES
MIN_LINE_WIDTH=YES
MIN_NECK_WIDTH=YES
MIN_NOISE_MARGIN=YES
MIN_SETUP=YES
NET_PHYSICAL_TYPE=YES
NET_SPACING_TYPE=YES
NO_GLOSS=YES
NO_PIN_ESCAPE=YES
NO_RAT=YES
NO_RIPUP=YES
NO_ROUTE=YES
NO_TEST=YES
PROBE_NUMBER=YES
PROPAGATION_DELAY=YES
RELATIVE_PROPAGATION_DELAY=YES
ROUTE_PRIORITY=YES
SHIELD_NET=YES
SHIELD_TYPE=YES
STUB_LENGTH=YES
SUBNET_NAME=YES
TS_ALLOWED=YES
VOLTAGE=YES
VOLTAGE_LAYER=YES
[functionprops]
GROUP=YES
HARD_LOCATION=YES
NO_SWAP_GATE=YES
NO_SWAP_GATE_EXT=YES
NO_SWAP_PIN=YES
ROOM=YES
[pinprops]
NO_DRC=YES
NO_PIN_ESCAPE=YES
NO_SHAPE_CONNECT=YES
NO_SWAP_PIN=YES
PIN_ESCAPE=YES
在完成Create Netlist的设置后,单击“OK”,Capture进行输出网表和生成brd文件的操作。