OpenRisc入门(28) ORPSoC的clock子系统分析

引言

如果把SOC比作一个人的话,那么clock系统就是人的脉搏,起着至关重要的作用。本小节就简单分析一下,ORPSoC的时钟系统。

分为三部分:clk,rst,tck

1,clk部分

为了看到整个clk系统,我们从源头开始寻找,一直找到芯片内部的分布。

1.1 clk路径梳理:

可以看到clk由U5产生,输入为25MHz,输出为50MHz。“ETH”连到哪里了呢?

时间: 2024-08-03 17:31:43

OpenRisc入门(28) ORPSoC的clock子系统分析的相关文章

OpenRisc入门(29) ORPSoC的debug子系统分析

引言 正如前面所说,"如果把SOC比作一个人的话",那么debug子系统就相当于医生,可以检测身体的健康状态.本小节就简单分析一下ORPSoC的debug子系统. debug系统担任两个主要任务,除了调试以外,还负责对flash的编程. 1,子系统的结构 2,结构的说明 整个debug系统可简单的分成两部分,上部分和下部分,上下两部分之间通过JTAG协议通信. 1>上部分 上部分包括PC部分和FTDI. FTDI是一个4in1的芯片,其中两路是jtag接口(FPGA本身一路,OR

OpenRisc-28-ORPSoC的clock子系统分析

引言 如果把SOC比作一个人的话,那么clock系统就是人的脉搏,起着至关重要的作用.本小 节就简单分析一下,ORPSoC的时钟系统. 分为三部分:clk,rst,tck 1,clk部分 为了看到整个clk系统,我们从源头开始寻找,一直找到芯片内部的分布. 1.1 clk路径 梳理: 可以看到clk由U5产生,输入为25MHz,输出为50MHz."ETH"连到哪里了呢? 可以看到clk与FPGA的M15引脚相连,M15连到哪里了呢?

Linux input子系统分析

 输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分析很有意义. 一.input子系统知识点 完整的input子系统分析包括以下几方面: 1) 软件层次 2) 输入子系统分层(input_handler,input_core, input_device) 3) 输入设备(TS)驱动开发 4) evdev handler分析 5) input设备模型

Apache Spark源码走读(六)Task运行期之函数调用关系分析 &存储子系统分析

<一>Task运行期之函数调用关系分析 概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚运行着的task其输入的数据从哪获取,处理的结果返回到哪里,如何返回. 准备 spark已经安装完毕 spark运行在local mode或local-cluster mode local-cluster mode local-cluster模式也称为伪分布式,可以使用如下指令运行 MASTER=local[1,2,1024] bin/spark-shell

OpenRisc入门(27) wishbone接口的vga ipcore的分析与仿真

引言 图形,总是给人直观的感觉.想让ORPSoC能有image/video的输出,是一件很有意义的事情,而VGA就是其中一个不错的选择. 本小节就分析一下一个wishbone接口的vga模块. 1,模块准备 下载: http://opencores.org/project,vga_lcd 2,模块的architecture 3,模块的使用 这一步需要一点与LCD/vedio相关的知识.我曾经写过一个LCDC的linux driver,并且有数字电视的开发经验,所以理解起来就容易了很多. 这里只把

OpenRisc入门(25) ORPSoC,openrisc相关资料汇总

引言 网络上关于openrisc的资料很多,除了官网之外,还有很多有价值的资料值得借鉴, 但是,这些资料比较分散,查找起来很是不易,为了能方便自己,也方便别人, 本小节就把我遇到的不错的网址或者资料list了一下. 如果哪位还有不错的资料,可以写到评论里面,我会及时的更新本文档,方便更多人查找. 国内我们有一个qq群,可以参与讨论,相互学习与交流: 277505520 一, 本文档link: http://blog.csdn.net/rill_zhen/article/details/88827

OpenRisc入门(24) ORPSoC boot过程分析

引言 之前做了很多工作,能起orpmon,能起linux,能run helloworld.但是这些都可以说是空中楼阁,如果不把CPU的启动过程搞明白,总感觉心里没底似的.所以本小节就看一下ORPSoC在最初上电之后做的一些工作,与大部分介绍启动代码的流程的角度有所不同. Note:并不讨论上电timing等内容,直接从fetch开始. 1,从哪里取第一条指令 从or1200_defines.v里面可以看到PC的初值,这个是由硬件决定的.这个文件的目录和内容如下图: 分析: 第一条取值的地址:0x

OpenRisc入门(30) SD card controller模块分析与验证

引言 ORPSoC的硬件平台是包含SD card controller控制器的,但是对应的linux里面却没有对应的linux的驱动程序,这使ORPSoC的SD card的使用收到了很大的限制.没有驱动,硬件是不能工作的,SD卡控制器的驱动,linux提供了非常好的framework,在写驱动时只要开发者=关心最底层的部分,就是和硬件直接打交道的部分,即linuxMMC framework的HOST部分. 本小节并不介绍linux的MMC的framework,而把注意力放在核心部分,即直接对硬件

OpenRisc入门(14) or1200第一个裸机程序

经过前面千辛万苦.爬山涉水.纠结了好久才弄好的环境,现在我们终于可以把FPGA当成个单片机使了,稍微比单片机猛一点,但是绝对比单片机贵一个数量级,FPGA现在能完成由CPU做的事,我们就把它当成一个大价钱买回来的单片机,不过相比于S3C24XX的片子来说,那么贵的一个FPGA板卡跑40M的一个CPU绝对的奢侈,不过仅限于理解和学习嵌入式的过程,管他的. 但是如果是这样呢,把or1200资源优化好,例化两个或者多个CPU,是不是可以做成SMP架构?又或者说现有的产品上有FPGA芯片,但是里面的资源