J
juanma21
Guest
Non posso concludere il mio codice, c'è qualcosa che mi manca:
Uso VHDL,
la progettazione di un circuito che produrrà
1.Q = INT (Y / X) e R = Rimanenza di Y / X
2.Sia Y una unsigned 8-bit, e X = 4-bit unsigned.
3.Il tuo disegno deve avere un segnale di errore (attivo alto) se X = 0.
Questo è il mio codice:
- Definire Biblioteche
Biblioteca IEEE;
Usa ieee.std_logic_1164.all;
Usa ieee.std_logic_arith.all;
Usa ieee.std_logic_unsigned.all;
- Definire i segnali di ingresso e di uscita
Entità ultimo è
porto (y: in std_logic_vector (7 downto 0);
x: in std_logic_vector (3 downto 0);
quot: out std_logic_vector (7 downto 0);
rimangono: fuori std_logic_vector (3 downto 0);
inizio: in std_logic;
buon fine, errore: out std_logic);
Fine ultimo soggetto;- Definire i segnali interni --
processo di (X, Y, l'inizio,
la ps, py, px, pq, Prem, perror, pDone)
iniziare
- Definire le uscite di default
ns <= ps;
ny <= py;ps caso è
quando Sstart =>
if (start ='0 '), poi ns <= Sstart; altro ns <= SReset;
quando Sreset =>
nError <='0 '; nDone <='0';
nx <= x; ny <= y; nq <= "00000000"; nrem <= "0000";
if (x = "0000"), allora
nerror <='1 ';
ns <= Sstart;
altro ns <= Sloop;
quando Sloop =>
ny <py = "0000" &px;
= (ny_lt_0 logica per determinare se ny <0);
if (ny_lt_0 ='0 '), poi
nq <= pq 1;
ns <= Sloop;
altro ns <= SDone;
Quando SDone =>
nrem <= py "0000" &px;
nDone <='1 ';
ns <= Sstart;
Quando gli altri => ns <= Sreset;
Fine caso;
Fine processo;Thank you very much!
Uso VHDL,
la progettazione di un circuito che produrrà
1.Q = INT (Y / X) e R = Rimanenza di Y / X
2.Sia Y una unsigned 8-bit, e X = 4-bit unsigned.
3.Il tuo disegno deve avere un segnale di errore (attivo alto) se X = 0.
Questo è il mio codice:
- Definire Biblioteche
Biblioteca IEEE;
Usa ieee.std_logic_1164.all;
Usa ieee.std_logic_arith.all;
Usa ieee.std_logic_unsigned.all;
- Definire i segnali di ingresso e di uscita
Entità ultimo è
porto (y: in std_logic_vector (7 downto 0);
x: in std_logic_vector (3 downto 0);
quot: out std_logic_vector (7 downto 0);
rimangono: fuori std_logic_vector (3 downto 0);
inizio: in std_logic;
buon fine, errore: out std_logic);
Fine ultimo soggetto;- Definire i segnali interni --
processo di (X, Y, l'inizio,
la ps, py, px, pq, Prem, perror, pDone)
iniziare
- Definire le uscite di default
ns <= ps;
ny <= py;ps caso è
quando Sstart =>
if (start ='0 '), poi ns <= Sstart; altro ns <= SReset;
quando Sreset =>
nError <='0 '; nDone <='0';
nx <= x; ny <= y; nq <= "00000000"; nrem <= "0000";
if (x = "0000"), allora
nerror <='1 ';
ns <= Sstart;
altro ns <= Sloop;
quando Sloop =>
ny <py = "0000" &px;
= (ny_lt_0 logica per determinare se ny <0);
if (ny_lt_0 ='0 '), poi
nq <= pq 1;
ns <= Sloop;
altro ns <= SDone;
Quando SDone =>
nrem <= py "0000" &px;
nDone <='1 ';
ns <= Sstart;
Quando gli altri => ns <= Sreset;
Fine caso;
Fine processo;Thank you very much!