免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1023 | 回复: 0
打印 上一主题 下一主题

nios avalon 总线 address 忽略地址低2位 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-20 09:44 |只看该作者 |倒序浏览
在nios ide中用int型数组访问外设时,可以不用在硬件程序中特殊处理address。尽管c程序编译结果访问的地址都为4的倍数,但address线直接忽略地址低2位,因此address线仍是连续的。
c程序如下:
  1. #include <system.h>
  2. #include <stdio.h>

  3. int main()
  4. {
  5. int *data=ADCONTROLLER_0_BASE;
  6. int i;

  7. for(i=0; i<1024; i++)
  8. {
  9. printf("%x\n",&data[i]);
  10. }

  11. printf("Hello from Nios II!\n");

  12. return 0;
  13. }
verilog程序如下:
  1. always@(posedge clk)
  2. begin
  3. if(chipselect && read)
  4. begin
  5. if(buffer[address][13])
  6. begin
  7. readdata[31:14]=~18'b0;
  8. readdata[13:0]=buffer[address][13:0];
  9. end
  10. else
  11. readdata=buffer[address];
  12. end
  13. end
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP