J
junchaoguo51888
Guest
Kodėl aš negaliu sukurti modeliuoti signalo į ISE su DTL narys?biblioteka IEEE;
naudoti IEEE.STD_LOGIC_1164.all;
paketas rom_pack yrasubtipas rom1_word yra std_logic_vector (10 downto 0);
subtipas rom_range yra sveikasis skaičius nuo 0 iki 31;
tipo rom1_array yra masyvas (rom_range) nuo rom1_word;
funkcija logic2int (DIN: std_logic_vector (4 downto 0)) return rom_range;
nuolat Rom1: rom1_array: = (
"00000011001", "00001001011", "00001111101", "00010101111"
"00011100001", "00100010011", "00101000101", "00101110110"
"00110101000", "00111011001", "01000001010", "01000111010"
"01001101010", "01010011010", "01011001001", "01011111000"
"01100100111", "01101010100", "01110000010", "01110101111"
"01111011011", "10000000111", "10000110010", "10001011100"
"10010000110", "10010101111", "10011011000", "10011111111"
"10100100110", "10101001100", "10101110001", "10110010110"
);pabaigos rom_pack;
paketas kūno rom_pack yra
funkcija logic2int (DIN: std_logic_vector (4 downto 0)) return rom_range yra
kintamojo Rezultatas: rom_range: = 0;
pradėti
for i in 0 iki 4 linijos
jei din (i) = "1", tada
rezultatas: = Rezultatas
2 ** i;
end if;
end loop;
return rezultatas;
pabaigos funkcija logic2int;
pabaigos rom_pack;biblioteka IEEE;
bibliotekos darbą;
naudoti IEEE.STD_LOGIC_1164.ALL;
naudoti IEEE.STD_LOGIC_ARITH.ALL;
naudoti IEEE.STD_LOGIC_UNSIGNED.ALL;
naudoti work.rom_pack.all;
subjektas rom_logic yra
Uostas (aaddr: į std_logic_vector (4 downto 0);
skaityti: į std_logic;
sinaout: iš std_logic_vector (10 downto 0)
);
pabaigos rom_logic;
Architektūra beh iš rom_logic yra
pradėti
procesas (skaityti)
pradėti
jei (skaityti ='1 '), tada
sinaout <= Rom1 (logic2int (aaddr));
kitas
sinaout <= (kiti => 'Z');
end if;
galutinio proceso;pabaigos beh;
Paskutinį kartą redagavo junchaoguo51888 02 vasaris 2004 5:07; edited 1 kartą iš viso
naudoti IEEE.STD_LOGIC_1164.all;
paketas rom_pack yrasubtipas rom1_word yra std_logic_vector (10 downto 0);
subtipas rom_range yra sveikasis skaičius nuo 0 iki 31;
tipo rom1_array yra masyvas (rom_range) nuo rom1_word;
funkcija logic2int (DIN: std_logic_vector (4 downto 0)) return rom_range;
nuolat Rom1: rom1_array: = (
"00000011001", "00001001011", "00001111101", "00010101111"
"00011100001", "00100010011", "00101000101", "00101110110"
"00110101000", "00111011001", "01000001010", "01000111010"
"01001101010", "01010011010", "01011001001", "01011111000"
"01100100111", "01101010100", "01110000010", "01110101111"
"01111011011", "10000000111", "10000110010", "10001011100"
"10010000110", "10010101111", "10011011000", "10011111111"
"10100100110", "10101001100", "10101110001", "10110010110"
);pabaigos rom_pack;
paketas kūno rom_pack yra
funkcija logic2int (DIN: std_logic_vector (4 downto 0)) return rom_range yra
kintamojo Rezultatas: rom_range: = 0;
pradėti
for i in 0 iki 4 linijos
jei din (i) = "1", tada
rezultatas: = Rezultatas
2 ** i;
end if;
end loop;
return rezultatas;
pabaigos funkcija logic2int;
pabaigos rom_pack;biblioteka IEEE;
bibliotekos darbą;
naudoti IEEE.STD_LOGIC_1164.ALL;
naudoti IEEE.STD_LOGIC_ARITH.ALL;
naudoti IEEE.STD_LOGIC_UNSIGNED.ALL;
naudoti work.rom_pack.all;
subjektas rom_logic yra
Uostas (aaddr: į std_logic_vector (4 downto 0);
skaityti: į std_logic;
sinaout: iš std_logic_vector (10 downto 0)
);
pabaigos rom_logic;
Architektūra beh iš rom_logic yra
pradėti
procesas (skaityti)
pradėti
jei (skaityti ='1 '), tada
sinaout <= Rom1 (logic2int (aaddr));
kitas
sinaout <= (kiti => 'Z');
end if;
galutinio proceso;pabaigos beh;
Paskutinį kartą redagavo junchaoguo51888 02 vasaris 2004 5:07; edited 1 kartą iš viso