您的位置 首页 IC

根据32位RISC架构的SoC体系规划与验证

随着嵌入式领域和信息时代的蓬勃发展,微处理器设计开始被越来越多的人关注。目前国内很多高校和研究机构都开始设计微处理器。客观的讲,这些微处理器在硬件结构上比较简单,缺乏汇编器、编译器、操作系统以及各种I

  跟着嵌入式范畴和信息时代的蓬勃发展,微处理器规划开端被越来越多的人重视。目前国内许多高校和研究机构都开端规划微处理器。客观的讲,这些微处理器在硬件结构上比较简单,缺少汇编器、编译器、操作体系以及各种I/O接口电路的支撑,运用场合单一。别的,因为这些微处理器支撑的指令集在格局上各有不同,因而造成了很多的规划资源糟蹋。咱们旨在规划一套齐备的高性能嵌入式SoC(System on Chip)体系,用以削减重复性规划作业,更好地遍及高等院校的微处理器规划教育,招引更多的人才专心于高性能微处理器研制;一起也供给给企业免费的SoC软核,用于低成本的工业操控

  1. 体系原理和技能特色

  Minisys是东南大学计算机科学与工程学院体系结构实验室开发的一款依据32位RISC架构的SoC体系。如图1所示,Minisys包含一个以32位RISC型处理器为中心,顺便多个IO操控器的SoC芯片和相关的体系软件。体系软件包含以便于上层软件编程而供给的体系功用调用接口为主体的BIOS、键盘驱动程序、以及Minisys汇编器(编译器)。其间,Minisys SoC芯片功用结构如图2所示。

  Minisys CPU有32个32位通用寄存器,32位数据线和16位地址线。IO部件包含一个4位7段LED数码管操控器,一个4×4键盘操控器,一个16位守时/计数器,一个32位体系守时器,一个16位PWM操控器,一个看门狗电路和一个简易UART串行通讯操控器。

  Minisys学习了MIPS指令集,指令定长32位,共有31条常用定点指令(不包含硬件乘除、硬件浮点指令)。32个32位寄存器除了5个寄存器被固定功用外,其他的都可以做通用寄存器。

  Minisys选用哈佛存储结构,片内包含4KB ROM和4KB RAM,都选用字节编制,但以32位为一个存储单元,即他们和CPU之间的数据交换都以32位为单位进行。Minisys的I/O空间编址选用与存储器一致编址办法,行将整个地址空间分为两个部分,一部分作为拜访RAM的存储空间,另一部分作为拜访IO的I/O空间。因而,对I/O部件的拜访选用与存储器拜访相同的指令格局。

  体系内部供给两个中止源的操控电路,两个中止源为INT0和INT1,其间INT0的优先级高于INT1,答应高优先级中止嵌套。体系供给用于仓库操作的SP寄存器,但没有供给压栈和退栈指令,因而关于仓库的操作需求用软件完结。仓库操作的原子性由程序员担任。

  2. 体系规划流程

  Minisys SoC的规划包含了硬件规划和软件规划。其间,硬件规划部分包含以下几个部分:Minisys CPU的规划、接口部件的规划、BIOS的规划。软件规划即为汇编器的规划。

  在Minisys CPU规划中,首要考虑指令体系的确认、CPU结构的规划与完结、CPU寄存器组的安排与完结以及CPU的各个功用部件的规划与完结。下面首要介绍Minisys CPU的各个功用部件的规划和完结。

  Minisysy CPU的内部功用部件被划分为5歌根本单元:取指单元、译码单元、操控单元、履行单元和存储单元。在规划CPU的时分,选用模块化的规划办法,因而,以上这些单元是分别在相应的5歌模块中进行规划,最后用一个顶层模块将这5个模块依照逻辑上的需求连接起来,成为一个完好的CPU。

  取指单元

  取指单元首要完结以下作业:到程序ROM中取指令;对PC值进行更新;完结各种跳转指令的PC修正功用。本规划是在Altera公司的Quartus II环境下完结的,因而,在规划中运用了Altera公司现已规划好的rom宏模块。

  译码单元

  译码单元的首要作业便是完结履行指令前的操作数准备作业,剖析Minisys指令集得知,这些数据或许在寄存器中,或许是当即数,因而在译码单元中最重要的作业便是完结寄存器组和完结寄存器的读写并依据指令译码成果,决议向其他部件送一路仍是两路数据。

  操控单元

  操控单元是整个CPU的操控中心,各种操控信号都是从这儿发出来的,而各种信号的值都是经过操作码和功用码的不同组合和一些约好来决议的。在规划顶用SRCB来标志操作数的来历,具体操作如表1和表2所示。

表1 操作数A的来历标志

操作数

零扩展的当即数

ID阶段获得的寄存器值

SRCA

1’b0

1’b1

表2 操作数B的来历标志

操作数

ID阶段获得的寄存器值

符号扩展的当即数

零扩展的当即数

SRCB

2’b00

2’b01

2’b10||2’b11

  履行单元

  履行单元需求完结的作业归纳起来包含以下几个方面:完结逻辑运算、完结算术运算、完结移位运算、完结比较搬运的PC值运算和完结比较后赋值操作。

  存储单元

  存储单元首先要完结数据RAM,并完结对数据RAM的读写操作。与指令ROM相同,数据RAM也运用Altera公司供给的宏模块来完结。Minisys具有4KB的数据RAM,4个字节为一个读写单元,因而,它的RAM和ROM的初始化文件格局相同。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/246707.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部