NIOS II 自定义IP核的静态地址对齐和动态地址对齐
如果使用静态地址对齐(每个寄存器在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(基地址、地址偏移量),地址偏移量 = 寄存器编号