cadence allegro pcb模块设计复用

在你遇到如上图所示的dsp阵列PCB时,如果你的layout软件支持模块复用,你会感觉到自己的心里比吃了蜜还要甜!下图是老牛的memory模块复用。

下面的复用内容来自网络,按照这个说明可以实现模块复用。

本人正在按照这个方法进行尝试,后续会写出带图的详细设计。show下本人的复用电路:

===================================================================================

module生成

1、在orcad中画好模块的原理图,设定好封装,做好drc,做好元件编号。

2、检查元件属性是否设为current properties,其它设定可能出错。

2、在annotate-->allegro reuse中,选中generate reuse module,renumber design for

using modules,选中unconditional,其它不选。

3、生成netlist.

4、将netlist导入到allegro,布线,布局,若无rename等需要与orcad交互的动作,选tools-->creat modules生成mdd文件.mdd文件的文件名一定要定义为:DSN NAME_ROOT SCHEMATIC NAME.mdd。DSN NAME为你定义的orcad中的dsn文件名,ROOT SCHEMATIC NAME是这个文件中的页名字。这里若定义不对,在reuse时找不到mdd文件。之后跳到第6步。

5、在allegro中export logic,然后在orcad中back annotate,并再次drc。这一步很关键。

6、模块制作完成。

使用生成的模块

1、在新的orcad设计中,选place-->herarhical

block,reference中填入BLK?(注意,这里使用BLK是为了与原理图中的U?R?C?区别,保证BLK这个名字专用于moduel,不然在做完allegro后,rename 时,导回到orcad中出问题。)  在implementation type中选schematic view,在implementtation  name中填入先前模块的页名称,在path and file  name中选择相应的dsn文件,之后在你的原理图中出现一个block.

2、继续其它设计,之后在annotate-->packageing中,选中reset part name to "?",同时选中update occurrences,执行一下,将所有的元件(包括module的name改为?),在annotate-->allegro reuse中,选中 renumber design for using  modules,选中incremental,选中do not change the page number,选中select modules to mark for框里的内容。其它不选。

3、drc后,出netlist.

4、导入到allegro后,palce-->manually place,选mudule

instances,将module放入。注意一下mdd文件路径的设定,不正确会找不到mdd 文件的。

5、在allegro中布好线后,可以rename到arcad中,与正常设计无区别。

6、over.

做reuse时的几个注意事项:

A 如果是多层板的reuse,那么因为生成的module是多层的,所以新的brd在module放入之前最好也设置成和module一样的层及plane网络设定。plane不一定要全部设,但像VCC gnd最好设定。

      B 如果绘制大规模fpga\dsp\arm\powerpc等的电路,芯片symbol package往往含有多个part,这在reuse时会产生问题。建议在生成module部分在进行sch设定时,给多part的symbol package再添加一个属性,例如wzh,然后同一个芯片的package的这个值赋予相同值。在后续的annotate/pcb editor reuse/property combine 选型中加入{wzh}。

1:当reuse模块已经放在电路中使用,重新修改reuse模块的port口后,在使用的原理中右击这个模块,选synchronize up,则实现修改的同步。

2:在reuse模块中,不能使用room属性,不然可能与使用reuse的电路图混淆。

3: reuse模块中不能使用全局变量,特别是电源和地,使用port口传递数据。

4: reuse模块内部修改后,只要port口没有变,则在使用它的原理图不用同步。

5: 做好的模块文件用在pcb中后,若需要修改这部分文件,在修改完成后,在原pcb中使用update symbol功能,选相应的moddle,之后更新就行了,注意生成mdd文件时,原点的选择,这然更新后一些线会错位。

6:当导入到allegro的模块出现dummy net的错误时,怎么办?

出错的可能原因是由于模块的orcad文件造成的,可能是对原始的orcad取一部分进行修改,这些元件带有原来文件的一些属性。将相关orcad文件的所有元件和连线copy到一个新的页内,将当前页的内容删除,从刚才copy到新页的内容copy回来,这时看元件的属性时,没有黄色的部分,按正常步骤重新生成mdd文件,在调用这个模块的orcad文件中,重新编一次元件编号,生成网表,问题解决。

7:当含有reuse的设计导入到allegro并布线完成,若重新修改原理图,比如换一个10pin的IDC插座到16pin,不能用annotate-->allegro reuse命令,不然生成的网表会导入到allegro中会出错,不知是什么原因?

答:在原理图设计中,当使用reset to ?后,使用annotate-->allegro reuse命令,将netlist导出到allegro后,不能再使用使用reset to ?,新增的元件使用increase功能,不要将所有的元件reset to ?,不然会出错。

===================================================================================

建议寻找下面的文献阅读。

“Stp_cdnlivesv2006_patrick_modules.pdf”

