N
nbastar
Guest
chip: epm7128slc84-15
programvare: maxplus2
program: VHDLLIBRARY IEEE;
BRUK ieee.std_logic_1164.all;
BRUK ieee.std_logic_arith.all;
BRUK ieee.std_logic_unsigned.all;
ENTITY golf00 IS
PORT (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15: IN std_ulogic;
A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, a29: IN std_ulogic;
A30, a31, a32, a33, A34, A35, A36, A37, A38, a39, A40, A41, a42, A43, A44, a45, a46, a47, a48: IN std_ulogic;
res, CP: I std_ulogic;
q: OUT std_ulogic;
qa: OUT std_ulogic_vector (6 downto 0)
);
END golf00;
ARKITEKTUR RTL AV golf00 ISsignal temp1: std_ulogic_vector (9 downto 0);
signal temp2: std_ulogic_vector (9 downto 0);
signal temp3: std_ulogic_vector (9 downto 0);
signal temp4: std_ulogic_vector (9 downto 0);
signal temp5: std_ulogic_vector (9 downto 0);
signal temp6: std_ulogic_vector (9 downto 0);
signal temp7: std_ulogic_vector (9 downto 0);
signal temp8: std_ulogic_vector (3 downto 0);
signal temp9: std_ulogic_vector (3 downto 0);
signal temp10: std_ulogic_vector (2 downto 0);
signal y1, y6: std_logic;
signal y2, Y5: std_logic;
signal y3, y4: std_logic;BEGIN
y1 <= A1 og A2 og A3 og A4 og A5 og A6 og A7 og A8 og A9;
y2 <= A10 og A11 og A12 og A13 og A14 og A15 og A16 og A17 og A18 og A19;
y4 <= A20 og A21 og A22 og A23 og A24 og A25 og A26 og A27 og A28 og a29;
Y5 <= a30 og a31 og a32 og a33 og a34 og a35 og a36 og a37 og a38 og a39;
y6 <= a40 og a41 og a42 og a43 og a44 og a45 og a46 og a47 og a48;
y3 <= y1 og y2 og y4 og Y5 og y6;TEMP1 <= a9 & a8 & A7 og A6 og A5 og A4 og A3 og A2 og A1 & '1 ';
TEMP2 <= A19 og A18 og A17 og A16 og A15 og A14 og A13 og A12 og A11 &a10;
TEMP3 <= a29 & A28 og A27 og A26 og A25 og A24 og A23 og A22 og A21 &a20;
TEMP4 <= a39 og a38 og a37 og a36 og a35 og a34 og a33 og a32 og a31 &a30;
TEMP6 <= '1 '& a48 og a47 og a46 og a45 og a44 og a43 og a42 og a41 &a40;
TEMP9 <= y6 & y4 & y3 &y2;
PROCESS (Y3)
BEGIN
if (Y3'EVENT OG Y3 = '0 ') then
TEMP5 <= temp1 og temp2 og temp3 og temp4 og temp6;
END IF;
END PROCESS;
qa (0) <= not (temp5 (1) og temp5 (3) og temp5 (5) og temp5 (7) og temp5 (9));
qa (1) <= not (temp5 (2) og temp5 (3) og temp5 (6) og temp5 (7));
qa (2) <= not (temp5 (4) og temp5 (5) og temp5 (6) og temp5 (7));
qa (3) <= not (temp5 (8) og temp5 (9));
PROCESS (Y3)
BEGIN
if (Y3'EVENT OG Y3 = '0 ') then
case temp9 er
Når "0111" => TEMP10 <= "100"; - 40
Når "1011" => TEMP10 <= "011"; - 30
Når "1101" => TEMP10 <= "010"; - 20
Når "1110" => TEMP10 <= "001"; - 10
Når andre => TEMP10 <= "000"; - 00
END CASE;
END IF;
END PROCESS;
qa (4) <= TEMP10 (0);
qa (5) <= TEMP10 (1);
QA (6) <= TEMP10 (2);
q <= y3;
END RTL;output: det er galt.
hvis jeg bytter chip som flex6000 (epf6010atc100), er det ok.
Jeg vil bruke epm7128slc, hvorfor ikke?
plese hjelpe meg!
programvare: maxplus2
program: VHDLLIBRARY IEEE;
BRUK ieee.std_logic_1164.all;
BRUK ieee.std_logic_arith.all;
BRUK ieee.std_logic_unsigned.all;
ENTITY golf00 IS
PORT (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15: IN std_ulogic;
A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, a29: IN std_ulogic;
A30, a31, a32, a33, A34, A35, A36, A37, A38, a39, A40, A41, a42, A43, A44, a45, a46, a47, a48: IN std_ulogic;
res, CP: I std_ulogic;
q: OUT std_ulogic;
qa: OUT std_ulogic_vector (6 downto 0)
);
END golf00;
ARKITEKTUR RTL AV golf00 ISsignal temp1: std_ulogic_vector (9 downto 0);
signal temp2: std_ulogic_vector (9 downto 0);
signal temp3: std_ulogic_vector (9 downto 0);
signal temp4: std_ulogic_vector (9 downto 0);
signal temp5: std_ulogic_vector (9 downto 0);
signal temp6: std_ulogic_vector (9 downto 0);
signal temp7: std_ulogic_vector (9 downto 0);
signal temp8: std_ulogic_vector (3 downto 0);
signal temp9: std_ulogic_vector (3 downto 0);
signal temp10: std_ulogic_vector (2 downto 0);
signal y1, y6: std_logic;
signal y2, Y5: std_logic;
signal y3, y4: std_logic;BEGIN
y1 <= A1 og A2 og A3 og A4 og A5 og A6 og A7 og A8 og A9;
y2 <= A10 og A11 og A12 og A13 og A14 og A15 og A16 og A17 og A18 og A19;
y4 <= A20 og A21 og A22 og A23 og A24 og A25 og A26 og A27 og A28 og a29;
Y5 <= a30 og a31 og a32 og a33 og a34 og a35 og a36 og a37 og a38 og a39;
y6 <= a40 og a41 og a42 og a43 og a44 og a45 og a46 og a47 og a48;
y3 <= y1 og y2 og y4 og Y5 og y6;TEMP1 <= a9 & a8 & A7 og A6 og A5 og A4 og A3 og A2 og A1 & '1 ';
TEMP2 <= A19 og A18 og A17 og A16 og A15 og A14 og A13 og A12 og A11 &a10;
TEMP3 <= a29 & A28 og A27 og A26 og A25 og A24 og A23 og A22 og A21 &a20;
TEMP4 <= a39 og a38 og a37 og a36 og a35 og a34 og a33 og a32 og a31 &a30;
TEMP6 <= '1 '& a48 og a47 og a46 og a45 og a44 og a43 og a42 og a41 &a40;
TEMP9 <= y6 & y4 & y3 &y2;
PROCESS (Y3)
BEGIN
if (Y3'EVENT OG Y3 = '0 ') then
TEMP5 <= temp1 og temp2 og temp3 og temp4 og temp6;
END IF;
END PROCESS;
qa (0) <= not (temp5 (1) og temp5 (3) og temp5 (5) og temp5 (7) og temp5 (9));
qa (1) <= not (temp5 (2) og temp5 (3) og temp5 (6) og temp5 (7));
qa (2) <= not (temp5 (4) og temp5 (5) og temp5 (6) og temp5 (7));
qa (3) <= not (temp5 (8) og temp5 (9));
PROCESS (Y3)
BEGIN
if (Y3'EVENT OG Y3 = '0 ') then
case temp9 er
Når "0111" => TEMP10 <= "100"; - 40
Når "1011" => TEMP10 <= "011"; - 30
Når "1101" => TEMP10 <= "010"; - 20
Når "1110" => TEMP10 <= "001"; - 10
Når andre => TEMP10 <= "000"; - 00
END CASE;
END IF;
END PROCESS;
qa (4) <= TEMP10 (0);
qa (5) <= TEMP10 (1);
QA (6) <= TEMP10 (2);
q <= y3;
END RTL;output: det er galt.
hvis jeg bytter chip som flex6000 (epf6010atc100), er det ok.
Jeg vil bruke epm7128slc, hvorfor ikke?
plese hjelpe meg!