基于FPGA的RISC的设计和仿真
2012-05-12徐正安
汪 涛,徐正安
(重庆大学 物理学院,重庆 401331)
精简指令集计算机RISC (Reduced Instruction Set Computer)是一种执行较少类型计算机指令的微处理器,起源于上世纪80年代的 MIPS主机 (即 RISC机),RISC机中采用的微处理器统称RISC处理器。与一般的CPU相比,其不仅简化了指令系统,而且还通过简化指令系统使计算机的结构更加简单合理,从而提高了计算机的运算速度。从实现的途径看,RISC_CPU与一般的CPU的不同之处在于,它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序的控制方式,因此,与一般CPU相比它省去了读取微指令的时间。
RISC_CPU与生活密切相关,它已经进入消费电子的各个领域,ARM、MIPS、PowerPC和51单片机等处理器都属于RISC家族的一部分,在国际市场上RISC处理器占有巨大的市场份额,RISC的研发也是一个非常热门的领域,只有认真理解RISC的原理才能更好地认识和掌握已有的RISC架构的处理器。
利用现场可编程门阵列FPGA (Field Progamable Gate Array)的灵活性可以很方便地设计出RISC,利用Altera公司的EDA工具QuartusⅡ和Mentor公司的ModelSim可以设计出RISC的RTL模型并对这个模型进行仿真。本文介绍了一种8 bit简单RISC的实现方法,在QuartusⅡ中搭建了模型,通过时序仿真对该模型进行了功能验证。
1 RISC_CPU的实现原理
本文设计的RISC具有8条指令,一律采用直接寻址地方式,采用哈佛结构,指令和数据存储分别放在定制的ROM和RAM中。RISC_CPU的基本结构图1所示。

图1 RISC_CPU的基本结构
该RISC_CPU可以综合到FPGA的具体电路中,因此,在完善外部电路和接口的情况下完全可以当做一台真正的计算机来使用。该RISC_CPU的工作过程如下:首先,将预先编好的汇编指令代码以11 bit二进制的形式存放在定制的ROM中 (在QuartusⅡ的MegaWizard中完成定制),将要处理的数据按地址顺序存放在定制的RAM中;……
