- 7
- 0
- 约5.01千字
- 约 11页
- 2018-08-17 发布于江苏
- 举报
设计方法(微处理器)
微处理器系统设计(设计方案)
版本v1.0
专业:集成电路设计与集成系统
班级:电路1201
姓名:韩喆
学号日期:2015年6月25日
目录
TOC \o 1-1 \h \z \u HYPERLINK \l _Toc422954140 一、 实验设计目的 PAGEREF _Toc422954140 \h 1
HYPERLINK \l _Toc422954141 二、 设计实现方案 PAGEREF _Toc422954141 \h 1
PAGE \* MERGEFORMAT8
微处理器系统设计方案
实验设计目的
基于前期课程中已掌握的CPU基本部件的设计方法、仿MIPS处理器指令集设计一个带简单I/O接口电路的多周期RISC处理器,采用自顶向下的全正向设计方法,并选用Verilog_HDL语言为设计输入工具,在FPGA上进行验证。先完成多周期微处理器指令系统设计,多周期微处理器数据通路以及系统结构设计。然后验证设计,设计实现一个简单的总线控制模块和8255并口芯片功能,并驱动LED灯,设计简单的流水灯变化,其变化样式如下:
1)001100切换间隔为0.5秒;
200011000,切换间隔为0.5秒。
两种样式之间自动切换,切换间隔为10秒。
设计实现方案
1.总体设计方案
1)指令及其功能表
(1)R型指令:
指令
指令格式
功能
op
rs
rt
rd
shame
func
add
000000
sj1
Sj2
jg
xx
100000
Jg=sj1+sj2
sub
000000
sj1
Sj2
jg
jg
100010
Jg=sj1-sj2
or
000000
Sj1
Sj2
jg
xx
000010
Jg=sj1|sj2
and
000000
Sj1
xx
jg
xx
000011
Jg=sj1sj2
sll
000000
Sj1
xx
jg
移位数
000100
Jgsj
(2)I型指令:
指令
指令格式
功能
op
rs
rt
Immediate
addiu
101011
sj1
Sj2
Imm
Sj2= sj1+imm
andi
001100
sj1
Sj2
Imm
Sj2= sj1imm
Lw
100011
base
rt
offset
offset?Memory[base+imm]
sw
001001
base
rt
offset
Memory[base+imm]?offset
(3)J型指令:
指令
指令格式
功能
op
rs
rt
offset
Beq
000100
sj1
Sj2
offset
If sj1=sj2 then branch
Bnq
000101
sj1
Sj2
offset
If sj1≠sj2 then branch
j
101000
2)总体结构设计
注:将一个外来时钟信号clk_out 生成一系列时钟信号clk1、clk 送往CPU内部的其他部件。clk1信号用作状态控制器的时钟信号。clk 则用于触发每一个状态的进行。
3)该MIPS CPU的顶层原理图
2.子模块详细设计
该多周期CPU内部主要包括九个基本模块,即时钟发生器,指令寄存器,累加器,算术逻辑单元,数据控制器,状态控制器,取指模块,地址多路器和立即数扩展等模块。各模块具体功能及相关主要端口说明如下:
时钟发生器
根据功能单元所需进行的操作,将一条指令执行分解为一系列步骤,指令的每一个步骤占用一个时钟周期。因此利用时钟发生器模块将一个外来时钟信号Clk_out生成一系列不同的时钟信号clk1、clk 送往CPU内部的其他部件。利用clk的上升沿来触发CPU控制器开始执行一条指令。clk1信号用作状态控制器的时钟信号。端口定义:
序号
接口信号名称
方向(I/O)
说明
Clk_out
I
外部输入时钟
rst
I
复位信号,低有效
clk1
O
状态控制器的时钟信号
clk
O
ALU的时钟信号
指令寄存器
指令存储器用于存放CPU运算的程序指令和数据等,采用单端口存储器设计,设计最大为64个存储单元,每个存储单元数据宽度为32bit。指令寄存器的触发时钟是clk,在clk的正沿触发下,寄存器将数据总线送来的指令寄存器中。但并不是每个clk的上升沿都寄存数据总线的数据,因为数据总线上有时传输指令,有时传输数据。什么时候寄存,什么时候不寄存由CPU状态控制器的load_ir信号控制。load_ir信号通过ena 口输入到指令寄存器。复位后,指令寄存器被清为零。
序号
接口信号名称
方向(I/O)
说明
clk
I
存储器工作时钟,频率为50Mhz
rst
I
存储器片选信号,低有效
ExtMem_Adr [5:0]
I
存储器地址线
Ex
原创力文档

文档评论(0)