T
TSS
Guest
bibliotecă IEEE;
utilizare ieee.std_logic_1164.all;
utilizare ieee.std_logic_unsigned.all;
utilizare ieee.std_logic_arith.all;
ENTITATE alu8bit este
port (A, B: in std_logic_vector (7 downto 0);
op: in std_logic_vector (2 downto 0);
zero: out std_logic;
C: afară std_logic_vector (7 downto 0));
END alu8bit;
arhitectura de alu8bit de comportament este
începe
proces (PO)
variabilă temp: std_logic_vector (7 downto 0);
începe
op este cazul
atunci când "000" =>
temp: = A şi B;
atunci când "100" =>
temp: = A şi B;
atunci când "001" =>
temp: = A sau B;
atunci când "101" =>
temp: = A sau B;
atunci când "010" =>
temp: = a b;
atunci când "110" =>
temp: = a - b;
atunci când "111" =>
dacă a <b atunci
temp: = "11111111";
alt
temp: = "00000000";
sfârşit dacă;
atunci când alţii =>
temp: = a - b;
sfârşitul cazul;
dacă temp = "00000000", atunci
zero <='1 ';
alt
zero <='0 ';
sfârşit dacă;
c <= temp;
sfârşitul procesului;
sfârşitul comportamentale;oricine ştie cum să se schimbe de codare de mai sus pentru a 8 8 biţi registru?
utilizare ieee.std_logic_1164.all;
utilizare ieee.std_logic_unsigned.all;
utilizare ieee.std_logic_arith.all;
ENTITATE alu8bit este
port (A, B: in std_logic_vector (7 downto 0);
op: in std_logic_vector (2 downto 0);
zero: out std_logic;
C: afară std_logic_vector (7 downto 0));
END alu8bit;
arhitectura de alu8bit de comportament este
începe
proces (PO)
variabilă temp: std_logic_vector (7 downto 0);
începe
op este cazul
atunci când "000" =>
temp: = A şi B;
atunci când "100" =>
temp: = A şi B;
atunci când "001" =>
temp: = A sau B;
atunci când "101" =>
temp: = A sau B;
atunci când "010" =>
temp: = a b;
atunci când "110" =>
temp: = a - b;
atunci când "111" =>
dacă a <b atunci
temp: = "11111111";
alt
temp: = "00000000";
sfârşit dacă;
atunci când alţii =>
temp: = a - b;
sfârşitul cazul;
dacă temp = "00000000", atunci
zero <='1 ';
alt
zero <='0 ';
sfârşit dacă;
c <= temp;
sfârşitul procesului;
sfârşitul comportamentale;oricine ştie cum să se schimbe de codare de mai sus pentru a 8 8 biţi registru?