1 / 7
文档名称:

FPGA_ASIC-一种基于FPGA的通用微处理器设计.pdf

格式:pdf   页数:7
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FPGA_ASIC-一种基于FPGA的通用微处理器设计.pdf

上传人:钻石文档库 2013/9/8 文件大小:0 KB

下载得到文件列表

FPGA_ASIC-一种基于FPGA的通用微处理器设计.pdf

文档介绍

文档介绍:烧友 http://bbs. 电子技术论坛
一种基于 FPGA 的通用微处理器设计
作者:董明王丰转贴自:微计算机信息
摘要:本文详细介绍了一种借助 VHDL 硬件描述性语言实现基于 FPGA 硬件平台的通用微处
理器设计的完整方案。该型 CPU 具有实现简单快捷、成本低、通用性强、扩展容易的特性。
本文分两大部分阐述:第一部分给出了该型 CPU 详细的结构图、原理说明、与相应存贮器的
连接、存贮器模型以及部分 VHDL 源代码及其分析说明;第二部分针对该型 CPU 较强的扩展
性能,从位扩展、功能扩展、存贮器容量扩展与段式模型以及与外围电路的连接角度进行研
究,充分发挥该型 CPU 的潜能,并给出了一个 CPU 协同外围电路实现全自动洗衣机定时控制
的例子。
关键词:VHDL;可编程逻辑;微处理器;FPGA
随着电子技术的飞速发展,传统的数字系统设计方式已逐渐被电子设计自动化(EDA)方法所
取代,即利用计算机辅助设计软件为工具,采用高密度可编程逻辑器件(PLD)或现场可编程门
阵列 FPGA 实现复杂数字系统。本研究基于 FPGA 器件,以 VHDL 硬件描述语言为手段,给出
了一个通用微处理器的完整设计细节,并讨论了该微处理器的扩展办法及应用实例,为了叙述
方便起见,暂定名为 DM1 型 CPU,并以 16 位方式进行说明。
1. DM1 型 CPU 及存贮器模型分析
CPU 结构模型

图 1 CPU 结构图
烧友 http://bbs. 电子技术论坛
其主要部件由控制单元 CTRL、算术逻辑单元 ALU、以及寄存器组 REGARR 和一些相关的
寄存器(指令寄存器 INSTRREG、临时寄存器 OPREG、地址寄存器 ADDREG、RESREG 结
果寄存器)组成。ADDBUS 为 16 位地址总线,DATABUS 为 16 位数据总线。
设定指令格式
:占用一行如 00010 00000 011 010:前 5 位 00010 表示指令的操作码;最后 3 位 010
表示寄存器号,即第 2 号;倒数六至三位 011 表示寄存器号,即第 3 号。所以如果我们约定 00010
操作码为存储 store 指令,这条指令即表示将 3 号寄存器中的内容存储到 2 号寄存器所存储的
存贮器地址中。
:占两行,如“从存贮器读”LoadM 指令,约定 00100 表示操作码,那么代码段如下:

loadM 双字指令的作用是把第二行数据存入到指定寄存器 2 中:第一行前五位是操作码,最
后三位 010 代表 2 号寄存器;第二行是数据内容。
CPU 工作原理
现在结合 中 B 所举的 LoadM 指令,简述 CPU 工作原理,请参看图 1。分为四步:
A. CPU 在复位后通过 DataBus 从存贮器的 0 号地址读入指令到 INSTRREG,如果这时候读入
的指令是第一行即 0010000000000010,那么 CTRL 首先分析前 5 位,译码结果为“从存贮器读”
指令 LoadM。
B. 因为是双字指令,于是 CTRL 让 ALU 先把程序计数器 IP 中的指令地址加一(即指向下一条
指令地址),