集成电路版图设计基础第三章:数字IC版.ppt

上传人:小飞机 文档编号:6066361 上传时间:2023-09-19 格式:PPT 页数:63 大小:2.26MB
返回 下载 相关 举报
集成电路版图设计基础第三章:数字IC版.ppt_第1页
第1页 / 共63页
集成电路版图设计基础第三章:数字IC版.ppt_第2页
第2页 / 共63页
集成电路版图设计基础第三章:数字IC版.ppt_第3页
第3页 / 共63页
集成电路版图设计基础第三章:数字IC版.ppt_第4页
第4页 / 共63页
集成电路版图设计基础第三章:数字IC版.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《集成电路版图设计基础第三章:数字IC版.ppt》由会员分享,可在线阅读,更多相关《集成电路版图设计基础第三章:数字IC版.ppt(63页珍藏版)》请在三一办公上搜索。

1、第三章 数字IC版图,设计过程 验证电路逻辑 编译网表版图设计过程 平面布局 布置 布线 预制门阵列芯片 验证 流程图 实例,school of phye,basics of ic layout design,1,school of phye,basics of ic layout design,2,设计输入:VHDL 硬件描述语言(HDL)VerilogHDL VHDL:Very High Speed Integrated Circuits HDL 于1987年成为IEEE标准 在系统抽象方面略胜一筹 VerilogHDL:1983年由Phil Moorby首创 于1995年成为IEEE标准

2、 容易掌握,在开关电路描述方面比VHDL强很多,设计过程-验证电路逻辑,school of phye,basics of ic layout design,3,设计输入:HDL HDL:Hardware Description Language HDL编码的模拟验证要比晶体管级的SPICE模拟快得多,但不如真正的Si芯片快。硬件描述语言的特点:特点一:可以在不同的抽象层次对电路加以描述有:系统级、行为级、寄存器传输级(RTL级)、门级、开 关级(晶体管级)。特点二:在每个抽象层次的描述上都可被模拟验证,(节约成 本,缩短开发周期,保证正确性)。特点三:较高层次的HDL描述与具体的工艺实现无关,

3、便于标准 化与发展可重用技术。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,4,设计输入:HDL-从域和层次表示分层分级设计思想 域:行为域:集成电路的功能 结构域:集成电路的逻辑和电路组成 物理域:集成电路掩膜版的几何特性和物理特性的具体实现 层次:系统级:系统最高层次的抽象描述,输入输出关系 行为级:侧重于模块行为功能的实现 RTL级:完成信号在各级寄存器之间的传送任务 门级:通过调用基本门来实现 开关级:用晶体管描述,设计过程-验证电路逻辑,school of phye,basics of ic layout design,

4、5,设计输入:HDL-从域和层次表示分层分级设计思想,设计过程-验证电路逻辑,school of phye,basics of ic layout design,6,设计输入:HDL 硬件描述语言的抽象级别:行为级:有关行为和技术指标模块,容易理解 RTL级:有关逻辑执行步骤的模块,较难理解 门级:有关逻辑部件互相连接的模块,很难理解 开关级:有关物理形状和布局参数的模块,非常难理解 抽象级别和综合与仿真的关系:行为仿真:行为的验证和验证模块分割的合理性。前仿真:即 RTL级仿真,检查有关模块逻辑是否正确。逻辑综合:把RTL级模块转换成门级。后仿真:用门级模型做验证,检查门的互连逻辑功能。布局

5、布线:在门级模型的基础上加上了布线延时。布局布线后仿真:与真实的电路最接近的验证。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,7,设计输入:HDL VHDL,Verilog HDL VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言,简洁,高效,灵活,语法较自由,因此赢得了大多数工程师的喜爱。VHDL和Verilog HDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错。国外电子专业很多会在本科阶段教授VHDL,在研究生阶段教

