Modelsim软件如何仿真,怎么能添加输入信号

Modelsim软件如何仿真,怎么能添加输入信号,第1张

IP核生成文件:(Xilinx/Altera 同)IP核生成器生成 ip 后有两个文件对我们比较有用,假设生成了一个 asyn_fifo 的核,则asyn_fifo.veo 给出了例化该核方式(或者在 Edit->Language Template->COREGEN 中找到verilog/VHDL 的例化方式)。asyn_fifo.v 是该核的行为模型,主要调用了 xilinx 行为模型库的模块,仿真时该文件也要加入工程。

 2.调试方便。在 ISE/Quartus 中调用 modelsim仿真只能看到输入输出信 号,而对于设计的中间信号/变量,特别是ip核的内部信号/变量无法观测。而在modelsim中直接仿真可以观测设计中出现的任何信号/变量无和 ip 核内的任何信号/变量,这样我们设计的数据流向就可以很清楚的表示出来,还可以检测不同编程方式的处理效果,极大的方便了调试。

LIBRARY IEEE

USE IEEE.STD_LOGIC_1164.ALL

ENTITYdecoder_tb IS

ENDENTITY

ARCHITECTUREbehaviour OFdecoder_tb IS

COMPONENT decoder IS

PORT(a,b,c,e1,e2,e3: INSTD_LOGIC

y : OUTSTD_LOGIC_VECTOR(7 DOWNTO 0))

ENDCOMPONENT

--定义测试信号

SIGNALa,b,c,e1,e2,e3: STD_LOGIC

SIGNALy : STD_LOGIC_VECTOR(7 DOWNTO 0)

BEGIN

U1: decoder PORT MAP(a,b,c,e1,e2,e3,y)--元件实例化

test_vector:PROCESS--测试进程

BEGIN

e1<='0'

e2<='0'

e3<='1'

a<='1'--测试输入101

b<='0'

c<='1'

WAIT FOR 100 ns--等待一段时间变换测试向量,这样才能在波形图中看到输出

a<='0'--测试输入011

b<='1'

c<='1'

WAIT FOR 1000 ns

END PROCESS

END behaviour

--百度一把testbench就能找到很多教写testbench的文章

可以导出vcd文件,指定想要导出的变量

或者你也可以用$fopen , $fwrite 输出中间变量啊,和输出变量一样的方式啊,如果想要把中间变量调到顶层来,可以用tmp_variable = tb.top.A.variable 的格式

其中top A 为逐一递减的层次模块实例名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11732236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存