VHDL配置可用于将组件绑定到具有不同名称的实体,甚至可以使用完全不同的端口。 [see this article for more info]先进的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;
您有没有见过这种情况发生在商业项目项目中?放弃一个看起来不相关的实体的目的是什么?他们为什么不只是改变实例化代码?
我可以弥补假设的情况,但我对现实生活中的用例感兴趣。
感谢您提出这个问题 - 我也很感兴趣。根据我的经验,我从来没有见过这个人使用过自己,并曾在针对多个FPGA板/系统的大型代码库中工作。 – Josh 2012-03-28 15:58:59
同样适用于我。 VHDL似乎有一些语言元素,使其感觉非常古老,并为比现在的FPGA工程师更小的用户群指定。灵敏度列表,配置,强制性标签,缺乏C预处理器的等价物,坚持列表中的最后一个元素不能有尾随昏迷,或者在开发人员将开发人员假定'1'= true和name时区分std_logic和bool相应的信号。基本概念很好,但有人需要从头开始重新设计语言。 – maxy 2012-03-28 16:47:43
@maxy:其中一些我会同意,有些则不会。灵敏度列表是编译器/模拟器无法胜任的遗留问题,所以我会给你。尾随逗号,好吧,但我不会失眠。配置功能强大且有用(尽管上面的示例似乎没有必要)。我不想要预处理器。你有没有看到人们用它做的可怕事情?泛型让你90%,但强制结构。 std_logic vs bool是具有严格类型语言的人工制品,对于RTL恕我直言,僵化打字是一件好事。标签...你为什么不标注某些东西? :-) – 2012-03-29 09:28:34