编辑: 南门路口 | 2013-04-11 |
一.建立一个新的工程 在进行一个新的设计时,首先必须利用 Project Manager 对该设计目录进行配置,使该 目录具有如下的文件结构. Project directory Project file 包含了该设计的所有配置信 息. 如文件名称, 所用的文件库 等. 包含了该设计所用到的所有库文件的路径. design library 该目录下存放原理图等相关 信息. Design directory 下面举例说明: .cpm cds.lib worklib Project Design 启动 Project Manager Open: 打开一个已有 Project . New :建立一个新的 Project . 点击 New 如下图: 此处添入你的工程名 如:myproject cadence 将会以你所填入的 project name 如:myproject 给project file 和design library 分别命 名为 myproject.cpm 和myproject.lib 点击 下一步 Available Library:列出所有可选择的库.包括 cadence 自带库等. Project Library:个人工程中将用到的所有库.如myproject_lib 点击 下一步 此处添入你的设计名 如:mydesign 点击 下一步 点击 Finish 完成对设计目录的配置. 为统一原理图库,所有共享的原理图库统一放在 CDMA 硬件讨论园地----PCB 设计专 栏内. 其中: libcdma 目录为 IS95 项目所用的器件库. libcdma1 目录为 IS95 项目之后所用的器件库. 每台机器上只能存放一套共享的原理图库,一般指定放在 D:盘的根目录下, 即:D:\libcdma , D:\libcdma1 ... * 注意:设计开始时,应该首先将机器上的库与共享的原理图库同步. 下面介绍如何将共享库加入到自己的工程库中. 点击 Setup 点击 Edit 编辑 cds.lib 文件.添入以下语句: define libcdma d:\libcdma define libcdma1 d:\libcdma1 则库 libcdma , libcdma1 被加入 Availiable Library 项内.如下图: 点击 Add 依次将库 libcdma , libcdma1 加入右边自己的工程库中. 另:可通过右端 Up, Down 键排列库的优先级. 以上的准备工作完成后,即可进入 Concept- HDL 环境进行原理图的绘制. 二.原理图的设计 点击 Design Entry 进入 Concept- HDL Concept- HDL 是Cadence 的电路原理图设计输入环境,下图为 Concept---HDL 的目录结 构: 如:mydesign Page1.csa: 第1页原理图的 ASCII 描述 Page1.csb: 第1页原理图的二进制描述 Page1.csv: 第1页原理图的 ASCII 连接文件 Verilog.v: 按verilog 仿真格式存放的设计网表 Design_name Sch_1 worklib 在concept 中电路原理图的设计流程如下: Y N Y 添加属性(Property,Attribute) 定义信号名 (add singnal_name) 连线(adding wires) 完成原理图输入否 放置元器件(Adding parts) 存盘(save,save as) 下面就流程的各个部分做简单介绍. 1. Adding parts 使用 Component---add 命令在原理图中加元器件. 注意:为避免调出的元器件连线错位.栅格设置: 栅格为 50mil 栅格显示为 100mil 首先应放入公司的标准图框(libcdma\FrameA1---A4,A4plus) ,再在图框内添加所需器件. 其中介绍两个命令: Version ---- 改变元器件符号版本 Section ---- 指定逻辑元器件在物理封装中的位置.并显示 pin_number. 如下图: Replace ------ 元件替换.指用一个元件替换图中的另一个元件. 由于涉及到出料单的问题.放置器件(尤其是分立元件)时请按照《CDMA 硬件部原理图 设计规范》去做.对含有 PPT 信息的器件(PPT 表包含有器件的材料代码和封装信息),可以 按下图,选择以 Physical 方式从 PPT 中调入器件. 2. Adding wires a.使用 Wire ---- Draw 命令可在连线的同时,对该线网加信号名. 靠近需要连线的元件管脚处,使用 shift + right 键可以准确快捷地捕捉 pin 脚 并连线. b.使用 Wire ---- Route 命令可自动完成点到点连线. 3. Naming wires Concept―HDL 可以通过相同信号名自动建立两个线网的连接关系. 使用 Wire ---- signame 命令可标记一根线网 使用 Text ---- change 命令改正和重新命名信号名. a.总线 总线的信号名格式为〈msb..lsb>,msb 指总线的最高位.Lsb 指总线的最低位. 当为某根线网定义了总线格式的信号名后,该线将自动加粗,有别于单根信号线. Bus tap:给拆分出的总线各信号线编号,以便定义每条信号线的连接关系. b. 逻辑低 在concept―HDL 中,信号名加后缀---"*"表示逻辑低信号. 4. 添加属性(Property,attribute) 指给元件和信号线添加各种属性.下面仅介绍几个通常给元件添加的属性. a. LOCATION:定义逻辑元件的物理封装编号.如d1,r5,l3… b. JEDEC_TYPE:定义了一个逻辑元件的物理封装.原理图中如无此定义或 pack_type 定义,则采用元件的缺省封装. c. POWER_GROUP:定义元件的可替换电源.如:power_group=vddh=vcc3.3v d. PNUMBER:添入 Step2000 内的材料代码.如:PNUMBER=材料代码值 Display ---- Attachments : 显示属性依附关系. Text ---- Reattach : 属性的重新连接.可通过此命令给属性重新指定附属实体. 5. 其它便捷作图命令 Group ---- 组操作.用好 group 命令可以提高画图效率. a. 在原理图中框出要定义为一个组的所有元素. b. 使用 Group ---- Copy All(Copy)或Move 命令对该组进行操作.需要注意的是 Copy All 命令可将元件,连线以及连线属性全部复制,而Copy 无法复制连线属性. 如果你想跨页拷贝,可新建一个窗口,重复 a,b 两个步骤,将要复制的组拷入新建窗 口内. 为使图纸清晰,干净.有时需隐藏一些属性.如:path,可使用 Goup--Create--By Expression 并输入 path,再选择 Group―Property Display―Invisible 即可. Global Find ---- 查找命令.你可以通过某个元器件序号或某个网络名在复杂的原理 图中将之迅速定位.如下图查找 D10. 添入$location 或location 或选择 Net 框,通过网络名,即可快速定位该网络.如下图: 6. 存盘 完成原理图的绘制后,将原理图存盘. 三.用Checkplus 工具,对原理图进行检查. 回到 Project Manager 窗口,选择 Tools --- Checkplus. 如下图: 选择其中不同项,可对原理图进行相应检查,如上图即可检查单节点等.当发生错误时,再 回到 Concept-HDL 环境,使用 Tools---Markers 对错误进行定位并改之. 三.层次化设计: 随着电路设计逐渐趋于模块化以及设计复杂性的提高,层次化设计越来越多地被采用. 层次化设计就是采用模块的方法, 将一个设计嵌入到另一个设计中. 这样设计出的原理图层 次清晰,而且由模块描述的电路,更容易被复制和重新利用. 它的文件目录结构如下: worklib top(顶层设计) sch_1 module1 sym_1 sch_1 module2 sym_1 sch_1 进行层次化设计需注意以下事项: 1..sch 和.sym 文件名必须相同.如:module1.sch 和module1.sym 2..sch 图中的 I/O 信号名必须和相应的.sym 图中的管脚名相同. 3.I/O 信号必须具有如下端口符号: Inport Outport Ioport 注意:上述三个端口符号与出入页信号 OFFPAGE 是两种不同的符号. 4.在层次化设计中,有三种不同的信号类型: Local:局域信号在一个模块设计中是唯一的.不同模块中的相同信号名并不相连. Global:全局信号用于不同模块中的相同功能管脚(如:电源,地)之间的连接.通常 表示为:信号名\G. Interface:I/O 信号,用于告诉其他模块(或设计) ,这些信号通过端口符号连接在原理 图中. 5.为区别原理图器件符号和模块符号,模块符号统一使用下图所示式样: 通过一个简单实例介绍产生层次化设计的两种方法: 例如: top 设计中包含有一个名为 module1 的模块 top module1 module1 的原理图设计 1. TOP-DOWN 方法 A.产生顶层原理图 TOP.SCH.1.1: a. 在top.sch.1.1 原理图中使用 Block---add 添加代表模块的符号 block1, 用Block----rename 命令将其改名为 module1 用Block----strecth 改变其大小,如下图: b. 用Block----add pin 给其添加 pin 其中: Input pin:A , EN Output pin: B 如下图: c.完成该页原理图后,选择 File---save B.产生模块 module1 的原理图: a.File ---- Open module1 做为 cell 点击 Open,进入 module1.sch.1.1 编辑环境,如下图: b.绘制 module1 的原理图: 注意:module1.sch 图中的信号名必须和相应的 module1 中的管脚名相同. c.选择 File----save 此时即通过 TOP―DOWN 方法完成一个层次化设计. 当你重新打开顶层原理图(即top.sch.1.1) ,双击 module1 模块即会进入下一层原理图. (即:module1.sch.1.1) . 2. DOWN-TOP 方法 A.生成底层设计,如上图(MODULE1.SCH.1.1) B.生成模块符号. 在Concept-HDL 环境中选择 Tools---Generate View,并点击 Generate 即产生 module1 的模 块符号,如下: 此处选 sym_1 此处选 symbol C. 在顶层原理图中,调入 module1 模块符号,如下图: D.完成顶层原理图后,存盘. 此时即用 DOWN―TOP 方法完成一个层次化设计,也可通过双击顶层模块进入下层设计. 四.用Packager―XL 生成网表文件. Packager--XL 的输出文件示意图如下: Packager----Xl Pstback.dat Pxl.log … Pstchip.dat Pstxprt.dat Pstxnet.dat Pxl.state Pxl.mrk Allegro Pstback.dat:反标注文件. Pxl.log:报告文件. Pstchip.dat:原理图中元件的物理封装说明. Pstxprt.dat:逻辑元件与其物理元件之间对应关系的文件. Pstxnet.dat:网表文件. Pxl.state:状态文件. Pxl.mkr:错误定位文件. 在Concept---HDL 环境下,点击 File---Export Physical.或Project Manager 环境中按 DESIGN SYNC 按钮.并选择 Export Physical.如下图: 若package 成功,将生成网表文件.否则,修改错误直至打包成功. 五.Back Annotate ---- 反标注 在packager 完成后和 pcb 板完成后,一般要对电路原理图进行反标注,以使 pcb 与原理图 保持一致.经过反标后,软件会自动给每个元器件赋予一个序号.如$location=d1…,无需 手工给元器件加序号. 六.Packager Utilities 1. Tools --- Packager Utilities --- Bill Of Material 生成料单. 2. Tools --- Packager Utilities --- Netlist Report 可查看网表.