专用集成电路设计方法复旦大学自编讲义pt课件

上传人:re****.1 文档编号:569868860 上传时间:2024-07-31 格式:PPT 页数:182 大小:1.45MB
返回 下载 相关 举报
专用集成电路设计方法复旦大学自编讲义pt课件_第1页
第1页 / 共182页
专用集成电路设计方法复旦大学自编讲义pt课件_第2页
第2页 / 共182页
专用集成电路设计方法复旦大学自编讲义pt课件_第3页
第3页 / 共182页
专用集成电路设计方法复旦大学自编讲义pt课件_第4页
第4页 / 共182页
专用集成电路设计方法复旦大学自编讲义pt课件_第5页
第5页 / 共182页
点击查看更多>>
资源描述

《专用集成电路设计方法复旦大学自编讲义pt课件》由会员分享,可在线阅读,更多相关《专用集成电路设计方法复旦大学自编讲义pt课件(182页珍藏版)》请在金锄头文库上搜索。

1、专用集成电路设计方法俞军Tel:53085050Email: 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室课课 程程 安安 排排4专用集成电路 概述 1 周4ASIC的设计流程和设计方法(重点)设计描述,设计流程 1周设计策略,综合方法 1周设计验证,ASIC设计中的考虑因素 1周深亚微米设计方法和设计技术以及EDA技术的发展 1周复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室课课 程程 安安 排排4专用集成电路的测试方法Design-for-Test Basics 2 周4可编程ASIC可编程ASIC器件的结构,资源,分类和开发系统 1周Xilinx,A

2、ltera可编程器件 2周复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述41.1通用集成电路和专用集成电路通用集成电路:市场上能买到的具有通用功能的集成电路74 系列 ,4000系列 , Memory, CPU 等专用集成电路ASIC(Application Specific Integrated Circuits)SUN SPARC Workstation 中的9块电路,某些加密电路等复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述专用标准电路ASSP(Applica

3、tion-Specific Standard Products)Modem 芯片, DVD decoder , VCD decoder, audio DAC, Motor Servo DSP 等复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述41.2集成电路发展简史复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述41.4集成电路设计和制造过程设计过程制定规范(SPEC)系统设计(System Design)电路设计(Circuit Design)版图设计(Layout D

4、esign)制造过程制版 掩膜版制造(MASK)流片(Fab) 光刻,生长,扩散,掺杂,金属化,蒸铝等产生Pn结,NPN结构,MOS 电阻,电容等 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述制造过程测试(Testing) 以Spec和Test Vector 为标准检测制造出的芯片是否满足设计要求封装(Pakaging) 划片(Cutting)键合(Wire Bonding)包封(Pakaging)形式:DIP, QFP,PLCC,PGA,BGA,FCPGA等复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章

5、第一章 专用集成电路概述专用集成电路概述集成电路功能测试示意图复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室集成电路设计过程集成电路设计过程复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述41.5ASIC技术现状和发展趋势摩尔规律: 每十八个月, 集成度增加一倍,速度上升一倍,器件密度上升一倍复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第一章第一章 专用集成电路概述专用集成电路概述专用集成电路预测与发展 SOC (System on a chip)工艺(Process)由0.35um,0.25u

6、m,0.18um进入0.13um,0.10um即高速,低压,低功耗EDA设计工具与设计方法必须变革以适应深亚微米工艺的发展 (如 Single Pass , Physical Synthesis 等)可编程器件向更高密度,更大规模和更广泛的领域发展(如Mixed Signal )MCMAnalog 电路 - 高速,高精度,低功耗,低电压ASIC产品的发展动向内嵌式系统 (Embeded System) (自动控制, 仪器仪表)计算机,通讯结合的系统芯片 (Cable Modem, 1G )多媒体芯片 (Mpeg Decoder Encoder, STB , IA )人工智能芯片光集成电路复旦大

7、学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.1 概述设计过程分电路设计-前端设计版图设计-后端设计设计流程(方法)分自底向上(Bottom Up)自顶向下(Top Down)数字集成电路设计行为方面结构方面物理方面复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.1 概述设计策略设计描述自动化设计的综合方法设计验证方法深亚微米设计方法和EAD 工具的发展复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和

8、方法42.2设计描述描述方面行为描述结构描述物理描述设计抽象的层次系统算法级寄存器传输级(RTL级)逻辑级和电路级最低层的晶体管级电路复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.2.1.硬件描述语言HDL (Hardware Description Language)VHDL VHDL描述能力强,覆盖面广,可用于多种层次的电路描述,VHDL的硬件描述与工艺技术无关,不会因工艺变化而使描述无效。VHDL支持设计再利用(Reuse)方法,支持超大规模集成电路设计的分解和组合。可读性好,易于理解,国际标准,具备通用性。复旦大学

9、专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法VHDL设计描述由五种基本设计单元组成设计实体说明(Entity declaration)结构体(Architecture body)配置说明(Configuration declaration)集合元说明(Package dec1aration)集合元(Package body)复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法ENTITY mux ISGENERIC (m:TIME:=2ns);PORT (in1,in2,se

10、l:IN BIT;out1:OUT BIT);END mux;- 设计实体说明复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法AECHITECTURE twown1 OF mux ISBEGINIF sel=1 THEN out1=1;ELSE out1=in2 AFTER m;END twown1;- 行为描述复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法AECHITECTURE twown2 OF mux ISBEGINNOT:Sb=U0(sel);AND2:S

11、1=U1(sel,in1);AND2:S2=U2(Sb,in2);OR:out1=U3(s1,s2);END twown2;- 结构描述1复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法AECHITECTURE twown3 OF mux ISBEGINNOT:Sb=U0(sel);NAND2:S1=U1(sel,in1);NAND2:S2=U2(Sb,in2);NAND:out1=U3(s1,s2);END twown3;- 结构描述2复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室VHDL 设计环境复旦大学专用

12、集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法Verilog HDL能用于行为描述和结构描述,电路描述同时可以包含不同层次,且能和混合模式的模型一起进行模拟Verilog使用四值逻辑,即0,l,X和Z,其中“X”为不定态,Z为悬空态使用的基本数据类型是 与和 寄存器。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法2.2.2 行为描述(算法描述)举例 一位全加器复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法Ver

13、ilog-HDL 描述进位算法描述module carry(co,a,b,c); output co;input a,b,c;wire #10 co=(a&b)|(a&c)|(b&c)end module复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法2.23结构描述RTL (register Transfer Level) 级门级(Gate Level) 开关级(Switch Level)电路级(Circuit Level) 4位加法器的结构描述复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC

14、设计流程和方法设计流程和方法4位加法器的结构描述module add4(s,c4,ci,a,b);input3:0 a,b;input ci;output3:0 s;output c4;wire2:0 co;add a0 (co0,s0,a0,b0,ci);add a1 (co1,s1,a1,b1,c0);add a1 (co2,s2,a2,b2,c2);add a1 (co4,s3,a3,b3,co2);end module复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室module add(co,s,a,b,c);input a,b,c;output s,co;sum s1

15、(s,a,b,c);carry c1(co,a,b,c);end modulemodule carry(co,a,b,c);input a,b,c;output co;wire x,y,z;and g1(x,a,b);and g2(y,a,c);and g3(z,b,c)or3 g4(co,x,y,z)end module复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法 开关级描述(1)module carry (co, a, b, c); input a, b, c; output co; wire il, i2, i3, i4