6、授verilog。对于PLD/FPGA设计者而言,两种语言可以自由选择。如果您是ASIC(专用集成电路)设计人员,则必须首先掌握verilog,因为在IC设计领域,90以上的公司都是采用verilog进行IC设计。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,8,设计输入:HDL VHDL,Verilog HDL VHDL和Verilog HDL有很多的共同点,如硬件描述与实现工艺无关,能形式化地抽象表示电路的行为和结构,具有电路仿真与验证机制以保证设计的正确性等。目前,国内外设计者使用Verilog和VHDL的情况:美国:Ver

7、ilog:60%,VHDL:40%台湾:Verilog:50%,VHDL:50%大陆:大学,公司,设计过程-验证电路逻辑,school of phye,basics of ic layout design,9,设计输入:HDL VHDL,Verilog HDL,设计过程-验证电路逻辑,适用抽象层次的比较,school of phye,basics of ic layout design,10,设计输入:HDL VHDL VHDL 即 VHSIC HDL(VHSIC:Very High Speed IC)。它起源于美国国防部(DOD:Department Of Defense)于80年代初提出的

8、超高速集成电路发展计划VHSIC。“The DOD mandated that all digital electronic circuits be described in VHDL.”由于ADA语言是DOD支持的程序设计语言,因而VHDL 是在ADA语言的基础上发展起来的。VHDL advantages:design verification and auto-regression tests;VHDL is recommended for government contracts;VHDL commercial models are available for purchase;VHDL

9、 is a documentation language;VHDL is a simulation language.,设计过程-验证电路逻辑,school of phye,basics of ic layout design,11,设计输入:HDL VHDL BASIC DATA TYPE:Bit BIT_VECTOR(0 TO 7)STD_LOGIC STD_LOGIC_ VECTOR(15 DOWNTO 0)I/O direction IN OUT INOUT-输入输出双向口 BUFFER-与INOUT类似,区别在于输入信号来自于实 体内部产生的回读输出的信号,即允许反馈,一般不用。,设

10、计过程-验证电路逻辑,school of phye,basics of ic layout design,12,设计输入:HDL VHDL 五大元素之“library,设计过程-验证电路逻辑,school of phye,basics of ic layout design,13,设计输入:HDL VHDL 五大元素之“library,设计过程-验证电路逻辑,school of phye,basics of ic layout design,14,设计输入:HDL VHDL 五大元素之“entity”“entity”称为实体,描述了电路器件外部情况及各信号端口的基本性质。entity enti

11、ty_name is port(p_name:port_m data_type;p_name:port_m data_type);end entity entity_name;电路的端口及其端口信号描述语句PORT()p_name端口信号名 port_m 端口模式:IN、OUT、INOUT、BUFFER data_type 数据类型:整数数据类型 INTEGER 布尔数据类型 BOOLEAN 标准逻辑位数据类型 STD_LOGIC 位数据类型 BIT,设计过程-验证电路逻辑,school of phye,basics of ic layout design,15,设计输入:HDL VHDL 五

12、大元素之“entity”标准逻辑位数据类型“STD_LOGIC”取值:(U,-Uninitialized X,-Forcing Unknown 0,-Forcing 0 1,-Forcing 1 Z,-High Impedance W,-Weak Unknown L,-Weak 0 H,-Weak 1-,-Dont Care);位数据类型”BIT”取值:BIT数据类型的信号规定的取值范围是逻辑位1,0。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,16,设计输入:HDL VHDL 五大元素之“architecture”“archi

13、tecture”称为结构体,结构体负责描述电路内部逻辑功能或电路结构,并行语句,可以同时存在多个。architecture architecture_name of entity_name is architecture_declarations(说明语句)begin concurrent_statements(功能描述语句)end architecture architecture_name;说明语句:包括在结构体中需要说明和定义的数据对象、数 据类型、元件调用声明等。并非必须的。功能描述语句:必须的,给出相应的电路功能描述语句,可以是 并行语句、顺序语句或他们的混合。,设计过程-验证电路逻

