3
在一個架構我有大量的按照特定的公式,在這種情況下,併發信號分配的:大量的VHDL信號分配...可以壓縮嗎?
x(i) <= x(i-1) XOR x(i-4) XOR ROTATE_LEFT(x(i-8), 2)
例子:
architecture behavioural of blah is
--Signals
type sigArrayType is array(127 downto 0) of std_logic_vector(31 downto 0);
signal sigArray : sigArrayType := ((others => (others => '0')));
begin
sigArray(8) <= sigArray(7) XOR sigArray(4) XOR (ROTATE_LFET(sigArray(0), 2);
sigArray(9) <= sigArray(8) XOR sigArray(5) XOR (ROTATE_LFET(sigArray(1), 2);
sigArray(10) <= sigArray(9) XOR sigArray(6) XOR (ROTATE_LFET(sigArray(2), 2);
--...
--...
--LOTS OF OTHER ASSIGNMENTS
--...
--...
sigArray(127) <= sigArray(126) XOR sigArray(123) XOR (ROTATE_LFET(sigArray(119), 2);
end behavioural;
有沒有辦法有VHDL自動執行此操作,而不是讓我輸入超過一百個版本? 我只是在尋找一個簡單的「FOR」語句或類似的東西?
謝謝你。我知道這很簡單。從我看到的文檔看來,它看起來像用於創建組件的「生成」語句,但也許這只是另一種用法。 –
generate語句用於製作重複的和有條件的併發語句。這本書「[VHDL設計指南 - 第3版](http://www.amazon.com/s?search-alias=stripbooks&field-isbn=0120887851)」有一章「生成語句」。 –