EDN首页   博客首页

日志档案

发表于 2007-1-2 17:26:27

3

标签: SOPC  地址对齐  Nios  

SOPC中的地址对齐

SOPC中的地址对齐

动力工作室 www.logicpower.cn

首先要明确的一点是地址对齐的方式是对Avalon slave 来说的,Avalon master无所谓地址对齐的方式,也没有这个选项。不管Avalon master的端口宽度是多少,其地址线的最低位都代表字节地址,即Avalon master的地址只有一种就是字节地址。另外,Avalon 三态桥出来的地址也是字节地址,所以连接Avalon三态桥的16位宽度的器件,最低地址位必须和三态桥的A1相连,而不是A0。同理,连接Avalon三态桥的32位宽度的器件,其最低地址位必须和三态桥的A2相连。...

阅读全文...

系统分类: CPLD/FPGA   |   用户分类: SOPC   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(1118)    回复(6)  

投一票您将和博主都有获奖机会!

最新评论

  • rationalpower

    2007-1-11 9:47:14

    静态地址模式时,Nios II如果和8位的外设连接,那NIOS II的高24位没有对应物,所以地址要增长4才能读下一个8位

  • maple

    2007-1-10 20:58:18

    有点不明白,可能我还不够深入,请帮我解释一下吧。静态地址那段——Nios II core想继续读下一个8位(或16位)时,则需要增长字节地址4。不明白

  • cocappjj

    2007-1-2 21:36:15

    又一位fpga的高手!欢迎!看来riple他们已经找到你啦:D

  • wintrysea

    2007-2-12 16:26:03

    我在nios系统中用到了自添加组建(一个CAN控制器的IP),在run模式下工作正常,可是再编译后下载到FPGA中去就无法正常工作了。我的设置如下:

    program memory(.text) :my_onchip_memory      

    这部分其他设置也是my_onchip_memory

    build project 生成了3个文件 my_onchip_memory.dat ,my_onchip_memory.hex,my_onchip_memory.sym

    可是没有在整个工程中(包括quartus工程中)看到 my_onchip_memory.dat 和my_onchip_memory.sym

    在run模式下工作正常

    再编译后下载到FPGA中去就无法正常工作了

    于是我将quartus工程中my_onchip_memory.v的  部分代码修改了一下

    原代码:

    defparam the_altsyncram.byte_size = 8,
                    the_altsyncram.init_file =
                   `ifdef NO_PLI
                   "my_onchip_memory.dat"
                   `else
                   "../my_onchip_memory.hex"
                   `endif,

    改为

      defparam the_altsyncram.byte_size = 8,
                      the_altsyncram.init_file = "../my_onchip_memory.hex",

    再编译后依然不能正常工作。

    希望大家指导一下,问题出在哪?是不是程序跑飞了

  • miner

    2008-3-27 15:48:27

    我在niosii系统中添加了一个8位的从端口; 在程序中用IORD_8DIRECT实现cpu对这个从端口的读操作的时候, 观察功能仿真波形结果是: 在8位从端口的cs有效的情况下,从端口对应的read_n信号出现4次低电平,也就是说有效了四次; 我的理解是执行一次IORD_8DIRECT(),应该就只有一次read_n低电平有效信号出现不是么? 希望各位高手指点!

  • rationalpower

    2008-4-3 9:59:35

    读4次是由avalon协议决定的。 详情可以发邮件到logicpower@126.com,我给你解释