名称:Using Modules in Allegro PCB Editor Design Reuse for Performance
http://www.google.com.hk/search?hl=zh-CN&source=hp&q=Stp_cdnlivesv2006_patrick_modules&btnG=Google+搜索&aq=f&aqi=&aql=&oq=

cadence allegro pcb模块设计复用的更多相关文章

  1. cadence allegro PCB中怎么使查找元件时屏幕不移动

    先按F4进入show element状态,你在找元件,屏幕就会移动到你找的元件上面去,并且将视图放大.

  2. Allegro PCB SI (2)

    整理一下在电研院学的si (虽然彩超的si在频率15Mhz以上后,si是失真的.昨晚遇到孔大哥也是这样说的,板级仿真,要layout过硬,然后找到合适的top test point) Allegro ...

  3. Allegro pcb -等长设计

    1.首先注意打开的Allegro PCB是哪个产品控件,如下图,若打开的是Allegro PCB Designer,在后面,看别人的讲解过程中会找不到“SiXplorer”,原因 就是出在这里,All ...

  4. 每天进步一点点------Allegro PCB

    Allegro PCB 1.如何在allegro中取消花焊盘(十字焊盘) set up->design parameter ->shape->edit global dynamic ...

  5. 使用Cadence绘制PCB流程

    转载:https://blog.csdn.net/hailin0716/article/details/47169799 之前使用过cadence画过几块板子,一直没有做过整理.每次画图遇到问题时,都 ...

  6. [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文

    综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...

  7. Cadence Allegro元件封装制作流程

    (本文为转载,原文出处不详) 引言 一个元件封装的制作过程如下图所示.简单来说,首先用户需要制作自己的焊盘库Pads,包括普通焊盘形状Shape Symbol和花焊盘形状Flash Symbol:然后 ...

  8. Allegro PCB Design GXL (legacy) 由零散的对象构成一个Shape

    Allegro PCB Design GXL (legacy) version 16.6-2015 从DXF文件中导入板框之后,发现板框是由Line Segment.Arc Segment等对象组成, ...

  9. Allegro PCB 转 PADS Layout

    操作系统:Windows 10 x64 工具1:Allegro PCB Design XL (legacy) version 16.6-2015 工具2:PADS Layout VX.2.3 参考1: ...

随机推荐

  1. HDU 6235.Permutation (2017中国大学生程序设计竞赛-哈尔滨站-重现赛)

    Permutation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Tot ...

  2. (1)安装Xamarin

    ()一.安装 1.安装xamarin 2.下载jdk8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- ...

  3. (10)ERStudio

     1.外键 https://jingyan.baidu.com/article/f79b7cb37e9d219144023ea6.html 第一个图标:Identifying Relationship ...

  4. (12)C#枚举,结构

    枚举 枚举类型是类似自定义的一个类,类里放着你自己定义的常量,关键字enum. enum Season{spring,summer,fall,winter} 想用这里的常量的话,首先把变量定义成 Se ...

  5. Python与数据结构[1] -> 栈/Stack[1] -> 中缀表达式与后缀表达式的转换和计算

    中缀表达式与后缀表达式的转换和计算 目录 中缀表达式转换为后缀表达式 后缀表达式的计算 1 中缀表达式转换为后缀表达式 中缀表达式转换为后缀表达式的实现方式为: 依次获取中缀表达式的元素, 若元素为操 ...

  6. UVA 103 Stacking Boxes n维最长上升子序列

    题目链接:UVA - 103 题意:现有k个箱子,每个箱子可以用n维向量表示.如果一个箱子的n维向量均比另一个箱子的n维向量大,那么它们可以套接在一起,每个箱子的n维向量可以互相交换值,如箱子(2,6 ...

  7. spring属性注入

    1,set方法注入 (1)对于值类型的属性: 在对象中一定要有set方法 package com.songyan.demo1; import com.songyan.injection.Car; /* ...

  8. 解析HTML文件 - 运用SgmlReader类来解析HTML文件

    运用.NET Framework类来解析HTML文件.读取数据并不是最容易的.虽然你可以用.NET Framework中的许多类(如StreamReader)来逐行解析文件,但XmlReader提供的 ...

  9. 发布Android开源库,看这个文章就够了!

    最近在Flipboard实习期间写了一个轮播工具,技术上没什么难点,不过动画效果还是不错的,决定改改代码写个库开源出去.项目地址:http://github.com/chengdazhi/Decent ...

  10. StreamingContext、DStream、Receiver深度剖析

    本课分成四部分讲解,第一部分对StreamingContext功能及源码剖析:第二部分对DStream功能及源码剖析:第三部分对Receiver功能及源码剖析:最后一部分将StreamingConte ...