微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于FPGA的RISC微处理器的设计与实现

基于FPGA的RISC微处理器的设计与实现

时间:07-23 来源:互联网 点击:
算术逻辑单元ALU的设计

ALU是绝大多数指令必须经过的单元,所有的运算都在算术逻辑单元ALU进行。ALU接受指令寄存器IR送来的4位指令操作码,根据不同的指令,ALU在信号alu_clk的正跳变沿触发下完成各种算术逻辑运算。微处理器各部件结构如图4所示。

软件综合与仿真和硬件实现

微处理器的软件综合与仿真

该微处理器设计共有11个基本模块,除前文分析的3个模块外,还有指令寄存器IR、累加器ACC、程序计数器PC、简单的存储器ROM/RAM、地址多路器ADDR等模块。所有的模块采用Quartus4.2单独综合,并调试通过,且都生成有单独的*.bsf文件,最后创建一个顶层文件top.bdf,把所有基本模块的bsf文件连接成如图4的形式。做完顶层设计后,采用Quartus4.2进行综合与仿真。系统仿真的部分结果如图5所示,从图5可以看出,存放在存储器不同地址中的2个操作数3CH(00111100)和18H(00011000)相异或时,结果24H(00100100)在信号wr的上升沿触发下存入存储器中。我们可清楚地看到每条指令都是在一个指令周期中完成。数据总线data上记录着指令的运行情况,同时也可看到空闲时其呈高阻状态。


主要的程序如下:

地址 机器代码 汇编语言源程序

00 11000000 JMP L1 ;L1->C

01 00000100

04 10100000 LDA R2 ;(0E)->R2

05 00001110

06 10000000 XORR1,R2;(R1)xor(R2)- >(R1)

07 00001111

08 11000001 STO   ;(R1)->(0F)

0A 00000000 HLT   ;stop

0B 00000000

0E 00111100

0F 00011000

微处理器的硬件实现

基于FPGA的RISC微处理器的最终硬件验证在杭州康芯公司生产的GW48EDA系统上进行。前面的仿真结果确认无误后,选用GW48EDA系统的电路模式No.5,查阅此系统的引脚对照表锁定各引脚,之后需重新编译一次,以便把引脚锁定信息编译进编程下载文件。最后把编译好的top.sof文件对目标器件FPGA下载,得到满足设计要求的芯片。本设计的载体选用Altera公司的Cyclone系列FPGA器件EP1C6Q240C6,硬件验证结果表明,该RISC微处理器时钟频率为23.02MHz,其功能完全达到设计要求。

结束语

本文基于FPGA的微处理器具备了RISC微处理器的基本功能,而且其容易优化升级。该微处理器不仅可作为一个模块用于片上系统的设计,而且也充分展示了使用FPGA和VHDL进行EDA数字系统设计的优越性,具有实用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top