M
modeonz
Guest
ja jestem przy pomocy Spartan 3e ...Staram się komunikować z komputerem za pomocą komunikacji szeregowej .....Używam 50 MHz CLK .....Chcę 9600 szybkością do wysłania 8 bitów rejestru ....Jaka jest wartość tych dzielnik należy podjąć .....i używane do 5208 dzielnik również próbowałem 1302, ale i niczego nie otrzymać w hyberterminal ?!!!!!!whatshould zrobićZrobiłem ten kod
itried ten kod w symulatorze i uzyskać prawdziwe wyjście usind przez dzielnik = 5 do ogłoszenia produkcji, tak myślę, że ten błąd będzie na szybkośćc jest zegar
y jest tx
LIBRARY IEEE;
WYKORZYSTANIE ieee.std_logic_1164.all;
WYKORZYSTANIE ieee.std_logic_arith.all;
wykorzystania ieee.std_logic_unsigned.all;JEDNOSTKI Trybunał
PORT (
c: IN std_logic;
rst: IN std_logic;
y: OUT std_logic
);
- Deklaracje
KONIEC sądu;
- HDS interface_end
ARCHITEKTURA muha sądu IS
sygnału TM: std_logic_vector (15 downto 0): = (others =>'0 ');
stałej div: integer: = 5208;
sygnał CLK: std_logic;
sygnał zajętości: std_logic: ='0 ';
sygnał bałagan: std_logic_vector (9 downto 0): = (others =>'0 ');
sygnał sądu: std_logic_vector (15 downto 0): = (others =>'0 ');
BEGIN
clkgen:
process (rst, c)
zacząć
jeśli rst ='1 ',
a następnie
TM <= (others =>'0 ');
CLK <='0 ';
elsif c ='1 ',
a następnie
CLK <='0 ';
jeśli tm = div następnie
TM <= (others =>'0 ');
CLK <='1 ';
w przeciwnym razie
TM <= TM 1;
end if;
end if;
koniec procesu;
shif: proces (c)
zacząć
jeżeli zajęty ='0 ',
a następnie
bałagan <= "0111010111";
zajęty <='1 ';
elsif (zajęty = "1"),
a następnie
if (CLK ='1 'oraz c ='1'),
a następnie
y <= bałagan (9);
bałagan (9 downto 1) <= bałagan (8 downto 0);
cout <= sądu 1;
end if;
end if;
jeśli sąd = 20 następnie
zajęty <='0 ';
cout <= (others =>'0 ');
end if;
koniec procesu;
KONIEC muha;
itried ten kod w symulatorze i uzyskać prawdziwe wyjście usind przez dzielnik = 5 do ogłoszenia produkcji, tak myślę, że ten błąd będzie na szybkośćc jest zegar
y jest tx
LIBRARY IEEE;
WYKORZYSTANIE ieee.std_logic_1164.all;
WYKORZYSTANIE ieee.std_logic_arith.all;
wykorzystania ieee.std_logic_unsigned.all;JEDNOSTKI Trybunał
PORT (
c: IN std_logic;
rst: IN std_logic;
y: OUT std_logic
);
- Deklaracje
KONIEC sądu;
- HDS interface_end
ARCHITEKTURA muha sądu IS
sygnału TM: std_logic_vector (15 downto 0): = (others =>'0 ');
stałej div: integer: = 5208;
sygnał CLK: std_logic;
sygnał zajętości: std_logic: ='0 ';
sygnał bałagan: std_logic_vector (9 downto 0): = (others =>'0 ');
sygnał sądu: std_logic_vector (15 downto 0): = (others =>'0 ');
BEGIN
clkgen:
process (rst, c)
zacząć
jeśli rst ='1 ',
a następnie
TM <= (others =>'0 ');
CLK <='0 ';
elsif c ='1 ',
a następnie
CLK <='0 ';
jeśli tm = div następnie
TM <= (others =>'0 ');
CLK <='1 ';
w przeciwnym razie
TM <= TM 1;
end if;
end if;
koniec procesu;
shif: proces (c)
zacząć
jeżeli zajęty ='0 ',
a następnie
bałagan <= "0111010111";
zajęty <='1 ';
elsif (zajęty = "1"),
a następnie
if (CLK ='1 'oraz c ='1'),
a następnie
y <= bałagan (9);
bałagan (9 downto 1) <= bałagan (8 downto 0);
cout <= sądu 1;
end if;
end if;
jeśli sąd = 20 następnie
zajęty <='0 ';
cout <= (others =>'0 ');
end if;
koniec procesu;
KONIEC muha;