简单CPU系统设计与实现 下载本文

北京邮电大学数字电路与逻辑设计实验报告

--MAR<-MBR

when\ --DECODING

case opcode is

when\ --Store --MBR<-ACC

when\ --Load --MBR<-RAM

when\ --Add --MBR<-RAM

when\ --Sub --MBR<-RAM

when\ --SHL --ACC<-ACC<<1

when\ --SHR --ACC<-ACC>>1

when\ --And --MBR<-RAM

when\ --Or --MBR<-RAM

when\ --Not --ACC<-NOT ACC

北京邮电大学数字电路与逻辑设计实验报告

when\ --Jump

when\ --JumpZ

status:=\ else status:=\ end if;

when\ --Smg

when\ --Halt

when others=>ctr<=\ end case;

when\ --Store --RAM<-MBR

when\ --Load --BR<-MBR;ACC<-0

when\ --ACC<-ACC+BR

北京邮电大学数字电路与逻辑设计实验报告

when\ --Add --BR<-MBR

when\ --ACC<-ACC+BR

when\ --Sub --BR<-MBR

when\ --ACC<-ACC-BR

when\ --And --BR<-MBR

when\ --ACC<-ACC AND BR

when\ --Or --BR<-MBR

when\ --ACC<-ACC OR BR

when\ --Mutiply--BR<-MBR

when\ --ACC<-ACC*BR

when\

北京邮电大学数字电路与逻辑设计实验报告

--PC<-PC+1;MAR<-PC

when\ when others=>ctr<=\ end case; end if; end process; end behave;

4.3 ALU(算术逻辑运算单元)

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;

entity ALU is port (

clk:in std_logic; rst:in std_logic;