基于ModelSim自动化逻辑验证平台设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ModelSim自动化逻辑验证平台设计

基于ModelSim自动化逻辑验证平台设计   摘 要 Mentor公司的ModelSim是业界最优秀的HDL语言仿真工具,为用户提供了功能强大的逻辑仿真、验证功能,是FPGA/ASIC设计的首选仿真软件。本文设计的基于ModelSim的自动化逻辑验证平台,旨在搭建一个通用的逻辑验证平台架构,以达到最小修改即可快速实现一个项目的仿真验证和自动回归测试用例的目的。   【关键词】ModelSim HDL 仿真 FPGA   【关键词】ModelSim HDL 仿真 FPGA   1 引言   ModelSim是逻辑设计最常用的仿真工具,而逻辑仿真也是逻辑开发过程中最为重要的验证手段,对于保证逻辑设计的正确性和可靠性起到至关重要的作用。在正常的逻辑开发过程中,验证平台的搭建和测试代码的编写占用了大部分的开发时间,远远超过了功能代码的编写时间。本设计旨在搭建一个通用的逻辑验证平台架构,定义目录结构、编写自动化TCL脚本、复用公用代码,以达到最小修改即可快速的搭建一个全新验证平台的目的,使开发人员能集中尽力在功能代码、测试代码的编写上,保证逻辑开发的质量。本设计定义了目录的结构,定义了测试代码与被验证设计的框架,编写了自动化仿真、数据比对的脚本。在实际的使用中,只需要把源代码拷贝到对应的目录,就可以开始编写测试用例,通过自动化脚本来回归所有的用例了,大大的提高了验证效率。   2 验证框架设计   每个模块的对外接口都是由输入信号和输出信号组成,所以验证一个模块,就是通过特定的输入,验证是否有预期的输出即可。本验证平台设计的验证框架如图1所示。测试代码读取输入数据文件,通过BFM(bus function module,总线功能模型,是一种将物理的接口时序转化成更高抽象层次接口的总线模型)或直接控制的方式,把输入信号输入到被测试模块上,同时通过BFM或直接接收的方式,把被测试模块的输出保存到输出数据文件里,最后把输出文件和比对文件进行比较,如果比较通过,那么该用例测试通过,否则测试不通过。   Testbench是整个验证框架的最高层设计。对于同一个被测试模块,testbench是唯一,它用以实现整个验证框架。对于同一个被测试模块,需要不同的测试用例,不同的测试用例的输入文件、输出文件、比对文件和测试代码是不同的。BFM是通用的总线功能模型,比如RAM、FIFO的读写功能模型,是可以在不同的测试模块下复用的,如图1。   3 目录结构设计   一个完整的验证项目,包括源代码、IP库、测试代码、测试数据、比对数据、自动化脚本等。合理的目录结构设计才能使平台结构清晰,可扩展性强。本平台设计的目录结构如下:   +00_SRC   00_LIB   +01_CODE   00_MULTOP; 01_RAMTOP   +01_UT   +00MULTOP   +00_TESTCASE   testcase000; testcase001   +01_TESTBENCH   + 02_TCL   + 01_RAMTOP   + 03_BFM   + 04_BAT   + 05_SIMLIB   00_ALTERA_LIB   01_XILINX_LIB   + 06_WORK   目录结构说明:   (1)00_SRC:源代码目录,包括库文件HDL代码目录00_LIB(如例化的RAM、FIFO、乘法器等)和开发的代码目录01_CODE。其中01_CODE目录又根据模块细分成子目录。   (2)01_UT:单元测试用例目录,根据对应的测试模块细分成子目录。   (3)01_UT-00_TESTCASE:用例目录,以testcase000、testcase001……来命名。每个用例目录又分3个子目录。data目录存放仿真输出数据文件。dataRef目录存放比对的数据文件。Tb目录存放测试代码、输入数据文件。   (4)01_UT-01_TESTBENCH:测试平台testbench目录,即平台框架代码,参见图1。   (5)01_UT-02_TCL: ModelSim测试脚本目录。脚本用以执行代码代编译、仿真启动、加载信号等工作。   (6)03_BFM:BFM代码目录。   (7)04_BAT:自动化运行脚本目录。自动化脚本采用批处理文件和TCL脚本 [3]结合的方式。自动化运行脚本用来遍历各个模块各个用例的仿真、数据比对、输出比对结果和覆盖率报告等。   (8)05_SIMLIB:厂家通用仿真库目录。仿真库只需要编译一次后面就可以一直使用。00_ALTERA_LIB和01_XILINX_LIB分别是两个主要厂家的仿真库目录。   (9)06_WORK:当前工作目录,包括

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档