![[硕士论文精品]0.18um fpga 系统结构设计与优化_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e1.gif)
![[硕士论文精品]0.18um fpga 系统结构设计与优化_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e2.gif)
![[硕士论文精品]0.18um fpga 系统结构设计与优化_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e3.gif)
![[硕士论文精品]0.18um fpga 系统结构设计与优化_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e4.gif)
![[硕士论文精品]0.18um fpga 系统结构设计与优化_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e/ff759ac7-1a91-4dc9-8e45-dcf66140ad0e5.gif)
已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
018UMFPGA系统结构设计与优化1第一章第一章第一章第一章引言引言引言引言1现场可编程逻辑门阵列现场可编程逻辑门阵列现场可编程逻辑门阵列现场可编程逻辑门阵列FPGA1985年,XILNX公司推出了世界上第一块现场可编程门阵列FPGA(FIELDPROGRAMMBLEGATEARAY)芯片,可以方便地通过下载不同的配置位流文件(BITSTREAM)而实现不同逻辑功能。由于FPGA能够减少电子系统的开发风险和开发成本(NRE);缩短上市时间(TIMETOMARKET);通过在系统编程、远程在线重构等技术降低维护升级成本,因此在通信、控制、数据计算等领域得到了广泛的应用。有许多公司推出了各具特色的FPGA芯片,其中典型的有XILNX的VIRTEXXIL01系列、ALTERA公司的APEXALTE00系列及ACTEL公司的PROASICACTE00等。FPGA能够很好的利用最为前沿的制造工艺和封装工艺,并通过全定制的电路和版图设计方法优化设计,因此FPGA的逻辑密度、性能、功能和功耗都已经得到大幅改进,成本显著下降。目前,芯片的集成度已达到1000万等效门、速度可达到400500MHZXIL04ALTE04,内嵌SRAM、微理器、总线收发器、高速串行接口、时钟综合(CLOCKSYNTHESI)及功耗管理等模块。在制造上采用了009M9层铜连线工艺DAN04,并且应用新的封装技术提供了数千管脚的FPGA芯片。随着FPGA在功能、密度、速度上的不断提升和成本的降低,以及用户需求、协议标准等的变化越来越快,FPGA芯片不但被用来制作原型机,而且还被大量地应用到网络、消费电子、科研、航天及国防的许多最终产品中,成为一系列电子系统的核心。2003年,全世界以FPGA为代表的可编程逻辑器件销售额达26亿美元。然而在商用领域FPGA市场一直被国外公司所把持,到目前为止国内还没有厂商推出适合商业用途的FPGA产品。复旦大学微电子研究院正致力与填补这一空白,截止到2005年4月已流片两次,其中第一块FPGA芯片一次流片成功,经国家863项目组鉴定被评为“优”。第二块芯片FDT200K第一版试验芯片已于2005年3月18日交付中芯国际流片,而FDT200K第二版试验芯片项目也已经启动。12工作内容工作内容工作内容工作内容本论文所做的工作是了解流行的商用FPGA芯片的系统结构;分析和介绍复旦大学具有自主知识产权的FPGA芯片FDT200K第一版试验芯片,其中的可编程逻辑单元;设计FDT200K第二版试验芯片的时钟网络结构和新型可编程逻辑单元结构。工作内容具体有如下四个方面第一分析和介绍商用FPGA芯片结构,包括ALTERAMAX系列、XILNXXC4000系列、XILNXSPARTN系列。第二分析和介绍FDT200K第一版试验芯片的功能与结构以及FPGA芯片设计的主要流程,其中包括结构设计、电路设计和版图设计。本人在复旦大学半年的毕设工作中,相当一部分工作时间放在了FDT200K第一版试验芯片的后端设计上以及可编程逻辑单元的设计上,因此设计流程的介绍重点放在这两者上。018UMFPGA系统结构设计与优化2第三在分析FDT200K第一版试验芯片结构的基础上,结合商用FPGA芯片结构,设计改进型的可编程逻辑单元结构。第四探讨FPGA芯片时钟网络设计流程,完成FDT200K第二版试验芯片的时钟网络结构的设计,并完成仿真。13论文结构论文结构论文结构论文结构本文的结构如下在第二章中对FPGA的技术背景进行简介,包括FPGA器件的结构、类型,FPGA结构研究的主要方向及其现状。第三章分析和介绍几种比较流行的商用FPGA芯片结构。第四章阐述FDT200K第一版试验芯片的功能结构以及设计流程。第五章介绍改进型可编程逻辑单元的结构并给出仿真结果。第六章阐述FDT200K第二版试验芯片的时钟网络结构。第七章总结了整个论文工作,对下一步工作提出建议。第2章技术背景21FPGA结构研究结构研究结构研究结构研究一般说来,FPGA实际上是指包括现场可编程门阵列FPGA和复杂可编程逻辑器件CPLD两大类的可编程器件。由于这两类器件在技术发展中互相渗透,事实上不再具有鲜明的界限,所以多数研究者也把CPLD也看作是一种FPGA。芯片可编程结构一般包括三个方面一、可编程控制点;二、可编程的逻辑、时序单元;三、可编程互连。可编程控制点(又称为用户可编程开关)是用户配置可编程器件的关键。最早的可编程控制点是PLA中的熔丝。尽管一些小规模器件仍在使用熔丝,但我们在这里不讨论它,因为它已经被新技术所淘汰。为了实现更高密度的器件,CMOS成为了IC工业界的主流,然而实现可编程开关需要多种途径。对于CPLD而言,主流的开关技术是应用于EPROM和EPROM的“悬浮传输门”技术。对于FPGA主流的开关技术是静态RAM和反熔丝。可编程逻辑、时序单元(CLB)是可编程芯片内部实现各种功能的核心。主流的可编程逻辑单元分为基于与或阵列结构、基于LUT(查询表)结构和基于MUX结构。三种结构都是对一个多输入逻辑函数的不同表述,与或阵列结构应用于CPLD产品中,LUT结构在商用FPGA中最常见,MUX结构主要在一些研究领域出现。多数的商用FPGA都采用LUT结构,只是内部LUT连接不同。因为LUT可以完成所有对应输入的任意函数并且输出延时固定,为此带来很多好处,如映射简单、可配置成018UMFPGA系统结构设计与优化3SRAM、可软件精确模拟延迟等。很多研究表明,4输入LUT能够在设计灵活性和CLB利用率中得到较好的平衡;有公司提出随着FPGA芯片系统门的增加和设计规模的增大5输入LUT可能会更适合。在一个CLB内LUT的个数和连接方式是研究最多也是变化最快的,在XILINX的各个系列中,每个系列其都有变化,但是4输入LUT的结构不变。XC4000的由四输入LUT加一个五输入LUT组成一个CLB,SPARTAN和VIRTEX系列则将CLB内4输入LUT的数目增加到4个以上,这样减小了互连面积同时提高了工作速度。最新的VIRTEX4工作频率达到了500MHZ,依靠的就是更加紧密的LUT连接。可编程互连是可编程芯片内占用面积最大的部分。互连灵活性和互连面积是一对矛盾,各种互连结构都是在平衡二者关系。现在主要有平面化互连和层次化互连。平面化互连将整个芯片内所有CLB作为同一层次来看待,采用同一种互连方式;而层次化互连将局部几个CLB打包成一个子单元,各个子单元间采用一种互连结构而子单元内部采用另外的互连结构。层次化互连是目前最流行的互连结构。LLLSLSLLLSSSSCCCCCCCCCCCC图21对称式FPGA结构图21所示是“经典的”对称式FPGA结构XIL95,该结构最早由是JROSE等人BROW92提出,由可编程逻辑单元(图中L所示)、连接盒(CONNECTIONBOX,图中C所示)、开关盒(SWITCHBOX),图中S所示)以及连接它们的金属线组成。可编程逻辑单元能够实现一定的组合逻辑函数和时序逻辑,连接盒将可编程逻辑单元的输入输出连接到连线金属上,开关盒使得不同的连线之间进行信号的连接。这是一种平面化的结构,其中所有可编程功能模块都在同一个层次上进行组织。这种结构得到了最多的关注,多数FPGA结构的研究在这样的结构框架下进行。它灵活性好,在不同应用领域中都能得到比较好的面积利用率而且与这种结构的FPGA结构相配合的FPGACD软件也较为简单,但是速度性能相对较差AGGA94BROW92CHAN96WILT97BETZ98BETZ99。018UMFPGA系统结构设计与优化4LV0互连线LV0互连线LV0互连线LV0互连线LV0互连线LV0互连线LV1互连线LV0互连线LV0互连线LV0互连线LV2互连线LV0逻辑单元LV1逻辑单元LV2逻辑单元图22层次式FPGA结构层次式的FPGA结构如图22中所示,是通过分层的方法组织可编程功能模块。每一个层次的可编程逻辑单元都由低一层次上的若干可编程逻辑单元和可编程连线线构成,整个器件由最顶层的可编程逻辑单元、可编程连线线和可编程IO组成。这种结构面积、速度性能较好,在FPGA的规模很大时也能够方便CAD软件对可编程功能模块进行处理,但所需的软件算法也较为复杂。单元电路设计在主流FPGA中,不单单有可编程逻辑单元,往往还有很多连接到互连资源上的专用模块甚至是IPCORE。常见的模块有各种总线、内部振荡器、PL、DL、双向IO、延时控制单元、SRAM单元,最新的FPGA产品内还有DSP、处理器等IPCORE。2可编程逻辑单元结构可编程逻辑单元结构可编程逻辑单元结构可编程逻辑单元结构可编程逻辑单元(CONFIGURABLELOGICBLOCK,简称为CLB)是FPGA的核心功能单元。FPGA主要由阵列式的可编程逻辑单元组成,通过对可编程逻辑单元的不同配置和连接,编程成为不同的电路实现设计者所需的功能。在研究和商业领域提出了众多不同的可编程逻辑单元结构,根据其中组合逻辑功能的实现方法,典型的结构主要可分为三大类基于查询表LUT(LOOKUPTABLE)的结构、基于与或阵列的结构BROW96和基于基本门(主要是基于多路选择器MUX)的结构ACTE97。对CLB的研究主要从功能、速度、面积等方面出发,同时也会考虑到对功耗的优化。018UMFPGA系统结构设计与优化521基于查询表(LUT)的可编程逻辑单元基于LUT的可编程逻辑单元结构的基本原理就是将所实现的函数真值表储存于RAM中,根据输入选择输出相对应的函数输出。也可以将其看成一个存储器,其中内容在器件编程时存入,LUT的输入相当于存储器的地址输入,从存储器中读出的值即为函数输出。一个N输入的LUT,包含2N个RAM单元,能够实现N2种函数。图23所示就是输入数N4时的一个LUT例子。图23A中的LUT结构只画出了1/4。从图中可以看出,随着输入端的增加,LUT的规模将按2N的规律变化,规模会急剧增加,这是LUT结构的主要缺点。但是,采用LUT作为基本函数发生器的结构,对于工艺映射只要考虑满足输入输出端的要求即可,非常有利于算法实现。XILNX公司的FPGA产品中,采用基于LUT单元的产品典型的有XC/4000/5200系列XIL98等,目前较新的有SPARTN和VIRTEX系列。对于ALTERA公司,相应的有FLEX8000/10K系列ALTE98等,较新的有APEX系列。VIRTEX系列XILNX00中,每个逻辑单元LC内包含了一个四输入的LUT(4LUT),4个LC组成一个逻辑条(SLICE)。而在APEX系列ALTERA00中,每个逻辑单元LE(LOGICELEMNT)包含了两个3LUT,10个LE构成一个逻辑阵列块LAB(LOGICARAYBLOCK)。一般说来,基于LUT的逻辑单元是一种中等粒度的结构。22基于与阵列的逻辑块F4LUTPQRSFF4LUTPQRSF图23ALUT逻辑结构图XIL95图23BFFP,Q,R,SANDARAYPLANE018UMFPGA系统结构设计与优化6基于与阵列的可编程逻辑单元用在CPLD(复杂可编程逻辑器件,COMPLEXPROGRAMMBLELOGICDEVICE)中。这种结构是在PLD中逻辑块的基础上发展而来的,由与逻辑平面、乘积项选择器及时序模块等部件组成。其基本原理是所有的组合逻辑功能都能采用2级的与或表达式表达。在逻辑单元中(图24所示)用与逻辑平面(ANDARAYPLAN)固定实现所需要的与项,再通过对乘积项选择器的编程将实现逻辑所需要的与项选择送到或门中,最终实现所需逻辑功能。这种结构的由于该逻辑块的粒度较大(即逻辑单元实现的逻辑较复杂,所占面积也较大),有利于实现高输入的函数,在应用上适合于状态机、译码电路等控制逻辑。CPLD产品主要有ALTERA的MAX系列ALTE00和XILNX公司的XC7000/9500等系列XIL00。23基于多路选择器(MUX)的逻辑单元基于MUX(多路选择器)的可编程逻辑单元的粒度较小、功能较弱不够灵活,但硬件面积较小,而且电路速度快。如ACTEL公司的一些FPGA产品中(ACT1/ACT2/40MX/42MX等)就主要采用了基于MUX的逻辑单元,其编程方式采用反熔丝(ANTIFUSE)的一次编程技术ACTE00。图25中所示的就是该公司的40MXFPGA中的可编程逻辑单元结构。它通过将输入信号连接到8个输入端时的不同连接方法来实现不同的逻辑功能。这种结构能够实现四种基本的逻辑函数(NAD,AND,OR及NOR),其中包括任意二输入的函数,大部分三输入函数和部分四八输入函数,总共可实现702种逻辑函数。在40MX结构中,无专用的时序电路,锁存器及触发器的实现,可以根据应用的需要通过配置来实现。40MX中的逻辑块是一种细粒度的逻辑单元,由于其输入端较多,要消耗较多的连线开关。但由于反熔丝编程结构占用的面积要比SRAM小得多,且编程点的电阻较小(OUTA的延迟在标准条件下从080NS增加到了088NS;在最差条件下从130NS增加到了145NS,增加了约10,FPGA中绝大部分延迟是由互连资源产生的,所以由于新结构逻辑单元增加的延迟(约01NS)从整个芯片的角度来看可以忽略。还有一点需要说明的是表51中,AOUTA/OUTB是指OUTA与OUTB同时由一个LUT驱动并同时输出的情况,表中数据显示双输出情况下相对于单输出延迟仅增加5,验证了双输出的可行性。54本章小结本章小结本章小结本章小结本章主要介绍了改进后的逻辑单元结构。优化的逻辑单元结构相对于原逻辑单元的优势在于1针对快速进位的输出作了优化2提高了E端的利用率3提高了组合逻辑输出和时序逻辑输出利用互连的灵活性表52延迟路径工艺电压(V温度前仿真结果AOUTATNTP1825080NSSSP16125130NS延迟路径工艺电压(V温度前仿真结果AOUTATNTP182508NS/OUTBP1825093NSEOUTCTNTP1825045NSAASSP16125145NSOUT/OUTBSNSP1612516NSECSSP16125081NS表51TNTP是指标准工艺SNP是指最差工艺负载为100FF相当于20个传输管的电容018UMFPGA系统结构设计与优化21优化后的逻辑单元相对于原逻辑单元仅增加了三个数据选择器和一个BUFFER。一个原有逻辑单元中晶体管数目为400个左右,增加了3个数据选择器和一个BUFFER共增加了31个晶体管,在实际版图上可编程逻辑单元增加的面积约为10,而所有可编程逻辑单元在整个芯片中占的面积为的20左右,所以整个版图的面积增加仅为2,牺牲这一点面积换取资源利用率的提升是值得的。尽管新结构中关键路径路径延迟增加了10,但这对芯片的整体性能损失很小,此外由于新结构双输出的驱动能力增加了一倍,在实现双输出时,性能会比单输出时用互连资源来实现此功能要好很多,这也在很大程度上补偿了关键路径上由于增加一级数据选择器造成的性能损失。还有一点需要说明的是FPGA所有的硬件资源都需要软件的支持才能发挥最大效用。例如实现一个行波进位加法器,如果在工艺映射时并没有利用快速进位模块来实现进位,则快速进位模块这一资源就白白浪费了。因此在FPGA设计规划时,一定要软硬件结合才能避免资源的浪费和不必要的劳动。第六章FDT200K2时钟网络设计所有的同步电路都有一个共同点如果要使电路能够正常工作,就必须引入一个统一的时钟信号来协调各个模块的运作。如果没有这样一个统一的时钟信号,存储器就可能写入错误的数据,从而导致电路不能正常工作。在同步电路中,时钟信号连接到所有的寄存器、触发器以及LATCH上以及进行时钟信号处理的门电路中。这些负载对时钟信号线的驱动能力提出了很高的要求,如果驱动能力不佳就会导致时延增加。此外,在集成电路中由于线电容不可忽略,时钟信号线本身也已经成为一个RC网络。而我们知道信号在RC网络中传播会产生时延,时钟信号的延迟一方面会限制电路的最高工作频率;另一方面对于不同长度、不018UMFPGA系统结构设计与优化2同铝层的走线时延也会不同,这种现象叫做时钟偏移SKEW。如果不同时延的时钟信号传送给两个本应该同步工作的触发器,就有可能导致电路不能正常工作。因此在较大规模的集成电路设计中,设计一个低时延、低时钟偏移的时钟网络显得尤为重要。如本文第四章所述,FDT200K1的总的可编程逻辑单元阵列规模为1616,而第二版实验芯片FDT200K2的可编程逻辑单元阵列规模将要达到3248,由于芯片规模的不同,原有的时钟网络便不再适用,需要重新设计一个全新的时钟网络以匹配FDT200K2的可编程逻辑单元阵列。61几种常见的时钟网络结构几种常见的时钟网络结构几种常见的时钟网络结构几种常见的时钟网络结构正如上文所提到的,考查时钟网络性能最重要的两个指标是时延DELAY与时钟偏移SKEW。为了降低时延常用的手段是加大缓冲器BUFFER以及减小走线长度;为了降低时钟偏移通常采用特别优化的时钟网络使得时钟信号到各个模块的走线长度尽量相同。本节将介绍几种常见的时钟网络结构。61H树结构图61是一个典型的H树结构,从图中不难看出时钟信号输入端CLK_IN到各个节点的距离完全相等,因此这种结构最大的优点是无时钟偏移。但是从图中不难发现,H树结构的时钟网络对节点的对称性要求很高,这种对称性很少出现在一般的芯片中,因此H树很少能够直接应用到时钟网络的设计中,往往都是结合其他结构使用。612二叉树结构二叉树结构如图62所示,这种结构也是一种无时钟偏移的时钟网络结构。相对于H树型结构,二叉树结构降低了对节点对称性的要求,但是在驱动相同数目的节点数目时,二叉树比H树需要更多的级数,这就意味着需要更多的BUFFER以及带来更多的延迟,这是我们所不愿意看到的。613鱼骨型结构如图63所示,鱼骨型结构是一种有时钟偏移的时钟网络结构。相对于H树与二叉树,这种结构尽管会带来时钟偏移但是最大的优点是对对称性的要求很低,而且在实际版图设计时,我们发现这种结构最节约连线面积。CLK_IN图61图62CLK_IN图63018UMFPGA系统结构设计与优化2362FDT20K2时钟网络结构时钟网络结构时钟网络结构时钟网络结构由于FPGA中可编程逻辑单元为4832阵列结构,竖直方向上每四个CLB构成一个CLUSTER共用一个时钟信号,因此整个芯片共有1232个CLUSTER,结构较为规整,结合以上几种时钟网络结构得到FDT200K2时钟网络结构,如图64所示,图中每个圆点代表一个CLUSTER。在FDT200K1的版图工作阶段,当我们开始添加时钟网络时发现空余的连线面积主要是四铝十分紧张,因此在FDT200K2的时钟网络设计中,本人将局部时钟网络走四铝设计成较为节省面积的鱼骨型结构,在全局时钟网络结构上采用H树结合二叉树的方法走五铝。由于只有在局部上采用了鱼骨型结构,而全局无SKEW,因此可以将总的SKEW控制在很小的范围之内。图64是所有CLUSTER的时钟网络结构,并不是整个芯片的时钟网络结构,整个芯片的时钟网络应当是包括IO的时钟网络,如图65所示,图中方块表示IO模块,三角表示缓冲器BUFFER,这里采用SMIC标准单元库中驱动能力最强的CLK_BUFER20。在时钟网络的设计中,很关键的一点是要使得时钟信号到各个节点路径上BUFFER数目相同,因为不同路径上BUFFER数目的不同会带来很大的SKEW。在FDT200K1的之中网络中所有路径上的BUFFER个数都是4个。CLK_IN图64CLK_IN图65018UMFPGA系统结构设计与优化2463FDT20K2时钟网络仿真时钟网络仿真时钟网络仿真时钟网络仿真从图65可以看出,整个时钟网络是关于中心点对称的,因此只需要仿真部分节点。图66所示的是图65的第二象限的网络结构,图中所标注的节点为将要进行仿真的节点。仿真的目的是得到CLK_IN信号到各个节点的最大延迟以及各个节点之间的最大时钟偏移。631金属铝线建模在普通电路的SPICE仿真中,一般不会考虑金属连线的问题,但是时钟网络走线复杂且走线长度很长,主要的时延都是由于金属连线造成的,因此在对时钟网络进行仿真时必须考虑金属连线对网络性能的影响。但是在HSPICE中并没有提供金属线模型,因此就必须根据中芯国际SMIC提供的数据手册对金属铝线进行建模。根据SMIC提供的的数据手册,金属铝的方块电阻0780R,同层金属铝之间1UM间距电容是0037FF/UM。测量FDT200K1的版图得到每个CLUSTER的大小约为160UM280UM,且版图上各CLUSTER紧密排列,因此很容易估算图65中各个线段的长度。由于金属走线之间的阻容特性是分布参数,在建模时需要将这些分布参数集总,我们将40UM的金属铝线集总成一个单元。在走时钟信号线时两边各平行放置与信号线间距为1UM的地线对时钟线进行屏蔽如图67,每根时钟线的宽度为028UM。由此可以计算模型的参数1110780280/40UMUMRFFUMFFC740/03704050由此得到40UM金属铝线的模型,如图68所示。图68所示的金属铝线模型是建立在假设时钟线上下层均没有金属走线的情况CLK1UM1UM如图67074FF074FF074FF074FF1图68图69图66I1I2I3I4I5I6C1C2C3C4C5C6C7C8C9C10C1C12018UMFPGA系统结构设计与优化2511256FF256FF图610之下的,在实际芯片中这一情况是不太可能出现的,因此实际芯片的时钟网络的延迟和时钟偏移都会大于按照图68仿真得到的结果。SMIC的数据手册中提供了一个假设本层金属铝线上下层均为无穷大金属铝层的仿真结构,如图69所示。按照此仿真结构仿真出来的结果可以确定时钟网络延迟和时钟偏移的最大值,结合图68的仿真结果就能够确定延迟和时钟偏移的上下界。根据SMIC提供的数据手册得到图69仿真结构的参数表61,计算参数1078280/40UMUMRFFUMFFUC562/12804050将各参数整合计算后建立如图610所示的模型。此模型建立在假设TOPPLATE与BOTTOMPLATE都接地的条件下,实际上通过仿真我们发现如果将TOPPLATE与BOTTOMPLATE接任意固定电平对DELAY和SKEW并无任何影响,只是会使上升沿时间与下降沿时间有细微的差别仅几个皮秒。632时钟网络结构仿真建立金属铝的仿真模型后,根据图65以及从FDT200K1版图上测量得到的数据用CADENCE公司的GRAPHICSEDITOR工具画出基于两种金属铝线模型的时钟网络的SCHEMATIC,如图61所示。由于两种金属铝线模型构成的时钟网络仅仅是电容参数不一样结构则完全相同,因此只提供一张SCHEMATIC。此后,导出CDL网表见附录2并作相应修改以满足HSPICE的格式需要,经AVANT公司的HSPICE工具仿真得到结果,得到基于第一种金属铝线模型的时钟网络的仿真结果,如图612、图613所示,基于第二中金属铝线模型的时钟网络的仿真结果如图614、615所示。观察图612仿真波形,测量得到时钟信号延迟约为1NS;观察图613中仿真波形,可以看到I6相对输入的时钟信号延迟最小,因此以I6为基准点测量得到各个节点相对于I6节点的时钟偏移,列于表62中。从表62中可以找到最大图61WIDTHUMSPACINGUMCTOALFF/UMCBOTOMCTOPCB_AREACT_AREACCOUPCSDCSU028026235E0121E02212E0211E0211E02937E02502E03503E0302802824E01218E02218E0211E0211E02876E02536E03536E03028038186E01252E02252E0211E0211E0261E02706E03705E03028048165E01285E02285E0211E0211E02526E02869E03868E03028058151E01315E02315E0211E0211E02431E02102E02102E02028068142E0134E02343E0211E0211E02360E0217E0216E0202808135E01376E02375E0211E0211E02294E02132E02132E020281128E0142E02420E0211E0211E02214E02156E02154E02表61018UMFPGA系统结构设计与优化26图612图613节点I1I2I3I4I5I6C1C2SKEWPS16212384023节点C4C5C6C7C8C9C10C1SKEWPS203136172831324C330C1238表62018UMFPGA系统结构设计与优化27时钟偏移产生在I6与C3之间,为38PS。观察图614仿真波形,测量得到时钟信号延迟约为1NS;观察图615中仿真波形,可以看到仍然是I6相对输入的时钟信号延迟最小,因此以I6为基准点测量得到各个节点相对于I6节点的时钟偏移,列于表63中。从表63中可以找到最大时钟偏图614图615仿真条件标准工艺、25、激励信号为500MHZ、升下降延迟均为05NS、高电平18V低电平0V的方波节点I1I2I3I4I5I6C1C2SKEWP点C4C5C6C7C8C9C10C1SKEWPS236431832401428C336C1245表63018UMFPGA系统结构设计与优化28移仍然产生在I6与C3之间,为45NS。总结以上两组仿真数据得到结论该时钟网络在标准工艺、25的仿真条件下的延迟为1NS,时钟偏移在38PS到45PS之间。64本章小结本章小结本章小结本章小结本章阐述了FDT200K2的时钟网络结构的设计并完成了仿真,得到了一个延迟1NS、最大时钟偏移45PS的时钟网络结构,这两个性能参数完全能够满足FDT200K2芯片的需要。但是,在这里需要说明的是实际时钟网络的性能最终还要取决于版图的设计BUFFER的摆放位置,走线是否规范都将影响到整个时钟网络的性能,在版图设计时应尽量使实际版图的时钟网络与设计的时钟网络一致,这样才能使实际性能达到一个比较良好的指标。一般来说最终芯片的时钟网络的性能会比仿真结果略差,但是如果能够版图规划严格,这两者之间的差距就不会很大。FPGA芯片时钟网络的设计本人归纳了如下几个步骤1确定或估计各个节点(包括IO)在版图中的实际位置2根据可编程逻辑单元节点排列特点选用合适的时钟网络结构,并根据版图特点加入合适的BUFFER。3将IO节点加入在第二步中确定的时钟网络结构中,加入BUFFER使得时钟信号到IO节点路径上的BUFFER数目与时钟信号到可编程逻辑单元路径上的BUFFER数目相同。4根据以上确定了的时钟网络结构测量各条走线长度,画出SCHEMATIC,然后仿真检验结构是否达到指标。工作总结本文围绕FPGA硬件结构,分析了三种商用FPGA芯片结构;阐述了复旦大学具有自主知识产权的FPGA芯片FDT200K1的设计流程及硬件结构;设计了下一版试验芯片FDT200K2的可编程逻辑单元结构以及时钟网络结构,探讨了FPGA时钟网络设计的方法,取得了一定的成绩,但是FPGA芯片设计是一个具有挑战性的课题,仍然有大量的工作需要开展。1需要对将来流片回来的芯片进行系统、全面、细致的测试工作,来检验、查找芯片设计中是否存在设计漏洞和缺陷。2需要开发出相应的软件配合FDT200K芯片,从而对FDT200K的结构进行面积、速度方面的评估和改进。3FDT200K1可编程逻辑单元的数量只有256个,而下一步工作的一个重点就是将现有规模扩展到1536个4832,018UMFPGA系统结构设计与优化29还需要对系统结构进行一定的调整,如第六章所介绍的时钟网络就是为扩展后的FDT200K2所设计,此外规模的扩大将增加编程点数量,对芯片设计特别使版图规划提出了更高的要求。4FPGA可编程核的硬件结构发展必须和CAD软件系统协调发展才能真正发挥作用,现在新的软件系统还不能完全对一些硬件结构上的特点有效利用。5FPGA周边接口的设计还需要加强。例如,内部振荡器的设计,加入数字锁相环以用于倍频,设计象商用FPGA那样具有多样的编程下载方式。6针对不同应用对FPGA内部核心电路的进行专门的改进。FPGA应用的领域很多,因此有必要针对不同的应用对电路进行改进。附录1FDT200K1版图截图018UMFPGA系统结构设计与优化30附录2时钟网络结构仿真网表AUCDLNETLISTLIBRARYNAMEFPGA0408TMPTOPCELAMECLKNETWORK_MODELVIEWNAMESCHEMATICNETLISTEDONMAY101457222005EQUATIONSCLEMETRMGAPARINCLUDEDSIM_FPGAMODEL018L018_V2P1MDLLIBDSIM_FPGAMODEL018L018_V2P1LIBTTEMP25GLOBALGNDVDDPINGNDVDDLIBRARYNAMEFPGA0408CELAMECLKBUFX20_FPGAVIEWNAMESCHEMATIC内核面积3MM2MM芯片面积35MM35MM晶体管数目70万018UMFPGA系统结构设计与优化31VD0VD018VGNGN0SUBCKTCLKBUFX20_FPGAYM0YNET7GNDGNDN18L018UW12U1VDNET7YVP18L018U288UM2NET7AGNDGNDN18L018UW4U3VDNET7VP18L018U996UENDSCLKBUFX20_FPGALIBRARYNAMEFPGA0408TMPCELAMECLKNET1VIEWNAMESCHEMATICSUBCKTCLKNET1INOUTPINIFOINIOUTOR0INOUT1RPC1INGND148FCP0OUTGND148FPENDSLIBRARYNAMEFPGA0408TMPCELAMEX160UMVIEWNAMESCHEMATICSUBCKTX160UMINOUTPINIFOINIOUTOXI3NET8NET4/CLKNET1I2NET4OUT/CLKNET1XI1NET10NET8/CLKNET1I0INNET10/CLKNET1ENDSLIBRARYNAMEFPGA0408TMPCELAMETOP3CLKNET_MIDVIEWNAMESCHEMATICSUBCKTTOP3CLKNET_MIDINOUTA0OUTA1OUTA2OUTA3OUTB0OUTB1OUTB2OUTB3OUTXOUTYXI19NET081OUTB1/CLKBUFX20_FPGAI18NET081OUTB0/F20_FPXI17NET083OUTB2/CLKBUFX20_FPGAI16NET083OUTB3/F20_FPXI14NET25OUTA0/CLKBUFX20_FPGAI15NET23OUTA3/F20_FPXI1NET23OUTA2/CLKBUFX20_FPGAI10NET25OUTA1/F20_FPXI9NET31OUTX/CLKBUFX20_FPGAI8NET27OUTY/F20_FP018UMFPGA系统结构设计与优化32XI21NET27NET081/X160UMI20NET27NET083/X160UMXI5NET31NET23/X160UMI4NET31NET25/X160UMXI3NET29NET27/X160UMI2INNET29/X160UMXI1NET33NET31/X160UMI0INNET33/X160UMENDSLIBRARYNAMEFPGA0408CELAMEINV_4XVIEWNAMESCHEMATICSUBCKTINV_4XINOUTPINIFOINITM2UTIGNDGNDN18W600E9L180E9M10OINVDDVDDP18800E9180E91ENDSLIBRARYNAMEFPGA0408CELAMEMUX2_2VIEWNAMESCHEMATICSUBCKTMUX2_2C01IN0I1QPINIFOC0I1IN0I1IOM0Q1IN1GNDN18W600E9L180E91C0I0GNDN18600E9180E9M3Q1IN0VDDP18W800E9L180E92C0I1VDDP18800E9180E9ENDSLIBRARYNAMEFPGA0408CELAMEMUX2_1VIEWNAMESCHEMATICSUBCKTMUX2_1IN0I1PQPINIFOIN0I1IPIOXI2NET5PI0I1Q/MUX2_2I1PNET5/INV_4XENDSLIBRARYNAMEFPGA0408TMPCELAMESINKVIEWNAMESCHEMATICSUBCKTSINKCLKSINKCTINPINIFOTIINICLSINKOC0CLKSINKGND12FCP018UMFPGA系统结构设计与优化3XI45NET8CLKSINK/INV_4XI46NET8SI/INV_4XXI20NET14NET8/INV_4XI18NET18NET10/INV_4XXI13NET13NET12/INV_4XI19NET18NET10CTNET14/MUX2_1XI14NET12GNDGNDNET18/2_1I43INGNDGNDNET22/MUX2_1XI12NET22GNDGNDNET13/2_1M5NET32CLKSINKGNDGNDN18W480E9L180E9M11NET35SIGNDGNDN18480E9180E91M2NET38CLKSINKGNDGNDN18W480E9L180E9M16NET41SIGNDGNDN18480E9180E91M7NET32CLKSINKVDDVDDP18W720E9L180E9M10NET35SIVDDVDDP18720E9180E91M3NET38CLKSINKVDDVDDP18W720E9L180E9M14NET41SIVDDVDDP18720E9180E91ENDSLIBRARYNAMEFPGA0408TMPCELAMEY280UMVIEWNAMESCHEMATICSUBCKTY280UMINOUTPINIFOINIOUTOXI7NET8NET4/CLKNET1I6NET4OUT/CLKNET1XI4NET12NET8/CLKNET1I0INNET10/CLKNET1XI1NET10NET16/CLKNET1I2NET14NET12/CLKNET1XI3NET16NET14/CLKNET1ENDSLIBRARYNAMEFPGA0408TMPCELAMEBOTTOMCLKNETVIEWNAMESCHEMATICSUBCKTBOTTOMCLKNETINOUTAOUTBOUTCPINIFOINIOUTAOOUTBOOUTCOXI19NET10VDDNET28/SINKI18OUTCVDDNET30/SINKXI17NET16VDDNET34/SINKI14OUTAVDDNET38/SINKXI15NET19VDDNET36/SINKI16OUTBVDDNET32/SINKXI9INNET24/Y280UMI4NET24NET26/Y280UMXI13INNET28/X160UMI12INNET30/X160UMXI8NET24NET32/X160UMI7NET24NET34/X160UMXI1NET26NET36/X160UM018UMFPGA系统结构设计与优化34XI0NET26NET38/X160UMENDSLIBRARYNAMEFPGA0408TMPCELAMETOP3CLKNETVIEWNAMESCHEMATICSUBCKTTOP3CLKNETINOUTA0OUTA1OUTA2OUTA3OUTB0OUTB1OUTB2OUTB3OUTCOUTXOUTYXI19NET081OUTB1/CLKBUFX20_FPGAI18NET081OUTB0/F20_FPXI17NET083OUTB2/CLKBUFX20_FPGAI16NET083OUTB3/F20_FPXI14NET25OUTA0/CLKBUFX20_FPGAI15NET23OUTA3/F20_FPXI2NET25OUTC/CLKBUFX20_FPGAI1NET23OUTA2/F20_FPXI10NET25OUTA1/CLKBUFX20_FPGAI9NET31OUTX/F20_FPXI8NET27OUTY/CLKBUFX20_FPGAI21NET27NET081/X160UMXI20NET27NET083/X160UMI5NET31NET23/X160UMXI4NET31NET25/X160UMI3NET29NET27/X160UMXI2INNET29/X160UMI1NET33NET31/X160UMXI0INNET33/X160UMENDSLIBRARYNAMEFPGA0408TMPCELAMETOP2CLKNETVIEWNAMESCHEMATICSUBCKTTOP2CLKNETINOUTAOUTBPINIFOINIOUTAOOUTBOXI13NET21NET5/X160UMI12NET5NET7/X160UMXI1NET7NET9/X160UMI10NET9OUTB/X160UMXI9NET15OUTA/X160UMI8NET17NET15/X160UMXI7NET19NET17/X160UMI6NET21NET19/X160UMXI2NET23NET21/Y280UMI1NET25NET23/Y280UMXI0INNET25/Y280UMENDSLIBRARYNAMEFPGA0408TMPCELAMETOP1CLKNETVIEWNAMESCHEMATIC018UMFPGA系统结构设计与优化35SUBCKTTOP1CLKNETINOUTAOUTBPINIFOINIOUTAOOUTBOXI17NET37NET5/X160UMI16NET5NET7/X160UMXI15NET7NET9/X160UMI14NET9NET1/X160UMXI13NET1NET13/X160UMI12NET13NET15/X160UMXI1NET15NET17/X160UMI10NET17OUTB/X160UMXI8NET23OUTA/X160UMI7NET25NET23/X160UMXI6NET27NET25/X160UMI5NET29NET27/X160UMXI4NET31NET29/X160UMI3NET33NET31/X160UMXI2NET35NET33/X160UMI1NET37NET35/X160UMXI0INNET37/CLKBUFX20_FPGAENDSLIBRARYNAMEFPGA0408TMPCELAMECLKNETWORK_MODEL1VIEWNAMESCHEMATICSUBCKTCLKNETWORK_MODEL1CL1CL2CL3CL4CL5CL6CL7CL8CL9CL10CL11CL12IO1I2IO3I4IO5I6INOUTB3OUTB4OUTB5OUTD1XI26NET25NET0100NET099NET098NET097NET096NET095NET094NET093NET092NET091/TOP3CLKNET_MIDXI53OUTD1VDDNET0132/SINKI4IO6VDDNET0142/SINKXI32OUTB4VDDNET0144/SINKI31OUTB3VDDNET0146/SINKXI30OUTB5VDDNET0190/SINKI29IO1VDDNET0190/SINKXI28I2VDDNET0148/SINKI27IO3VDDNET0150/SINKXI2I5VDDNET0156/SINKI19IO4VDDNET0158/SINKXI57NET0134NET0132/Y280UMI56NET0136NET0134/Y280UMXI5NET091NET0136/Y280UMI50NET092NET0138/Y280UMXI49NET0138NET0140/Y280UMI48NET0140NET0142/Y280UMXI38NET0190NET0144/Y280UMI37NET0144NET0146/Y280UMXI36NET0190NET0148/Y280UMI35NET0148NET0150/Y280UMXI25NET0188NET0152/Y280UMI24NET0152NET0154/Y280UMXI23NET0154NET0156/Y280UM018UMFPGA系统结构设计与优化36XI16NET0189NET0162/Y280UMI17NET0162NET0160/Y280UMXI18NET0160NET0158/Y280UMI64NET0194CL9CL8CL7/BOTTOMCLKNETXI61NET098NET0174NET0173NET0172/BOTTOMCLKNETI62NET099NET0170NET0169NET0168/BOTTOMCLKNETXI63NET0100CL12CL11CL10/BOTTOMCLKNETI15NET0196654/BOTTOMCLKNETXI14NET22NET9NET8NET7/BOTTOMCLKNETI13NET23CL3CL2CL1/BOTTOMCLKNETXI10NET27NET23NET22NET0196NET0195NET0194NET0193NET0192NET0191NET0190NET0189NET0188/TOP3CLKNETXI12NET46NET25/CLKBUFX20_FPGAI9NET47NET27/F20_FPXI6NET28NET29/CLKBUFX20_FPGAI5NET28NET31/F20_FPXI3NET50NET33/CLKBUFX20_FPGAI2NET50NET35/F20_FPXI8NET31NET38NET37/TOP2CLKNETI7NET29NET41NET40/TOP2CLKNETXI4NET35NET44NET43/TOP2CLKNETI1NET33NET47NET46/TOP2CLKNETXI0INNET50NET28/TOP1CLKNETENDSXTSTC12C34C56C78C910C1C12I1I2I3I4I5I6INOUTB3OUTB4OUTB5OUTD1CLKNETWORK_MODEL1VINI0PULSE018V0N025N025N5N10NTRAN001N15NED参考文献ACTE97ACTELCORPORATION,INTRODUCTIONTOACTELFPGARCHITECTURE,SEP1997018UMF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豆类品种识别与质量控制考核试卷
- 电气设备批发商员工激励措施考核试卷
- 礼仪用品企业市场分析与预测模型应用考核试卷
- 稀土金属压延加工中的设备选型与采购策略考核试卷
- 材料老化分析考核试卷
- 棉织造行业人才培养与技能提升考核试卷
- 认证认可ISO健康与安全管理考核试卷
- 跨国财产申报风险管理与合同
- 知识产权评估与产业政策对接协议
- 创新人才共有产权住房分割及交易合同
- 如何上好一节体育公开课
- 钢结构工程施工组织设计完整版
- 《田间药效试验》课件
- 血常规报告单
- JJG 443-2023燃油加油机(试行)
- 国家开放大学-传感器与测试技术实验报告(实验成绩)
- 机械工业出版社2020《人工智能导论》课程第1章 绪论
- 教育教学实习教案幼儿园
- 大众电子助力转向EPS 双齿轮电动助力转向系统
- 【医院管理案例学习】-床单位终末消毒标准的执行
- 退化草地修复亲水性聚氨酯复合材料应用技术规范
评论
0/150
提交评论