计算机组成原理 实验题目 8 位CPU 的系统设计 学 号 ********** 姓 名 魏忠淋 班 级 11 电子B 班 指导老师 凌朝东 华 侨 大 学 电 子 工 程 系 8 位CPU 的系统设计 一、实验要求与任务 完 成 从 指 令 系 统 到CPU 的 设 计 , 编 写 测 试 程 序 , 通 过 运 行 测 试程 序 对 CPU 设 计 进 行 正 确 性 评 定 。 具 体 内 容 包 括 : 典 型 指 令 系 统 ( 包括 运 算 类 、转移类 、访存类 )设 计 ;CPU 结构设 计 ;规则文件与调试 程 序 设 计 ;CPU 调试 及测 试 程 序 运 行 。 1.1 设计指标 能实现加减法、左右移位、逻辑运 算 、数据存取、有无条件跳转、内 存访问等指 令 ; 1.2 设计要求 画出电路原理图、仿真波形图; 二、CPU 的组成结构 三、元器件的选择 1.运算部件(ALU) ALU181 的程序代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ALU181 IS PORT ( S : IN STD_LOGIC_VECTOR(3 DOWNTO 0 ); A : IN STD_LOGIC_VECTOR(7 DOWNTO 0); B : IN STD_LOGIC_VECTOR(7 DOWNTO 0); F : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); M : IN STD_LOGIC; CN : IN STD_LOGIC; CO,FZ: OUT STD_LOGIC ); END ALU181; ARCHITECTURE behav OF ALU181 IS SIGNAL A9 : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL B9 : STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL F9 : STD_LOGIC_VECTOR(8 DOWNTO 0); BEGIN A9 <= '0' & A ; B9 <= '0' & B ; PROCESS(M,CN,A9,B9) BEGIN CASE S IS WHEN "0000" => IF M='0' THEN F9<=A9 + CN ; ELSE F9<=NOT A9; END IF; WHEN "0001" => IF M='0' THEN F9<=(A9 or B9) + CN ; ELSE F9<=NOT(A9 OR B9); END IF; WHEN "0010" => IF M='0' THEN F9<=(A9 or (NOT B9))+ CN ; ELSE F9<=(NOT A9) AND B9; END IF; WHEN "0011" => IF M='0' THEN F9<= "000000000" - CN ; ELSE F9<="000000000"; END IF; WHEN "0100" => IF M='0' THEN F9<=A9+(A9 AND NOT B9)+ CN ; ELSE F9<=NOT (A9 AND B9); END IF; WHEN "0101" =>...