马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 空白MAX 于 2021-10-10 14:05 编辑
之前发过一次,那个是用questa跑的,这次改了一下makefile,用vcs跑 mentor的uart uvm example 文件说明agents/apb_agent - APB agent used in the UVM testbenchagents/uart_agent - UART agent user in the UVM testbenchagents/modem_agent - UART Modem interface agent, used in the UVM testbenchdocsprotocol_monitor - contains an example APB protocol monitorrtl - Contains the UART RTL source code***sim - Simulation directory for the example, contains the Makefileuvm_tb/tb - Top level testbenchuvm_tb/testsuvm_tb/virtual_sequencesuvm_tb/sequencesuvm_tb/register_modeluvm_tb/env - contains the functional coverage monitors described in the cookbookDUT是16550A UART模块,接口主要包含apb、uart以及一些状态信号,agents下是不同接口的agent。16550A UART推荐大家自己搜索下载详细的spec。 docs是uart模块的简单说明,包含了一些寄存器的说明 protocol_monitor是一个协议检查模块,通过断言对apb协议进行检查 环境集成以及sequence等编写在uvm_tb下。 运行仿真由于是mentor公司提供的例子,所以原来的makefile调用的是Questa,本次改了一下makefile,用vcs运行,然后生成覆盖率之后可以导出网页报告,或者用verdi查看覆盖率。
make all运行
覆盖率报告生成在cg_report目录下
make verdi_cg使用verdi查看覆盖率
例子中的编写的testcase并不能达到100%覆盖率,有兴趣可以自己试着写新的case,去提高覆盖率
uart_example.zip
(623.51 KB, 下载次数: 75 )
|