编辑: 645135144 2019-07-06
设计一个非常简单的

16 位CPU I hear and I forget.

I see and I remember. I do and I understand. -- 孔子 EasyRight 计算机研究小组 http://www.EasyRight.net August

2003 1

第一章 简介 1.目的 本项目的目的是设计一个十分简单的基于冯・诺依曼架构的

16 位CPU. 我们将这 颗CPU 命名为 ERVS16-CPU( EasyRight Very Simple 16-bit CPU ) . ERVS16 有它自己的指令集.并且,为了测试 ERVS16,我们将在项目的最后用它的指令 集编写一个十分简单的操作系统.简单的说,我们在这个项目中只考虑 CPU, 寄存器,内存和指令集之间的关系.这就是说我们只需要实现: (1)读/写寄存器 (2)读/写内存 (3)执行指令集中的所有指令 图1.1 是ERVS16 的抽象图 图1.1 ERVS16 抽象图 假设系统时钟频率是 1MHz,我们将在设计中使用正缘触发时钟频率(Positive Edge Triggered Clocking)技术.复位信号首先输入一个高电平初始化 CPU ,接 着当复位信号变为低电平时开始运行位于

0 地址的指令. 内存读/写循环时,要确保可读/可写信号是在低电平.如图 1.2 和1.3,所有内存 读写操作都需要一个信号周期来完成. 时钟技术(Clocking Methodology)定义了信号可以被读写的时间.读写操作不 能同时进行.边缘触发时钟频率技术(Edge-triggered Clocking Methodology)正 是被用来防止这样的情况发生. 边缘触发时钟频率技术是指机器存储的所有值都 只能在时钟边缘被更新. Read_enable write_enable Data Address reset ERVS16CPU clk

2 图1.2 内存读取循环时间图 图1.3 内存写入循环时间图 2.测试环境 我们使用 XILINX development board 来测试对 ERVS16 的设计.XILINX development board 包括如下部件: ? 一系列 I/O 设备(包括一系列开关(Switch)和7Segment Displays ? RAM: 1k x

16 ? ROM: 1k x 16:它被用于存储测试程序.在模拟开始的时候,ROM 镜像从一 Data written into memory here clock address Data (to memory) write_enable read_enable Data read into CPU Register here clock address Data (from memory) write_enable read_enable

3 个测试文件(Test File)中加载.这个文件的每一行都包括由空格隔开的两 个值:一个十进制的地址和一个二进制的值.比如:

1 1010100010101010

2 0101011001100110

4 0101011110101000

7 0010101011010101

5 0111000101010000 ? 系统:包括内存和 I/O 设备的界面 图1.4 显示了 development board 的主要组成部分.我们只需要实现红色的部分 图1.4 设计结构 下表显示了 development board 上所有设备的技术细节. 设备 地址范围 访问模式 ROM (1KW) 0x0000 C 0x03FF read only RAM (1KW) 0x0400 C 0x07FF read and write 开关 0x8000 read only

7 Segment Displays 0x8001 C 0x8002 read and write 第一个串口 0xC000 C 0xC001 read and write 第二个串口 0xC002 C 0xC003 read and write System RAM ROM System Clock & other inputs Testbench CPU

4 2. 计划 整个计划将在四个月内完成(从2003 年7月27 日到

2003 年11 月27 日) .在项 目完成之后,我们将会有设计真正 CPU 的经验.这样的经验在我们今后设计复 杂的 CPU 时会有帮助.下面是时间表: 27/7/2003 C 2/8/2003 (1) 确定支持的指令集及其格式 (2) CPU 的寄存器级元件图,包括程序计数器(Program counter) ,存储指令的内 存(Instruction memory) , 存储数据的内存 (Data memory) , 寄存器 (Registers) , 算术和逻辑单元(ALU) ,以及如何连接它们;

(3) 用有限状态机(Finite State Machine,FSM)列出所有信号和状态的组合 3/8/2003 C 9/8/2003 (1) Multicycle diagram;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题