论文部分内容阅读
现场可编程门阵列(FPGA,Field Programmable Gate Array)在集成电路领域应用广泛,采用全定制设计的FPGA有诸多优点,譬如电路功耗低、芯片面积利用合理等。随着电路设计规模达到了千万门级别,采用全定制设计FPGA的复杂度急剧增长,这大大增加了验证人员的工作量与工作难度。因此,采用一般的方法对FPGA中模块进行验证难以顾及到全定制设计和高配置性,而运用spice仿真进行功能验证又无法保证时效性,所以对于全定制电路设计的验证难度较大。本文旨在研究全定制设计FPGA中的可配置逻辑块(CLB,Configurable Logic Block)的验证实现。围绕全定制电路和高配置电路,设计了针对CLB模块的一整套验证流程,实现了CLB模块验证的完备性、准确性与时效性。本套验证流程的实现主要分为待测设计(DUT,Design Under Test)准备、验证平台设计与验证执行三个阶段。在DUT准备阶段,本文首先针对CLB电路模块进行研究,分析出CLB功能实现方式与配置方式;通过研究分析带有环路的电路,采用行为级描述对基础单元模块进行建模,完成对全定制设计的Verilog实现;进行等价性检查确认建模设计的Verilog文件与原设计的一致性进而将提取出的网表文件转化成DUT,解决了通用验证方法学对全定制电路无法验证的问题;提取功能点,设计针对此种DUT的验证方案,确定了验证的重难点并针对全定制电路的验证这一重难点提出了解决方法。在验证平台设计阶段,本文通过通用验证方法学(UVM,Universal Verification Methodology)搭建验证平台,对各个环境组件进行具体设计,尤其在driver、monitor、scoreboard等组件设计中,充分考虑CLB高配置性,运用transaction结合多个task的方式来区分各个功能的数据传输、结果比较等流程;完整打印正确比较信息和错误比较信息,直观反映来自于scoreboard和monitor的transaction信息,实现整个平台的自动化运行;设计功能覆盖率以及配置覆盖率组件,保证了验证的完备性。在验证执行阶段,本文设计定制化脚本对平台进行匹配完成了一键化运行;最后收集验证结果进行检测,确认了验证方法的正确性;依据自动对比和覆盖率组件,通过添加定向测试激励,使功能覆盖率和配置点覆盖率分别达到100%和95.31%,均符合工程要求,最终高效地完成CLB模块的验证,满足了自动化和时效性需求。在后期工程实践中通过对该平台的垂直复用实现了针对多项目晶圆(MPW,Multi Project Wafer)CLB的验证平台,极大地提升了工程效率,减少了验证人员的工作量。本文的研究结果对于实际工程中的大规模全定制电路验证提供了解决思路。