V
vuoristoalueiden
Guest
Olen vihreä käsi VHDL.Nyt minä suunnittelu ASIC toteuttaa koko funcions Mitsubishi M66500 SP / FP PROGRAMMABLE puskuroitu I / O EXPANDER.
Mutta minä kohdata joitakin eroja, etenkin "InOut" Port.Olen minimoida minun koodi edustaa päätoiminta alla.
Voitko antaa neuvoja siitä koodin?
MAX Plus II 10.23 Full.Kääntäminen on OK, mutta simulaatio osoittaa, tällainen virheilmoituksen: Warning: Löytyy logiikkaa erimielisyyksiä 40ns on solmun "D0"
Varoitus: Löytyy logiikkaa erimielisyyksiä 40ns on solmun "D1"
...
Varoitus: Löytyy logiikkaa erimielisyyksiä 40ns on solmun "A7"
Pyydän teiltä apua!
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />--*************************************
Library IEEE;
Käytä IEEE.Std_Logic_1164.All;
Käytä IEEE.Std_Logic_Arith.All;
Käytä IEEE.Std_Logic_Unsigned.All;
--*************************************
Entity M66500 Is
Port (
Osoite: In std_logic_vector (2 downto 0);
D: InOut std_logic_vector (7 downto 0);
RST: In Std_Logic;
CS: In Std_Logic;
WR: In Std_Logic;
RD: In Std_Logic;
: InOut std_logic_vector (7 downto 0)
)
End M66500;
--*************************************
Arkkitehtuuri Of M66500 on
Signaalin Status: std_logic_vector (7 downto 0) = "11111111";
Signal BitCon: std_logic_vector (7 downto 0) = "00000000";
Signal Buffa: std_logic_vector (7 downto 0);
Aloittaa
Process (osoite, CS, RD, WR, RST)
Muuttuja Sel: std_logic_vector (3 downto 0);
Aloittaa
SEL: = CS ja osoite;
Jos RST = 1 "ja CS = '0 'jälkeen
Tila <= "11111111";
Elsif WR'Event Ja WR = '1 'Sitten - Kirjoita D Ports
Asia Sel Is
Kun "0000" => - Kirjoita D jos mahdollista, tai Buffa, jos ei
Buffa <= D;
Jos tila (3) = '0 'Sitten
Muodostuva <= Buffa;
Elsif tila (3) = '1 'Sitten
Muodostuva <= "ZZZZZZZZ";
End if;
Kun "0111" => - Kirjoita valvomiseksi Rekisteröidy
Jos D (7) = '0 'Sitten
BitCon <= D;
Elsif D (7) = '1 'Sitten
Tila <= D;
End if;
Kun Muut =>
Null;
End asia;
End if;
Jos RD = '0 'Sitten - Lue Port D
Asia Sel Is
Kun "0000" => - Lue A-D Jos mahdollista, tai Buffa, jos ei
Jos tila (3) = '1 'Sitten
D <=;
Elsif tila (3) = '0 'Sitten
D <= Buffa;
End if;
Kun Muut =>
Null;
End asia;
End if;End process;
Varten;
Last edited by vuori 07 kesäkuu 2004 17:11, muokattu 2 kertaa yhteensä
Mutta minä kohdata joitakin eroja, etenkin "InOut" Port.Olen minimoida minun koodi edustaa päätoiminta alla.
Voitko antaa neuvoja siitä koodin?
MAX Plus II 10.23 Full.Kääntäminen on OK, mutta simulaatio osoittaa, tällainen virheilmoituksen: Warning: Löytyy logiikkaa erimielisyyksiä 40ns on solmun "D0"
Varoitus: Löytyy logiikkaa erimielisyyksiä 40ns on solmun "D1"
...
Varoitus: Löytyy logiikkaa erimielisyyksiä 40ns on solmun "A7"
Pyydän teiltä apua!
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />--*************************************
Library IEEE;
Käytä IEEE.Std_Logic_1164.All;
Käytä IEEE.Std_Logic_Arith.All;
Käytä IEEE.Std_Logic_Unsigned.All;
--*************************************
Entity M66500 Is
Port (
Osoite: In std_logic_vector (2 downto 0);
D: InOut std_logic_vector (7 downto 0);
RST: In Std_Logic;
CS: In Std_Logic;
WR: In Std_Logic;
RD: In Std_Logic;
: InOut std_logic_vector (7 downto 0)
)
End M66500;
--*************************************
Arkkitehtuuri Of M66500 on
Signaalin Status: std_logic_vector (7 downto 0) = "11111111";
Signal BitCon: std_logic_vector (7 downto 0) = "00000000";
Signal Buffa: std_logic_vector (7 downto 0);
Aloittaa
Process (osoite, CS, RD, WR, RST)
Muuttuja Sel: std_logic_vector (3 downto 0);
Aloittaa
SEL: = CS ja osoite;
Jos RST = 1 "ja CS = '0 'jälkeen
Tila <= "11111111";
Elsif WR'Event Ja WR = '1 'Sitten - Kirjoita D Ports
Asia Sel Is
Kun "0000" => - Kirjoita D jos mahdollista, tai Buffa, jos ei
Buffa <= D;
Jos tila (3) = '0 'Sitten
Muodostuva <= Buffa;
Elsif tila (3) = '1 'Sitten
Muodostuva <= "ZZZZZZZZ";
End if;
Kun "0111" => - Kirjoita valvomiseksi Rekisteröidy
Jos D (7) = '0 'Sitten
BitCon <= D;
Elsif D (7) = '1 'Sitten
Tila <= D;
End if;
Kun Muut =>
Null;
End asia;
End if;
Jos RD = '0 'Sitten - Lue Port D
Asia Sel Is
Kun "0000" => - Lue A-D Jos mahdollista, tai Buffa, jos ei
Jos tila (3) = '1 'Sitten
D <=;
Elsif tila (3) = '0 'Sitten
D <= Buffa;
End if;
Kun Muut =>
Null;
End asia;
End if;End process;
Varten;
Last edited by vuori 07 kesäkuu 2004 17:11, muokattu 2 kertaa yhteensä