ZeBu Server
ZeBu是一个通过硬件加速实现ASIC仿真加速的一个仿真测试系统,相比于FPGA而言,他的资源更多,porting也相对简单,并且支持多种外围模块。
- ZeBu支持多种硬件软件协同调试
- ZeBu和PC之间通过PCI接口,支持多用户同时访问
- 支持ICE和Z-ICE两种接口
仿真环境porting
- 实例化仿真时钟
- 实例化和DUT之间的接口
主时钟一般由一个指定的时钟原语产生,每个实例中要有1到16个时钟。
zceiClockPort ClockPort (.cclock(clk), .cresetn(rstn));
# cclock: controlled clock
# cresetn: controlled reset
注意多个zceiClockPort也只能公用一个reset信号。
ZeBu的编译采用VCS,通过UTF文件指定编译命令,UTF文件是ZeBU编译器的主要配置文件,它包含编译所需要的所有信息和ZeBu后端编译的信息。UTF文件由tcl脚本编写。下面是一个典型的UTF文件:
VcsCommand { vcs -full64 \ # compile and run under 64bit mode
-sverilog \ # 允许Accellera System Verilog中使用Verilog扩展
-hw_top=uart_device_wrapper \
+libext+.v \ # 指定VCS仅在具有指定扩展名的目录中搜索源文件
+define+$IFLESS \ # 添加宏定义
-y $ZEBU_IP_ROOT/uc_xtor \ # 定义verilog的库
../src/dut/uart_device_wrapper.v \
../src/dut/dut.v }
ArchitectureFile "$env(FILE_CONF)"
GridCmd -submit $env(REMOTECMD) -delete {}
xtors -use_zebu_ip_root t
if {"$env(IFLESS)" eq "ZEBU_NO_RTB"} {
encrypted_mod -encrypt_v2 true
}
最后更新于 2019-03-12 12:14:22 并被添加「」标签,已有 4284 位童鞋阅读过。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。