14、辑,school of phye,basics of ic layout design,17,设计输入:HDL VHDL 五大元素之“process”“process”进程语句和顺序语句,VHDL所有合法的顺序描述语句必须放在进程语句中,如IF_THEN_ELSE_END IF等。process_label:process(sensitivity_list)is process_declarations begin sequential_statements end process process_label;sensitivity_list:敏感信号表,通常要求把进程中所有的输入信号都放在敏

15、感信号表中。process的执行依赖于敏感信号的变化,当某一敏感信号发生跳变,就将启动此进程语句,而在执行一遍整个进程的顺序语句后,便返回进程的起始端,进入等待状态,直到下一次敏感信号中某一信号跳变才再次进入“启动-运行”状态,再执行一遍进程。一个结构体中,可以存在多个进程,它们是并行的,而任意一个进程属于顺序语句。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,18,设计输入:HDL VHDL 五大元素之“configuration”“configuration”决定使用哪一个“architecture”。configuratio

16、n结构:configuration configuration_name of entity_name is for architecture_name end for;end configuration_name;,设计过程-验证电路逻辑,school of phye,basics of ic layout design,19,设计输入:HDL package实例 package logic is 包头说明 type three_state_logic Is(0,1,z);constant unknown_value:three_state_logic:=0;functioninvert(i

17、nput:three_state_logic)return three_state_logic;end logic;package body logic is 包体说明 functioninvert(input:three_state_logic)return three_state_logic;begin case input is when 0=return 1;when 1=return 0;when z=return z;end case;endinvert;end logic;,设计过程-验证电路逻辑,school of phye,basics of ic layout design

18、,20,设计输入:HDL package实例 use logic.three_state_logic.logic;use logic.three_state_logic.invert;entity inverter is port(x:in three_ state_logic;y:out three_ state_logic);end inverter;architecture inverter_body of inverter is begin process(x)begin y=invert(x);-一个函数调用 wait on x;end process;end inverter_bo

19、dy;,设计过程-验证电路逻辑,use logic.all,school of phye,basics of ic layout design,21,设计输入:HDL VHDL实例 library IEEE;use IEEE.std_logic_1164.all;library ch60hp231d;use ponents.all;entity NAND2 is port(A:in std_logic;B:in std_logic;Z:out std_logic);end NAND2;,设计过程-验证电路逻辑,school of phye,basics of ic layout design,

20、22,设计输入:HDL VHDL实例 architecture STRUCT of NAND2 is signal I:std_logic;begin U0:an02d1 port map(A,B,I);U1:in01d1 port map(I,Z);end STRUCT;,设计过程-验证电路逻辑,school of phye,basics of ic layout design,23,设计输入:HDL VHDL实例 architecture DATAFLOW of NAND2 is begin Z=A nand B;end DATAFLOW;architecture RTL of NAND2

21、 is begin process(A,B)begin if(A=1)and(B=1)then Z=0;else Z=1;end if;end process;end RTL;,设计过程-验证电路逻辑,school of phye,basics of ic layout design,24,设计输入:HDL VHDL实例 configuration cfg_nand2 of NAND2 is for RTL end for;end cfg_nand2;,设计过程-验证电路逻辑,school of phye,basics of ic layout design,25,设计输入:HDL Veril

22、og HDL Verilog HDL 是在C语言的基础上发展起来的一种硬件描述语言。它是由GDA(Gateway Design Automation)公司的Phil Moorby在1983年首创的,最初只是设计了一个仿真与验证的工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出了他的第三个商用仿真器VerilogXL,并获得了巨大的成功,从而使Verilog HDL得到了推广应用。1989年Cadence公司收购了GDA,使得Verilog HDL 成为了该公司的独家专利。1990年Cadence公司公开发表了Verilog HDL,并成立OVI(Open Veri

23、log International)组织以促进Verilog HDL 语言的发展。1995年Verilog HDL成为IEEE标准。Cadence custom tools:Cadence VLSI tools:Virtuoso Schematic Editor NC-Verilog(LDV)Spectre Simulation Buildgates Virtuoso Layout Editor Silicon Ensemble(SE)Diva,设计过程-验证电路逻辑,school of phye,basics of ic layout design,26,设计输入:HDL Verilog H

