我使用Active-HDL支持扩展了我的testbench脚本。 Active-HDL的行为大多类似于QuestaSim或ModelSim,甚至命令行参数也类似。
我安装了Lattice Diamond 3.7的Active-HDL学生版和Active-HDL莱迪思版。我目前正在使用后者,因为这个版本附带了一个完整的vsimsa(vsim独立)环境。
我的脚本分三步处理选定的测试平台:
vlib.exe
(alib)vcom.exe
(acom)vsimsa.exe
:asim -lib test arith_prng_tb; run -all; bye
模拟运行并显示出良好的输出:
VHDL/Verilog/EDIF/SystemC Simulator 10.2.3312.5682.02
(c) 1997-2015 Aldec, Inc. All rights reserved.
VSIMSA: Configuration files: `D:\git\PoC\temp\activehdl\library.cfg', `D:\Lattice\diamond\3.7_x64\active-hdl\BIN\vsimsa.cfg'
Welcome to VSIMSA!
This message was printed from `startup.do' macro file.
asim -lib test arith_prng_tb; run -all; bye
VSIM: Selected architecture `tb' of entity `arith_prng_tb' from library `test'.
....
....
KERNEL: ASDB file was created in location D:\git\PoC\temp\activehdl\wave.asdb
========================================
POC TESTBENCH REPORT
========================================
Tests 2
-1: Default test
0: Test setup for BITS=8; SEED=0x12
Overall
Assertions 256
failed 0
Processes 3
active 0
Runtime 2.6 us
========================================
SIMULATION RESULT = PASSED
========================================
Simulation has finished. There are no more test vectors to simulate.
有人可以看到,asim创建了一个 wave.asdb
文件,可以从GUI加载,但它是空的(没有信号)。
所以我的问题是:
答案 0 :(得分:2)
trace
或log
命令来指定要记录到模拟数据库中的信号(请注意,这些命令在不同情况下受支持,具体取决于您调用Active HDL的方式。)
例如:
log -ports UUT/*
跟踪UUT设计区域中声明的所有端口。
log -mem -rec UUT/*
以递归方式跟踪UUT设计区域中声明的所有信号(包括Verilog存储器)。
log CLK RST
跟踪当前区域的CLK和RST信号
您可能需要更改编译优化选项,以便跟踪所有感兴趣的信号。
要回答第二个问题,您可以使用wave
命令将波形添加到当前波形显示中。