至于AVALON总线动态地址对齐航天科技

     
 在NIOS的行使中,我们一再要用到自定义外设,然后经过AVALON交流架构和NIOSII举行通信。 
 

       
AVALON总线,其实是一种互换架构的商议,在自定义外设挂在AVALON总线上时,一定要留心地址对齐。
  

       
AVALON总线要求自定义外设数据位宽必须为8、16、32,那样只要利用位宽为32,那么就不需要考虑对齐了。 要是采纳数据位宽为8,也就是外设数据总线位宽是8,而NIOS

数量总线位宽是32,这样就要考虑地点对齐了。这一个地址对齐就是内存地址对齐。在NIOS写多少到从外设时,由于位宽不对等,NIOS会履行4次写操作,将一个32位数分成4个8位

数码写到从外设。NIOS读取从外设数据时同样道理,在读使能立竿见影后的下一个时钟从外设必须将数据放到总线上,而且应当是4个数据,假若只有一个字节有效,其他3个字节补零

即可。       

       
举个例子,在QSYS下挂外设时,平时系统分配好了内存映射地址,比如0x3322,那么外设的地方就从此间起始,对于8位数据位宽,那么连续4个数据在内存中储存的地点分

别是0x3322,0x3323,0x3320,0x3321,这多少个是由内存决定的。调试过SDRAM的朋友应该明了。特别是NIOS读取外设数据的时候,很容易失误。比如当NIOS读数据时,外设的总是4个

航天科技,数量是0xaa,0x00,0x00,0x00,也就是说只有0xaa是可行的,那么遵照上述地址,遵照小端存储形式,地址对应的数据为0x3322->0xaa,0x3323->0x00,0x3320->0x00,0x3321-

>0x00,这样大家在NIOS中操作的时候,由于NIOS是32位的,地址对齐的是0x3320,所以就出现了读取数据的错误。 假如应用位宽是16位的,那么NIOS读写外设的时候会发出两

次读写过程。同样和地点一样,也要留意地址对齐问题。

航天科技 1

转载请讲明出处:alifpga

初稿地址:bbs.alifpga.com

版权:卿萃科技

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注