日志
转载 Allegro与Capture之间的逻辑数据传送
2017-07-04 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文件的操作。 |