E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
OpenRisc
[转] RISC-V架构介绍
平民英雄——
OpenRISC
OpenRISC
是OpenCores组织提供的基于GPL协议的开放源代码RISC处理器。
OpenRISC
具有以下
weixin_38171245
·
2023-03-30 02:19
OpenRisc
-35-基于orpsoc,eCos的sd card controller的测试实验
引言之前,曾经在orpsoc的平台上,测试验证过其sdcardcontroller的linux的驱动,但是并不是很完美,经过努力,终于在eCos下完成了其全部功能的验证,包括驱动层验证,文件系统的挂载,应用层的创建文件,打开文件,复制文件,源文件与复制文件的比较等,此外,还有创建目录,切换目录等操作。本小节就分享一下整个验证过程。关于基于orpsoc+linux下的sdcardcontroller
Rill
·
2020-07-05 10:07
OpenRisc
openrisc
数字集成电路设计-7-一个简单cpu的设计,实现,仿真与综合
引言经过对
OpenRISC
近一年的分析与研究,在此过程中我们了解了计算机体系结构设计相关的主要概念,重要的技术,和基本思想。我觉的,现在我们有必要练练手了。
Rill
·
2020-06-26 05:36
数字集成电路
数字集成电路设计-7-一个简单cpu的设计,实现,仿真与综合
引言经过对
OpenRISC
近一年的分析与研究,在此过程中我们了解了计算机体系结构设计相关的主要概念,重要的技术,和基本思想。我觉的,现在我们有必要练练手了。
Augusdi
·
2020-06-21 17:51
IC
verilog学习记(学习设计cpu)
和十几年前比较,现在网上开源的cpu代码还是很多的,比如说risc-v、
openrisc
、openmips等等。当然,如果是从学习的角度来说,
openrisc
和openmips还是非常不错的。
费晓行
·
2019-06-22 00:00
verilog学习记
OpenRISC
- or1ksim
Ifyouwannauseor1ksim,startfrom
openrisc
/tutorialsfirst!!!
Jarvis_wxy
·
2019-04-03 22:05
终于有人把RISC-V讲明白了
0.1平民英雄——
OpenRISC
OpenRISC
是OpenCores组织提供的基于GPL协议的开放源代码RISC处理器。
OpenRISC
具有
Vincenho_
·
2018-07-27 15:04
RISC-V
OpenRisc
-43-or1200的IF模块分析
引言 “喂饱饥饿的CPU”,是计算机体系结构设计者时刻要考虑的问题。要解决这个问题,方法大体可分为两部分,第一就是利用principle of locality而引进的cache技术,缩短取指时间,第二就是采用各种转移预测技术,提高取指正确的概率。 只有cache,没有好的转移预测,取指时间再短,每次提前取的指令都是错的,不行。 只有转移预测,没有cache,即使每次取得指令都对,但是每次取
·
2015-11-13 22:30
open
OpenRisc
-27-wishbone接口的vga ipcore的分析与仿真
引言 图形,总是给人直观的感觉。想让ORPSoC能有image/video的输出,是一件很有意义的事情,而VGA就是其中一个不错的选择。 本小节就分析一下一个wishbone接口的vga模块。 1,模块准备 下载: http://opencores.org/project,vga_lcd 2,模块的architecture 3,模块的使用 这一步需要一点与LCD
·
2015-11-13 20:43
open
OpenRisc
-26-
openrisc
中断实验
本小节就通过一个简单的例子,来说明
openrisc
的中断机制的使用方法。 1,功能简介 本小节实现一个wishbone slave
·
2015-11-13 19:49
open
OpenRisc
-24-ORPSoC boot过程分析
引言 之前做了很多工作,能起orpmon,能起linux,能run helloworld。但是这些都可以说是空中楼阁,如果不把CPU的启动过程搞明白,总感觉心里没底似的。所以本小节就看一下ORPSoC在最初上电之后做的一些工作。 Note:并不讨论上电timing等内容,直接从fetch开始。 1,从哪里取第一条指令 从or1200_defines.v里面可以看到PC的初值,
·
2015-11-13 17:47
open
OpenRisc
-32-ORPSoC烧写外部spi flash
引言 经过前面的分析和介绍,我们对ORPSoC的启动过程(http://blog.csdn.net/rill_zhen/article/details/8855743)和 ORpSoC的debug子系统(http://blog.csdn.net/rill_zhen/article/details/9045837)有了初步的了解, 但是对于启动和debug前的工作还没有仔细分析过。比如FPGA
·
2015-11-13 12:10
Flash
OpenRisc
-50-or1200的freeze模块分析
引言 之前,我们分析or1200的控制通路中的sprs模块和except模块,本小节,我们就分析一下or1200控制通路的最后一个模块,就是freeze模块。 1,整体分析 freeze模块,顾名思义,就是根据各个流水阶段的反馈信号,负责产生控制整条流水线各个阶段的暂停信号,如取指阶段的genpc_freeze和if_freeze信号,解码阶段的id_freeze信号,执行阶段
·
2015-11-13 12:04
open
OpenRisc
-30-SD card controller模块分析与验证
引言 ORPSoC的硬件平台是包含SD card controller控制器的,但是对应的linux里面却没有对应的linux的驱动程序,这使ORPSoC的SD card的使用收到了很大的限制。没有驱动,硬件是不能工作的,SD卡控制器的驱动,linux提供了非常好的framework,在写驱动时只要开发者=关心最底层的部分,就是和硬件直接打交道的部分,即linuxMMC framework的HO
·
2015-11-13 10:35
controller
OpenRisc
-35-基于orpsoc,eCos的sd card controller的测试实验
引言 之前,曾经在orpsoc的平台上,测试验证过其sd card controller的linux的驱动,但是并不是很完美,经过努力,终于在eCos下完成了其全部功能的验证,包括驱动层验证,文件系统的挂载,应用层的创建文件,打开文件,复制文件,源文件与复制文件的比较等,此外,还有创建目录,切换目录等操作。 本小节就分享一下整个验证过程。 关于基于orpsoc+linux下的sd card
·
2015-11-13 04:44
controller
OpenRisc
-31-关于在设计具有DMA功能的ipcore时的虚实地址转换问题的分析与解决
引言 之前,我们在讨论基于ORPSoC的ipcore设计时提到过DMA的问题,当时我们实现DMA的功能时,访问的是local memory,并没有使用主存(即外部的SDRAM),使用的是本地的一块存储区域。所以也就不存在虚实地址转换的问题。但是,要想实现一个规范的,通用的,真正意义上的附带有DMA功能的ipcore,虚实地址转换就是必须要解决的问题了。 比如,软件要vga controller
·
2015-11-13 03:35
open
OpenRisc
-39-ORPSoC,or1200的memory hierarchy整体分析
引言 前面我们简单分析了ORPSoC的整体结构,or1200_top的整体结构,or1200_cpu的整体结构。 并对ORPSoC的启动过程,ORPSoC的debug子系统,clock子系统进行了介绍。 本小节,我们一起来分析一下ORPSoC的存储器组织(memory hierarchy)。 1,背景知识 在分析ORPSoC的memory hierarchy之前,我们有必要先了解一下
·
2015-11-12 19:19
memory
OpenRisc
-22-添加自己的DMA-like ipcore到ORSoC并测试
引言 之前写了一个wishbone接口的slave,work的很好。 但是要想实现一个功能完成的ipcore,必然要有master接口。 这次就写一个ipcore(mycore),既包含slave,又包含master。 一个具有类似DMA功能的ip core。 另:本小节中省略了一些virtualbox下的操作细节,请参考上一篇文章: http://blog.csdn.net/
·
2015-11-12 14:35
like
OpenRisc
-48-or1200的SPRS模块分析
引言 之前,我们在分析or1200的WB模块时(http://blog.csdn.net/rill_zhen/article/details/10220619),介绍了
OpenRISC
的GPRS(general
·
2015-11-11 19:28
open
OpenRisc
-29-ORPSoC的debug子系统分析
引言 正如前面所说,“如果把SOC比作一个人的话”,那么debug子系统就相当于医生,可以检测身体的健康状态。本小节就简单分析一下ORPSoC的debug子系统。 debug系统担任两个主要任务,除了调试以外,还负责对flash的编程。 1,子系统的结构 2,结构的说明 整个debug系统可简单的分成两部分,上部分和下部分,上下两部分之间通过JTAG协议通信。 1>上
·
2015-11-11 16:00
debug
OpenRisc
-45-or1200的ID模块分析
引言 之前,我们分析了or1200流水线的整体结构,也分析了流水线中IF级,EX级,本小节我们来分析ID(insn decode)级的一些细节。 1,基础 or1200的pipeline的ID阶段包含一个模块,就是ctrl模块,其对应的文件是or1200_ctrl.v。ID,就是instruction decode,顾名思义,其主要任务就是对从IF阶段取得的指令进行解析,
·
2015-11-11 16:27
open
OpenRisc
-44-or1200的pipeline整体分析
引言 我们在前面分析了ORPSoC,or1200_top,和or1200_cpu的整体架构,在最近,我们也分析了or1200的pipeline(流水线)中的两级,EX级和IF级。 但是,我们还没有从宏观的角度,整体的了解一下or1200的流水线结构,本小节就做这件事情。 1,流水线 1>概述 关于流水线的概念,历史,划分等等这些内容,在很多文献里都提到过,而且我们之前也介绍过,这
·
2015-11-10 22:32
pipeline
OpenRisc
-43-or1200的IF模块分析
引言 “喂饱饥饿的CPU”,是计算机体系结构设计者时刻要考虑的问题。要解决这个问题,方法大体可分为两部分,第一就是利用principle of locality而引进的cache技术,缩短取指时间,第二就是采用各种转移预测技术,提高取指正确的概率。 只有cache,没有好的转移预测,取指时间再短,每次提前取的指令都是错的,不行。 只有转移预测,没有cache,即使每次取得指令都对,但是每次取
·
2015-11-07 12:27
open
OpenRisc
-47-or1200的WB模块分析
引言 “善妖善老,善始善终”,说的是无论什么事情要从有头有尾,别三分钟热度。 对于or1200的流水线来说,MA阶段是最后一个阶段,也是整条流水线的收尾阶段,负责战场的清扫工作。比如,把运算指令的运算结果要写到寄存器里,把从内存读来的数据写到寄存器里,如果在前面的流水阶段出现了异常,WB阶段还要负责把异常指令的地址存到寄存器里。总之呢,就是写回寄存器。 本小节,我们就分析一下or1200五级
·
2015-11-07 11:27
open
OpenRisc
-41-or1200的cache模块分析
引言 为CPU提供足够的,稳定的指令流和数据流是计算机体系结构设计中两个永恒的话题。为了给CPU提供指令流,需要设计分支预测机构,为了给CPU提供数据流,就需要设计cache了。其实,无论是insn还是data,都需要访问存储器,所以从这个角度来说,cache需要承担更重要的角色。 本小节我们就分析一下or1200的cache部分的实现。 1,cache产生原因 还是那句话,研究一个东
·
2015-11-05 09:44
cache
OpenRisc
-42-or1200的ALU模块分析
引言 computer(计算机),顾名思义,就是用来compute(计算)的。计算机体系结构在上世纪五六十年代的时候,主要就是研究如何设计运算部件,就是想办法用最少的元器件(那时元器件很贵),最快的速度,完成加减乘除。。。。。。等等这些运算。后来发现运算已经足够快了,快到已经无法提供足够的运算指令和运算的操作数了,人们才开始研究如何给运算部件提供足够的指令和数据,这就产生了cache啊,分支预测
·
2015-11-02 13:54
open
OpenRisc
-52-run
openrisc
&orpmon on ml501 board
引言 之前关于
openrisc
的内容,几乎都是基于opencores官方的ordb2a那个开发板的,但是,实际情况是有那个板子的人不是很多,所以目前我在做一个与之类似的板子,并且很快就会跟大家见面,这是后话
·
2015-11-01 08:41
open
各种软核处理器二进制文件FPGA初始化文件生成程序
不管是MIPS,NiosII,MicroBlaze,MSP430,8051,
OpenRISC
,OpenSPARC,LEON2/LEON3等等软核处理器,在FPGA上实现的时候我们通常需要一部分片上RAM
绿羊
·
2015-10-02 19:00
ZYNQ 开发
ZED-Board从入门到精通系列(六)——Vivado+
OpenRISC
分类:OpenHW2012FPGA2014-01-2616:353596人阅读评论(2)收藏举报书接上文。
linuxarmsummary
·
2015-03-17 17:00
FPGA
OpenHW2012
OpenRisc
-67-OR的汇编
1,基本思想要想了解OR的指令集,其实只要查查
OpenRISC
architecturemanual就可以了,但是不是最好的熟悉方式,也没有必要将其所有指令集记下来。
rill_zhen
·
2014-04-28 19:00
modelsim
openrisc
开始片
如果说写C语言helloworld教会我们怎样写一个二逼的入门程序,学习OPRNRISC用modlsim仿真它直观的看到仿真波形是我FPGA入门级要求。如何入门仿真OPRNRISC针对入门级人员:一安装modlsim到WINX系统,高手一般用LINUX但是不建议菜鸟用这样东西。(人的精力是有限的)二导出OR1200源代码 在VBOX虚拟机下: cpor1200/m
linuxarmsummary
·
2014-04-14 23:00
OpenRisc
-66-基于ORPSoC对linux进行RTL仿真
引言前面,我们介绍过对裸机程序进行RTL仿真,那些裸机程序规模比较小,只有几KB大小。另外,我们也已经实现了针对O_board的SoC进行了RTL仿真(http://blog.csdn.net/rill_zhen/article/details/21190757),本小节,我们将实现在ML501平台上对linux进行RTL仿真。1,DDR2仿真模型的修改针对ML501的ORPSoC工程中,默认配置
rill_zhen
·
2014-04-10 22:00
程序人生-8-HFD
我也有幸应邀参加了本次party,并做了“
OpenRISC
&Me”的主题演讲。本小节,就回忆一下我关于这次开源硬件聚会的一点想法。 1,参会人数多这次是国际HFD开始举办第二年,在中国,是第一年。
rill_zhen
·
2014-03-17 12:00
O_board-3-烧写外部spi-flash
在这之前,请参考:a,
OpenRisc
-32-ORPSoC烧写外部spiflashhttp://blog.csdn.net/rill_zhen/article/details/9162275b,
OpenRisc
rill_zhen
·
2014-03-01 12:00
OpenRisc
-64-添加VGA和I2C模块到ORPSoC并测试验证
引言前一段时间,我们对vga_enh模块进行了单独的仿真(http://blog.csdn.net/rill_zhen/article/details/8911727),初步确认了这个模块是没有问题的。那么,到底这个模块能不能正常work呢?本小节就解决这个问题。1,实验步骤本小节,我们将vga_enh模块添加到ORPSoC,进行RTL仿真,并在ML501开发板上进行验证。大体过程如下:1>修改R
rill_zhen
·
2014-02-04 21:00
ZED-Board从入门到精通系列(六)——Vivado+
OpenRISC
对
OpenRISC
感兴趣的童鞋可以关注Rill的专栏http://blog.csdn.net/rill_zhen/article/details/8190
kkk584520
·
2014-01-26 16:00
不错的
OpenRisc
文章
OpenRisc
-63-
OpenRISC
开发板O_board的设计,实现,调试与验证引言“书上学来终觉浅,绝知此事要躬行”,“百闻不如一练”。
linuxarmsummary
·
2014-01-14 10:00
OpenRisc
-63-
OpenRISC
开发板O_board的设计,实现,调试与验证
玩
OpenRISC
也是这样,只分析RTL,做一下仿真,对其感觉只能停留在‘纸上’,要想进一步加深对
OpenRISC
的理解,加深对CPU设计技术的掌握。
rill_zhen
·
2014-01-05 22:00
OpenRisc
-62-ML501从CF卡启动u-boot
引言前面我们已经实现从SPIFlash启动orpmon和u-boot,并利用orpmon和u-boot的tftp服务最终启动了linux。看似大功告成,其实不然。由于SPIFlash的容量有限(2MB),无法从SPIFlash直接启动linux,如果想启动linux的话必须先启动bootloader,这就要求linux的启动过程需要人为的参与,而这是我们不想看到的。那如何才能上电直接启动linux
rill_zhen
·
2013-12-10 11:00
OpenRisc
-61-烧写orpmon到ML501的SPI Flash并启动linux
引言前面,我们已经实现用or32-elf-gdb将vmlinux烧到ML501上的DDR2SDRAM,并成功启动了linux,如有疑问请参考(http://blog.csdn.net/rill_zhen/article/details/17142327)。采用gdb的方式适合在调试和开发过程中,由于在项目开发调试过程中,需要频繁的修改和调试代码,所以使用gdb无疑是最好的方式。但是,采用gdb直接
rill_zhen
·
2013-12-09 15:00
让Barebox在Tiny6410上跑起来
欢迎大家一起交流吐槽心得~ 今天来吐槽一下barebox这个BL,最近机缘巧合之前手头多了块tiny6410友善的板子,又是嵌入式,既然非技术类的东西就算不吐槽了,今天的话题吧——barebox~ 原来在
openrisc
tortoisechan
·
2013-12-05 18:00
嵌入式
OpenRisc
-60-在ML501上运行ORPSoC并启动linux
引言之前我们在ML501上构建了仿真,调试系统,并成功运行了orpmon,但是这些还不够,我们还要运行OS才行。本小节基于前面的工作,启动linux。1,资源准备1>ORPSoC针对ML501的ORPSoC的RTL工程采用(http://blog.csdn.net/rill_zhen/article/details/17011957)构建的ise工程。2>linux采用(http://openco
rill_zhen
·
2013-12-05 16:00
OpenRisc
-59-jtag_tap模块分析
引言“知其然,还要知其所以然”,在搭建好ORPSoC的仿真环境和调试环境之后,我们有必要对仿真和调试系统中扮演重要角色的jtag_tap模块和adv_dbg_if模块进行进一步的分析,以了解其工作机制。本小节就来分析advanceddebugsystem中的tap_top模块。1,fromSPItoJTAG在分析JTAG的具体实现之前,我们先了解一下JTAGF的基本知识。A、JTAG协议的本质与S
rill_zhen
·
2013-12-02 17:00
OpenRisc
-58-ORPSoC调试环境的构建
本小节就以ML501板子为例来说明
OpenRISC
调试系统的构建过程。 1,
rill_zhen
·
2013-11-28 23:00
OpenRisc
-57-ORPSoC仿真环境的构建
引言要利用ORPSoC进行开发,最直接的方式当然是直接用FPGA开发板进行调试,当往往很多时候,直接在FPGA板子上运行的时候会出现问题。这时候,对ORPSoC进行仿真就是非常必要的了,通过仿真,可以尽快的锁定问题,解决问题。本小节就以ORPSoC针对ML501开发板为例,解决这个问题。1,通用版本的RTL仿真在opencores提供的ubuntu镜像里面,对于通用的版本(ORPSoC除了通用版本
rill_zhen
·
2013-11-22 13:00
ARM 架构 dump_stack 实现分析(1.0 具体实例)
发生的时候,具有重要的意义 每种架构会有或多或少的区别,如现在linuxkernel支持如下架构:alpha avr32 c6x frv hexagon m68k mips
openrisc
liyongming1982
·
2013-11-15 22:00
ARM
backtrace
dump_stack
OpenRisc
-56-Advanced Debug System
引言在前面我们阐述了
OpenRISC
的调试系统的几种不同的实现方案,本小节我们着重介绍一下其中的AdvancedDebugSystem。
rill_zhen
·
2013-11-05 16:00
OpenRisc
-55-
OpenRISC
debug系统分析
引言调试
OpenRISC
,需要软件和硬件的协同工作才能实现,其中硬件又包括JTAGcable,JTAGTAP和debuginterface三部分,软件也包括JTAGcable的驱动,RSPserver和
rill_zhen
·
2013-11-05 16:00
OpenRisc
-54-play with
OpenRISC
based atlys board
1.
OpenRISC
1200softprocessorIntroductionThe
OpenRISC
1200 (OR1200)isasynthesizableCPUcoremaintainedbydevelopersat
rill_zhen
·
2013-10-31 13:00
OpenRisc
-53-debugging the
OpenRISC
1200
引言or1200的调试,是玩
OpenRISC
绕不过去的话题,无论是硬件上的调试,软件程序的烧写,调试,还是仿真时的调试,都需要相关的调试系统的支持。
rill_zhen
·
2013-10-31 11:00
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他