2015-05-26 51 views
0

我对VHDL世界有点新鲜,需要一些对许多人来说可能看起来微不足道的指导。VHDL双向测试平台 - UUT模块

我想要的是构建一个双向的Testbench-UUT模块,在那里我将能够从我的主模块中控制testbench给出的输入流。

实际上,当我准备好处理新的输入时,我需要对我的测试平台说。

类似于,从我的'main'模块中引发一个标志,它将使测试台能够推入新的输入。这可能由if语句控制,如果该标志'up'允许下一个输入在流动。

我与INOUT港口摆弄周围,但没有那种管理它这样...

可否请你帮助我,如果可能的话给出一些简短的示例代码?这样做的

回答

1

一个非常简单的方法就是在你的测试平台使用wait until在刺激过程。如果你从你正在测试的模块输出数据就绪信号,它只是看起来像:

STIMULUS_PROCESS: process 
    while (not loopCondition) loop 
     -- Apply stimulus to the inputs 
     wait until dataReady = '1'; 
     -- Read the outputs and repeat. 
    end loop; 
end process; 
+0

你好,非常感谢你的回复!恐怕这就是我想要做的......但是如果没有灵敏度列表来触发不同事件的过程,那么你提到的'loopCondition'doesn因为loopCondition参数“不会进入”,因此粗略地讲, –

+0

在仿真中,没有灵敏度列表的过程“连续运行”。如果没有灵敏度列表,则必须在该过程中有一个等待语句。 – Ian

0

最后,我不得不包括我测试平台过程中的灵敏度列表中,将包含任何标志将是有益的用于触发下一个输入。 G