UVM的JTAG控制器模块验证
2021-11-05湘潭大学廖少华黄嵩人
湘潭大学 廖少华 黄嵩人
本文提出了一种基于IEEE1149.1标准的JTAG控制器模块的验证平台,该平台使用UVM(Universal Verification Methodology)验证方法学。设计了受约束的随机激励和定向激励使得验证更加完备。验证结果表明,已覆盖所有测试点,达到验证目的。
随着技术的发展,小小的芯片容纳了大量的门电路,同时验证的要求也越来越高,UVM验证方法学便是在这样的背景下,成为了现今主流的验证方法学。为了提高内部电路测试的效率,1990年电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)制定了IEEE1149.1标准,得到了广泛的应用。本文将采用UVM验证方法学对JTAG控制器模块进行完备的验证。
1 UVM验证平台介绍
UVM即通用验证方法学。它包含了随机测试激励的生成、受约束的随机测试的构建、拥有面向对象的语言特性、提供了与其他语言编写程序的接口。验证工程师可以灵活地利用它提供的各种机制,来提高自己验证工作的效率。
典型的UVM验证平台框架图如图1所示。

图1 典型的UVM验证平台框架图
验证平台的组件介绍如下:
driver:driver作为一个驱动器,用于从sequencer中获取transaction,进而通过接口将transaction转化为对DUT的时序激励。
monitor:monitor作为一个收集器,与driver的作用相反,通过接口将DUT的响应收集起来,送给下一模块,完成数据的采集。
sequencer:sequencer与sequence协同工作,sequence需要挂载在sequencer上才能正常工作。sequencer产生transaction,而driver从sequence中获取产生的transaction。
agent:将driver、monitor、sequencer打包,作为一个标准的验证环境单位。每一个agent代表的都是一种数据协议,包含了时序关系。
reference model:reference model用于完成与DUT一样的功能,是待测设计的理想化输出,它将接受与DUT一样的激励,其结果将被传输到scoreboard进行比较。……
