RapidIO映射寄存器的配置

  1. 内存空间4M字节(0x40,0000字节),128bit地址:0x14,0000, 32bit,32bit地址:0x50,0000,字节地址:0x140,0000,末地址(字节地址):17f,ffff

注意首地址必须是内存长度对齐,长度是4M字节,首地址必须4M字节对齐

  1. 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

  1. IO slvae配置
  1. 假设我们把这4M空间安排在自己的内存空间的字节地址为0xC0,0000处。注意这个地址一定要内存长度(4M字节)对齐。
  2. Number of Tx address translation windows,这是在Rapidio II参数编辑器里配置的,设为1
  3. 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字节对齐

  1. 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

  1. 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

  1. 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 映射寄存器的配置相关推荐

  1. Altera RapidIO IP维护模块

    维护模块 Type 8包 Type 8维护包是用来存取RapidIO能力和状态寄存器(CARs和CSRs)及数据结构.不像其它请求格式,type 8包的请求和响应包格式都一样的,Type 8包不包含地 ...

  2. 22.IO引脚复用和映射原理与配置

    IO引脚复用和映射原理与配置 参考资料: 正点原子STM32开发板: <STM32开发指南-HAL库版本>-4.4 IO引脚复用和映射 STM32F4xx官方资料: <STM32F4 ...

  3. 【STM32】IO引脚复用器和映射原理与配置

    IO引脚复用器和映射原理与配置 什么是端口复用,STM32引脚怎么复用? STM32有很多的内置外设(把RTC,ADC,看门狗等外设都集中在芯片里面了),这些外设的外部引脚都是与GPIO复用的.也就是 ...

  4. Proxmox VE 网络配置 NAT共享IP 端口映射iptables、brook

    PVE网络配置官方文档:跳转 配置桥接网卡,使Proxmox VE(PVE)可以同时创建NAT虚拟机和独立IP虚拟机,同时可以使用脚本映射NAT虚拟机的端口到外网. 1.开启ipv4.ipv6转发 v ...

  5. 如何为本机配置ip域名映射关系

    方法不唯一,大部分情况适用 以管理员方式打开记事本 右键开始菜单以管理员方式启动powershell 输入notepad打开记事本 打开hosts文件 右键菜单栏 "文件" 选择 ...

  6. ZYNQ RapidIO IP核协议与使用

    一,RapidIO各个子核和接口的基本功能视图 RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片.板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接.RapidIO核把三个子核 ...

  7. 寄存器自动化配置通用案例

    本博文设计思想采用明德扬至简设计法.之前都是通过一些完整的案例来分享设计心得,而这篇文章以需要配置多个寄存器的场景讲述核心设计技巧. 在设计案例时发现,经常会配置比较复杂的IP核或驱动一些接口进而操作 ...

  8. 博图组态显示未分配的设备_S71200CPU做IO共享设备的配置方法【图文】

    一.导读 假设有两个PROFINETIO控制系统,每个PROFINET IO控制系统下各带有相应的IO设备,如下图所示: 若此时要求两个IO系统之间可进行数据交换,在不增加PN耦合器的情况下如何进行时 ...

  9. 何为固定IP和动态IP?快解析搞定固定IP端口映射!

    目前,我们上网所使用的有动态IP和静态IP两种,IP地址就是我们上网时所使用的"门牌号".全国目前共有3亿左右的IP地址,我们平时上网拨号,网上冲浪大多数使用的是动态IP.那么,当 ...

最新文章

  1. matlab--离散(discrete)数据绘图
  2. AspectJ切入点语法详解
  3. 灾备还缺一套评价体系
  4. having vs where
  5. 动态规划--Leetcode64.最小路径和
  6. Metapath2vec:Scalable Representation Learning for Heterogeneous Networks(结构化深度网络特征表示)
  7. 计算机辅助翻译课怎么学的,计算机辅助翻译原理与实践
  8. 瑞星布局:安全软件的时尚模式
  9. matlab保存图片时不使用指令设置图像分辨率、尺寸等
  10. latex缩进与对齐_科学网—Latex算法排版,不同行缩进不同 - 张鹏的博文
  11. Vue 自定义弹出框组件(类似淘宝选择规格)
  12. 微信支付 “商家转账到零钱”
  13. C语言-5月23日-指针(一)
  14. python第一行左对齐_python 左对齐,右对齐
  15. 【项目】关于杉德支付接口对接
  16. 宝塔低内存安装mysql_宝塔面板安装mysql 8.0提示最低内存和最低CPU限制的三种解决方法...
  17. building workspace js validation
  18. SSH证书登录方式(无密码验证登录)
  19. 办理3C认证多少钱?包含哪些费用?
  20. 会员卡充值软件系统多少钱一套?桶装水会员充值方案微信小程序开源源码开发制作

热门文章

  1. 解决wps工作簿从文本中复制粘贴时单元格中首位0无法显示
  2. 国产化之x64平台安装银河麒麟操作系统
  3. 高校教师工资管理系统java_基于jsp的高校职工工资管理系统-JavaEE实现高校职工工资管理系统 - java项目源码...
  4. 工欲善其事必先利其器——Elasticsearch安装
  5. Web项目之人力资源管理系统
  6. 国货驶入快车道,这些礼业新趋势你抓住了吗?
  7. (浪漫七夕版)听七夕浪漫故事,玩酷炫浏览器
  8. P2PSearcher云点播设置和使用技巧
  9. win10无法删除卷的解决办法
  10. Adobe Flash Player 9.0.45.0 简体中文官方下载(本地播放Flash Player播放器, 非插件)...