关于NIOS中Avalon总线的问题分析

Avalon
摘要由CSDN通过智能技术生成

关于nios中的Avalon总线,首先明确一点就是其是八位寻址的,这个很重要。

曾经对ssram操作过,这里不讨论读写时序的问题,只是关注avalon对其的地址分配,对于verilog编写的ip核,只给出部分参数。

ssram的芯片接口为:

	inout[15:0]      mem_data;
	output[20:0]	mem_addr;


地址21bit,数据16bit。和avalon(8bit寻址)连接。如下为连接avalon总线:

	input[20:0] 	avs_addr;
	input[15:0]	avs_write_data;
	output[15:0]	avs_read_data;


我们再来看看实际nios为此付出的寻址空间:(下面一条红线标识)

实际分配了0x400000的大小空间,再分析此空间在nios中需要22bit才能寻址到,这下可以明白了,

所以这个问题可以理解了。

对于自己写的IP在c语言操作时,要注意偏移地址问题。

如下有个项目实例:

/*
usage:
	dsp emif interface.
address allocation:

 0x0000~0x1fff: dual port ram for writing
 0x0000~0x3fff: dual port ram for reading
 0x4000:write and read ce_ccd_nios_n
 0x4004:write and read dsp_gp5_pre*/
module dsp_emif_ip(
//avalon slave
                  input clk,
						
						input [31:0]wdata,
						output [31:0]rdata,
						input [12:0]addr,
						input wren,
						input rden,
						input chipselect,
//port
						input img_wr_en,
						input [23:0] img_data,
						input [11:0] img_addr,
						input img_wr_clk,
						input img_wr_ok,
						
						output dsp_gp5,
						inout [31:0] dsp_data,
						input [11:0] dsp_addr,
						input dsp_oe_n,
						input dsp_we_n,
						input dsp_ce4_n,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值