|
开源软核处理器OpenMIPS全部资源(含教学版、实践版、ucosII移植过程)
[复制链接]
利用十天实现开源处理器,因为采用MIPS32指令集,所以起名OpenMIPS。 OpenMIPS,是一款具有哈佛结构的32位标量处理器,兼容MIPS32体系结构,这样可以使用现有的MIPS编译环境。OpenMIPS具有以下特点:
(1)五级整数流水线,分别是:取指、译码、执行、访存、回写
(2)哈佛结构,分开的指令、数据接口
(3)32个32位整数寄存器
(4)大端模式
(5)向量化异常处理,支持精确异常处理
(6)8个外部中断
(7)32bit数据、地址总线宽度
(8)单周期乘法
(9)支持延迟转移
(10)兼容MIPS32体系结构,支持MIPS32指令集中的所有整数指令
(11)大多数指令可以在一个时钟周期内完成
(12)可综合
OpenMIPS将坚持自由软件的理念,保持开源的形式,同时采用商业友好的LGPL授权。并且分为两个版本:教学版、实践版,每个版本都使用VHDL、Verilog HDL两种语言编写,这样实际是有四个版本,分别命名为(以1.0版为例)
OpenMIPS_VHDL_study_v1.0 教学版(VHDL)1.0
OpenMIPS_Verilog_study_v1.0 教学版(Verilog)1.0
OpenMIPS_VHDL_practice_v1.0 实践版(VDHL)1.0
OpenMIPS_Verilog_practice_v1.0 实践版(Verilog)1.0
教学版的主要设想是尽量简单,在一个时钟周期类可以取到指令,完成存储、加载数据,这样处理器的运行情况(比如:流水线的运行)就比较理想化,与教科书相似,便于使用其进行教学、学术讨论,有助于各位童鞋理解计算机体系结构课程上的知识。
实践版的主要设想是能够使OpenMIPS成为一个实际可用的处理器,能够下载到FPGA上,为此,添加了wishbone总线接口,使其可以挂接在wb_conmax互联矩阵上,这样就能方便的利用OpenCores上提供的SDRAM、Flash、GPIO、UART、LCD等模块控制器,组成一个SOPC,完成特定功能。
OpenMIPS成长roadmap如下:
2013年12月10日之前:发布OpenMIPS_VHDL_study_v1.0
2013年12月31日之前:发布OpenMIPS_VHDL_practice_v1.0
2014年1月15日之前 :移植ucos-ii到OpenMIPS实践版1.0
2014年3月1日之前 :发布OpenMIPS_Verilog_study_v1.0
移植raw-os到OpenMIPS实践版1.0(需要与raw-os的开发者txj合作)
2014年4月1日之前 :发布OpenMIPS_Verilog_practice_v1.0
以下是OpenMIPS教学版(VHDL)v1.0的下载地址,其中包括详细的设计文档——《10天实现处理器——OpenMIPS诞生记》:
同时有一个教学版视频
以下是OpenMIPS实践版(VHDL)v1.0的下载地址,相对OpenMIPS教学版而言,OpenMIPS实践版最大的特点是引入了Wishbone总线接口,组建了SOPC,包括SDRAM控制器、GPIO控制器、flash控制器、UART控制器,并且下载到了DE2上进行了实际测试:
同时又一个实践版的讲解视频,讲解视频可以在百度网盘下载:
OpenMIPS上移植ucos-II成功,并进行了测试:在main函数中新建了一个Task,名字叫TaskStart,在这个TaskStart中初始化串口、GPIO,然后通过串口输出一个字符串的两个字节(一个汉子对应两个字节),同时GPIO的输出加2,然后等待100ms,再输出这个字符串的下两个字节,直到字符串输出完毕。在DE2上实验效果图如下:
详细的移植过程参考:
自制处理器OpenMIPS移植ucos-II过程之4——ucos-II文件目录建立
自制处理器OpenMIPS移植ucos-II过程之5——修改ucos-II 源代码
自制处理器OpenMIPS移植ucos-II过程之6——创建Makefile
自制处理器OpenMIPS移植ucos-II过程之7——DE2上验证ucos-II+OpenMIPS
移植ucos-II到OpenMIPS的工程代码:
ucosii.rar
(549.35 KB, 下载次数: 130)
|
|