24、DL发展历史,设计过程-验证电路逻辑,school of phye,basics of ic layout design,27,设计输入:HDL Verilog HDL的应用-ASIC 和FPGA设计师可用它来编写可综合的代码。-描述系统的结构,做高层次的仿真。-验证工程师编写各种层次的测试模块对具体电路设计工程师 所设计的模块进行全面细致的验证。-库模型的设计:可以用于描述ASIC 和FPGA的基本单元(Cell)部件,也可以描述复杂的宏单元(Macro Cell)。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,28,设计输入:

25、HDL Verilog HDL的特点-既能进行面向综合的电路设计,也能进行电路的模拟仿真;-多层次上对设计系统进行描述,从开关级、门级、寄存器传输 级(RTL)到行为级,设计规模任意;-灵活的电路描述风格:行为、结构、数据流或混和;-行为描述语句(条件、赋值、循环等)类似于软件高级语言,便于使用;-内置各种基本逻辑门(and,or,nand,etc.)以及开关级元件(pmos,nmos,cmos);-用户定义原语(UDP):组合、时序逻辑。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,29,设计输入:HDL Verilog HDL

26、在不同抽象层次上的描述形式,设计过程-验证电路逻辑,门级module array_buf(in,out,en);input 3:0 in;output 4:0 out;input en;/*instance*/bufif1 array_buf0(out0,in0,en);bufif1 array_buf1(out1,in1,en);bufif1 array_buf2(out2,in2,en);bufif1 array_buf3(out3,in3,en);endmodule,RTL级module mux(out,a,b,sel);output out;input a,b,sel;assign o

27、ut=(sel=0)?a:bendmodule,行为级/算法级sum=0;for(i=0;i7;i=i+1)beginsum=sum+Ai;endsum_out=sum;,school of phye,basics of ic layout design,30,设计输入:HDL Verilog HDL代码的基本结构 Verilog HDL 是由称之为module的模块组成的,一个完整的Verilog HDL模块由以下五个部分组成:,设计过程-验证电路逻辑,1.模块定义行2.端口类型说明3.数据类型说明4.描述体5.结束行,school of phye,basics of ic layout d

28、esign,31,设计输入:HDL Verilog HDL代码的基本结构,设计过程-验证电路逻辑,例:上升沿D触发器的描述及对应电路,mudule dff_pos(data,clk,q);input data,clk;output q;reg q;always(posedge clk)q=data;endmodule,模块定义行,端口类型说明,数据类型说明,描述体,结束行,school of phye,basics of ic layout design,32,设计输入:HDL Verilog HDL代码的基本结构,设计过程-验证电路逻辑,模块描述,模块定义行端口类型说明数据类型说明描述体结束

29、行,过程块1过程块2,.,过程语句(initial/always),块语句(begin-end/fork-join),过程语句:一个模块内可以包含任意多个initial和always语句,且并行执行。initial语句只执行一次,在模拟开始时执行,执行结束则模拟终止。always语句可由电平敏感事件控制、边沿触发事件控制或者二者的组合。,school of phye,basics of ic layout design,33,设计输入:HDL Verilog HDL代码的基本结构,设计过程-验证电路逻辑,块语句:顺序语句块:begin-end 并行语句块:fork-join,begin#2 d

30、ata=1;#3 data=0;#4 data=1;end,fork#2 data=1;#3 data=0;#4 data=1;join,0 2 5 9,0 2 3 4,school of phye,basics of ic layout design,34,设计输入:HDL Verilog HDL always语句、“assign 语句”和“元件的实例调用,如and2 aa(q,a,b);”是Verilog 模块中三种可以生成逻辑电路的语句。如果信号变量是在过程块(initial块 或 always块)中被赋值的,必须把它声明为寄存器reg类型变量。在always块的reg变量并不一定生成触

