📄 rom.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity rom is
port
(
addr:in std_logic_vector(7 downto 0);
ce:in std_logic;
dataout:out std_logic_vector(15 downto 0)
);
end entity rom;
architecture behave of rom is
begin
--instructions of a program to sum from 1 to 100
dataout <= X"02A0" when addr=X"00" and ce='0' else --LOAD A0
X"01A4" when addr=X"01" and ce='0' else --STORE A4
X"02A2" when addr=X"02" and ce='0' else --LOAD A2
X"01A3" when addr=X"03" and ce='0' else --STORE A3
X"02A4" when addr=X"04" and ce='0' else --LOOP: LOAD A4
X"03A3" when addr=X"05" and ce='0' else --ADD A3
X"01A4" when addr=X"06" and ce='0' else --STORE A4
X"02A3" when addr=X"07" and ce='0' else --LOAD A3
X"04A1" when addr=X"08" and ce='0' else --SUB A1
X"01A3" when addr=X"09" and ce='0' else --STORE A3
X"0504" when addr=X"0A" and ce='0' else --JMPGEZ LOOP
-- some instructions for testing purpose
X"0CA4" when addr=X"0B" and ce='0' else --NOT A4
--X"02A5" when addr=X"0C" and ce='0' else --LOAD A5
--X"08A6" when addr=X"0D" and ce='0' else --MPY A6
--X"01A7" when addr=X"0E" and ce='0' else --STORE A7
X"0D00" when addr=X"0C" and ce='0' else --SHIFTR
X"0E00" when addr=X"0D" and ce='0' else --SHIFTL
X"1D00" when addr=X"0E" and ce='0' else --ROTR
X"1D00" when addr=X"0F" and ce='0' else --ROTR
X"1D00" when addr=X"10" and ce='0' else --ROTR
X"1D00" when addr=X"11" and ce='0' else --ROTR
X"1D00" when addr=X"12" and ce='0' else --ROTR
X"1E00" when addr=X"13" and ce='0' else --ROTL
X"1E00" when addr=X"14" and ce='0' else --ROTL
X"1E00" when addr=X"15" and ce='0' else --ROTL
X"1E00" when addr=X"16" and ce='0' else --ROTL
X"1E00" when addr=X"17" and ce='0' else --ROTL
X"0700" when addr=X"18" and ce='0' else --HALT
X"0000" when addr=X"A0" and ce='0' else --[A0] = X0000
X"0001" when addr=X"A1" and ce='0' else --[A1] = X0001
X"0064" when addr=X"A2" and ce='0' else --[A2] = X0064
X"FFFF";
end behave;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -