用maxplus编译一个简单的cpu

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:14:35
如题,要求制作一个简易的8位cpu,可以实现一个操作码和两个操作数,实现加减与或运算,请各位相助,在下不胜感激,如果能在明天前给我满意答案我500积分全送,先谢谢各位了

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;

ENTITY div1 IS
PORT(
a,b : IN STD_LOGIC_VECTOR( 3 downto 0);
q,r : OUT STD_LOGIC_VECTOR( 3 downto 0)
);
END div1;

ARCHITECTURE a OF div1 IS

SIGNAL ta0,ta1,ta2,ta3 : STD_LOGIC_VECTOR( 6 downto 0);
SIGNAL bb0,bb1,bb2,bb3 : STD_LOGIC_VECTOR( 6 downto 0);
BEGIN

PROCESS (a,b)
BEGIN
ta3 <= "000" & a;
bb3 <= b & "000";
if ta3 >= bb3 then
q(3) <= '1';
ta2 <= bb3;
else
q(3) <= '0';
ta2 <= ta3;
END IF;
bb2 <= "0" & b & "00";
if ta2 >= bb2 then
q(2) <= '1';
ta1 <= ta2 - bb2;
else
q(2) <= '0';
ta1 <= ta2;
END I