31、发器,如“always(b)out1=b;”只是生成了一个反相器的组合逻辑。有些Verilog硬件描述语言是不可综合的,仅仅是用于仿真验证测试的行为语言;有些不好的编码风格会导致在综合时产生不希望的逻辑,有的甚至会引起功能的紊乱。所以养成好的编码习惯是有必要的,因为这些好的编码习惯能够规避一些可能在综合以及后端的版图方面出现的不必要的麻烦。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,35,设计输入:Verilog HDL实例 module count4(out,reset,clk);output3:0 out;input res

32、et,clk;reg3:0 out;always(posedge clk)begin if(reset)out=0;else out=out+1;end endmodule,设计过程-验证电路逻辑,school of phye,basics of ic layout design,36,模拟验证:对所设计的电路要用模拟器进行逻辑功能验证。而模拟验证的前提是要“搭建”一个测试平台。测试平台”testbench”可以对行为或者结构级的电路模块进行动态的全面测试,通过观测被测试模块的输出信号是否符合要求,可以调试和验证逻辑系统的设计和结构正确与否,发现问题并及时修改。,设计过程-验证电路逻辑,测试信

33、 clk 号和测 试条件 的控制 reset,counter4,被测模out 块对测 试信号 的响应,counter4 testbench,school of phye,basics of ic layout design,37,模拟验证:testbench timescale 1ns/1ns initial include count4.v“begin clk=0;reset=0;module coun4_tb;#DELY reset=1;#DELY reset=0;reg clk,reset;#(DELY*20)$finish;wire3:0 out;end parameter DELY=

34、100;initial$monitor($time,clk=%d count4 mycount(out,reset,clk);reset=%d out=%d,clk,reset,out);always#(DELY/2)clk=clk;endmodule,设计过程-验证电路逻辑,以$字符开始的标识符表示系统任务或系统函数。,school of phye,basics of ic layout design,38,模拟验证:testbench-编译器指令 timescale 10ns/1ns parameter d=1.57;#d-timescale 10ns/1ns:以反引号“”开始的语句是编译

35、器指令。timescale将模块中所有时延的单位设置为10ns,时间精度为1ns。-parameter d=1.57;#d:parameter参数定义。“#1.57”是代表 1.57个“时间单位(10ns)”,也就是15.7ns,可是精度只能取到1ns,四舍五入之后“#d”也就是延时是16ns。-verilog中是没有默认timescale的。一个没有指定timescale的Verilog 模块就有可能错误的继承了前面的timescale参数。所以推荐“在每个 module的前面指定timescale,或者在最后加一个resetall来确保 timescale的局部有效”。,设计过程-验证电路

36、逻辑,school of phye,basics of ic layout design,39,模拟验证:testbench-编译器指令*define,undef:用于文本替换。*ifdef,else,endif:用于条件编译。*default_nettype:将那些没有被说明的连线定义线网类型。*default_nettype wand:定义缺省的线网为线与类型。*include:嵌入内嵌文件。编译时,这一行由文件“xx.v”替代。*resetall:将所有的编译指令重新设置为缺省值。*timescale:当一个设计中的多个模块带有自身的timescale编 译指令时将发生什么?在这种情况下

37、,模拟器总是定位在所有模块 的最小时延精度上,并且所有时延都相应地换算为最小时延精度。*unconnected_drive pull1/pull0,nounconnected_drive:在模块实例化中,出现在这两个编译器指令间的任何未连接的输入 端口或者连接到高电平或者连接到低电平。*celldefine,endcelldefine:用于将模块标记为单元模块。它 们包含模块(module)定义。某些PLI例程使用单元模块。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,40,模拟验证:模拟仿真软件 Logic Design and

38、 Verification(LDV)-Cadence VHDL System Simulator(VSS)Verilog Compiled Simulator(VCS)Modelsim-Mentor Graphics Quartus II-Altera Active-HDL-Aldec,设计过程-验证电路逻辑,Cadence LDV 5.1,-Synopsys,school of phye,basics of ic layout design,41,模拟验证:模拟仿真软件 2007年EDA软件前三位的是Synopsys、Cadence和Mentor。从市场占有看,Cadence的强项产品为IC

