J
junchaoguo51888
Guest
waarom kan ik niet tot het simuleren golfvorm in ISE met HDL Bencher?library IEEE;
gebruik IEEE.STD_LOGIC_1164.all;
pakket rom_pack issubtype rom1_word is std_logic_vector (10 downto 0);
subtype rom_range is integer bereik 0 tot 31;
type rom1_array is array (rom_range) van rom1_word;
functie logic2int (din: std_logic_vector (4 downto 0)) return rom_range;
constante 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"
);einde rom_pack;
pakket lichaam rom_pack is
functie logic2int (din: std_logic_vector (4 downto 0)) return rom_range is
variabele resultaat: rom_range: = 0;
beginnen
voor i in het 0 tot 4 lus
als DIN (i) ='1 ', dan
resultaat: = resultaat 2 ** i;
end if;
einde lus;
return resultaat;
End Function logic2int;
einde rom_pack;library IEEE;
bibliotheekwerk;
gebruik IEEE.STD_LOGIC_1164.ALL;
gebruik IEEE.STD_LOGIC_ARITH.ALL;
gebruik IEEE.STD_LOGIC_UNSIGNED.ALL;
gebruik work.rom_pack.all;
entiteit rom_logic is
Port (aaddr: in std_logic_vector (4 downto 0);
lees: in std_logic;
sinaout:
Out std_logic_vector (10 downto 0)
);
einde rom_logic;
architectuur beh van rom_logic is
beginnen
proces (lees)
beginnen
if (lees ='1 '), dan
sinaout <= rom1 (logic2int (aaddr));
anders
sinaout <= (others => 'Z');
end if;
einde proces;einde beh;
Laatst gewijzigd door junchaoguo51888 op 02 februari 2004 5:07; bewerkt 1 keer in totaal
gebruik IEEE.STD_LOGIC_1164.all;
pakket rom_pack issubtype rom1_word is std_logic_vector (10 downto 0);
subtype rom_range is integer bereik 0 tot 31;
type rom1_array is array (rom_range) van rom1_word;
functie logic2int (din: std_logic_vector (4 downto 0)) return rom_range;
constante 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"
);einde rom_pack;
pakket lichaam rom_pack is
functie logic2int (din: std_logic_vector (4 downto 0)) return rom_range is
variabele resultaat: rom_range: = 0;
beginnen
voor i in het 0 tot 4 lus
als DIN (i) ='1 ', dan
resultaat: = resultaat 2 ** i;
end if;
einde lus;
return resultaat;
End Function logic2int;
einde rom_pack;library IEEE;
bibliotheekwerk;
gebruik IEEE.STD_LOGIC_1164.ALL;
gebruik IEEE.STD_LOGIC_ARITH.ALL;
gebruik IEEE.STD_LOGIC_UNSIGNED.ALL;
gebruik work.rom_pack.all;
entiteit rom_logic is
Port (aaddr: in std_logic_vector (4 downto 0);
lees: in std_logic;
sinaout:
Out std_logic_vector (10 downto 0)
);
einde rom_logic;
architectuur beh van rom_logic is
beginnen
proces (lees)
beginnen
if (lees ='1 '), dan
sinaout <= rom1 (logic2int (aaddr));
anders
sinaout <= (others => 'Z');
end if;
einde proces;einde beh;
Laatst gewijzigd door junchaoguo51888 op 02 februari 2004 5:07; bewerkt 1 keer in totaal