北京邮电大学数字电路与逻辑设计实验报告
--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;