【工程源码】NIOS II 自定义IP核的静态地址对齐和动态地址对齐

本文和设计代码由FPGA爱好者小梅哥编写,未经作者许可,本文仅允许网络论坛复制转载,且转载时请标明原作者。

 

如果使用静态地址对齐(每个寄存器在Avalon总线上占4个字节的地址)
设置IP使用静态地址对齐的方式为,在hw.tcl脚本里加上一局话:set_interface_property as addressAlignment {NATIVE}
在软件编程时
可以使用IOWR(基地址,寄存器编号(n),数据)对自定义IP的第n个寄存器进行写入操作
可以使用IORD(基地址,寄存器编号(n)) 对自定义IP的第n个寄存器进行读出操作
如果使用动态地址对齐,(每个寄存器在Avalon总线上占 数据位宽/8个字节的地址)(默认)
在软件编程时,使用IOWR_32DIRECT(数据位宽为32位)、IOWR_16DIRECT(数据位宽为16位)、IOWR_8DIRECT(数据位宽为8位)进行写操作
在软件编程时,使用IORD_32DIRECT(数据位宽为32位)、IORD_16DIRECT(数据位宽为16位)、IOWR_RDIRECT(数据位宽为8位)进行写操作
IOWR_8DIRECT(基地址、地址偏移量、数据),地址偏移量 = 寄存器编号*1
IOWR_16DIRECT(基地址、地址偏移量、数据),地址偏移量 = 寄存器编号*2
IOWR_32DIRECT(基地址、地址偏移量、数据),地址偏移量 = 寄存器编号*4
IORD_8DIRECT(基地址、地址偏移量),地址偏移量 = 寄存器编号*1
IORD_16DIRECT(基地址、地址偏移量),地址偏移量 = 寄存器编号*2
IORD_32DIRECT(基地址、地址偏移量),地址偏移量 = 寄存器编号*4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值