论文部分内容阅读
自1984年FPGA(Field-Programmable Gate Array,现场可编程逻辑门阵列)进入商业市场以来,随着超深亚微米工艺技术的飞速发展,FPGA的可编程资源从最初的64个逻辑单元(Xilinx XC2064)发展到目前约33万个逻辑单元(XilinxXC5VLX330),从最初仅用于组合逻辑电路设计发展成为目前最流行的电子系统设计应用平台。
FPGA产品的研制不仅是FPGA芯片的设计,而且包含了相关的EDA软件设计以及相关电子系统设计,具有较大难度。目前国内对FPGA的研究处于起步阶段,尚无真正意义上的商用FPGA芯片推出。本文的研究工作以FPGA芯片设计为基础,着重完成了参数化FPGA编程电路,边界扫描电路设计,全芯片仿真验证工作以及芯片组装的部分工作。
FPGA下载电路主要功能是将代表用户设计的配置文件下载至FPGA芯片中,实现用户逻辑设计。由于同系列FPGA采用相同的架构,主要区别在于其内部结构和资源大小,因此相同系列FPGA的下载电路也基本相同。为了避免相似电路的重复设计,我们采用了参数化的电路设计方法,实现了编程电路设计的参数化和自动化。为了满足整个芯片设计从前段到后端设计自动化设计流程需要,我们完成了该电路从RTL(Register Transfer Leve l)到GDS(Graphic Display Stream)的参数化/自动化设计流程。同时为了支持JTAG(Joint Test Action Group)下载兼顾芯片测试功能,我们设计了参数化的FPGA边界扫描电路。
由于我们采用了参数化的设计理念,从整个芯片的架构定义到GDS的自动化产生是我们设计的目标。为了验证自动化产生结果的正确性,同时验证自动化产生工具软件的正确性,需要针对产生结果进行仿真验证。为了应对由芯片结构以及芯片规模带来的验证挑战,我们根据不同的验证需求,采用了不同的仿真验证手段。
为实现GDS自动生成的最终目标,我们在充分验证芯片逻辑设计的基础上,对芯片组装做了有益的探索。根据不同功能模块的设计需要,我们分别采用CadenceVirtuoso和Synopsys Astro完成不同模块的后端设计。为此我们设计相应的脚本文件,实现后端设计的自动化/参数化生成。
本文围绕芯片编程电路,边界扫描电路的参数化设计,针对FPGA芯片仿真验证需求,设计了相应的仿真验证策略,同时对芯片组装作了一定的研究探索,为最终实现全芯片自动化/参数化组装提供了参考。