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