Vhdl VUnit测试顺序组件

Vhdl VUnit测试顺序组件,vhdl,vunit,Vhdl,Vunit,如何使用VUnit测试库和VHDL正确测试顺序组件?我一直在使用它来测试组合组件,使用wait-for语句等。在我的github repo中就是一个例子 显然,我必须用clk生成一个时钟信号,我通常会有这样的东西 过程漫游( 信号时钟:在标准逻辑中; 恒定步数:自然:=1)为 开始 如果步骤/=0,则 对于第0步到第1步的循环 等待上升沿(clk); 端环; 如果结束; 结束程序; 只要确保如果您等待其他信号,您可能需要与时钟重新同步 比如说 clk我通常在这方面有一些东西 过程漫游( 信号时

如何使用VUnit测试库和VHDL正确测试顺序组件?我一直在使用它来测试组合组件,使用
wait-for
语句等。在我的github repo中就是一个例子


显然,我必须用
clk生成一个时钟信号,我通常会有这样的东西

过程漫游(
信号时钟:在标准逻辑中;
恒定步数:自然:=1)为
开始
如果步骤/=0,则
对于第0步到第1步的循环
等待上升沿(clk);
端环;
如果结束;
结束程序;
只要确保如果您等待其他信号,您可能需要与时钟重新同步

比如说


clk我通常在这方面有一些东西

过程漫游(
信号时钟:在标准逻辑中;
恒定步数:自然:=1)为
开始
如果步骤/=0,则
对于第0步到第1步的循环
等待上升沿(clk);
端环;
如果结束;
结束程序;
只要确保如果您等待其他信号,您可能需要与时钟重新同步

比如说


clk如果您正在使用VUnit,那么您已经有了这样一个过程。VUnit随OSVVM库提供随机化功能,但它也包含其他内容,例如。要启用OSVVM,需要在Python脚本中添加以下内容

ui = VUnit.from_argv()
ui.add_osvvm()

如果您正在使用VUnit,您已经有了这样一个过程。VUnit随OSVVM库提供随机化功能,但它也包含其他内容,例如。要启用OSVVM,需要在Python脚本中添加以下内容

ui = VUnit.from_argv()
ui.add_osvvm()

您可以始终使用for循环。最好编写一个可重用的过程来等待多个时钟(使用aloop多次等待上升沿)
wait\u for\u clks(6,clk)
您可以始终使用for循环。最好编写一个可重用的过程来等待多个时钟(使用aloop多次等待上升沿)
wait\u for_clks(6,clk)
谢谢,我不知道这个存在。我希望有更多关于使用VUnit编写测试台和使用VHDL进行测试的教程。要实现这一点,最好的方法可能是积极参与公开讨论。在这里,在VUnit论坛和其他地方,Thank不知道这个存在。我希望有更多关于使用VUnit编写测试台和使用VHDL进行测试的教程。要实现这一点,最好的方法可能是积极参与公开讨论。在这里,在VUnit论坛和其他地方