39、板图设计(Allegro系统互连设计平台)和服务,Mentor Graphics的强项产品为PCB设计和深亚微米IC设计验证和测试,Synopsys的强项产品为逻辑综合。-Cadence:美国加州圣何塞。全球最大的电子设计技术(Electronic Design Technologies)、程序方案服务和设计服务供应商。-Synopsys:美国加州Mountain View。2002年并购Avant!后,该公司 成为提供前后端完整IC设计方案的领先EDA工具供应商。-Mentor:美国俄勒冈州的Wilsonville。中文译名“明导资讯”。-Altera:美国加州圣何塞。可编程芯片逻辑解决方案

40、倡导者。-Aldec:美国内达华州。致力于可编程芯片逻辑的设计验证领域。,设计过程-验证电路逻辑,school of phye,basics of ic layout design,42,模拟验证:生成的“testbench”与“仿真波形”,设计过程-验证电路逻辑,counter4 waveform,counter4 testbench,school of phye,basics of ic layout design,43,Synplify-Synplicity编译器/逻辑综合器:Design Compiler-Synopsys Buildgates-Cadence 综合网表(Netlist

41、):module div47_ungating(reset,clk,sel,clk47);input reset,clk,sel;output clk47;wire clk4,clk5,n_2,n53,n54;div4_ungating mydiv4(.reset(n54),.en4(n53),.clk(clk),.clk4(clk4);div5_ungating mydiv5(.reset(n54),.en5(n_2),.clk(clk),.clk5(clk5);inv1a1 U20(.A(n53),.Y(n_2);mx2a3 U21(.D0(clk5),.D1(clk4),.S(n53),

42、.Y(clk47);clk1a3 U22(.A(sel),.Y(n53);buf1a1 U23(.A(reset),.Y(n54);endmodule,设计过程-编译网表,school of phye,basics of ic layout design,44,综合:综合是前端模块设计中的重要步骤之一,综合的过程是将行为描述的电路、RTL级的电路转换到门级的过程。综合可分为行为级综合、逻辑综合、测试综合以及物理综合等等。行为级综合:是一种高层次综合。高层次综合是连接系统行为和系统结构之间的纽带。高层次综合在算法一级接受系统的行为描述,转换成为用ALU、RAM等功能单元、存储单元和互联元件(多路

43、选择器,总线等)描述的电路结构。高层次综合是电路综合领域中最上层任务。传统高层次综合的主要任务包括调度、分配和控制电路生成三个部分。所谓调度,就是将系统行为中的操作赋给执行过程中的某一时间段。所谓分配,是将操作和变量赋给相应的硬件进行运算和存储,将数据传输通道赋给相应的硬件进行数据的传输。控制电路的生成,是在数据通路设计好之后,综合一个按调度要求驱动数据通路的控制器。目前的高层次综合的研究重点在数据通路综合上。,设计过程-编译网表,school of phye,basics of ic layout design,45,综合:物理综合:工具如Synopsys公司的Physical Compil

44、er,它是解决0.18微米以下工艺技术的IC设计环境,是Synopsys物理综合流程的最基本的模块,它将综合、布局、布线集成于一体,让RTL设计者可以在最短的时间内得到性能最高的电路。通过集成综合算法、布局算法和布线算法。在RTL到GDS II的设计流程中,Physical Compiler向设计者提供了可以确保即使是最复杂的IC设计的性能预估性和时序收敛性。逻辑综合:Synopsys公司的Design Compiler(DC)是公认的标准,同时也是目前工业领域最流行的综合工具。它可以方便地将HDL语言描述的电路转换到基于工艺库的门级网表。,设计过程-编译网表,school of phye,b

45、asics of ic layout design,46,综合:测试综合:经过代工厂复杂的制造过程后,已经包含了若干个裸片的晶圆需要进行严格的测试然后划片、封装,经过封装后的裸片变成芯片。但此芯片仍然需要进一步进行封装后测试,若无故障,才能算真正的产品。可测性设计DFT(design for test)就是指为了使测试(制造测试)尽可能简单而有意识地在设计中加入一定附加逻辑的设计方法。DFT可分为两个范畴,设计范畴和测试模式生成范畴。设计范畴的任务是在考虑了扫描链插入的逻辑综合之后所进行的测试综合;自动测试模式生成(ATPG)的任务是根据所采用的故障模型确定一最小的激励向量集以使得设计的故障覆

46、盖率达到期望值。扫描综合的工具:SYNOPSYS的DFT Compiler。ATPG工具:SYNOPSYS的TetraMAX,MENTOR的FastScan。,设计过程-编译网表,school of phye,basics of ic layout design,47,驱动强度:编译器综合生成很大的网络,所以我们试图用单个驱动源驱动多个单元,这时需要考虑单元的驱动强度或扇出。扇出数表示一个门能够驱动多少个器件。如单元库中多个不同的反相器表示成 1x,2x或4x等,就表明了它们的驱动强度。,设计过程-编译网表,inv,2,inv,4,inv,8,1x,2x,4x,school of phye,b

47、asics of ic layout design,48,时钟数综合:Clock Tree Synthesis(CTS)如果编译器把一个大的网络分割成较小易于驱动的部分,会自动插入额外的缓冲单元来驱动每一个新形成的小网络。缓冲单元帮助驱动门和布线电容,本身并没有什么逻辑功能。作为基准的时钟,通常要连接成千上万个门,时钟网络一般都非常大,所以我们要插入缓冲器以驱动分割后的时钟网络,形成时钟树,此过程称为“时钟树综合”。,设计过程-编译网表,Clock Tree Network,school of phye,basics of ic layout design,49,版图设计工具:Silicon

48、Ensemble-Cadence Astro-Synopsys1、读入网表,跟foundry提供的标准单元库和 Pad 库以及宏模块库进行映射;2、整体布局,规定了芯片的大致面积和管脚位置以及宏单元位置等粗略的信息;3、读入时序约束文件,设置好 timing setup 菜单,为后面进行时序驱动的布局布线做准备;4、详细布局,力求使后面布线能顺利满足布线布通率 100%的要求和时序的要求;5、时钟树综合,为了降低 clock skew 而产生由许多 buffer单元组成的“时钟树”;6、布线,先对电源线和时钟信号布线,然后对信号线布线,目标是最大程度地满足时序;7、为满足 design rul

49、e 从而 foundry 能成功制造出该芯片而做的修补工作,如填充一些 dummy等。这七大步骤是基本的流程,其中每大步骤里面包含很多小的步骤。,版图设计过程-平面布局,P&R flow,school of phye,basics of ic layout design,50,平面/整体布局(Floorplanning):平面布局工具在芯片上划出功能区域、确定这些区域间的连接关系、确定I/O压焊块的位置,并反馈有关平面布局在进行布线时的难易程度。平面布局工具从编译软件产生的网表文件中获取它所需要的连接关系和门的信息。由于最终的平面布局输出文件说明了各个门的总体位置,所以平面布局工具就会知道所有

50、导线的大致长度,把这些信息回送到数字电路模拟器中验证,以检查由于这些估计的导线影响电路时序的可能性有多大。,版图设计过程-平面布局,P&R flow,school of phye,basics of ic layout design,51,布置/详细布局(Placement):布置工具固定每块(block)逻辑门的确切位置,力求使后面布线能顺利满足布线布通率100%的要求和时序的要求。布置软件从某一模块开始,寻找与这一模块相关的部件,然后根据逻辑门的连接关系和平面布局工具的输出文件来安排它们的位置。很多布置工具根据设计中信号的时序要求来确定门的布置,这一方法称为“时序驱动版图设计”。I/O驱动

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号