O
oursriharsha
Guest
hej,
Jeg er nødt til at læse fra en hukommelsesplacering sige 10 x8 placering, som jeg udtrykket som
Vektor.
Kan nogen foreslå mig en alternativ metode til at læse dem vektor steder på nogle forskellige ting.
sige på hvert 120μs, 125μs, 130μs, 220μs, 225μs, 250μs ,......på 32 forskellige tidspunkter på døgnet.
for eksempel i koden nedenfor,
Jeg har taget en vektor med 8 steder og initialiseret dem med forskellige værdier.
CLK er 1us / 1MHz.
er der nogen alternativ til hjælp, at mange ikke af, hvis elsif sløjfer.
Som det så rigtigt sagt af en ouf vores medlemmer her, ville det virke som en procedurefejl sprog.Så vær venlig at foreslå nogle synthesiable alternativ.
Ville sætte stor pris på, og også point.
Kode:
-----***** VECTOR initialization *********** -----Vector (0) <= "1001000001";
Vector (1) <= "0001000001";
VECTOR (2) <= "0000000000";
Vektor (3) <= "0000000000";
VECTOR (4) <= "0000000000";
Vektor (5) <= "0000111110";
VECTOR (6) <= "0001111111";
Vector (7) <= "0000000001";
--------------------------------------------------proces (CLK_SEQ, CNTR_SEQ, RST_TOP, Vector (0), Vector (1), Vector (2), Vector (3), Vector (4))begyndif (RST_TOP = '0 ') then
CNTR_SEQ <= "00000000000";elsif (RST_TOP = '1 ') thenif (CLK_SEQ'event og CLK_SEQ = '1 ') then- ALE_TOP <= '1 ';
RW_SEQ <= TEMP_VECTOR (9);
STRB_SEQ <= TEMP_VECTOR (8 downto 6);
ADDR_SEQ <= TEMP_VECTOR (5 downto 0);CNTR_SEQ <= CNTR_SEQ 1;if (CNTR_SEQ = "00001111000") derefter - optælling af 120
TEMP_VECTOR <= Vector (0);elsif (CNTR_SEQ = "00001111110") derefter - optælling af 126
TEMP_VECTOR <= Vector (1);elsif (CNTR_SEQ = "00010000010") then
TEMP_VECTOR <= Vector (2);elsif (CNTR_SEQ = "00010000100") then
TEMP_VECTOR <= Vector (3);elsif (CNTR_SEQ = "00011110000") then
CNTR_SEQ <= "00000000000";end if;
end if;
end if;if (RST_SEQ = '0 ') thenDatabus <= "00000000";elsif (CLK_SEQ'event og CLK_SEQ = '1 ') then
if (RW_SEQ = '0 ') thenDatabus <= DATABUS_TEMP1;end if; - rw_seq looopend if; - reset looop.end process;
Jeg er nødt til at læse fra en hukommelsesplacering sige 10 x8 placering, som jeg udtrykket som
Vektor.
Kan nogen foreslå mig en alternativ metode til at læse dem vektor steder på nogle forskellige ting.
sige på hvert 120μs, 125μs, 130μs, 220μs, 225μs, 250μs ,......på 32 forskellige tidspunkter på døgnet.
for eksempel i koden nedenfor,
Jeg har taget en vektor med 8 steder og initialiseret dem med forskellige værdier.
CLK er 1us / 1MHz.
er der nogen alternativ til hjælp, at mange ikke af, hvis elsif sløjfer.
Som det så rigtigt sagt af en ouf vores medlemmer her, ville det virke som en procedurefejl sprog.Så vær venlig at foreslå nogle synthesiable alternativ.
Ville sætte stor pris på, og også point.
Kode:
-----***** VECTOR initialization *********** -----Vector (0) <= "1001000001";
Vector (1) <= "0001000001";
VECTOR (2) <= "0000000000";
Vektor (3) <= "0000000000";
VECTOR (4) <= "0000000000";
Vektor (5) <= "0000111110";
VECTOR (6) <= "0001111111";
Vector (7) <= "0000000001";
--------------------------------------------------proces (CLK_SEQ, CNTR_SEQ, RST_TOP, Vector (0), Vector (1), Vector (2), Vector (3), Vector (4))begyndif (RST_TOP = '0 ') then
CNTR_SEQ <= "00000000000";elsif (RST_TOP = '1 ') thenif (CLK_SEQ'event og CLK_SEQ = '1 ') then- ALE_TOP <= '1 ';
RW_SEQ <= TEMP_VECTOR (9);
STRB_SEQ <= TEMP_VECTOR (8 downto 6);
ADDR_SEQ <= TEMP_VECTOR (5 downto 0);CNTR_SEQ <= CNTR_SEQ 1;if (CNTR_SEQ = "00001111000") derefter - optælling af 120
TEMP_VECTOR <= Vector (0);elsif (CNTR_SEQ = "00001111110") derefter - optælling af 126
TEMP_VECTOR <= Vector (1);elsif (CNTR_SEQ = "00010000010") then
TEMP_VECTOR <= Vector (2);elsif (CNTR_SEQ = "00010000100") then
TEMP_VECTOR <= Vector (3);elsif (CNTR_SEQ = "00011110000") then
CNTR_SEQ <= "00000000000";end if;
end if;
end if;if (RST_SEQ = '0 ') thenDatabus <= "00000000";elsif (CLK_SEQ'event og CLK_SEQ = '1 ') then
if (RW_SEQ = '0 ') thenDatabus <= DATABUS_TEMP1;end if; - rw_seq looopend if; - reset looop.end process;