Altera Rapidio IP IO 映射寄存器的配置
RapidIO映射寄存器的配置
- 内存空间4M字节(0x40,0000字节),128bit地址:0x14,0000, 32bit,32bit地址:0x50,0000,字节地址:0x140,0000,末地址(字节地址):17f,ffff
注意首地址必须是内存长度对齐,长度是4M字节,首地址必须4M字节对齐
- IO master配置
(1)Number of Rx address translation windows,这是在Rapidio II参数编辑器里配置的,设为1。
(2)IO Master Mapping Windows 0 Base:base寄存器,地址0x10300
Table 138 Input/Output Master Mapping Window Base
Field |
Bits |
Access |
Function |
Default |
BASE |
[31:4] |
RW |
RapidIO地址窗口的基地址,34bit基地址的最低4为假设为0 设为0101,1010,1000,0000,0000,0000,0000 |
28’h0 |
RSRV |
[3:2] |
RO |
保留,设为00 |
2’b00 |
XAMB |
[1:0] |
RW |
扩展地址,34位地址的最高两位,设为11 |
2’b00 |
假设我们将这4M字节的内存空间安排在rapidIO空间的空间起始地址(字节地址):11,0101,1010,10_00,0000,0000,0000,0000,0000(0x3,5a80,0000),注意首地址必须是映射的内存长度对齐,长度是4M字节,首地址必须4M字节对齐
(3)IO Master Mapping Window 0 Mask:屏蔽寄存器,0x10304
Table 139 Input/Output Master Mapping Windows n Mask
Field |
Bits |
Access |
Function |
Default |
MASK |
[31:4] |
RW |
屏蔽的31到4位,最低4位假设为0. 设为1111,1111,1100,0000,0000,0000,0000 因为是4M字节空间 |
28’h0 |
RSRV |
[3:2] |
RO |
保留,设为00 |
1’b0 |
WEN |
[2] |
RW |
窗口使能,1使能,0禁止。设为1 |
1’b0 |
XAMM |
[1:0] |
RW |
扩展地址,34位屏蔽的最高两位。设为11 |
2’b00 |
(4)IO Master Mapping Window 0 offset:偏移寄存器0x10308
Table 139 Input/Output Master Mapping Windows n Offset
Field |
Bits |
Access |
Function |
Default |
OFFSET |
[31:4] |
RW |
Avalon地址空间的起始偏移,34bit便宜的最低4为假设为0 设为0000,0001,0100,0000,0000,0000,0000 因为是4M字节空间的首地址是0x140,0000 |
28’h0 |
RSRV |
[3:0] |
RO |
保留,设为0000 |
2’b00 |
先匹配映射窗口:
( rio_addr[33:4] & {xamm[1:0], mask[31:4]} )
== ( {xamb[1:0],base[31:4]} & {xamm[1:0], mask[31:4]} )
Avalon-MM address[31:4] = ( offset[31:4] & mask[31;4] ) | (rio_addr[31:4] & ~mask[31:4] )
Avalon-MM
Address[3:0]总为0。因为地址是一个字节的地址,I/O Logic Layer master接口数据总线宽128bit
- IO slvae配置
- 假设我们把这4M空间安排在自己的内存空间的字节地址为0xC0,0000处。注意这个地址一定要内存长度(4M字节)对齐。
- Number of Tx address translation windows,这是在Rapidio II参数编辑器里配置的,设为1。
- IO Slave Mapping Windows 0 Base:base寄存器,地址0x10400
Table 138 Input/Output Slave Mapping Window Base
Field |
Bits |
Access |
Function |
Default |
BASE |
[31:4] |
RW |
要映射的Avalon-MM地址窗口的基地址,32bit基地址的最低4为假设为0 设为0000,000,1100,0000,0000,0000,0000 |
28’h0 |
RSRV |
[3:0] |
RO |
保留,设为00 |
2’b00 |
假设我们将这4M字节的内存空间安排在rapidIO空间的空间起始地址(字节地址):11,0101,1010,10_00,0000,0000,0000,0000,0000(0x3,5a80,0000),注意首地址必须是映射的内存长度对齐,长度是4M字节,首地址必须4M字节对齐
- IO Slave Mapping Window 0 Mask:屏蔽寄存器,0x10404
Table 139 Input/Output Master Mapping Windows n Mask
Field |
Bits |
Access |
Function |
Default |
MASK |
[31:4] |
RW |
屏蔽的31到4位,最低4位假设为0. 设为1111,1111,1100,0000,0000,0000,0000 因为是4M字节空间 |
28’h0 |
RSRV |
[3:2] |
RO |
保留,设为00 |
1’b0 |
WEN |
[2] |
RW |
窗口使能,1使能,0禁止。设为1 |
1’b0 |
RSRV |
[1:0] |
RW |
保留,设为00 |
2’b00 |
- IO Slave Mapping Window 0 offset:偏移寄存器0x10408
Table 139 Input/Output Master Mapping Windows n Offset
Field |
Bits |
Access |
Function |
Default |
OFFSET |
[31:4] |
RW |
Avalon地址空间的起始偏移,34bit便宜的最低4为假设为0 设为0101,1010,10_00,0000,0000,0000,0000 因为是4M字节空间的在rapidio空间的首地址是0x3,5a80,0000 |
28’h0 |
RSRV |
[3:2] |
RO |
保留,设为00 |
2’b00 |
XAMO |
[1:0] |
RW |
扩展地址:34bit偏移的最高两位,设为11 |
2’b00 |
- IO Slave Mapping Window 0 Control:控制寄存器,0x1040c
Field |
Bits |
Access |
Function |
Default |
LARGE_DESTI NATION_ID (MSB) |
[31:24] |
RW/RO |
如果系统支持16bit I,这是目的ID的高位,如果不支持16bit ID,则保留,设为8’h00 |
8’h00 |
DESTINATION _ID |
[23:16] |
RW |
目的ID,设为目的ID |
8’h00 |
RSRV |
[15:8] |
RO |
保留,设为00 |
8’h00 |
PRIORITY |
[7:6] |
RW |
请求包的优先级。2’b11不可以用,即便写2’b11结果会是2’b10,设为00 |
2’b00 |
RSRV |
[5:3] |
RO |
保留,设为000 |
3’b000 |
CRF |
[2] |
RW |
Critical请求流位 |
1’b0 |
SWRITE_ENAB LE |
[1] |
RW |
SWRITE使能,设为1,产生SWRITE请求包,设为0 |
1’b0 |
NWRITE_R_EN ABLE |
[0] |
RW |
NWRITE_R使能,设为0 |
1’b0 |
Bit0和1(NWRITE_R_ENABLE和SWRITE_ENABLE)是互斥的,同时写1将会被忽略,不改变原先的值
Ios_rd_wr_addr[31:4] & mask[31:4] == (base[31:4] & mask[31:4])
Io_rd_wr_addr[31:0]是IO逻辑层Avalon-MM地址,也即是自己这儿的内存地址。据此公式判断这个地址是不是在外部
rio_addr[33:4] = {xamo, ((offset[31:4] & mask[31:4] | ios_rd_wr_Addr[31:4] ) }
Altera Rapidio IP IO 映射寄存器的配置相关推荐
- Altera RapidIO IP维护模块
维护模块 Type 8包 Type 8维护包是用来存取RapidIO能力和状态寄存器(CARs和CSRs)及数据结构.不像其它请求格式,type 8包的请求和响应包格式都一样的,Type 8包不包含地 ...
- 22.IO引脚复用和映射原理与配置
IO引脚复用和映射原理与配置 参考资料: 正点原子STM32开发板: <STM32开发指南-HAL库版本>-4.4 IO引脚复用和映射 STM32F4xx官方资料: <STM32F4 ...
- 【STM32】IO引脚复用器和映射原理与配置
IO引脚复用器和映射原理与配置 什么是端口复用,STM32引脚怎么复用? STM32有很多的内置外设(把RTC,ADC,看门狗等外设都集中在芯片里面了),这些外设的外部引脚都是与GPIO复用的.也就是 ...
- Proxmox VE 网络配置 NAT共享IP 端口映射iptables、brook
PVE网络配置官方文档:跳转 配置桥接网卡,使Proxmox VE(PVE)可以同时创建NAT虚拟机和独立IP虚拟机,同时可以使用脚本映射NAT虚拟机的端口到外网. 1.开启ipv4.ipv6转发 v ...
- 如何为本机配置ip域名映射关系
方法不唯一,大部分情况适用 以管理员方式打开记事本 右键开始菜单以管理员方式启动powershell 输入notepad打开记事本 打开hosts文件 右键菜单栏 "文件" 选择 ...
- ZYNQ RapidIO IP核协议与使用
一,RapidIO各个子核和接口的基本功能视图 RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片.板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接.RapidIO核把三个子核 ...
- 寄存器自动化配置通用案例
本博文设计思想采用明德扬至简设计法.之前都是通过一些完整的案例来分享设计心得,而这篇文章以需要配置多个寄存器的场景讲述核心设计技巧. 在设计案例时发现,经常会配置比较复杂的IP核或驱动一些接口进而操作 ...
- 博图组态显示未分配的设备_S71200CPU做IO共享设备的配置方法【图文】
一.导读 假设有两个PROFINETIO控制系统,每个PROFINET IO控制系统下各带有相应的IO设备,如下图所示: 若此时要求两个IO系统之间可进行数据交换,在不增加PN耦合器的情况下如何进行时 ...
- 何为固定IP和动态IP?快解析搞定固定IP端口映射!
目前,我们上网所使用的有动态IP和静态IP两种,IP地址就是我们上网时所使用的"门牌号".全国目前共有3亿左右的IP地址,我们平时上网拨号,网上冲浪大多数使用的是动态IP.那么,当 ...
最新文章
- matlab--离散(discrete)数据绘图
- AspectJ切入点语法详解
- 灾备还缺一套评价体系
- having vs where
- 动态规划--Leetcode64.最小路径和
- Metapath2vec:Scalable Representation Learning for Heterogeneous Networks(结构化深度网络特征表示)
- 计算机辅助翻译课怎么学的,计算机辅助翻译原理与实践
- 瑞星布局:安全软件的时尚模式
- matlab保存图片时不使用指令设置图像分辨率、尺寸等
- latex缩进与对齐_科学网—Latex算法排版,不同行缩进不同 - 张鹏的博文
- Vue 自定义弹出框组件(类似淘宝选择规格)
- 微信支付 “商家转账到零钱”
- C语言-5月23日-指针(一)
- python第一行左对齐_python 左对齐,右对齐
- 【项目】关于杉德支付接口对接
- 宝塔低内存安装mysql_宝塔面板安装mysql 8.0提示最低内存和最低CPU限制的三种解决方法...
- building workspace js validation
- SSH证书登录方式(无密码验证登录)
- 办理3C认证多少钱?包含哪些费用?
- 会员卡充值软件系统多少钱一套?桶装水会员充值方案微信小程序开源源码开发制作
热门文章
- 解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示
- 国产化之x64平台安装银河麒麟操作系统
- 高校教师工资管理系统java_基于jsp的高校职工工资管理系统-JavaEE实现高校职工工资管理系统 - java项目源码...
- 工欲善其事必先利其器——Elasticsearch安装
- Web项目之人力资源管理系统
- 国货驶入快车道,这些礼业新趋势你抓住了吗?
- (浪漫七夕版)听七夕浪漫故事,玩酷炫浏览器
- P2PSearcher云点播设置和使用技巧
- win10无法删除卷的解决办法
- Adobe Flash Player 9.0.45.0 简体中文官方下载(本地播放Flash Player播放器, 非插件)...