欢迎来到天天文库
浏览记录
ID:34847117
大小:2.02 MB
页数:81页
时间:2019-03-12
《fpga布线研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第1章引言1.1现场可编程逻辑阵列FPGA1985年,Xilinx公司推出了世界上第一块现场可编程门阵列(FPGAfieldprogrammablegatearray)芯片,可以方便地通过下载不同的配置位流文件(bitstream)而实现不同逻辑功能。由于FPGA能够减少电子系统的开发风险和开发成本(NRE):缩短上市时间(timetomarket);通过在系统编程、远程在线重构等技术降低维护升级成本,因此在通信、控制、数据计算等领域得到了广泛的应用。FPGA能够很好的利用最为
2、;{『沿的制造工艺和封装工艺,并通过全定制的电路和版图设计方法优化设计,因此FPGA的
3、逻辑密度、性能、功能和功耗都已经得到大幅改进,成本显著下降。目前,芯片的集成度已达到1000力.等效门、速度可达至t]400一一500MHz【1][21,在制造上采用了90rim、9层铜连线工艺【3】,并且应用新的封装技术提供了数千管脚的FPGA芯片。随着FPGA在功能、密度、速度上的不断提升和成本的降低,以及用户需求、协议标准等的变化越来越快,FPGA芯片不但被用柬制作原型机,而且还被大量地应用到网络、消费电子、科研、航天及国防的许多最终产品中,成为一系列电子系统的核心。f4]qh指出,在上市时间、成本、高集成度和灵活度方面FPGA明显优于专用集成电路(ASIC
4、。applicationspecificintegratedcircuit),而根据业界通用的标准判断,最适合使用ASIC的情况是:门和储存位的数量超过两百万门、千兆位:在最低功耗下,主时钟频率高于300MHz;对成本很敏感的应用。另一方面,基于FPGA的SOPC(可编程片上系统)与传统的SOC相比,具备很多优点,如设计周期短、产品上市速度快,设计风险和设计成本低、集成度高,灵活性大,维护和升级方便,硬件缺陷修复和排除简单等,开始成为设计者的新宠,并逐渐蚕食传统SOC的领地f51。1.2FPGA软件系统FPGA软件系统又称为FPGA计算机辅助设计(Computer
5、AidedDesign,CAD)系统,是指对应于FPGA硬件结构的一整套软件的流程[6],以实现电路设计人员完成电路前端设计(包括硬件描述语言HDL、原理图等设计方法)并将电路设计第6页(共91页)第1章引言下载到相应的FPGA芯片中。如图卜1为FPGA的基本硬件结构[7],包括实现逻辑功能的逻辑块LB(LogicBlock),输入输出引脚IOB(I/OBlock)和用于连接各个逻辑块『自J引脚的布线资源(RoutingResource)。RoutingResoul:ce口口口口⋯⋯口口口口影孑口⋯·口[3r--i言B口⋯.口:;:口广]口L.J口⋯·口昌口口⋯·
6、口口口口口⋯⋯口口图I-IFPGA基本硬件结构零"*,logic;i醛:口r10呔口口FPGA软件系统流程一般包括设计输入、逻辑综合、功能仿真、映射、布局、布线、时序验证、编程下载等过程,如图卜2所示。第7页(共91贞)第1章引言图卜5FPGA软件系统流程原理图输入、逻辑综合、功能仿真等部分和一般电子线路设计一样,只是对特定可编程逻辑器件厂家的特定型号器件,最好使用特定的元件库,如不使用特定元件库,有些厂家的软件也可以通过EDIF格式文件和元件库映射来完成第三方软件到可编程逻辑器件软件的衔接。元件库中有许多功能宏块(如加法器、乘法器、比较器、计数器、译码器等),应
7、尽量使用这些现成的功能宏块。电路设计及功能仿真完成,确信电路正确后,进行逻辑映射即Mapping。逻辑映射将电路中的元件映射到目标FPGA的逻辑块之中,基于逻辑块数目的映射将尽量减少使用的逻辑块数目,而优化时延特性的映射将尽量减少信号经过的逻辑块的数目。布局阶段将各LB和10B放到适当的位簧。一般情况下,由于可编程逻辑器件布线资源的有限性,布局阶段的优化目标首先是布通率,通道密度的均匀性。但第8页(共91页)第l章引言是实用中还有一些其它问题要考虑,例如用户对某些路径的时延提出限制,或指定一些线网的重要程度,或要求管脚锁定。这样布局算法就要综合考虑。由于各种约束条
8、件和布通率之间是存在矛盾的,怎样兼顾各方面的要求又能最大程度的提高布通率是一个很值得研究的方向。布线阶段实现LB之间的连线。布线要求百分之百的布通率,否则就是布图失败。因为可编程逻辑器件布线资源的特殊性——稚线资源都已确定,布线实际上只是确定哪些编程点接通而哪些不接通。由于可编程逻辑器件布线资源的有限性和多样性,其布线算法也有特殊性,与普通的布线算法有很大的不同,相应的也有许多值得研究的问题。布线完成以后,各路径的时延值才能最后确定。这时,需要进行时序验证,以检查电路在有时延的情况下工作是否正常。如j下常,进入下一步编程下载;如不正常,需仔细检查各相关点,找出问题
9、所在,用适
此文档下载收益归作者所有