- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA8位RISC软核微处理器设计
基于FPGA8位RISC软核微处理器设计
摘要: 介绍基于FPGA的8位5级流水线RISC处理器软核设计,给出系统结构图及主要模块和流水方式的设计,给出其指令系统。对系统模块进行仿真和综合,结果达到设计要求。设计基于FPGA的软核RISC处理器设计,具有较强的可移植性。
关键词: RISC处理器;FPGA;软核
中图分类号:TN402文献标识码:A文章编号:1671-7597(2011)0720072-02
0 引言
基于精简指令集(RISC)架构的微处理器已广泛应用于各个领域,其中8位RISC处理器在工业控制和汽车电子产品方面占有十分重要的地位。随着微电子技术的发展,集成电路的集成度和工艺水平不断提高,系统功能变地越来越复杂。因此在硬件系统设计中将外部资源、接口等集成到片上系统(SoC),实现复杂系统已成为趋势。作为数字系统核心的处理器,如果能够当成构件灵活使用,对于复杂数字系统设计将提供很大的便利。利用现场可编程门阵列(FPGA)的设计方法的优势可以设计及验证这样的处理器设计[1]。
本文基于FPGA的设计方法提出了一个8位RISC微处理器软核的设计,可灵活地在FPGA上根据设计需求进行使用并修改,以生成复杂的片上系统。
1 RISC微处理器
1.1 系统结构
传统的微处理器设计其总线结构多采用冯诺依曼总线结构,其程序和数据共用存储器和公共的总线,总线根据状态要求分时共享使用。而哈佛结构的总线方式将程序存储器和数据存储器分开,这样在访问程序指令的同时可以读取数据,有效提高了效率和速度[2]。
本文提出的8位RISC微处理器架构基于哈佛总线结构进行设计。下面给出RISC微处理器的系统结构,如图1所示。
1.2 流水线设计
本文中的设计将存储器的访问和寄存器的访问分开,根据系统结构实现了5级流水线设计:取指IF、译码ID、执行EX、访问存储器MA和回写WB。其各自任务如下:
1)IF级包括程序计数器PC、缓冲器,以及主存储器MEM的接口数据寄存器DATA和地址寄存器ADDR;
2)ID级包括寄存器组REG、指令寄存器IR和处理器状态寄存器;
3)EX级包括算术逻辑运算单元ALU;
4)MA级包括缓冲器和连接ALU输出端口到WB级和存储器的接口;
5)WB级包括缓冲器和连接MA级到寄存器组的接口。
1.3 数据通道
根据图1的系统结构,一条指令在系统中的执行的数据通道如下所述[3]:
1)在取指级IF,指令按照PC提供的地址冲存储器中取出,装载进指令寄存器IR,PC的指针指向下条指令;
2)对指令进行译码并准备操作数,由指令译码器ID对指令进行译码,告知ALU需要执行的操作,并从存储器取得操作数给ALU;
3)指令执行,操作数在ALU中按指令运算,其结果送往寄存器组中的累加器ACC,如果需要,标志位被保存到状态寄存器中;
4)存储器访问,如果需要,计算出的访问存储器的地址送往地址寄存器ADDR,数据从存储器中取出后,由数据寄存器DATA送往寄存器组待ALU计算;
5)保存结果,如果需要,累加器ACC中的运算结果送往数据寄存器DATA,按计算出的地址写入存储器。
1.4 指令系统
文中8位RISC处理器,主存储器的总线位宽是8位,指令长度为16位定长,每条指令占用两个存储单元,寻址方式仅有立即寻址和直接寻址两种方式[4]。指令操作码占用指令字的高4位,预留了空间,便于以后指令集的扩展。指令系统共有14条指令,指令系统如表1所示。
2 主要模块设计实现
文中设计采用Verilog HDL硬件描述语言进行设计,根据上文所述RISC系统结构图,下面给出主要模块的设计。
2.1 ALU单元
ALU是微处理器的核心部件,进行数据的处理,微处理器中所有的算术及逻辑运算都在ALU中完成。ALU单元根据译码器输出的控制信号对数据总线送来的运算操作数进行操作,基本操作有加、减、与、或、异或、取反、循环左移、循环右移、交换9种,同时还用来存储访问单元MAU计算存储器地址。具体执行何种操作由指令译码器给出的操作控制信号控制。ALU结构图如图2所示。
2.2 指令译码器
指令译码模块是整个CPU的核心控制单元,所有其它模块的运行都受译码模块控制。取得指令码后,指令译码器开始工作,对指令进行译码,通过指令译码将指令简化成14条指令。给出其它各单元的操作控制信号。包括ALU的运算控制信号、RAM的读写控制、总线控制器的选择信号、专用寄存器的数据更新控制、PC的寻址等。
2.3 寄存器组REG
包括RAM存储器
您可能关注的文档
最近下载
- 高中地理人教版必修 第二册第三章 产业区位因素第三节 服务业区位因素及其变化.pptx
- 医养中心营销策划方案.pdf VIP
- 2025年医疗服务行业人力资源报告:医护人员职业发展现状与趋势.docx
- 电气设备-独家解析-特斯拉4680电池结构与工艺设计-杭州车知知.docx
- 民族团结进步.pptx VIP
- 【OBE课程改革】《统计学》课程教学模式创新与实践.pdf VIP
- 武汉地区区域工程地质及水文地质概况、成井方法、基坑工程连通性抽水试验、降水水位计算与预测、回灌试验技术要求.pdf VIP
- 生产车间5s管理制度.docx VIP
- 【完整版】视频会议系统_本科毕业论文设计.docx VIP
- 国新基金组织架构.docx VIP
文档评论(0)