16、, i5, i6; nmos nl (i3, i4, a); nmos n2 (i4, vss, b); nmos n3 (i3, i5, b); nmos n4 (i5, vss, c); nmos n5 (i3, i6, a); nmos n6 (i6, vss, c); nmos n7 (co, vss, i3); pmos pi (il, vdd, a); pmos p2 (i2, il, b); pmos p3 (i3, i2, c); pmosp4 (il, vdd, b); pmos p5 (i2, il, c); pmos p6 (i3, i2, a); pmos p7 (co

17、, vdd, i3); end module复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法 开关级描述(2)module carry (co, a, b, c);input a, b, c;output co;wire il, i2, i3, i4, en;nmos nl (il, vss, a);nmosn2 (il, vss, b);nmos n3 (en, il, c);nmos n4 (i2, vss, b);nmos ns (en, i2, a);pmos

18、pl(i3,vdd,b); .pmos p2 (en, i3, a); pmos p3(cn, i4, c);pmos p4 (i4, vdd, b);pmos p5 (i4, vdd, a);pmos p6 (co, vdd, en);pmos n6 (co, vss, en);end module复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.2.4 物理描述module add4; input a 3:0, b3:0;input ci;output s 3

19、:0,outpu c4;boundary 0, 0, 100, 400;portport a 0 aluminum width=l origin =0, 25;port b 0 aluminum width=l origin =0, 75;port ci polysilicon width=lorigin =50, 0;port a 0 aluminum width=ladd so origin=0,0add a1 origin=0,100end module复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.3 设计流程2.3

20、.1 bottom-Up自底向上(Bottom-Up)设计是集成电路和PCB板的传统设计方法,该方法盛行于七、八十年设计从逻辑级开始,采用逻辑单元和少数行为级模块构成层次式模型进行层次设计,从门级开始逐级向上组成RTL级模块,再由若于RTL模块构成电路系统对于集成度在一万门以内的ASIC设计是行之有效的,无法完成十万门以上的设计设计效率低、周期长,一次设计成功率低复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.3 设计流程2.3.2 Top-Down设计Top-

21、Down流程在EDA工具支持下逐步成为IC主要的设计方法从确定电路系统的性能指标开始,自系统级、寄存器传输级、逻辑级直到物理级逐级细化并逐级验证其功能和性能复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法关键技术首先是需要开发系统级模型及建立模型库,这些行为模型与实 现工艺无关,仅用于系统级和RTL级模拟。系统级功能验证技术。验证系统功能时不必考虑电路的实现结 构和实现方法,这是对付设计复杂性日益增加的重要技术,目前系统级DSP模拟商品化软件有Comdisco,Cossap等,它们的通讯库、滤波器库等都是系统级模型库成功的例子。逻

22、辑综合-是行为设计自动转换到逻辑结构设计的重要步骤复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法Top-Down设计与Bottom-Up设计相比,具有以下优点:设计从行为到结构再到物理级,每一步部进都进行验证,提高了一次设计的成功率。提高了设计效率,缩短了ASIC的开发周期,降低了产品的开发成本设计成功的电路或其中的模块可以放入以后的设计中提高了设计的再使用率(Reuse)。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.4 设计策略42.4.1 概述设计参数

23、电路性能,包括功能、速度,功耗和应用特性芯片尺寸电路的可测性及测试码生成的难易性;设计周期成功率(Time to Market)经济性(Profit)设计效率(Efficiency)复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.4.2 结构设计层次设计从高层到低层从抽象到具体利于多人同时设计使设计思想清晰,设计工作简化规则设计使一个电路系统变成大量不同的子模块尽可能地将电路划分成一组相同或相似的模块,尽可能采用规划性结构的设计,达到简化设计的目的。适用于设计的各个阶段和层次复旦大学专用集成电路与系统实验室复旦大学专用集成电

24、路与系统实验室规则性在电路级的体现;用倒相器和三态缓冲器构成的单元电路复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.4.3 设计协调模块信号的标准化信号输入的驱动输入信号的寄存输出信号的寄存模块间的连接关系串接结构迭代结构条件选择复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.4.4模块定时采用公共时钟(同步时序)结构清晰较易验证可测性好关键路径复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集

25、成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.5综合方法42.5.1概述对芯片高性能,高密度,高可靠性,设计周期的要求包含三个层次行为综合逻辑综合版图综合复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法42.5.3逻辑综合和逻辑优化综合过程是将VHDL描述转换成非优化约布尔等式的描述,也就是门级描述,读转换过程是综合

