P
Peter_L
Guest
Hello All,
Man šobrīd ir Spartan3A DDR2 Development Kit.Es cenšos radīt VHDL kodu, lai ieslēgtu vienu LED no (0) LED ar LED (
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Vēss" border="0" />
un displejs ziņojumu LCD ekrāns everytime kombinācija slēdži toggled switch (0) pāriet (2).Es, izmantojot vairākus process ir, bet es regulāri saņemt kļūda, kad es imitēšanai.Es esmu mēģinājis daudz veidu, kā atbrīvoties no šo kļūdu, bet nothign AHS strādāja.Es ceru, ka kāds var palīdzēt!Piestiprinātas priekšstatu par modelēšanas kļūdas un VHDL kodu.
Kods:
bibliotēka IEEE;
izmantot IEEE.STD_LOGIC_1164.ALL;
izmantot IEEE.STD_LOGIC_ARITH.ALL;
izmantot IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment šādu bibliotēka deklarāciju, ja instantiating
---- Jebkurā XILINX primitīvu šajā kodā.
- bibliotēka UNISIM;
- izmantot UNISIM.VComponents.all;vienība dekoders ir
Osta (sel: in STD_LOGIC_VECTOR (2 downto 0); - selektora slēdzi, ko izmanto, lai pārslēgtos LED
y: out STD_LOGIC_VECTOR (0 7 downto), - izeja uz 8 LEDs
LCD_DB: inout std_logic_vector (7 downto 0): = "00.000.000";
LCD_RWS: inout std_logic_vector (1 downto 0): = "00";
LCD_E: out STD_LOGIC: = '0 ');
end decoder;
-------------------------------------------------- -------------------------------------------------arhitektūra Uzvedības no dekodera ir
signālu lcd_clr_s, lcd_e_disable_s: std_logic: = '0 ';
sāktdecoder: process (SEL)
sākt
ja sel ir
ja "000" => y <= "00.000.001";
ja "001" => y <= "00.000.010";
ja "010" => y <= "00.000.100";
ja "011" => y <= "00.001.000";
ja "100" => y <= "00.010.000";
ja "101" => y <= "00.100.000";
ja "110" => y <= "01.000.000";
kad citi => y <= "10000000";
end gadījumā;
lcd_clr_s <= nav lcd_clr_s;
end process decoder;
--------------------------------------------lcd_clr: process (lcd_clr_s)
sākt
lcd_rws <= "00"; - Clear LCD displejs
lcd_e <= '1 ';
lcd_db <= "00000001";lcd_e_disable_s <= nav lcd_e_disable_s;
end process lcd_clr;
--------------------------------------------------
lcd_e_disable: process (lcd_e_disable_s)
sāktlcd_e <= '0 ';
lcd_db <= "00000000";end process lcd_e_disable;end arhitektūra uzvedības;
Man šobrīd ir Spartan3A DDR2 Development Kit.Es cenšos radīt VHDL kodu, lai ieslēgtu vienu LED no (0) LED ar LED (
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Vēss" border="0" />
un displejs ziņojumu LCD ekrāns everytime kombinācija slēdži toggled switch (0) pāriet (2).Es, izmantojot vairākus process ir, bet es regulāri saņemt kļūda, kad es imitēšanai.Es esmu mēģinājis daudz veidu, kā atbrīvoties no šo kļūdu, bet nothign AHS strādāja.Es ceru, ka kāds var palīdzēt!Piestiprinātas priekšstatu par modelēšanas kļūdas un VHDL kodu.
Kods:
bibliotēka IEEE;
izmantot IEEE.STD_LOGIC_1164.ALL;
izmantot IEEE.STD_LOGIC_ARITH.ALL;
izmantot IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment šādu bibliotēka deklarāciju, ja instantiating
---- Jebkurā XILINX primitīvu šajā kodā.
- bibliotēka UNISIM;
- izmantot UNISIM.VComponents.all;vienība dekoders ir
Osta (sel: in STD_LOGIC_VECTOR (2 downto 0); - selektora slēdzi, ko izmanto, lai pārslēgtos LED
y: out STD_LOGIC_VECTOR (0 7 downto), - izeja uz 8 LEDs
LCD_DB: inout std_logic_vector (7 downto 0): = "00.000.000";
LCD_RWS: inout std_logic_vector (1 downto 0): = "00";
LCD_E: out STD_LOGIC: = '0 ');
end decoder;
-------------------------------------------------- -------------------------------------------------arhitektūra Uzvedības no dekodera ir
signālu lcd_clr_s, lcd_e_disable_s: std_logic: = '0 ';
sāktdecoder: process (SEL)
sākt
ja sel ir
ja "000" => y <= "00.000.001";
ja "001" => y <= "00.000.010";
ja "010" => y <= "00.000.100";
ja "011" => y <= "00.001.000";
ja "100" => y <= "00.010.000";
ja "101" => y <= "00.100.000";
ja "110" => y <= "01.000.000";
kad citi => y <= "10000000";
end gadījumā;
lcd_clr_s <= nav lcd_clr_s;
end process decoder;
--------------------------------------------lcd_clr: process (lcd_clr_s)
sākt
lcd_rws <= "00"; - Clear LCD displejs
lcd_e <= '1 ';
lcd_db <= "00000001";lcd_e_disable_s <= nav lcd_e_disable_s;
end process lcd_clr;
--------------------------------------------------
lcd_e_disable: process (lcd_e_disable_s)
sāktlcd_e <= '0 ';
lcd_db <= "00000000";end process lcd_e_disable;end arhitektūra uzvedības;