- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于 FPGA 的八位 RISC CPU 的设计
张杰
摘 要: 从 CPU 的总体结构到局部功能的实现采用了自顶向下的设计方法和模块化的设
计思想,利用 Xilinx 公司的 Spartan II 系列 FPGA,设计实现了八位 CPU 软核。在 FPG
A 内部不仅实现了 CPU 必需的算术逻辑器、寄存器堆、指令缓冲、跳转计数、指令集,
而且针对 FPGA 内部的结构特点对设计进行了地址和数据的优化。
关键词: Verilog, RISC CPU, FPGA,可编程逻辑
1 引 言
随着数字通信和工业控制领域的高速发展,要求专用集成电路(ASIC)的功能越来
越强,功耗越来越低,生产周期越来越短,这些都对芯片设计提出了巨大的挑战,传统
的芯片设计方法已经不能适应复杂的应用需求了。SoC(System on a Chip)以其高集
成度,低功耗等优点越来越受欢迎。开发人员不必从单个逻辑门开始去设计 ASIC,而是
应用己有 IC 芯片的功能模块,称为核(core),或知识产权(IP)宏单元进行快速设计,
效率大为提高。CPU 的 IP 核是 SoC 技术的核心,开发出具有自主知识产权的 CPU IP 核
对我国在电子技术方面跟上世界先进的步伐,提高信息产业在世界上的核心竟争力有重
大意义。
精简指令集计算机 RISC(Reduced Instruction Set Computer)是针对复杂指令集
计算机 CISC(Complex Instruction Set Computer)提出的,具备如下特征 1)一个有
限的简单的指令集; 2)强调寄存器的使用或 CPU 配备大量的能用的寄存器;3)强调对
指令流水线的使用。
2 CPU IP 核的组成
尽管各种 CPU 的性能指标和结构细节不同,但所要完成的基本功能相同,从整体上
可分为八个基本的部件:时钟发生器、指令寄存器、累加器、RISC CPU 算术逻辑运算单
元、数据控制器、状态控制器、程序控制器、程序计数器、地址多路器。状态控制器负
责控制每一个部件之间的相互操作关系,具体的结构和逻辑关系如图 1 所示。
时钟发生器利用外部时钟信号,经过分频生成一系列时钟信号给 CPU 中的各个部件
使用。为了保证分频后信号的跳变性能,在设计中采用了同步状态机的方法。
指令寄存器在触发时钟 clk1 的正跳变触发下,将数据总线送来的指令存入寄存器
中。数据总线分时复用传递数据和指令,由状态控制器的 load_ir 信号负责判别。load
_ir 信号通过使能信号 ena 口线输入到指令寄存器。复位后,指令寄存器被清为零。每
条指令为两个字节 16 位,高 3 位是操作码,低 13 位是地址线。CPU 的地址总线为是 13
位,位寻址空间为 8K 字节。本设计的数据总线是 8 位,每条指令取两次,每次由变量 s
tate 控制。
累加器用于存放当前的运算结果,是双目运算中的一个数据来源。复位后,累加器
的值为零。当累加器通过使能信号 ena 口线收到来自 CPU 状态控制器 load_acc 信号后,
在 clk1 时钟正跳沿时就接收来自数据总线的数据。
图 1 CPU 结构图
算术逻辑运算单元根据输入的不同的操作码分别实现相应的加、与、异或、跳转等
基本运算。
数据控制器其作用是控制累加器的数据输出,由于数据总线是各种操作传送数据的
公共通道,分时复用,有时传输指令,有时要传送数据。其余时候,数据总线应呈高阻
态,以允许其他部件使用。所以,任何部件向总线上输出数据时,都需要一个控制信号
的,而此控制信号的启、停则由 CPU 状态控制器输出的各信号控制决定。控制信号 data
ctl_ena 决定何时输出累加器中的数据。
地址多路器用于输出的地址是 PC(程序计数器)地址还是数据/端口地址。每个指
令周期的前 4 个时钟周期用于从 ROM 中读取指令,输出的应是 PC 地址,后 4 个时钟周期
用于对 RAM 或端口的读写,该地址由指令给出,地址的选择输出信号由时钟
文档评论(0)