2016-01-18 32 views
0

我有一个UVM测试台,它使用配置来替换设计中深处的VHDL组件。我创建的每个测试都必须使用verilog配置来替换该组件。有没有办法为层次结构路径使用变量,以便在VHDL设计更改时不必更新每个配置?在verilog配置中使用变量作为分层路径

回答

0

除了用于表示接口实例的层级路径的虚拟接口变量之外,没有办法使用变量来表示分层路径。

您将需要展示如何使用每个测试如何更改VHDL组件以给我们提供解决方案的更好主意的示例;也许你可以使用宏。

+0

谢谢,戴夫。该测试不会更改VHDL组件的配置。每个测试都有相应的配置,并且如果设计层次更改,则必须更新每个配置。我在一个文件中有所有的配置,所以它是一个简单的查找和替换,但我希望有一个更优雅的解决方案,理想情况下只需要在一个地方更改路径名称。 – Pete

+0

如果它是一个简单的搜索和替换,那么可能你可以尝试一些shell脚本来自动化你的任务,比如[this](http://stackoverflow.com/questions/5171901/sed-command-find-and-replace-in- file-and-overwrite-file-doesnt-work-it-empties)和[this](http://unix.stackexchange.com/questions/159367/using-sed-to-find-and-replace)和[this ](http://www.cyberciti.biz/faq/unix-linux-replace-string-words-in-many-files/)。 – e19293001

0

我找到了一个解决方案,可以做我想做的事情。我用宏来定义我想要配置的实例。以下是我所做的一个例子:

`define USE_TB_COMP instance top.u_mod1.u_sub_mod1.u_comp use tb_comp; 

config test1_c; 
    `USE_TB_COMP 
endconfig 
config test2_c; 
    `USE_TB_COMP 
endconfig 
....