26、软件自动完成的,其过程不受用户控制。RTL级描述-一般使用HDL硬件描述语言,从描述语句和结构特征来分析可归纳为以下几种情况:使用if then-else和case语句来控制流程;反复迭代层次字宽、位向量和位场串行和并行操作算术、逻辑运算和比较操作寄存器的规定和分配。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室ENTITY counter IS PORT ( clk: IN STD_LOGIC; rs: IN STDJLOGIC; count_out: OUT STD_LOGIC_VECTOR(0 TO 2) END counter; ARCHITECTURE behav

27、OF counter IS signal next_count: STD_LOGIC_VECTOR( 2 DOWNTO 0) BEGIN IF rs= 0 THEN count_out next_count next_count next_count next_count next_count next_count = 000; END CASE; count_out MGA CBIC FCCFPGA 用于量少,上市要求快的产品 (NRE 和固定成本低 ,可变成本高(5倍于CBIC)CBIC, FCC 用于产量巨大的产品 ( NRE 和固定成本高, 但可变成本低, 在巨大产量的分摊后,NRE

28、和固定成本变得不重要)复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法2.7 设计指标-设计指标书的内容如下:ASIC芯片总体说明,包括以下细节:芯片及标识符;芯片功能及用途的简要说明;特性说明;ASIC的封装及管脚说明:芯片的封装说明及封装图;管脚名及管脚类型;管脚功能的简要说明;管脚信号特性的说明。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法ASIC的使用说明:直流规格:包括电源电压、管脚电平和管脚接口特性。其中管脚电平,应指明读管脚采用的是TTL或CMOS或

29、ECL类型的电平,同时应指明电压最小、最大值范围。交流规格:通常是指ASIC电路的工作频率,包括时钟频率以及输入信号的建立时间和保持时间,输出延迟时间,还包括其它关键信号的定时,例如最小脉冲宽度等。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法2.9 ASIC设计的综合因素考虑:ASIC 设计要求软硬件的折衷ASIC的实现方式采用的制造工艺及工艺生产线(Foundry)测试封装开发费用和生产成本市场复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法2.10深亚微米设计

30、方法和设计技术2.10.1深亚微米工艺给集成电路设计带来的新问题元件模型变化电路元件延迟减小,互连线延迟增大(5070%,0.35um)串扰和噪声时钟线和电源线的影响功耗和散热问题铝线的电迁移造成连线断裂热载流子对ASIC可靠性的影响逻辑与物理的反复设计问题(0.8um-1次,0.5um-5次,0.35um-10次)复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法2.10深亚微米设计方法和设计技术2.10.2深亚微米设计方法和设计技术的改进高层次设计规划(Floorplanning)在行为级验证成功,进入寄存器传输级设计中生成RT

31、L模块的物理抽象,进行预布局,结合物理特征,得到布局、时序及面积以及互连线信息,由此产生的综合优化的约束条件,便综合生成的门级时序得到较好的控制;经门级功能及时序验证,并生成门级物理抽象,设计规划进 行更精确的布局探索和各模块驱动、延迟的分析计算,并精确地得到关键路径的延时和电路时序;在物理级,将门级设计得到的驱动、延迟信息作一规划分析并作为时序驱动布局布线的约束条件。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法综合优化技术-进人深亚微米设计阶段,由于互连线延迟超过单元延迟,综合技术必须考虑由此引起的时序问题,改进电路时序特性

32、有以下几点措施:使用预布局得到的互连线模型替代原来的连线负载模型,原来模型是对指定工艺库单元的扇出和RC树的统计模型,它没有考虑深亚微米连线的种种影响,而互连模型是使用设计规则工具得到的互连特性模型。它能比较精确地反映互连延迟、分布特性及RC特性使用设计规划工具得到的时序约束和互连线模型去驱动综合优化过程,由此得到满足时序要求的综合结果。在物理级,将门级设计得到的驱动、延迟信息作一规划分析并作为时序驱动布局布线的约束条件复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法将综合技术与版图设计算法结合起来,产生基于布局的物理综合工具,它

33、将时序约束、逻辑网表和布局拓扑关系一起进行分析、调整。例如,根据电路驱动与负载情况,调整缓冲器和驱动单元的大小私布局;根据时序要求,减少可能存在的长连线及并行走线,减少时钟线的影响,生成较优的时钟树布局。 总之,使布局布线能满足电路的时序要求。采用行为级综合技术,这种高层次综合的任务是实现从系统级算法描述到底层结果级表示的转换,其核心技术是调度和分配。调度(scheduling)是将操作贼给所指定的控制步,在满足约束条件下使得给定的目标函数(例如控制步数、硬件资源、延迟和功耗)最小。分配是将操作和数据赋给相应的功能单元和寄存器,其目标是便所占用的硬件资源最少。复旦大学专用集成电路与系统实验室复

34、旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法模拟技术- 模拟是设计的基础,从行为级、RTL级到门级,从逻辑功能摸拟、时序模拟到故障模拟,模拟过程就是验证的过程。对于深亚微米设计,设计的数据巨量增加,电路的时序复杂性等对模拟技术提出更高的要求。总的来说,近年来模拟技术有以下几方面的发展:传统的线性延迟模型不再适用,需要建立考虑高速、低电压、低功耗以及负载和工艺影响的模型;精碗的模型可以保证电路功能和时序的设计正确,这是ASIC设计过程的核心门级模拟过程变为先进行单位延迟的功能模拟,得到门级网表,然后使用设计规划工具估算由于互连线、负载、输入信号变化速率等影响产生

35、的延迟信息,再将它们和网表及功能模型一起模拟,得到门级功能和时序结果复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法采用基于时钟的节拍式 (Cycle-Based)模拟技术,它比传统使用的事件驱动技术耍快几个量级。这种技术通常适用于同步电路的功能验证,但不能作时序验证。Synopsys公司近年推出的CycloneRTL级迷你软件,是利用高层次节拍模拟技术开发的,适用于VLSI的RTL级设计及相应的测试程序进行仿真,由于不需要象常规的将RTL级描述转换为门级描述长时间的编译步骤,使模拟时间大大缩短。深亚微米电路的时序分析成为设计的中

36、心问题,静态时序分析是解决电路时序问题行之有效的方法复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法布图技术-布图技术是集成电路芯片物理设计的关键技术,虽然早在八十年代;已经实现了布局布线自动化,但由于深亚微米设计中又出现了时序问题和设计数据量巨大的问题,显然采用以前的布图技术是无法解决:时序驱动(Timing Driven)和性能驱动(PerformanceDriven)是近几年布图技术发展的方向。对于VLSI芯片设计来说,希望有一种快速的时序驱动,性能驱动的布局布线技术,这样可以在短时间内试探多种布图的可能性,而且可以将快速预

37、布局、预布线得到的结果反馈给综合优化工具,对网表和时序进行优化,这种技术也是物理设计规划工具的基础进入深亚微米阶段,使用层次化设计和购买知识产权(IP)模块的可能性增多,因此布局布线工具应能灵活地处理模块,能够把IP模块、 第三方厂商提供的模块和设计人员自已开放的模块有机地组合起来复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法深亚微米的布线设计是一重要课题,金属线的层数已从二、三层上 升到六层左右。因此首先要支持多层布线,可以进行通道式或基于区域的布线,也可以是二者混合型的。通道式布线是一传统方法,它要求单元排列成行,行与行之间

38、留出互连线通道,通道宽度可以调节,以保证100%约有通率。另一种区域布线是假设单元布局固定,在确定的区域内完成布线。前一种方法无法预测芯片大小,后一种方法比较死板苛求两者的优化组合是所谓混合型布线方法。布线还要考虑采用宽线条克服 电迁移问题,避免高频串扰,以及对平行线分布电容计算,对电源线、时钟线也应合理分布,以保证时序要求总之提高布图质量和布通率,满足时序要求是布图的目标。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法内嵌式系统和软硬件协同开发技术-内嵌式式系统是硬件与软件协同设计实现特定要求的系统,在内嵌式系统中,通常包括有

39、微处理器模块、专用电路模块以及存放应用软件代码的ROM、RAM等。在设计过程中需要硬件与软件紧密配合,共同完成一定的电路功能,所以也称为硬软件协同设计设计重用方法(Design Reuse)-片上系统的设计是极其复杂的,采用设计重用方法是行之有效的。设计重用方法是将 ASIC设计中核心部分的设计可以不用修改或只作少量修改就可用在其它的设计之中。也就是说,对于一些有价值的模块或IP(Intellectual Property),设计一次,可以便用多次。设计重用在概念上是简单的,但是实现起来也有一定的难度。首先 设计重用方法需要一定的设计环境和设计工具,常规的Top-Down设计方法应作适当扩展。

40、首先要建立设计重用模块的系统级模型及相应的模 块库,也就是用VHDL或Verilog语言编写行为级模型,进行行为级验证然后是综合优化,直到物理设计和工艺制造,经测试和试用证实设计正确无误后,复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法才能把该模块的行为级模型、RTL级模型等存人重用模块库。因此设计工具应具有对重用模块的建立,修改,调用和管理的功能 也应具有对重用模块和其它方式生成的模块协同设计和界面格式转换的能力。设计重用的应用一般有两种情况。一种情况是重用模块包含了行为级模块和RTL模块,也就是事先已经把模块的行为级描述综合

41、成适合于某一工艺过程的形式,设计时只需要将ASlC行为级模型分配成专用工艺过程的RTL级描述,然后调用所需的RTL级模块,一起进行逻辑综合.第二种情况是针对某一特定工艺过程,将设计重用模块除了硬件块外还有软件块。软件块是执行特定操作的一般程序。例如微处理机中的微程序,它们通常以代码形式放置在ROM中,这种软件硬化的ROM也称为固件,因此软件块一般以ROM形式出现。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法设计重用也

42、是深亚微米设计的主要方法,设计重用也是对IP的再使用,通常可以把设计成功的子模块建成一个核心模块库,以便在以后的ASIC RTL级设计中调用。常用的核心模块可以有MPU、DSP、A/D、D/A、RAM、ROM、输入/输出接口以及加法器、乘法器等。设计重用方法对于超大规模或更大规模的集成电路设计尤其适用。2.11集成电路 CAD技术发展概况计算机辅助设计(CAD)计算机辅助测试(CAT) 计算机辅助工程(CAE)计算机辅助制造(CAM)电子设计自动化-EDA(Electronics Design Automation)复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章A

43、SIC设计流程和方法设计流程和方法电子设计自动化-EDA(Electronics Design Automation)第一代-绘图及版图图形编辑,七十年代IC发展初期第二代-逻辑模拟和版图设计自动化,八十年代,集成电路巳从中规模发展到大规模第三代-概念驱动设计和Top-Down的设计方法l;从八十年代后期第四代-深亚微米设计技术复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第二章第二章ASIC设计流程和方法设计流程和方法复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.1概述可编程逻辑器件 (programable Log

44、ic Device)简称PLD70年代 PROM, PLA, PAL80年代初 GAL Latice 公司84年 EPLD (CPLD) Altera 公司85年 FPGA Xilinx 公司90年代0.18um, 1.8V, 56层布线,几百万门,速度200MHz,内部RAM, 片内DLL,丰富的布线资源. 强大的EDA软件和IP支持,朝高速,高密度,低功耗,大容量方向发展 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.1概述可编程ASIC (FPGA,CPLD)特点规模较大(几千门几百万门)适用于时序,组合等各种逻辑电路大部分具有重

45、复特性设计周期短,风险小,设计费用低现场和在系统编程复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.2可编程ASIC器件的结构,资源和分类 44.2.1基本结构可编程ASIC器件包含有三种编程资源:可编程逻辑功能块 (LOGIC FUNCTION BLOCKS)可编程输入输出块 (I/O BLOCKS)可编程连线资源 (INTERCONECT)复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复

46、旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4可编程逻辑功能块 (LOGIC FUNCTION BLOCKS)可编程逻辑块是ASIC器件实现逻辑功能的主要部分。目前的可编程ASIC器件中有三种不同类型的基本逻辑单元基于查找表的逻辑单元结构基于多路选择器的逻辑单元结构。传统可编程阵列逻辑。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4可编程输入一输出块I/O提供外部封装腿与内部逻辑块之间的接口。I/O的设计须考虑许多要求支持输入、输出、双向、集电极开路和三态输出模式与同一生产厂家的其它可编程

47、ASIC系列芯片接口可根据需要选择高驱动能力高速或低功耗、低噪声等等。要求1/0块能兼容多个电压标准复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4可编程连线资源提供逻辑功能块与逻辑功能块之间及逻辑功能块与I/O之间的连线。连线资源的延迟特性直接影响芯片的性能。按布线延迟可否预先估算,可编程互连资源可分为统计型和确造型二类复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.2.2编程技术-可编程逻辑器件是通过可编程开关来实现器件内部连线和逻辑功能块的编程控制。习惯上把编程开关的实现方法称为编

48、程技术。可编程ASIC的编程技术主要可分为静态RAM (SRAM)编程技术浮栅编程技术反熔丝编程技术 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4SRAM编程技术SRAM编程技术是由静态存贮单元来实现编程控制的。对芯片内阵列分布的SRAM加载不同的配置数据,芯片可实现不同的逻辑功能。编程控制是用SRAM单元去控制传输门或多路选择器,每个静态存储单元载入配置数据中的一位,控制FPGA逻辑单元阵列中的一个编程选择。采用SRAM编程技术可以重复编程,且电路编程构造与再构造的速度很快复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室

49、第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4SRAM编程技术采用SRAM编程技术,芯片一旦断电,SRAM编程数据就会丢失,因此使用时需要在ASIC芯片外附加一个非易失性的存储器。通常用一个PROM或EPROM器件实现。并且由于内部编程控制使用大量的传输门开关,使电阻较大,对信号的传输速度有一定影响。每个SRAM编程点一般需要6-7个NMOS管实现,因此芯片的面积相对较大。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大

50、学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC采用SRAM 编程技术时,通常将一定格式的配置数据存放于ASIC芯片外附加的PROM或EPROM中,在系统加电进行配置时,将配置数据加入ASIC芯片内的SRAM单元中,亦可由微处理器控制,直接将数据加载SRAM单元中目前采用SRAM编程技术的ASIC产品,主要有XilinxFPGA各个系列,AlteraFLEX各个系列和APEX系列的产品以及AT&T公司的DRCA系列产品等。Actel的系统可编程门阵列 (SPGA)也采用了SRAM编程技术复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASI

51、C4反熔丝(Antituse)编程技术反熔丝编程技术是相对于熔丝技术而提出的。熔丝技术用于PROM,PLD器件中,编程时把熔丝编程器件的熔丝烧断。反熔丝技术则相反,编程前,编程器件呈现十分高的阻抗 (100M),当加上编程电压时,则建立低电阻(500),处于永久的导通状态,因而是一次性编程的。反熔丝编程的优点:开关面积小,导通电阻低。不需要附加PROM或EPROM,保密性好。主要缺点是一次性编程,成本相对提高。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4反熔丝(Antituse)编程技术Actel公司的ACT系列FPGA采用反熔丝编程技术

52、。美国的QuickLogic公司及Xlinx8100系列,也采用反熔丝技术。由于需求问题,Xlinx已放弃反熔丝技术,Cypress也不采用反熔丝编程元件而要推出基于SRAM的产品。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4浮栅编程技术浮栅编程技术包括EPROM、EEROM及闪速存储器(Flash Memory)。这三种存储器都是用悬浮栅存储电荷的方法来保存编程数据的,因此在断电时,存储的数据不会丢失浮栅编程技术具有可擦除性,电路可再构造,并且可作为非丢失器件,在掉电后仍能保持编程数据,不需要外接永久性存储器。浮栅编程技术的工艺较复朵,

53、功耗比较高。浮栅编程技术的主要产品是Altera公司的Classic和MAX系列产品,Latice,AMD公司的产品也采用浮栅编程技术,Xlinx的CPLD产品采用FastFlash技术。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.2.3可编程逻辑单元结构可编程逻辑单元是可编程ASIC的核心,是可编程ASlC器件实现各种逻辑功能的基础,目前可

54、编程ASIC的逻辑单元结构主要有以下几类:基于查找表LUT(Look-up-Table)的结构基于多路选择器 (MUX)的结构基于传统PLD结构的可编程逻辑单元复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4基于查找表型(LUT)可编程逻辑单元结构-基于查找表型可编程逻辑单元结构的器件,其组合逻辑功能是通过“查找表”来实现的。查找表LUT是利用数字存储技术将逻辑功能真值表存储起来,通过“查表”方式实现逻辑功能4查找表型结构的优点是可以构成相当大的逻辑。目前采用这种结构的产品有Xlinx的XC3000,XC4000,XC5000系列及Spart

55、an系列和Virtex系列;Altera的FLEX10K,FLEX8K,FLEX6000系列;APEX20K系列也具有LUT结构。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4例子:用查找表结构实现一位全加器的方法。一位全加器有三个输入Ao,Bo和进位输入Ci;有二个输出:和数输出So和进位输出Co。其逻辑方程为:4 So=Ao+Bo+Co,Co=AoCi+BoCi+AoBo4 用查找表结构实现一位全加器,要求查找

56、表有三个以上的输入端和二个以上的输出端。若选用XC3000系列可将原来五输入的32xl SRAM分成两个16x1的存储器;每个存储器只用1半,即用两个三输入的8X1存储器分别存入So,Co的值。4如果选用含有四输入查找表的系列实现一位分加器,需要用二个四输入16Xl SRAM,每个存贮器也只用1半。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4多路选择器型可编程逻辑单元结构-多路选择器型可编程逻辑单元结构中基本的构成部分是多路选择器 (Mux),它是利用多路开关的特性来形成不同

57、的逻辑功能。4例如具有选择输入s和输入信号a和b的多路开关,输出的f=sa+sb,当置b为逻辑零时,多路开关实现与的功能:f=sa;当置a为逻辑1时,多路开关实现或的功能,f=s+b。4 Actel公司的Act系列器件的可编程逻辑单元采用MUX型结构。图(413)为Act-l的逻辑模块(称为LM)。它可以完成任何输4入为二变量的功能、大部分三变量功能及某些四变量功能。Act-l的LM由三个两输入多路开关和一个或门成,共有八个输入和一个输出,可以实现的函数为:4 _ _ _4 f=(S3+S4)(S1w+S1x)+(S3+S4)(S2y+S2z)4通过对输入变量进行不同的设置,可以实现7力种逻辑

58、函数4多路开关型的LM结构其基本单元较小,结构简单,逻辑单元的利用率高,但因此而需要大而复杂的连线资源复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4传统PLD类型的可编程逻辑单元结构-现今流行的复杂PLD即CPLD结构是从传统PLD结构演变而来的。以Altera公司的MAX系列CPLD为例,它的宏单元中的逻辑阵列是由可编程宽输入的与阵列和固定的或门及异或门组成。我们知道,任意组合逻辑都可以用输入变量的乘积项之和形式表示出来。因此这种AND-OR阵列结构能够产生输入变量的任意组合

59、逻辑。4MAX7000系列宏单元由逻辑阵列,乘积项,选择矩阵和可编程触发器组成,可用较少的功能块来形成逻辑函数,这样可以降低连线的规模,使连线延迟得到较好的控制4这类结构的缺点是输入端有效利用率不可能很高,导致芯片面积利用率的降低。同时CPLD结构的乘积项阵列用到线与结构和上拉电阻,故增加了静态功耗。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4传统PLD类型的可编程逻辑单元结构-现今流行的复杂PLD即CPLD结构是从传统PLD结构演变而来的。以Altera公司的MAX系列CP

60、LD为例,它的宏单元中的逻辑阵列是由可编程宽输入的与阵列和固定的或门及异或门组成。我们知道,任意组合逻辑都可以用输入变量的乘积项之和形式表示出来。因此这种AND-OR阵列结构能够产生输入变量的任意组合逻辑。4MAX7000系列宏单元由逻辑阵列,乘积项,选择矩阵和可编程触发器组成,可用较少的功能块来形成逻辑函数,这样可以降低连线的规模,使连线延迟得到较好的控制复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.2.4互连特性从互连特性上可将可编程逻辑器件结构分为两大类。类似PAL的确定型结构,类似于门阵列的统计型结构复旦大学专用集成电路与系统实

61、验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4确定型互连结构- 确定型结构提供的互连特性是在实现相同功能时每次实现相同的布线模式。所以这类PLD器件布线延迟特性是确定的。4 Altera公司器件属确定型互连结构。图 (416) 为MAX7000 系列器件的结构示意图。其PIA (Programmable Interconnect Array)可编程互连阵列为全局总线可编程通道,通过编程将各逻辑阵列块相互连接构成所需的逻辑。MAX7000的所有专用输入,I/0控制和宏单元输出均馈送到PIA,PIA把这些信号送到整个器件内的各个地方。PIA好象一个巨大的开关块。它使得一个

62、LAB的输出很方便地与另一个LAB 的输入相连。并且通过固定的开关数,使得布线与延迟计算变得非常简单,并且确定。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4图(417)是Altera的FLEX8000系列的结构图,FLEX8000器件内部逻辑单元与I/O引脚及逻辑单元之间的互连是通过快速通道 (FastTrack)。FastTrack是由一系列水平和垂直的连续式布线通道组成。每个行连线带由上百条行通道组成,每个列连线带有几十条列通道。信号按一定的规则通过行通道、列通道在LAB

63、之间及LAB与I/O之间传输,它们的连线延迟基本也是固定的复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4统计型互连结构4 统计型互连结构的设计系统,在执行相同的功能时每次给出不同的布线模式。因而延迟信息也不相同。这种结构的设计系统一般允许设计者对布线作速度或逻辑单元数目等性能方面的限制性要求。Xlinx和Actel公司的FPGA被称为是统计型结构的。4 图(418)为XC3000系列的连线结构图。XC3000系列的布线资源有通用连线、直接连线及水平和垂直长线几种,它的通用连线在

64、CLB与CLB或CLB与IQB的行列之间,由水平金属线段和垂直金属线段组成,通过开关矩阵把各线段连在一起。XC3000系列器件,布线时两块可编程逻辑单元之间的连线路径,通过的开关数,一般是不确定的。因而这种连线资源的延时通常是不可预测的。Xlinx FPGA相同,ActelFPGA器件的布线模式也是不确定的。图(4.19) 为Actel的内部可编程连线结构示意图。由图可见,它的水平互连线是各种长度的金属线通过反熔丝开关编程连接,垂直通道的互连线是一系列连续的连线,它的连线路径也是不确定的,延迟是不可预测的。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系

65、统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.3可编程ASIC开发系统用可编程ASIC(FPGA/CPLD)芯片构成ASIC,要有相应的开发软件,它一般包括:设计输入软件(Design Entry)单元库(Library)仿真软件(Simulation)物理设计软件(Mapping , P&R, Make bit Stream , Download)4431可编程ASIC设计流程可编程ASIC的设计流程如 (420)所示,即设计输入,设计实现和设计仿真复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集

66、成电路与系统实验室第四章第四章 可编程可编程ASIC设计输入:设计输入阶段的目标是产生一个网表文件,以供设计实现用。常用的设计输入方法有以下几种:原理图输入-利用原理图编辑器并使用单元库中的元件符号进行逻辑设计硬件描述语言:除原理图输入外,设计输入也常采用硬件描述语言复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC设计实现-设计实现是设计开发过程的核心部分,设计实现阶段将产生一个完整的己布局布线的设计和一个配置位流文件。设计经过优化,分配成适合相应器件逻辑功能块和其它资源的小块,并选择合适的布局、布线算法。 布局是把逻辑单元分配到ASIC芯片内

67、物理位置的过程。布局采用的算法与器件结构有关。布线是完成ASIC器件内所有逻辑连接的过程,自动布线软件采用的算法同样与器件结构有关。如ActelFPGA器件采用分段通道布线,xilinxFPGA器件采用迷宫布线算法。 最新的设计实现工具在布局、布线期间对整个信号通道执行时序分析。因此用户可以对设计规定性能要求。新的设计实现工具还具有支持递增设计的特性。它可以使设计在原有基础上进行一些小的改动而保存原有未变部分的物理实现和时序特性,这个部分不需要重新仿真和测试。设计实现工具采用的算法与器件结构有密切的关系,因而各个可编程ASIC制造公司都提供由他们本公司开发的设计实现软件复旦大学专用集成电路与系

68、统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC设计仿真-通常用于设计的有二类仿真,一类是逻辑仿真,包括功能仿真和时序仿真,另类是时序分析。功能仿真是在完成设计输入和产生网表后进行,是对设计的逻辑功能正确性的验证,没有物理设计的时序信息。时序仿真是在物理设计 (布局、布线)完成获取时序信息后进行。功能和时序仿真通常采用第三方提供的或由本公司设计开发的仿真器进行,仿真器需要输入激励,具有输出显示并有返回注释的功能。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC时序分析器是一种静态仿真工具。时序分析工具不需要输入激励而代

69、之以时序分析器对关键路径的验证。大部分设计系统可将时序分析检验到的时序违反返回至设计输入,并且在重新完成布局、布线步骤之前标注关键路径的特征,在下一步使用布局、布线软件时给予特别的注意,以便布线延迟最小。但这是一个冗长的迭代过程。使用逻辑综合可以自动进行这个设计过程的迭代阶段。在使用逻辑综合时,关键路径的信息被计算到逻辑综合中,并且时序约束被建立于前馈路径(这称为是正向注释)送往布局布线软件。 4 设计仿真是捕获和排除一些潜在故障的恰当方法,保证设计在最坏情况下,可靠的工作。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC44.3.2 Xili

70、nx设计开发系统 4Xilinx可编程ASIC的设计流程主要包括:输计输入设计实现设计仿真复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC41、设计输入- Xilinx可以原理图或ABEL,VHDL,VerilogHDL硬件描述语言进行设计输入,亦可采用混合型的设计输入方法。Xlinx可使用第三方设计输入与仿真工具,也可以与产生EDIF网表文件的其它工业标准CAE工具接口,(包括Synopsys,Cadence,Viewlogic,Orcad ,A

71、LDEC ACTIVE-HDL等等。) 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4Xilinx设计通过utility程序将xilinx设计输入工具产生的网表转换成xilinx网表格式XNF文件,以供xilinx设计实现与仿真用。4Xilinx提供对多种综合工具的接口,包括LogiBLOX Express,状态编辑器等。LogiBLOX工具是基于图形的高级语言,可以利用原理图编辑器输入并设计,产生通用的高级功能模块包括加法器,计数器,译码器,移位寄存器和RAM、ROM等,为设计提供了确定尺寸和功能 的模块库。LogiBLOX编辑器能自动地

72、为每个功能模块选择相应的结构资源,并对设计进行优化。 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4XilinxExpress软件具有对FPGA逻辑分析,综合及优化的功能。Express工具输入VHIDL或VerilogHDL格式的文件,并能对HDL源文件进行分析,检查句法错误。Express以选定的Xilinx器件结构对VHDL或VerilogHDL输入文件进行逻辑综合并根据用户的设计约束,时序要求对设计和算法功能进行优化,产生一个优化的XNF网表文件,以供设计实现工具用。4Xilinx开发软件的设计环境支持层次设计输入;顶层的符号图形定

73、义功能块,底层定义每个功能块的逻辑,层次设计有助于构思,易于设计调试,易于递增设计和平行式设计。使用层次设计时应注意考虑层次名和对器件和网线的命名。层次设计允许对不同层次的元件采用不同的设计输入工具。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC42、设计实现-XilinxFPGA,CPLD设计流程在完成设计输入后用Xilinx自主开发的物理设计软件以高度自动化程度完成从网表格式转换到产生配置FPGA的位流文件的全过程。4Xilinx XACT设计实现软件的流程可以用Xmake程序来自动进行,它包括以下几个部分(1)XNF转换 (XNF-Tr

74、anslation)XNF文件是Xilinx网表格式文件,是一个含有设计的逻辑及连接信息的ASCII文本网表格式,也支持设计的时序信息。不同的输入工具需用不同的格式转换程序来完成格式转换。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4(2)合并(Merging)合并分层设计及多设计输入源产生的多个文件为一个XNF文件4(3)映射 (Map)映射取XNF文件并将逻辑映射到Xilinx逻辑单元阵到结构中,映射步骤产生map文件。 4(4)布局一布线 (Place and Route)XMake使用自动布局、布线软件APR或PPR对设计自动布局布

75、线。4(5)产生位流文件XMake用makebts程序产生位流文件bit,用于FPGA编程。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC43、设计仿真-Xilinx设计仿真包括功能/时序仿真,静态时序分析及在电路上验证。Xilinx设计仿真采用第三方仿真工具,这些仿真工具部集成到Xilinx设计开发系统中。4 功能仿真在设计输入,产生网表文件后进行。集成工具可以从输入软件直接进入仿真软件。此时网表文件只有元件延时信息。4 时序仿真在完成布局,布线并将布线延时信息反馈注释到网表文件后进行。 静态时序分析在实现布局-布线前和布局-布线完成后进行

76、。4 Xilinx支持交互式静态时序分析工具。Xdelay静态时序分析器可以快速检测关键路径和时序危险。并在时序分析报告申提供详细的延时信息。4 用Xlinx加载电缆在实际电路板上给器件配置位流文件,可以在典型工作条件下对设计进行测试,验证。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4Xilinx设计开发软件,有第三方支持的设计输入和设计验证工具,有自主开发的设计实现软件,有多种形式的设计输入方式,还有统一的单元库和LogiBLOX库。Xilinx提供给用户的是集成化的设计工具和设计环境,Xilinx集成化的设计工具有两个系列的产品。Fo

77、undation系列Alliance系列复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4Foundation系列是一个高度集成的工具,它以集成化的设计环境提供给设计者完成FPGA,CPLD器件整个设计流程的工具,包括设计输入,逻辑综合与优化,仿真及时序驱动的设计实现。Foundation系列支持标准HDL设计,包括VHDL,Verilog HDL和ABEL。Foundation系列还集成了LogiBLOX模块生成器和Xilinx的CORE Generator系统。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可

78、编程可编程ASIC4Alliance系列软件-Alliance系列软件是开放式的系统软件,可以让用户根据应用需要,自由选择EDA设计环境,Alliance系列采用了 Xilinx 先进的时序驱动设计实现软件,含有LogiBLox模块发生器。支持增量设计并集成了Xilinx内核发生器系统。其综合工具采用了先进的A.K Aspeed算法,具有图形化约束编辑器,加快了时钟速度,使设计性能最佳。4 Alliance系列软件对多种EDA环境提供相应的库和界面,便xilinx先进的实现技术与合作方EDA工具优势相结合,为设计者提供了功能强大的整体设计方案。复旦大学专用集成电路与系统实验室复旦大学专用集成电

79、路与系统实验室第四章第四章 可编程可编程ASIC44.3.3XilinxFPGA的配置4 配置是加载设计生成的编程数据到一个或多个LCA器件的运行过程,以定义内部功能块及其互连功能。4 Xilinx开发系统在完成设计输入,设计实现及设计验证后可以调用MakeBits程序和MakePROM程序来产生配置文件,最终的配置数据被加载到FPGA的配置存储单元。 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4Makebits程序产生二进制配置文件.Bit文件,.Bit文件可以用Dawnload电缆或Xchecker电缆来配置FPGA。4 MakePR

80、OM程序把bit文件转换成包含配置信息的PROM文件,当用户要用PROM存储XilinxFPGA配置信息时,用该文件对PROM编程。PROM文件包含标题,地址,PROM数据和校验信息。4 XilinxFPGA器件有三个配置模式管脚M0、M1和M2,配置前选择M0、M1,M2的电平来决定配置模式。配置之后这些管脚可以用作辅助连接。XACTStep开发系统不利用这些资源。除非它们在数据输入时被明确规定;放置一个称为MD2、MDl或MD的焊盘符号代替输入或输出焊盘符号。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4XilinxFPGA有多种配置模

81、式。4 (一)主模式有三种主模式;在主模式中FPGA从外部数据源,如并行或串行的PROM加载配置数据。FPGA内部振荡器产生配置时钟CCLK驱动从属的外部数据源如PROM的时钟CLK,并接收PROM的数据加载到FPGA内部的存储器。 三种配置主模式为: 1、串行主模式:串行主模式数据源 (如串行PROM)以串行配置数码对FPGA进行配置。 2、向上并行主模式:并行主模式FPGA接收并行的字节数据。“向上”并行模式中起始地址从0000H开始向上递增 3、向下并行主模式,该模式中FPGA同样接收并行的字节数据。向下并行模式只是起始地址从3FFFH开始向下递减。复旦大学专用集成电路与系统实验室复旦大

82、学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4(二)非主模式 4、串行从模式 串行从模式使用串行数据配置,并在同步配置时钟CCLK作用下进行。 5、同步外设模式 在外设模式中,FPGA芯片作为微处理器的外设并通过微处理器来对FPGA进行配置。同步外设模式中外部提供的时钟信号送到CCLK便数据串行化。 6、异步外设模式 FPGA芯片同样通过微处理器来进行配置,但是内部振荡器产生CCLK信号使数据串行化。 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC 7、特快模式 特快模式类似于串行从模式,在同步配置时钟CCLK作用下进行配置。

83、只是数据是以并行的格式存在,而且一次一个字节定时进入目标器件。数据并行地加载,而不是内部串行化。配置数据的八位由每个CCLK周期加载,因此特快模式的数据运行率是其它模式的八倍。特快模式的位流与其它配置模式不兼容。具有相同配置的多个从属器件可以并行地将D0-D8,输入连接起来,这样多个器件就可以同时配置。 8、串行菊花链模式 具有不同配置的多个器件可以按“菊花链”连接在一起。FPGA开发系统对菊花链设计生成组合配置的菊花链位流,采用菊花链模式时,须将所有器件的CCLD管脚并行地连接起来,每个器件的DOUT连接到下一个器件的DlN管脚。与PROM连接的FPGA称为引导芯片,它可使用串行、并行和外设

84、工作模式。其他FPGA芯片使用串行从模式。当引导FPGA芯片配置完后,它的输出引脚DOUT输出另一个 FPGA芯片的配置码,并生成配置时钟。如此逐级完成所有FPGA芯片的配置复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室异步外设模式复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实

85、验室特快模式复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4 4.5 Xilinx可编程ASIC器件-Xilinx公司建于1984年,1985年推出世界上最早的现场可编程门阵列(FPGA)。目前Xilinx公司是世界上CMOS可编程逻辑器件的最大供应商之一。 Xilinx公司的CMOS可编程逻辑器件目前有三大类产品 1、基于CMOS SRAM工艺的可重复编程逻辑器件现场可编程门阵列FPGA。目前已开发有XC2000系

86、列,XC3000系列,XC4000系列,XC5200系列及Spanan系列和Virtex系列。 2、基于反熔丝编程技术的一次性可编程FPGA有XC8100系列。 3、复杂可编程逻辑器件CPLD,有XC7200、XC7300系列EPLD及XC9500系列CPLD。 以XC4000和XC5200系列为例,介绍XiIinx公司FPGA产品的结构和性能特点复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC4 4.5.1 XC4000系列器件的结构和性能 XC4000系列是Xilinx公司的第三代FPGA产品,并且是最早具有芯片内RAM 功能的系列。XC4

87、000的CLB中具有快速进位逻辑,芯片四周有宽位沿边译码器,XC4000系列还有边界扫描电路等结构。XC4000E和XC4000EX系列比XC4000系列有更高的系统速度,XC4000E 和XC4000EX器件能在同步系统时钟速率超过80MHz的条件下运行,其内部性能可以超过 15OMHz;XC400OE,XC4000EX比XC4000系列有更大的容量,目前最大容量可达18万门复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC XC4000EX还提供了许多新的布线特性,包括专用高速时钟缓冲器。XC4000XL是XC4000EX器件的具有高性能、低

88、电压的改进型。 XC4000E器件的输出管脚与相应的XC4000器件是一致的。一个XC4000器件可实现的位流能用于编程相应XC4000E器件。然而由于XC4000E器件包含许多新的特性,因此一个XC4000E器件可实现的位流不能下载到相应的XC4000器件中去。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC XC4000系列的结构。4一、XC4000系列CLB (Configuration Logic Block) CLB是Xilinx公司FPGA器件的基本逻辑单元。CLB以阵列形式排列于芯片中央。CLB的基本结构由LUT和可编程触发器组成

89、。XC4000系列CLB的结构如图(470)所示。l、基本构成:每个CLB由二个四输入查找表、1个三输入查找表及二个D触发器组成。每个CLB可以实现两个独立的四变量逻辑功能或任意五变量逻辑功能甚至九变量的某些逻辑功能。每个CLB有13个输入端,包括8个LUT输入,4个控制输入端和1个时钟输入端。每个CLB有4个输出端。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC2、片内RAM XC4000的任何一个CLB都可以被编程为16X2位或32Xl位RAM。在RAM模式,F和G LUT变

90、成可写的。作为16X2位RAM时,输入端F1F4,G1G4 用作RAM的地址线,如它们在RAM模式中一样,但其它控制输入端被重新定义。DIN和H1变成两个数据输入,S/R作为读写选择之用。作为32X1位RAM时,H1改为地址线,DIN是单个数据输入,S/R为读写选择。在l6X2位RAM模式时,读数据在F和G逻辑功能块的输出端是有效的。在32Xl位RAM模式时,则在H逻辑功能块输出端是有效的。 利用XC4000片内RAM 的特性,一个CLB可以实现32位存储器,而它们触发器仅能存储二位数据,这样大大减少了数据存储的成本并大大丰富了芯片设计功能。复旦大学专用集成电路与系统实验室复旦大学专用集成电路

91、与系统实验室第四章第四章 可编程可编程ASIC3、快速进位逻辑 XC4000的三个逻辑功能块中还提供了专用硬件来实现CLB之间的进位通道。使实现加法器、减法器、计数器功能时速度大大提高。实现快速进位逻辑时CLB的F、G逻辑功能块用作计算和,而专用硬件逻辑计算进位。专门的互连把进位信号布线到相邻的逻辑块。这个进位逻辑可以配置来建立任意长度的高速序列发生器、计数器、加法器、减法器等。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC二、XC4000系列的IOB XC4000系列IOB的结构如图(471)所示。 (1)XC4000IOB的输入由缓冲器;

92、触发器或锁存器组成。信号可直接输入内部或经触发器或锁存器输入。XC4000的IOB只能固定为TTL电平输入;XC4000系列IOB的缓冲器到触发器、锁存器间有一个延迟选择开关,输入数据可以编程选择经延时或直接到镀发器/锁存器。 (2)XC4000IOB的输出部分也由三态缓冲器、触发器/锁存器组成,输出信号可配置选择直接或经存储单元输出。可经配置控镭输出信号和输出便能信号反相,控制输出缓冲器的转换速率及输出缓冲器是双向传输事三态输出。XC4000系列IOB的缓冲器具有l2mA驱动电流能力,若与相邻输出缓冲器线与时可有24mA电流驱动能力。 (3)XC4000的10B具有上拉或下拉电阻,当IOB管

93、脚悬空管脚悬空时可经编程控制该管脚的电平为VCC或地。以减少功耗。上拉和下拉电阻的值约为100K。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC (4)XC4000系列IOB的输入部分触发器/锁存器与输出部分的触发器/锁存器的时钟端是分开的,时钟极性均可单独配置。 (5)XC4000系列芯片四周的每一边均附有4个宽位输入快速译码器电路,每边的译码器共享一组输入。这些输入来自CLB、IOB的信号。沿边译码器能在10ns内产生输出,需要时还可以将每个译码器在它的中心分成两个一半规模的

94、译码器。利用沿边宽位译码器可以节省CLB资源。特别对输入地址或数据位数大于CLB逻辑功能块输入端数目时,沿边译码器十分有效地解决了快速译码的问题 (6)边界扫描 XC4000系列的IOB其内部逻辑还包含有与边界扫描测试相兼容的控制测试的逻辑结构。包括指令寄存器、数据寄存器、移位寄存器,当选择边界扫描配置时,三个用户I/O腿作专用输入、输出端。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC三、XC4000系列互连资源 XC4000系列有丰富的互连资源,CLB的输入、分布在块的四边为布线提供了非常灵活的条件。输出端口均匀分布在块的四边为布线提供了

95、非常灵活的条件l、CLB的互连 XC4000系列CLB互连资源有单长线、双长线和长线 (1)单长线 (single length line) 单长线是CLB之间网格状的金属连线。水平线和垂直线交汇于开关矩阵PSM。如图472。每个开关矩阵有若干个节点,这些节点由可构造的N沟道开关晶体管组成。根据需要直接或拐弯建立单长线之间的连接。单长线和CLB的输入和输出之间有灵活的连接点。CLB 的所有输入端都可由邻近的单长线驱动。每个CLB的输出端也都可以驱动邻近的单长线。 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC (2)双长线 (DoubleLe

96、ngthLines) 双长线由二倍于单长度线的金属连线组成网络状分布。每根双长线要经过两个CLB距离再交汇于开关矩阵,提供芯片中程距离连线的灵活性。双长线一双为一组。除了时钟端输入外,所有CLB的输入均由邻近的双长线驱动。每个CLB输出都可驱动邻近的水平或垂直的双长线。通用单长线和双长线提供了相邻功能块之间的快速布线和复杂布线的最大的灵活性。它们每通过一次开关矩脖增加一次延迟。双长线比单长线通过开关矩阵的次数少一倍,因而延迟小。 复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC (3)长线(LongLine) 长线跨越芯片纵向或横向网格状分布于

97、整个芯片。CLB的输入可以由相邻的长线驱动。CLB的输出则可以通过三态缓冲器或单长 线连接到长线上。单长线可通过可编程连接点PIP连接长线。双长 线不与其它线相连。每个CLB周围有三态缓冲器(TBUF),可用来驱动邻近CLB上方和下方的水平长线。三态缓冲器可以由相邻CLB的X、Y、 XQ、YQ的输出所驱动,或者由附近单长线所驱动。三态缓冲器的 便能信号来源于相邻的垂直单长线或长线。位于阵列左边和右边的 IOB的附近,有附加的TBUF。这些TBUF可以用来在水平长线上 实现多路多用或双向总线功能。长线末端有可编程上拉电阻。XC4000有八条全局线。由专用全局缓冲器驱动,可用作全局时 钟线或高扇出

98、控制线。每根长线在正中央由可编程开关分隔咸两个独立的布线通道,以提高长线的利用率。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC (4)四倍长线 XC4000EX另有12根垂直和12棍水平的四倍长线通过CLB的行和列,如图(473)所示。四倍长线的长度是单长线的四倍,线段与线段之间通过缓冲的开关矩阵连接,信号在四倍长线上传送,进入缓冲开关矩阵前要通过三个CLB的缓冲器,四倍长线以四根为一 组,交替地与缓冲开关矩阵连接,因此在行或列申的每根线每隔三个CLB区域通过一个缓冲开关矩阵。

99、每个缓冲开关矩阵,由一个缓冲器和六个传输管组成,它类似于一般的可编程开关矩阵,但增加了一个可编程缓冲器;它可以有二个以上独立的输入和二个以上独立的输出,但只有一个独立的输入可以被缓冲。布线软件将自动根据设计的时序要求决定一个四倍长线的信号是否应该被缓冲。由于缓冲开关矩阵的作用,四倍长线提供了快速布线。对于跨越器件的长距离重负载信号,四倍长线提供了最快速度布线的有效方法。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编程ASIC (5)直接互连 (仅XC4000EX有) XC4000EX相邻C

100、LB之间提供了二根直接、高效和快速连线。这些连线使数据流从器件的左边到右边,从顶部到底部非常容易。如图(4,74)所示,信号在直接互连线上传送连线传播延时最小并且不占用通用连线资源。直接互连也提供于CLB与邻近IOB之间,器件左边和顶端的每个IOB有一个与附近CLB的直接通路,由于每个CLB的行和列有两个IOB,阵列右边和底部的每个CLB有一个直接通路连接附近的两个IOB。 自动布线软件使用直接互连可以解决需要最大布线资源和最小连线延时的问题。复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室第四章第四章 可编程可编

101、程ASIC 2、I/O布线-XC4000系列器件增加了环绕 IOB的被称为多用环 (VersaRing)的布线资源。 多用环包括入条双长度线,四条长线以及四条全局连线和两条宽位沿边译码连线。如图(475)所示。多用环布线便管脚布线更灵活,并便管脚“置换:等高层次编辑处理的功能更强。XC4000EX系列在CLB阵列和I/O脚环之间还有八条互连通道,提供了引腿分配的通用性和固定引腿的灵活性。这些布线通道被称为八倍线,因为每隔七个CLB,它们可以被一个具有分裂器开关功能的可编程缓冲器断开。这些缓冲器是交错的,所以每根线沿器件边每隔七个CLB区域通过一个缓冲器。八倍线绕器件的角析弯复旦大学专用集成电路与系统实验室复旦大学专用集成电路与系统实验室

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号