【数字IC】——VCS和Verdi联合仿真初探

        本设计针对内存管理单元(Memory Management Unit, MMU),进行VCS和Verdi的联合仿真。

        MMU兼容RISC-V SV39标准,主要的作用有地址转换、页面保护和页面属性管理。MMU主要利用地址转换后援缓冲器(Translation Look-aside Buffer,TLB)来实现上述功能。TLB将CPU访存所使用的虚拟地址作为输入,转换前检查TLB的页属性,再输出该虚拟地址所对应的物理地址。

1、仿真工具简介

1.1 VCS

        Verilog Compilation and Simulation(VCS)是一款高性能、大容量的模拟器,将高级抽象验证技术集成到一个开放的本地平台中。它是Synopsys公司开发的一款商业化工具,是业界主流的仿真工具之一。

        VCS能够编译Verilog、VHDL等硬件语言,并处理包括RTL级别、门级级别和行为级别的各个层次的设计描述。VCS还支持原生的低功耗仿真和UPF格式,在已经具备的完整调试手段和高性能仿真的基础之上,可提供创新的电压感知验证技术,解决现代低功耗设计中的缺陷。

1.2 Verdi

        Verdi是Synopsys公司针对复杂SoC的调试问题所开发的一个调试平台,具有强大的分析引擎,是广泛应用的EDA工具之一,它具有良好的可视化操作界面:

        源代码窗口以树型排布的方式展示了设计的层次结构,在具体的设计代码部分可实现信号驱动的查找、仿真结果反标等功能。

        波形窗口可以导入两种格式的仿真文件,VCDFSDB,在波形窗口可以对感兴趣的信号进行可视化分析,可以极大的提高调试效率。

        原理图窗口可以以电路的形式展示设计代码,既可以显示某一层的电路结构,也可以显示信号的局部电路图,有助于使用者理解各个模块之间的层次关系。

2、仿真环境的配置及编译

  • 配置工程的环境变量
$ csh
$ cd your_directory
$ source setup/setup.csh
  • 初始化环境变量
$ source setup/example_setup.csh
  • 为使得在编译后生成.fsdb波形文件,在testbench中加入以下命令

initial
begin
    $fsdbDumpfile("tb.fsdb")
    $fsdbDumpvars(0)
end
  • 调用Makefile文件对RTL文件和testbench文件进行编译

$ make compile SIM=vcs
testbench图形化描述

 

编译通过信息

3、仿真结果

  • 运行MMU模块的仿真,仿真成功后,在工作目录下生成了tb.fsdb波形文件,供Verdi进一步使用

$ make runcase CASE=MMU SIM=vcs DUMP=on
仿真完成信息
  • 打开Verdi,导入波形文件
$ cd ./work && verdi -sv -f ../logical/filelists/sim.fl
  -ssy -ssv -top tb -ssf tb.fsdb
  • 在波形窗口中添加MMU寄存器的输入输出端口信号,波形如图所示

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值