论文部分内容阅读
相比于ASIC设计, FPGA具有快速的开发周期,而且能避免昂贵的一次投片成本。随着半导体制造工艺进入超深亚微米的时代,这些特点为FPGA赢得了广泛的应用空间。然而,与FPGA的高通用性伴随着的是逻辑单元的闲置,这使得FPGA无法达到很高的面积利用率。此外,FPGA布线资源中大量使用的可编程开关增大了FPGA布线资源的RC负载,从而限制了FPGA工作频率的提高。为解决此问题,设计一系列的针对不同应用领域的FPGA是一个有效的减少冗余电路,提高FPGA面积利用率和性能的方法。然而,FPGA设计本身是一个非常复杂的工作,一款FPGA需要几百人同时工作一年左右才能完成,因此手工设计针对各种不同应用的FPGA芯片是非常低效率的,必须要有高度自动化的方法来辅助设计FPGA芯片。基于此原因,本文的工作提出了一种从FPGA架构描述产生FPGA芯片行为模型的方法,为FPGA的自动化设计提供了一个方向。
本文首先介绍了用于本文中FPGA的各种组成模块的设计:逻辑单元中的4输入LUT由两个LUT3构成,工作于进位链状态时,两个LUT3分别完成计算和值与进位值的功能。逻辑单元中的可配置触发器能够配置成各种带置、复位和时钟使能的触发器与寄存器。可配置IO单元的基本结构由3个数据通路构成:三态、输入、输出通路。通过扩展IO单元中3个数据通路部分的逻辑功能能够满足各种不同规格的要求。此外,基本的可配置宏块(存储器块和乘法器块)的功能和结构在本文中也有介绍。本文中FPGA所用的CAD工具将布线范围延伸到了局部互联结构,因此本文中FPGA架构的布线资源由局部互联结构,连接块和交换块构成,我们介绍了它们的电路结构和设计方法。对于很少有研究工作涉及到的FPGA全局信号网络的设计和优化,本文中提出了一种在满足单元块版图一致性要求下的优化方法,为单元块版图一致性约束下的全局信号分配网络优化设计提供了方法。本文中参照Xilinx Spartan3设计了配置电路部分,该配置电路使用了Xilinx Spartan3的配置文件格式,可以完成基本的写入操作。
利用以上介绍的各基本组成模块,本文中实现了FPGA行为模型的自动产生,并且开发了自动化工具完成整个过程。首先,我们采用扩展的架构描述文件描述FPGA,通过修改该架构文件即可自由定义目标FPGA的大小,构成FPGA的逻辑块,宏块,IO块的数量和位置,FPGA的布线结构等等。FPGA行为模型的自动产生工具能够按照架构文件描述,在几分钟至数十分钟之内(所需时间由目标FPGA芯片的大小决定)自动生成Verilog格式的结构化的FPGA行为模型,此模型能够用于功能验证,也可作为后端的版图自动化设计的网表输入,还可用于版图的物理验证等。
为验证FPGA行为模型的正确性,本文中使用了结构对比和功能验证两种方法。结构对比方法通过比较布线资源图与自动生成的布线资源模型的结构一致性,以确定布线资源模型的正确性。功能验证方法使用各种测试应用对FPGA行为模型在具体应用中的功能进行验证。在本文中,我们开发了工具将测试应用的验证环境自动转化为FPGA的验证环境,并且将整个FPGA的CAD流程和FPGA的验证过程结合在一起,自动化了整个功能验证过程。