学 院:
专 业:
班 级:
姓 名:
指导老师:
学 号:
日 期:2013-6-30
一、设计要求
本次设计要求实现一个 16位的加法器,通过从前端到后的设过程,了 解数字成路设流程,熟悉 Linux 系统及其相关软件 icfb 的使用,加深对 数
二、设计思路
基本单元选用复杂 cmos 电路现一位加器,将 16个 1位全加器级联 成一
这种路的处是将每前一级的 Cin 与后一级的 Cout 直接级联, 连接比较方 便,电比较好设。版图设计也对较简单,一位全加器的版图,全 器的版图就刃而解。 由于采用接级联, 前一级的输出延时要累加到后一级 的输入进位中,最后会导致级联多,延时越多。由于是初次接触 icfb ,版图
三、电路设计与验证
(一)一位全加
1、原理图设计
图 3-1
如图 3-1所示,为 1位全加器的原图。其中 A 、 B 为两输入信号也两 个一加数, Cin 为前一位的进位输入信号, COUT 为当前的进位输信
2、生成符号图
图 3-2 一 位全加器的符号图
如图 3-2所示,为检查并保 1位全加器原图后成的符,左侧为输 入信号 A 、 B 、 Cin ,右侧为输出
3、测试电路
图 3-3 一 位全加器的测试电路
如图 3-3,为
4、波形仿真
图 3-4
如图 3-4所示 , 为一位全器仿真波
(二) 16位
1、原理图设计
图 3-5 16位全加器原理图
如图 3-5所示,为 16位加法器的原理图设计。 16加法器采用 16个 1 加法器联,前一的输出直接连到一级输入。其 A[15:0]、 B[15:0]分别 为 16位输入信号, Cin 为进位输入信号, S[15:0]输出
2、生成符号图
图 3-6 16位全加器的符号图
如图 3-6所示,为检查并保存 16位全加器原理后生成的符号图,左侧为 两个 16位的输
3、测试电路
图 3-7 16位全加器的测试电路
如图 3-7所示, 16位全加器测
4、波形仿真
图 3-8
如图 3-8所示,为 16位加器的仿真波形,电路键路径
四、版图设计与验证
(一)一位全
1、一位
图 4-1 一位全加器版图
2、一位全加器 DRC 规则验证
DRC 证是为了检验设计的版图是否满足设计规则检查。 如图 Fig.4-2示, 1位全器版图的 DRC 验结果。图中可以看出,最后 DRC 的结果有 5个 错误,都是金属密度的错。这些错误在集成电路前端设计阶可以
图 4-3 一位加器 LVS
LVS 检查是为了验证所画的版图和理图是否匹配。如图 4-3示,为一 加器 LVS 验证结果,从图中可以看出, 1位全加器的版图和原理图
4、错误及解决方法
1) LVS 没过但显示 0个
由于 vdd 和 gnd 标签没有打,或是标签有用相应的金层标来标注。 解决办:加上 vdd! 和 gnd !用相应的金属标示层标记 vdd! 与 gnd! 后即通 过 lvs ,并注意版图只能
2) Lvs 时 cmos 管模
出现管子式不匹配的问题, 是由于从原理图中提取 netlist 网中的 mos 类型为 PM 是 NM ,
(二) 16位
1、 16
图 4-4 16位全加器版图
2、一位全加器 DRC 规则验证
如图 4-5所示, 为 16位全加器的 DRC 验
3、 16位全
图 4-6 16位加器 LVS
如图 4-6所示,为 16位全加器的 LVS 证结果,图中可以看出, 16位全 加器的设计原理图和版图对应,满
4、 错 误及解决方法
1) Lvs 时 cmos 管模
出现管子式不匹配的问题, 是由于从原理图中提取 netlist 网中的 mos 类型为 PM 是 NM ,
数字集成电路设计
1)量产 IC 最小尺寸。
答:目前量产的 IC 最小的产品是 22nm 工的, 目经开始大规模量产, 比如 intel 的酷睿三代处理器
2) IC 及
答:(1)设工具与设计方法。随着集成电复杂程度的不断提高,单个芯片容 纳器件数量急剧增加,其设计工也由最初手绘制转为计算辅助设计 (CAD ) ,相应的计根据市需求迅速发展,出现了专门的 EDA 工具供 应商。目前, EDA 主要市场份额为美国的 Cadence 、 Synopsys 和 Mentor 等少数 企业所垄断。中国大集成电
(2)制工与相关。集成电路加工制造是一项与专用设备密切相关的技 术,俗称 “ 一代设备,一代工艺,一代产品 ” 。在成电路制造技术中,关键的 薄膜生成技术和光刻技术。光刻技术主要设备光机和蚀,目在 130nm 的点是以 193nmDUV (Deep Ultraviolet Lithography) 是以光学延展的 248nmDUV 为主要技术,而在 l00nm 的节点上则有多种选择:157nm DIJV、光 学延展的 193nm DLV和 NGL. 在 70nm 的节点则用光学展的 157nm DIJV技 术或者选择 NGL 技术。到了 35nm 的节点范围以,将是 NGL 所主宰的时代, 需在 EUV 和 EPL 之间
(3)测试。由于系统芯片(SoC )的测试成本几乎占芯片成本的一半,因未 来集成电路测试临的最大是如何降低试成本。 测试和内置自测试可 大缩测试开发时和降低测试费用。 一种降低测试成本的测试方式是采用 基于故障的测试。在广泛采用将不同的 IP 核集成在一起的情况下,还需解决时 钟异测试问
(4) 封装。 电子产品向便式 /小型化、 络化多媒体化发展的市场需求 对电路组装技术提出了苛刻需求,集成电路封装术
①裸芯片技术。主要有 COB (ChipOI1Board )技术和 Flip Chip(倒装片) 技术两种形式。
②微组技术。 是在高密度多层互连基板上, 采用微焊接和装工组装各 种微型片式元器件和导集成路芯片, 形成高密度、 高速度、 高可靠的三 维立体机构的高级微电子组件的技术,其表
③圆片级封装。 其主要特征是:器件的外引端包封体在经过前工序 的硅圆片上完成,然后将这类圆片直接切分
④无内建层 (Bumpless Build-Up Layer , BBLIL) 技术。 技术使 CPIJ 内集成的体管数量达 10亿个, 并在高达 20GHz 的主频下运行, 从使 CPU 达每秒 1亿次的运速度。此外, BBUL 封装技术还能在同一封中支持多个 处理器, 因此服务器的处理器可以在一个封装中有 2个内核, 而比独立封装的 双处理器获得更高的运算速度。 此外, BBUL 封装技
(5)材料。集成电路的最初材料锗,而后为硅,一些种成电路(光 器件)也采用三五族(如砷化镓)或二六族元素(如硫化镉、磷化)
3)查出与 IC 发展有的诺贝尔奖获得者姓名、
4)半导体有什么特点,可有效帮助发展
答:导电能力于导体与缘体之间的物称半导体。半导体材料是一类 有半导体性能、可用来制作半导体器件和集成电的电子材料,其电导率 10 (U-3)~10(U-9)欧 /厘米范围内。半导体材料的电学性质对光、热、电、 磁等外界因的变化十分敏感, 在半导体材料中掺入量杂质可以控制这材料 的电导率。正是用半导体材料这些性质,才制造出功能多样的导体器件。 半导材料半导体工业基础,的发展对导体技术发展有极大的影响。 半导体材按化学成分和内部结构,大致可分为以下几类。 1. 元素半导体有锗、 、硒、硼、碲、锑等。 50年代,锗在半导体中主导地位, 锗导体件 的耐高温和抗射差, 60年代后期逐渐材料取代。用制造半 导体器件,耐高温和抗射性能较好,特别适宜制作大功率器件。因此,硅已成 为应用最多的一种增体材料,目前的集成电路大多数是用硅材料制造的。 2. 化合物半导体由种或两种以上的元素化合成的半体材料。它的种类很多, 重要的有砷化镓、磷化锢、锑锢、碳化硅、硫化镉及镓砷硅等。中砷化 制造波器集成电的重要材料。 碳化硅由于其抗射能力强、 高温和化学 稳定性好,航天技术领域着广泛的应用。 3. 无定形半导材料 用作半导体 的玻璃是一种非晶体无形半导体材料,分为氧化物玻璃和非氧化物璃两种。 这类材料具有良好开关和记忆特性和很强的抗辐射能, 主要用来造阈值开 、 记忆开关和固体显示器件。 4. 有
5)集成电路有很多优点,但没有一个路全部由集成的路组 (你以看看一电设备电路板,电路中仍有电阻、电容 等元器件、 晶体管等) , 为什么不集
答:集成路制, 芯片是第一要素部分元器件尺寸受限, 是无法集成的, 最明显的是电和电感以常用的 220V 耐压的电解电容为例,要想在集成路里 现 220V 的耐压、值几十 uF 的电容,工艺成本本身就会很高,因为,集成 路里面的容般耐压小于 5V ,目还没有公司能集成 220V 耐压电容的,而 且同面积下,耐压电容值成反比的。所以,要想做这么大的电,仅 需要非工水平, 还得需要很大的片积, 可能比本电路面积大很多 倍,比起单独做个解电容,成本可就高了不少,这显然是没事钱的行为。 一个显而易见的问题, 集电路发展这么多年, 原来大个的电解电容还是那么大 个。。。 二,部分率器件受电流、散热等方面影响,无集成,比如说大 功率的三极管或 MOS 管, 本身就很烫了, 还需要加热器的, 你还要把他往一 集成, 指甲盖都够的地方越来越烫, 散热搞不定, 电
数字集成电路设计要点
数字IC 流程:
RTL design and simulation DC synthesis
APR (Auto Place and Route) PT timing analysis Physical Verification 采用工具: 1. vi (输
2 Modelsim(Questasim )/ VCS / IUS/ iverilog/ Verdi(仿真、调试) 3 DC (综
5 Astro (后端物理实现) //将为ICC ,
8 Calibre (后端验证)
硬件一般要分为两部分:1 wishbone接口,解
1. 点点方式,单独测试IP 核时常用,或者片外互连 2. 共享总线式 3. 交叉互连构 ? 构建SoC 系时采
RTL ( Register Transfer Level ) TCL :Tool Command Language Tk :ToolKit
Synplify / DC FPGA / Xilinx / Altera ? ASIC
synopsys: DC (主
PKS: Physically Knowledgeable Synthesis RC : RTL compiler
sdc: synopsys design constraints约束 sdf: standard delay format版式 综合三阶段:
? 翻译/转换(此阶工艺无) ? 优化 优化与
? 映射(此阶段工艺相)将功能映射到目
DC 基本流程: 读设计 置约束 执行综合 查看报
时钟树: 时钟是个非常重要的信,要求到各个寄存时钟时延一致,端设计会专门针对时钟布线,插入buf ,形成时钟树,综合阶段处
CDC 信号:clock domain crossing
APR 流程:Auto Place and Route++++++采用Astro 工具 ICC (IC Compiler)
TDF 文件 (top design format) core 电源环:原则:尽量使用高层 (1)高层金属厚
(2)利于底层stdcell
3. 布局规划floorplan 4. 时序约束 5. place
6. 时钟树综合CTS 7. 布线 8. DFM
9. 数导出:? 导出网表,用于LVS 、后仿真 ? 出GDSII 数:流片据 ?
? 先布时钟线 (关键信
? Post-Route Opt及CTO ? Post-Route 时序
? 天线效应:解决方案1:跳,解决方
? Fill Notch and Gap ? Add_label
? 添加Wire track 物
LVS: layout versus schematic ANT :Antenna
DRC :design rule check
工具: ic5141 virtuoso , calibre 步骤:
1 准备ic5141环境 (工艺库、基本库、快捷键、示资源、Calibre 配置等) 2 stdcell、Pad 库
6 LVS检查 (先做,确认设计正确)
7 ANT 检查与修正(先于DRC ,ANT 修
CDL: Circuit Description Language
时序分析:
Fmax(寄存器间最大
Tco (从时钟到达 到 输出稳
时序分析任务之一是:验设计满足时序要 求,
1. 动态时序仿真(后
STA 含义: 无需输入激励,电路并不动作(静态含 义),分析一个触器(flip-flop)setup 时间与hold 时间,即保证在时钟沿采样数据 时,数据是有效的。(动态仿真也确保
动态与静态
1. STA无需输入测试向量,覆盖大. 动态仿真针对特测试量,无法明 果
动态时序分析对同步、异步风格没有限 3. STA 能处理更大设
动态仿真缺点是随着设规模增大,要求时
STA 基本分析模型与基本计算步骤: 1.找出路
输入port 或者 发器/寄存器的时钟端口 ?
输出port 或者 时序部件的数据输入pin 2 路径据到达时间计算 ? 路径中net 和cell 延迟的
? 数据到达时间计算出来后,与数据的要求 到时间求(setup check ,hold check
? 时序报告中Slack 为正,表示
PT 使用步
2 Constraints 3 Exceptions 4 Check 5 Analyze
PT: PrimeTime
STA 、CTS, ERC, DFM没找到
综合的输入输出
Astro 的输入输出
STA
CTS: clock tree synthesis
DFM: design for manufacture STA: static timing analysis DRC: design rule checking ERC: electrical rule checking LVS: layout versus schematic
数字集成电路设计流程
《ic 设计流
我认为IC 设计流程按照功能和应用场合同大致可以划分为个部进行介,分别是数IC 、拟IC 和FPGA 。这三者之间既有相同点又有相异点。在进行设计时,所用的
1、数字Asic 计流程前端到后端
通用型数字Asic (从上到下)
在验证算法时一般使用C 语言或者verilog 来对系算法行建,使用行为描来对
算法验证完之后,需要进行的工作就是将算法转化为对应的行为级或者存器传输级描述,并对其进能仿真验证。在该阶段使用的工具有很多,用的Active —HDL 、Mentor 的Modelsim 系列软件和QuestaSim 系(前者使用三个核进行仿真,后者使用一个核,因此后
完成能仿真后需要进行的工作就是根据foundry 提供的标准数字单元工艺库,前面得到的表述一定功能代码进行综,得到代码对应由标准单元库的门电路组成的实际路映。在综的过程中,要根设计规范来制定各种约以使综合得到的电路映射能够满足设计的要求,同时也要注意综合报告中所给出的违反约束各个信息,并且利用这些信息来修改代码或者算法。在综的过程中
做完综之,利综合得到的实际电路映射、时序约束与foundry 提供的与版图有关的工艺库就可进行自动布局布的操做。此时常用的软件有Synopsys 的ASTRO 和Cadence 的Se 工具。 动布局布线完成后就可以根据生的图件信息生参数来进行包生参数与互联延迟的后仿真了。一常用的寄生参数提取工具有A V ANTI 的STAR-RC 和Cadence 的DRECULA 或Diva ,两者需要将自动布局布线得到的版图和工艺库文件导入软件中进行寄生参数提取。Cadence 的
寄生数提取结后将得到的寄生参数信息与自动布布线得到的网表导入PT 进行包含寄参数的时序参提取,然后利用所提取的时序参在底层网表反进行后仿真,观后仿真的时序是足设计规范的要求。如果足则基本完,不满足还需要进迭代修改。产生反标需要的序文件的软件是PT ,将时序反标文件反标回综合后的网表并且进行后仿真的软件比较多,比如Modelsim 和Nclaunch (NC 主要针对大型系统,而Modelsim
全定制数字Asic 或混合号ASIC (从下到上与从
当需要制全定制的数字芯片时,传统的从上到下的设计流程就不全奏效了。其中最的不同是全定制芯为了实小的体积与功耗,高的成度将可不采用厂家提供的标准数字单元库而是通过与foundry 沟通自己设计满足自
对于全制设计,也需要采用算法验证、功能描述仿真验证、综合、寄生参数提取与后仿真过程,但是相通用Asic 的设计而言,做后仿真时全可以使用模拟仿真的法进行后仿真不要进行时序反标的过程,为在全定制Asic 时使用的不foundry 提供的标数字工艺库而是根据设计要自己设计的数字工艺。因此对于全定制的Asic 设计而言,它的后仿真需要采用foundry 提供的标准模拟库,由于不使用时序的反标而采用模拟仿的方法后仿
全定制设计流程的使用软件有,验证与能仿真的软件同通用型使用的基本相
一步不太一了,对于全定制的设计而言般在设计时采用Cadence 的软件比多,因为全定制设计更象拟电路设计。综合这一步之先要根据设范对每个模块进行时与的分配,并且最好能够化到每个门级电路。然根据要求来构建设计所需要的设计者需要的单元库。因为全定制的ic 综合这一步更象利用设计者自己定义的库来搭积木的过程,人为的控制因与经验
在这里可先使cadence 的版图与电路图输入工具Virtuoso 来根据设计规范要求构建建立在单管基础上的基本单元库,然后再根据已经验证算法和能描述,利用所构建的基单元库来得整个芯片的电路图布局结构,最后根据芯片内各信号的关来行电路线的作。上的作都可以在Cadence 的IC 5.1集成设环下的Virtuoso 中完成,当完成布局线后全定制Asic 的版图确了,然后根据基于基本单库对应版图的全芯电路来搭建全芯片电路对应的全芯片图。此时可以用Cadence 的Diva 或者Drucla 工具进行DRC 、ERC 、LVS 检查,并且可以根据版图利用上述工具进行提取。然将提取得到的参数与搭建全芯片时得到的全芯片网表或者全芯片电路进行后仿真。如在后仿真时不想使用Cadence 或者系统太大仿真了时,可以使用Hsim 进行仿真。Hsim 在使用时需
在进行用型数字Asic 设计时需要注意代码风格,因为代风格好坏直影响到合软件的效果,风规范的码可以得到性能更高的芯片电路。另外,在写代码时还要注意尽量使用可综合的代码和能够避免统出
在进行定数字Asic 设计时一定要注意单元库的建立,在建时除了满足基本的逻辑功能外还要注意宽长比与构造单元的功耗和迟之间关系,最好能够建立基于verilog 和电路等种不同表达方式的电路构。这样便于后面进步分析与仿真。另外,在全定制字IC 计中经常把字电路当成模拟来分析功耗与延迟,所以可以使用模混合的方法来对所设计的基于自单元库的电路进行仿真,从可以相对全电路模拟仿真大幅度提高仿真的,相对全电路数字仿真得到更确的延时信息。不过对于功耗的仿真还是只能使用全电路的模拟仿真。最为重要的一点是用型数字IC
数字集成电路综合设计
摘 要
7人表决器电路是一简单的输入信号检测与处理、产生运算控制号的辑电路。 本详细介绍了依功要求进运算控制电路方案设计的过程, 并在此基础上将整体 电路分为数据接收模块、数据处理
电路计完成过 Design Compiler 对电路进行逻辑综合。使用 Tcl 令编电 路的约束文件,设约束条件,对路进行优化以保设计的功能性,同时生成网表文 件、序报、面积报,并进行结果分。再通过延时文件与顶层件的激励进行电 路能的时序仿真,分析设计的可行性。再通过 Primetime 对电路行静态时序分析, 得到静态时序报告。最后通过 IC_Compler
关键词 Design Compiler; Primetime ;逻辑综合;静态时序
目 录
摘 . .......................................................................................................................................... 1目 . .......................................................................................................................................... 2引 言 . .......................................................................................................................................... 4 1 总体电结构设计 .............................................................................................................. 5 1.1电路功能 ....................................................................................................................... 5 1.2 功能电路设计 ...................................................................................................... 5 1.3 电路接
1.4
2 设约束及 .................................................................................................................. 8 2.1 约束设
2.2
3 逻辑合程 .................................................................................................................... 11 3.1 综合件 .................................................................................................................... 11 3.2 综合环
3.3综
4 结分析时序仿 ........................................................................................................ 16 4.1 时序报告 ............................................................................................................ 16 4.2 积报告
4.3时
5 静态序分析脚本 ........................................................................................................ 21 5.1 静态时序析 ............................................................................................................ 21 5.2 PrimeTime 进行时
5.4 静态时序报告分析 .................................................................................................... 24
6 物理
6.1 物理实现文件 ............................................................................................................ 28 6.2物理实现环境 ............................................................................................................. 28 6.3物理实现过程 ............................................................................................................. 29 6.3.1 Floorplan . ........................................................................................................ 29 6.3.2 placemant . ....................................................................................................... 30 6.3.3 Clock Tree synthesis . ...................................................................................... 30 6.3.4 Routing .............................................................................................................. 31 6.3.5 Write Design Out . ........................................................................................... 32 6.4 报告输出 .................................................................................................................. 32 6.5 LVS 和 DRC . ............................................................................................................ 34结 论 ........................................................................................................................................ 35参考文献 .................................................................................................................................. 36附录 A :顶层设计源代码 ...................................................................................................... 37附录 B :设计约束代 .......................................................................................................... 38附
引 言
现代集成电路技术急剧发展,输百万级晶体管电路设面临着的挑战。如果 没有计算机的辅助和建立了很好的设计方法是
Synopsys 公司是全球半导体和电子行业先进的 EDA(电子设计自动化 ) 软件工具和 业化服务提商, 设计复杂集成电路 (IC)、 FPGA(场可编程门阵列 ) 和 SOC(System on Chip, 系统芯 ) 品的公司提供业最善的工具, 使客户能够用最时间并以最低 风险向市场出最好的电子产品。 高水平的综合能力到门电路的设置, Synopsys 为工 技术人员面临的最严峻挑战提供全部解决方案,并帮助他们将电子设计推向极
Synopsys 发布的“ Design Compiler”件,简称“ DC ”,是一种逻辑合成工 具。通过进电路延迟时间的算方法,小了逻辑合成时的时序与布局完成的最终 序之间差。 DC 得到全球 60多个半导体厂商、 380多个工艺库的支持。据最新 Dataquest 的统计, Synopsys 逻综合工具占据 91%的市场份额。 DC 是十二年来工业 界标准的逻综合工具,也是 Synopsys 最核心的产品。它使 IC 设计者在最时间内 最佳的利用硅片完成设计。 它根据设计描述和约束条件并针对特定的工艺库自动综合 一个优化的门级电路。它可以接多种输入格式,
本设计采 Verilog HDL语言描述、 Design Compiler行约束合。 Design Compiler 操有 Tcl 命令来实现,还要用 Modelsim 进行时序仿真,用 Prime Time进行静态时序分析,实验环境为 Linux
1 总体
1.1电路功能
7人决器电路能主要集中在四方面。一是在用户用开关输入状态,高电平代 表“ 1”,低电平代“ 0”;二是数据输入后要对据进行锁存。是输入锁存后进行 数据的实时运算,过运算电路计算出赞成“ 1”的人数反对“ 0”的人,并进行 判断赞成人数是大于 3。 由于 FPGA 属于硬件电路, 没有使用 CPU 软核时, 没有任何指 令集,所以需使用自带的 IP 核进行必要的加减运算;四是运算结果得出后,以准 确
(1)采用 7个开关作 7人表决结果得
(2)采用 2位 8数码管一位 LED 灯作为输
1.2 关
本电设计的要难点在于 2位 8段数码的静态显示。 本课程设计给定的工作时 位 1kHZ ,显示 1 8段数的时间为 1MS ,扫描 2的时间为 2MS 。而人睛 留时间 20MS 左右。次时钟工作频是符合设计要求的。依照功能,将电路分为 3个 功能:开关输入锁存模块;运算模块用将开关收集到的数据按照一定要求进行计算出 正确的结果;数码管显
图 1.1 电路功能框图
1.3 电路接口
整个设计接口可以分为 2部分,别数据的入以及数据的实时输出。具体接口 如下
表 1.1 接口信号表
1.4 顶层 TOP 的设计
因为本设计是要一起综合功能电,所以需要顶层的件,该文件 vote7TOP.v , 此部分内部包含了功能电路。具体口
表 1.3 顶层接口信号表
电路功能框图
图 1.2
2 设计约束及脚本
2.1 约束设计
约束部分是本次课程设计的重点内, 对于个由时钟控制的数字逻辑电路来说, 时
V ote7TOP.v 是本设计所要约束的件。虽然人的肉眼所能分辨的最大频率一般为 20Hz ,但该设计在计算上实现仿真, 故暂不考虑频问题。所有用本设计的工 作时钟 1kHZ ,即 CLK 周设置为 1000000ns 。输入为 vote ,输出为 cnt_sel, disp_seg[6:0], pass, 他们都是由 CLK 信号同步控制,所以这些信号延约占时钟
本次对此电路的综合约束需要分为以下部分:对 CLK 时信号行设置,对 个输输出信号的约束, 对扇出和驱动负载能力能度需要进行约束设置, 最后出
首先是读入源代码,也就是 HDL 文本描述的设文件,此处不定目录, Design Compiler 会在搜索目录中搜
read_verilog {vote7.v vote7TOP.v }
读入设计原文件后,一般设定当设,这
current_design vote7TOP
设定当前设计后,要完成链接,也就是将计库链接起
Link
检查设计,主要完成检查换的设计。 Tcl
check_design
然后对设计设定时序约束,这是最重要的一项束,用于设设计工作速。针 对不同的设计分,有不的约束方法。针对本次设计,采用全同步,单时钟工作的实 际情况。以下语句设定时及
设定名称为 CLK 的时钟,由于采用 1KHz 的
create_clock -name
设定时钟的渡越时间为 0.2ns 。 Tcl
set_clock_transition -max 0.2 [get_clocks clk]
设定输入信号最大时间时。 Tcl
set_input_delay -clock clk -max 600000 [get_ports
设定输出信号最大时间时。 Tcl
set_output_delay -clock clk -max 600000 [get_ports
set_dont_touch_network [get_clocks
set_ideal_network [get_ports
告诉综合器不要对复位进驱动。 Tcl
set_dont_touch_network [get_ports RST]
set_ideal_network [get_ports RST]
检查时序。 Tcl 语句如下:
check_timing
设定综合的操作条。 Tcl 语
set_operating_conditions -max WORST-max_library saed90nm_max_hth -min WORST -min_library saed90nm_max_hth
设定线负载模型,本设计选择 saed90nm_max_hth模型。 Tcl 语句如下:
set_wire_load_model -name ForQa
设定输出负载电容。 Tcl 语句如下:
set_load -pin_load 2 [get_ports
设定扇出最大负载能。 Tcl 语
set_max_fanout 30 vote7TOP
驱动能力设定。 Tcl 语句如下:
set_drive 2.0 [get_ports
设定输出网表的格式规则,以消除 gate level nelist中
set_fix_multiple_port_nets -all -buffer_constants
最大能力进行综合。 Tcl 语句如下:
compile -map high
输出时序报告。 Tcl 语句如下:
rc > ../output/tim.log
输出网表。 Tcl 语句如下:
write -f verilog -hier -o ../netlst/vote7TOP.v 输出综合数据文件。 Tcl 语句如下:
write -f ddc -hier -o ../output/vote7TOP.ddc 输出延时文件。 Tcl 语句如下:
write_sdf ../output/vote7TOP.sdf
输出面积文件。 Tcl 语句如下:
report_area > ../output/vote7TOP.area.log
3 逻辑综合过程
3.1 综合文件
首先在目下建立 dclab 作为本次实验 dc 的操作目录。在 dclab 目下,建立 计存放录如 code 、约束件目录如 constrn 、输出网表文件目录 netlst 、报告输出目录 output 、 dc 启动目录 work ,库
在综合前需要准备以下几文件,以便使软件可以
.synopsys_dc.setup文件即启
在这个文件中, 需要将所用到的库单文件的路径和电路设计件所放的路径写 ,
因为本课程设计所使用电路描述语言为 verilog HDL 语,所以少需要顶层 TOP 设文件、能电路的设计文件准备好,即准备好一个正确可用的设计,以便用于 约束综合,本设计将 *.v
Tcl 语句文件:
在本次课程设计中使用的是命令界面,使 Tcl 语言进操作,所以要准备好相 应
本设计采用的是 synopsys 提供好的 saed90nm 标单
3.2 综合环境
本次设是行在 ubuntu Linux操作系统环境下的。 Linux 是一套免费使用和自由 传播的类 Unix 操作系统,是个基于 POSIX 和 UNIX 的多户、多任、支持线 多 CPU 的操作统。它能运行主要的 UNIX 工具软件、应用程序和网协议。 持 32和 64位硬件。 Linux 继承了 Unix 以网络为核的设计思想, 是一个性能稳定
台、台计算机、大型机和超级计算机。严格来, Linux 这词本身表示 Linux 内 核,但实际人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工
本次课设计使用的合工具 Design Compiler(简称 DC ),是 synopsys 公司的 ASIC 综器产品, 它可以完将硬件。 描述语言所做的 RTL 级描述动转换成的 门网。 DC 得到全球 60 多个半导体厂商、 380 多个工艺库的支持。 Synopsys 逻 辑综合工具 DC 占据 91%的场额。 DC 是工业界标准的逻辑综合工, 也是 Synopsys 最核的产品。它使 IC 设计者在短的时间内最佳的利用硅片完成设计。它根据设计 述和约条件并针对特定的工艺库将入的 VHDL 或者 Verilog 的 RTL 描述动综 合出一个优化的门级电路。它可接受多种输入格,如硬件描
3.3综合过程
首先打开 Linux 中命令终端。进以准备好的 .synopsys_dc.setup文
cd /home/zhm/zhm0/dclab/work dc_shell
运行后,读入文件将在终端
命令
图 3.1 Design Compiler的 Tcl 命令界面
因为已经将所要使用的 Tcl 语句准备并成文件,所以可以使用 source 命令来讲 Tcl
命令如下:
source /home/zhm/zhm0/dclab/constrn/vote.con
这里我们逐一运行命令,运后,将在端得到如下界面,即已经进入约
读入文件过程,
图 3.2 读入文件过程
链接,检查设计
图 3.3
时序约束过程,
图 3.4 时序约束程
图 3.5 优化过程
待综合完成后,导出相应文本。如网表、合过程、时序报告、面积报告等。 如
图 3.6 导出文件
4 结果
4.1
Design Compiler将电路分解成同的信号时序路径 (Timing Path),每路径都有一 个起点和个终点。是电路的输入端或电路中寄存时钟管脚,终点是电路 端口或序器件 (sequential devices)中除时钟管外的其它输入管脚。 时序路径又根 据控制它们终点的时钟分成不同的路
生成一个默
时序报告如下:
****************************************
Report : timing
-path full
-delay max
-max_paths 1
Design : vote7TOP
Version: G-2012.06-SP2
Date : Thu Jul 16 11:03:12 2015
****************************************
Operating Conditions: saed90nm_max_hth Library: saed90nm_max_hth
Wire Load Model Mode: top
Startpoint: vote7/tmp_reg_4_
(rising edge-triggered flip-flop clocked by clk)
Endpoint: PASS (output port clocked by clk)
Path Group: clk
Path Type: max
Des/Clust/Port Wire Load Model Library
------------------------------------------------
vote7TOP ForQa slow
Point Incr Path -----------------------------------------------------------
clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.80 0.80 vote7/tmp_reg_4_/CK (DFFRHQX4) 0.00 0.80 r vote7/tmp_reg_4_/Q (DFFRHQX4) 0.46 1.26 r vote7/U148/Y (INVX12) 0.25 1.51 f vote7/U149/Y (INVX12) 0.28 1.79 r vote7/U46/Y (XOR2X4) 0.31 2.10 r vote7/U47/Y (INVX12) 0.23 2.33 f vote7/U48/Y (INVX12) 0.28 2.61 r vote7/U155/Y (XOR2X4) 0.31 2.92 r vote7/U109/Y (INVX12) 0.23 3.15 f vote7/U110/Y (INVX12) 0.28 3.43 r vote7/U41/Y (XOR2X4) 0.31 3.74 r vote7/U42/Y (INVX12) 0.23 3.97 f vote7/U23/Y (INVX12) 0.28 4.25 r vote7/U75/Y (AND2X4) 0.23 4.48 r vote7/U76/Y (INVX12) 0.24 4.71 f vote7/U12/Y (INVX8) 0.10 4.81 r vote7/U21/Y (INVX8) 0.06 4.87 f vote7/U61/Y (AND2X4) 0.25 5.12 f vote7/U62/Y (INVX12) 0.29 5.41 r vote7/U93/Y (AND2X4) 0.23 5.64 r vote7/U94/Y (INVX12) 0.23 5.87 f vote7/U69/Y (AND2X4) 0.22 6.10 f vote7/U70/Y (INVX12) 0.25 6.35 r
vote7/U115/Y (INVX12) 0.24 6.59 f
vote7/U151/Y (CLKINVX8) 0.13 6.72 r
vote7/pass (vote7) 0.00 6.72 r
iopads/pass_core (iopads) 0.00 6.72 r
iopads/pass/PAD (PDO04CDG) 1.30 8.01 r
iopads/PASS_PAD (iopads) 0.00 8.01 r
PASS (out) 0.00 8.01 r
data arrival time 8.01
clock clk (rise edge) 1000000.00 1000000.00
clock network delay (ideal) 0.80 1000000.81
clock uncertainty -0.30 1000000.50
output external delay -600000.00 400000.50
data required time 400000.50
-----------------------------------------------------------
data required time 400000.50
data arrival time -8.01
-----------------------------------------------------------
slack (MET) 399992.50
上面是 clk 时钟的约束,即对 jjq_core分约束的时序报告。时序报告中有三列 目。第一列是关路径过的器件;第二列为器件的时;第三列是径延时。路 径起点 vote7/tmp_reg_4_,路径终点 PASS (output port clocked by clk)。从表中可知 经过各个件的延时,数据到达时为 8.01ns 。而约束的时钟周 1000000ns ,许的 最大延时为 400000.50ns 。因此,允许的最大时延减去
4.2
面积报告中列出了设计的端口、 单元、 线网和引用的数目。 设计面积被分为、 组合以及互连线。分别显示出组合逻辑面积 , 时序逻辑面积,估计的互线
面积报告如下:
****************************************
Report : area
Design : vote7TOP
Version: G-2012.06-SP2
Date : Thu Jul 16 11:03:12 2015
****************************************
Library(s) Used:
saed90nm_max_hth (File: /home/zhm/zhm0/SynopsysDC/saed90nm_max_hth) Number of ports: 18
Number of nets: 36
Number of cells: 2
Number of combinational cells: 0
Number of sequential cells: 0
Number of macros: 0
Number of buf/inv: 0
Number of references: 2
Combinational area: 174748.435136
Buf/Inv area: 4311.014318
Noncombinational area: 1713.096024
Net Interconnect area: 63933.649796
Total cell area: 176461.531159
Total area: 240395.180955
从上面我们可以看出总本设计总共有 18个端口、 36个网络、 2
组合逻辑路占用面积 174748.435136,非组合逻辑电路用面 1713.096024, buffer 和相器占用面积 4311.014318等。 最终总面积为 240395.180955。 因设计
4.3时序仿真
本设计采用的仿真工具是 Mentor 公的 Modelsim10.1a ,这是业界最优
构建激励,将综合产生的网表(*.v)进时序仿真,在激励添加合后产的 延时文
括号内为需要反标的标准延时件绝对
4.1
图 4.1 加入了 sdf 文件后
5 静态
5.1
一般说,要分或检验一个电路设计的时序方面的征有两种主要手段:动 态时序仿真(Dynamic Timing Simulation)静时序分析(Static Timing Analysis)。 时序仿的优点是比较精确,而且同后者相比较,它适于更多的设计类型。但是 它也存在着比较明显的缺点:首先是分析的速度比较慢;其次是它需要使用输入矢
静态时序分的分析速度比较快,而且它会对所有可能的路径都进行检,不 存在遗漏关键径的问。 PrimeTime 是 Synopsys 的态时序分析件,常被用来分 析大规模、同步、数字 ASIC 。 PrimeTime 适用于门的电路设计,可以和 Synopsys 司的
5.2 PrimeTime 进行时序
使用 PrimeTime 个电设计进行静态时序分析,一般要经
1)设置设计环境
在可以进行时序分析之前, 首先要行些必要设置和准备工作。 具体来说包括:设置查
读入设计和库文件;
链接顶层设计;
对必要的操作条件进行设置,包括线上载模型、端负载、驱动、以及转换 间等; 设置基本的时
2)指定时序约束 (timing assertions/constraints)
包括定义时钟周期、波形、不确定度 (uncertainty)、潜伏性 (latency),以及指明输
3)设置时序例外 (timing exceptions):
包括设置多循环路径(multicycle paths )、设虚假
4)进行时序分析:
在作好以上准备工作的基础上,以对电路进行静态序
以上仅仅是 PrimeTime 行静态序分析的简单流程,以下的部份中将会有
5.3 脚本
查找路径和链接路径在 PrimeTime 中对着个变量:search_path 和 link_path, 用 set
set link_library
下面的表格 5.1给出了 PrimeTime 可以受的文件类型, 以及读入每一种类型的设 计时,所
表 5.1 PrimeTime 可以接受的文件类
本文中分析的例子使用是第二种格式,
read_verilog vote7TOP.v
设定当前设计后,要完成链接,也是将计与库链接起来,用于映射过程中搜
current_design vote7TOP
链接过程就在库文件中寻找设计中所要的元件,并将该设计例化的过
link
设定线负载型, PrimeTime 在生成建立时序报告 (setup timing reports) 使用最大 (Maximum)运条件连线负载模
块同样的 WLM
set_wire_load_mode top
set_wire_load_model -name 05x05 -min
set_wire_load_model -name 20x20 -max
对有关时钟的参数进行设置,具体命可以参考 Design Compiler中
set clock [get_clock CLK]
set_clock_uncertainty 0.5 $clock
set_clock_latency -min 3.5 $clock
set_clock_latency -max 5.5 $clock
set_clock_transition -min 0.25 $clock
set_clock_transition -max 0.3 $clock
设定时钟-门的建立和保持时间的数,以及最小的脉冲宽,脚
set_min_pulse_width 2.0 $clock
对于所有与时钟相关的端口,都要设输、输出
set_input_delay 1 VOTE[6] -clock $clock
set_input_delay 1 VOTE[5] -clock $clock
set_input_delay 1 VOTE[4] -clock $clock
set_input_delay 1 VOTE[3] -clock $clock
set_input_delay 1 VOTE[2] -clock $clock
set_input_delay 1 VOTE[1] -clock $clock
set_input_delay 1 VOTE[0] -clock $clock
set_output_delay 1 CNT_SEL -clock $clock
set_output_delay 1 DISP_SEG[6] -clock $clock
set_output_delay 1 DISP_SEG[5] -clock $clock
set_output_delay 1 DISP_SEG[4] -clock $clock
set_output_delay 1 DISP_SEG[3] -clock $clock
set_output_delay 1 DISP_SEG[2] -clock $clock
set_output_delay 1 DISP_SEG[1] -clock $clock
set_output_delay 1 DISP_SEG[0] -clock $clock
创建测试时钟 CLK_TEST,完成
create_clock -name CLK_TEST -p 1000000 -add [get_ports CLK]
使用 report_timing 命
report_timing -path full_clock_expanded -from $clock
将未约束的路径也显在时序报告里面,
set timing_report_unconstrained_paths true
在定义好 timing exceptions 之后,再次进行
report_constraint -all_violators
report_timing
5.4 静
使用 report_timing 命令,生成基于路径的 timing report 。在没任何命数时, 在 report 中列的是对于每个 path group,该设计中最长的最大路径。如果需要是该 设计中最短的最小路径的话,可在命
report_timing 令一个灵活的命令,可以用 -help 来
pt_shell> report_timing
Report : timing
-path_type full
-delay_type max
-max_paths 1
Design : vote7TOP
Version: H-2012.12
Date : Thu Jul 16 11:13:09 2015
****************************************
Startpoint: vote7/tmp_reg_4_
(rising edge-triggered flip-flop clocked by CLK)
Endpoint: vote7/disp_seg_reg_5_
(rising edge-triggered flip-flop clocked by CLK)
Path Group: CLK
Path Type: max
Point Incr Path ---------------------------------------------------------------
clock CLK (rise edge) 0.00 0.00 clock network delay (ideal) 5.50 5.50 vote7/tmp_reg_4_/CK (DFFRHQX4) 0.00 5.50 r vote7/tmp_reg_4_/Q (DFFRHQX4) 0.35 5.85 r vote7/U148/Y (INVX12) 0.20 6.05 f vote7/U149/Y (INVX12) 0.22 6.27 r vote7/U46/Y (XOR2X4) 0.21 6.48 r vote7/U47/Y (INVX12) 0.19 6.67 f vote7/U48/Y (INVX12) 0.22 6.89 r vote7/U155/Y (XOR2X4) 0.21 7.10 r vote7/U109/Y (INVX12) 0.19 7.29 f vote7/U110/Y (INVX12) 0.22 7.50 r vote7/U41/Y (XOR2X4) 0.21 7.71 r vote7/U42/Y (INVX12) 0.19 7.90 f vote7/U23/Y (INVX12) 0.22 8.12 r vote7/U75/Y (AND2X4) 0.13 8.25 r vote7/U76/Y (INVX12) 0.20 8.45 f vote7/U12/Y (INVX8) 0.06 8.51 r vote7/U21/Y (INVX8) 0.03 8.54 f vote7/U61/Y (AND2X4) 0.18 8.71 f vote7/U62/Y (INVX12) 0.22 8.94 r vote7/U93/Y (AND2X4) 0.14 9.08 r vote7/U94/Y (INVX12) 0.19 9.27 f vote7/U69/Y (AND2X4) 0.16 9.42 f vote7/U70/Y (INVX12) 0.21 9.63 r
vote7/U115/Y (INVX12) 0.19 9.82 f
vote7/U30/Y (INVX16) 0.21 10.03 r
vote7/U33/Y (XOR2X4) 0.21 10.24 r
vote7/U34/Y (INVX12) 0.20 10.44 f
vote7/U20/Y (INVX8) 0.05 10.49 r
vote7/U107/Y (AND2X4) 0.14 10.63 r
vote7/U108/Y (INVX12) 0.20 10.82 f
vote7/U27/Y (INVX8) 0.06 10.88 r
vote7/U106/Y (INVX8) 0.04 10.91 f
vote7/U100/Y (INVX12) 0.21 11.12 r
vote7/U99/Y (INVX20) 0.17 11.30 f
vote7/U83/Y (AND2X4) 0.18 11.47 f
vote7/U84/Y (INVX12) 0.21 11.68 r
vote7/U51/Y (AND2X4) 0.13 11.81 r
vote7/U52/Y (INVX12) 0.19 12.00 f
vote7/disp_seg_reg_5_/D (DFFRHQX4) 0.00 12.00 f
data arrival time 12.00
clock CLK (rise edge) 30.00 30.00
clock network delay (ideal) 3.50 33.50
clock uncertainty -0.50 33.00
vote7/disp_seg_reg_5_/CK (DFFRHQX4) 33.00 r
library setup time -0.29 32.71
data required time 32.71
---------------------------------------------------------------
data required time 32.71
data arrival time -12.00
---------------------------------------------------------------
slack (MET) 20.71
在报告的头,会列出此电路最有可能不符合时序规格路径(Critical Path)。 次设计中路点
径终为 vote7/disp_seg_reg_5_ (rising edge-triggered flip-flop clocked by CLK)。 从表中可 过各器件的延时,据到达时间为 12.00ns 。而约束的时钟周期 30ns ,允许的最 大延时为 32.71ns 。因此,允许的最大时延减去到达时间为 20.71ns 。所
6 物理实现
6.1
首先在目下建立 pnr 作为本次实验 ICC 的操作目。在 pnr 录下建设计存放 录 input_data,本束文件目
输入文件:
ICC 物理实现的输入文件为 DC 生成电网表文
物理实现过程中使用的是命令界面,使用 Tcl 语言行操,要准备应的 Tcl 命令, 方便设计进行物理实现,本设计的脚本文件存
库文件:
本设计采用的是 synopsys 公提供的 saed90nm 单元
6.2物理实现环境
本次设计仍运行在 linux 环境中,应用的工具是 IC Compiler 。 IC Compiler 是领先的 布局和布线系统。,是一单独的、具收敛性的、芯片级物理实现工具,集扁平化 及层次化设计规划、布局、时钟树综合、布线优化、可制造性及低功耗众多功能于一 体,使得在
(1)整 流程中的多核支持可提高生产率。 引入多项新技术, 如时钟并行优化的并行 时钟和数 (CCD)技术, PrimeTime 感知程变更指令 (PT-ECO) 指导与物理 影响最小化的实现,以及黄金统一电源格式 (IEEE 1801 UPF) 等,使设计人员能够 处理千
(2)采 用 IC Compiler 层化计技术现强大的设计规划和早期的芯片级探索 /分 析功能,处
(3)I C Compiler 能够提供更小的芯片寸,实现可预见设计收,从而低设计成 本。采用 Zroute 数布线器技术的 IC Compiler 结合先进的布线算法、并的可 制造性优化和多线程技术,不可以
(4)I C Compiler In-Design 与 IC Validator 签核 DRC 和
集成,从而解设计人员在设计实现阶段做快速签核收敛所遇到的制造合规困难。 (5)I C Compiler 是 Galaxy? 计平台的基石, IC Compiler 与行业标准签核解决
6.3物理实现过程
首先打开 Linux 中命令终
6.3.1 Floorplan
运行,首行的是对设计进行布图规划(Floorplan ),具体操作脚本文件 /opt/synopsys/zhou/flow/pnr/scripts/rm_icc_scripts/init_design_icc.tcl。 此次操作的目的是设 置物理尺寸大小、形,伪摆放 Macro ,置放 port 的位置,规划电
图 6.1
6.3.2 placemant
在以上基上进行 placement , 工具自动摆放 stdcel , 行时序、 功耗、 面积的优。 详细的设置脚
图 6.2 摆放标准单元
6.3.3 Clock Tree synthesis
在以上基上进 Clock Tree synthesis, 构建理想的时钟树, 从 clock port 到 reg/ck 延 时 为 0。 分 别 进 行 clock_opt_cts、 clock_opt_psyn、 clock_opt_route, 具
图 6.3 构造时钟树
6.3.4 Routing
在以上将础上进行布线(Routing ),将所有的 net 用物理连线实现并进优化, 具体的脚本
图 6.4 设计布线
6.3.5 Write Design Out
设计完后写出数据网表文件 V ote7TOP.v 、版图信二进文件 V ote7TOP.gds , 至
6.4 报告输出
布局布线完成后进行约束检查 report_constraint -all -scenario [all_active_scenarios] 结果如下:
Report : constraint
-all_violators
Design : vote7TOP
Scenario(s): func_wc_cmax func_wcl_cmax func_ml_cmin func_lt_cmin func_tt_typ Version: G-2012.06-ICC-SP2
Date : Sun Nov 22 11:54:16 2015
Scenario : func_wcl_cmax
Parasitic source : LPE
Parasitic mode : RealRC
Extraction mode : MULTI_CORNER
Extraction derating : -40/-40
max_area
Required Actual
Design Area Area Slack
vote7TOP 0.00 885.64 -885.64 (VIOLATED)
1
因为为了使设计尽可能的做到面积最小,在 SDC 约束置 max_area为 0,所以出现 了面积的违
6.5 LVS 和
DRC
图 6.5 LVS和 DRC 结果
从上图可以得出结论:本设计进过 LVS 和 DRC 检测,得到的错误警告均为 0,所以
结 论
本此课设计第一次 Linux 系统下进行的, 习惯了 xindows 下的图形界面操作, linux 系统操作起相当困难。这次的课程设有以下几难点:第一,安装软件难度大, 用的软件有 Design Compiler和 primetime , 也第次在 linux 下安装, 在安的过程 需用命令来启项、配置文件等乱八的东西,花费了不少的时间。第二, 软件作难度大,根本不知道如何输入指令,不知道如何运行工具,这可能对操系统 和软件的陌生而造成的。通过网上找资料和与学之间交流,慢慢的熟悉起来了。第 三, tcl 语言的不认识,不知道怎么写约束、 top 、 iopads ,只能对照一些事例照着该, 运行后哪里不对就
这次的课程设计马老师又发扬了他一如既往严的精神,他求我自己去索去 习,但在关时还是得到他的帮助的。我还是比较认同他的,只有这样我们才能培 养自己的学习能力学的
总的来说,这次的课程设计还是比较成功的,也学一东西:要面对困难,虽然 开始比较难,但是不要放弃,认真对待,就
参考文献
[1] Jan M.Rabaey, Anantha Chandrakasan, Borivoje Nikolic 数字集成电路 电子工
[2] http://bbs.eetop.cn/thread-372921-1-1.html
[3] http://www.synopsys.com.cn/index.php?s=design+compiler
[4]
附录 A :顶层设计源代码
module vote7TOP(CLK,RST,VOTE,PASS,DISP_SEG,CNT_SEL); input CLK;
input RST;
input [6:0]VOTE;
output [6:0] DISP_SEG;
output CNT_SEL;
output PASS;
//
wire CLK;
wire RST;
wire [6:0]VOTE;
wire CNT_SEL;
wire [6:0] DISP_SEG;
wire PASS;
//
vote7 vote7(
.clk(CLK),//I
.rst(RST),//I
.vote(VOTE),//I
.pass(PASS),//I
.cnt_sel (CNT_SEL),//O
.disp_seg(DISP_SEG));//O
endmodule
附录 B :设计约束代码
#
read_verilog {vote7.v vote7TOP.v }
current_design vote7TOP
link
check_design
#time constraint
#added yourself,it is sample below
create_clock -name
set_clock_uncertainty -setup 0.3 [get_clocks clk]
set_clock_latency -source -max 0.3 [get_clocks clk]
set_clock_latency -max 0.5 [get_clocks clk]
set_clock_transition -max 0.2 [get_clocks clk]
set_input_delay -clock clk -max 600000 [get_ports
set_output_delay -clock clk -max 600000 [get_ports
set_dont_touch_network [get_clocks
set_ideal_network [get_ports
set_dont_touch_network [get_ports RST]
set_ideal_network [get_ports RST]
check_timing
#pvt
set_operating_conditions -maxWORST -max_library saed90nm_max_hth\
-min WORST -min_library saed90nm_max_htht
set_wire_load_model -name ForQa -library saed90nm_max_hth
#drc
set_load -pin_load 2 [get_ports
set_max_fanout 30 vote7TOP
set_max_transition 0.2 vote7TOP
set_drive 2.0 [get_ports
#
change_names -hierarchy -rules name_rule set verilogout_no_tri true
set_fix_multiple_port_nets -all -buffer_constants compile -map high
#
rc > ../output/tim.log
write -f verilog -hier -o ../netlst/vote7TOP.v write -f ddc -hier -o ../output/vote7TOP.ddc write_sdc ../output/vote7TOP.sdc
write_sdf ../output/vote7TOP.sdf
report_area > ../output/vote7TOP.area.log
附录 C :静
set link_library
read_verilog vote7TOP.v
current_design vote7TOP
link
set_wire_load_mode top
set_wire_load_model -name 05x05 -min
set_wire_load_model -name 20x20 -max
create_clock -period 30 [get_ports CLK]
set clock [get_clock CLK]
set_clock_uncertainty 0.5 $clock
set_clock_latency -min 3.5 $clock
set_clock_latency -max 5.5 $clock
set_clock_transition -min 0.25 $clock
set_clock_transition -max 0.3 $clock
set_clock_gating_check -setup 0.5 -hold 0.1 $clock
set_min_pulse_width 2.0 $clock
#read_sdc cons.sdc
#create_clock -name CLK_FUNC [get_ports CLK] -period 6 -waveform {0 3} set_input_delay 1 RST
set_input_delay 1 VOTE[6] -clock $clock
set_input_delay 1 VOTE[5] -clock $clock
set_input_delay 1 VOTE[4] -clock $clock
set_input_delay 1 VOTE[3] -clock $clock
set_input_delay 1 VOTE[2] -clock $clock
set_input_delay 1 VOTE[1] -clock $clock
set_input_delay 1 VOTE[0] -clock $clock
专业方向综
set_output_delay 1 CNT_SEL -clock $clock
set_output_delay 1 DISP_SEG[6] -clock $clock
set_output_delay 1 DISP_SEG[5] -clock $clock
set_output_delay 1 DISP_SEG[4] -clock $clock
set_output_delay 1 DISP_SEG[3] -clock $clock
set_output_delay 1 DISP_SEG[2] -clock $clock
set_output_delay 1 DISP_SEG[1] -clock $clock
set_output_delay 1 DISP_SEG[0] -clock $clock
create_clock -name CLK_TEST -p 1000000 -add [get_ports CLK] report_timing -path full_clock_expanded -from $clock
set timing_report_unconstrained_paths true
#
write_script -format dctcl -output vote7.tcl
#exit
41
转载请注明出处范文大全网 » 数字集成电路设计——全加器