VHDL配置可用于将组件绑定到具有不同名称的实体,甚至可以使用完全不同的端口.[查看此文章了解更多信息]
configuration c2 of testbench is
for str
for dut_inst : dut
use entity work.unrelated(rtl)
port map(
port1 => a,
port2 => b,
port3 => c,
port4 => "unused"
);
end for;
end for;
end configuration c2;
Run Code Online (Sandbox Code Playgroud)
你们有没有见过这种商业项目项目?放弃一个看似无关的实体的目的是什么?为什么他们不只是改变实例化代码?
我可以弥补假设情况,但我对现实生活中的用例很感兴趣.
从未见过端口绑定发生变化,但是我见过它曾经用于绑定具有相同端口映射的不同版本的组件。我看过的一些例子:
这些都不需要您正在谈论的功能。我唯一想到的是,使用不同的组件可能会有用,这是因为您拥有多个RAM库供应商之类的东西,并且需要定期在它们之间进行交换。即使那样,您也不太可能进行一对一的端口映射。总有一个掉电引脚需要反相或其他功能。