P
pantho
Guest
Hei kaikille,
Olen uusi VHDL-ohjelmointi.Työssäni olen käyttäen ISE 10.1 ja ModelSim XE III 6.3c.Olen edessään joitakin ongelmia ohjelmoinnin yksinkertaisen koodin.koodi on seuraava:
------------------------------------------
library IEEE;
käytön ieee.std_logic_1164.all;
käytön ieee.numeric_std.all;
yksikkö testi
satama (
CLK: in std_logic;
in_i1: in std_logic_vector (7 downto 0);
out_i1: out std_logic_vector (7 downto 0)
)
lopussa testi;
arkkitehtuuri ja testi
signaali signed_out_i1: allekirjoittanut (7 downto 0);
aloittaa
prosessi (CLK)
aloittaa
jos (clk'event ja CLK = '1 ') then
signed_out_i1 <= allekirjoittaneet (in_i1);
end if;
end process;
out_i1 <= std_logic_vector (signed_out_i1);
varten;
----------------------------------------
Ongelma # 1:
Haluan "signed_out_i1" muuttuu negatiiviseksi ja "in_i1" jokaisen kellon muutosta 1.käyttäytymistieteellisen (toiminnallinen) simulointi toimii kunnossa ja näyttää odotettua tulosta.Mutta Post-kääntää simulointi lähtö ei odotetulla tavalla.Käytin seuraavia testbench koodi:
--------------------------------------
library IEEE;
käytön ieee.std_logic_1164.all;
käytön ieee.numeric_std.all;
yksikkö test_tb on
lopussa test_tb;
arkkitehtuuri test_tb_arch ja test_tb on
osatesteihin
satama (
CLK: in std_logic;
in_i1: in std_logic_vector (7 downto 0);
out_i1: out std_logic_vector (7 downto 0)
)
komponenttirakenne;
signaali CLK: std_logic;
signaali in_i1, out_i1: std_logic_vector (7 downto 0);
aloittaa
aaaa: test sataman kartta (CLK, in_i1, out_i1);
prosessi
aloittaa
CLK <= '0 ';
in_i1 <= "11111111";
odota 50 ns;
CLK <= '1 ';
in_i1 <= "00000001";
odota 50 ns;
CLK <= '0 ';
in_i1 <= "00000001";
odota 50 ns;
CLK <= '1 ';
in_i1 <= "11111111";
odota 50 ns;
end process;
lopussa test_tb_arch;
kokoonpano AOA ja test_tb on
ja test_tb_arch
loppua;
lopussa AOA;
-------------------------------------------------- ---------
odotettu tuotos olisi joko "00000001" ja "11111111".Kuitenkin tuotoksen se näyttää "11001001" ja "00110111".Voisiko joku selittää, mikä on ongelma?
Ongelma # 2:
Toinen ongelma on, että kun ajaa Post-kartta Simulointi tai Post-reitin simulointi ISE 10,1 simulointi lähtö ei näytetä Modelsim.Se osoittaa seuraavan virheen ModelSim:
# ** Varoitus: Design koon 12274 lausuntoja tai 0 ei Xilinx Leaf tapauksissa ylittää ModelSim XE-Starter suositellaan kapasiteettia.
# Odottaa suorituskyky on varsin haitallisia vaikutuksia.
# ** Virhe: (vsim-SDF-3250) netgen / kartta / test_map.sdf (0): Failed löytää oikeusasteen / UUT ".
# Virhe suunnittelussa
# Virhe: Virhe suunnittelussa
# Keskeyttäminen macro execution
# MACRO. / Test_tb.mdo keskeytetty line 8
Miten ratkaista ongelma?
Olen hyvin kiitollinen, jos joku voi auttaa minua ratkaisemaan ongelmia.
Thanks and best regards,
Pantho
Olen uusi VHDL-ohjelmointi.Työssäni olen käyttäen ISE 10.1 ja ModelSim XE III 6.3c.Olen edessään joitakin ongelmia ohjelmoinnin yksinkertaisen koodin.koodi on seuraava:
------------------------------------------
library IEEE;
käytön ieee.std_logic_1164.all;
käytön ieee.numeric_std.all;
yksikkö testi
satama (
CLK: in std_logic;
in_i1: in std_logic_vector (7 downto 0);
out_i1: out std_logic_vector (7 downto 0)
)
lopussa testi;
arkkitehtuuri ja testi
signaali signed_out_i1: allekirjoittanut (7 downto 0);
aloittaa
prosessi (CLK)
aloittaa
jos (clk'event ja CLK = '1 ') then
signed_out_i1 <= allekirjoittaneet (in_i1);
end if;
end process;
out_i1 <= std_logic_vector (signed_out_i1);
varten;
----------------------------------------
Ongelma # 1:
Haluan "signed_out_i1" muuttuu negatiiviseksi ja "in_i1" jokaisen kellon muutosta 1.käyttäytymistieteellisen (toiminnallinen) simulointi toimii kunnossa ja näyttää odotettua tulosta.Mutta Post-kääntää simulointi lähtö ei odotetulla tavalla.Käytin seuraavia testbench koodi:
--------------------------------------
library IEEE;
käytön ieee.std_logic_1164.all;
käytön ieee.numeric_std.all;
yksikkö test_tb on
lopussa test_tb;
arkkitehtuuri test_tb_arch ja test_tb on
osatesteihin
satama (
CLK: in std_logic;
in_i1: in std_logic_vector (7 downto 0);
out_i1: out std_logic_vector (7 downto 0)
)
komponenttirakenne;
signaali CLK: std_logic;
signaali in_i1, out_i1: std_logic_vector (7 downto 0);
aloittaa
aaaa: test sataman kartta (CLK, in_i1, out_i1);
prosessi
aloittaa
CLK <= '0 ';
in_i1 <= "11111111";
odota 50 ns;
CLK <= '1 ';
in_i1 <= "00000001";
odota 50 ns;
CLK <= '0 ';
in_i1 <= "00000001";
odota 50 ns;
CLK <= '1 ';
in_i1 <= "11111111";
odota 50 ns;
end process;
lopussa test_tb_arch;
kokoonpano AOA ja test_tb on
ja test_tb_arch
loppua;
lopussa AOA;
-------------------------------------------------- ---------
odotettu tuotos olisi joko "00000001" ja "11111111".Kuitenkin tuotoksen se näyttää "11001001" ja "00110111".Voisiko joku selittää, mikä on ongelma?
Ongelma # 2:
Toinen ongelma on, että kun ajaa Post-kartta Simulointi tai Post-reitin simulointi ISE 10,1 simulointi lähtö ei näytetä Modelsim.Se osoittaa seuraavan virheen ModelSim:
# ** Varoitus: Design koon 12274 lausuntoja tai 0 ei Xilinx Leaf tapauksissa ylittää ModelSim XE-Starter suositellaan kapasiteettia.
# Odottaa suorituskyky on varsin haitallisia vaikutuksia.
# ** Virhe: (vsim-SDF-3250) netgen / kartta / test_map.sdf (0): Failed löytää oikeusasteen / UUT ".
# Virhe suunnittelussa
# Virhe: Virhe suunnittelussa
# Keskeyttäminen macro execution
# MACRO. / Test_tb.mdo keskeytetty line 8
Miten ratkaista ongelma?
Olen hyvin kiitollinen, jos joku voi auttaa minua ratkaisemaan ongelmia.
Thanks and best regards,
Pantho