中易网

怎么用NIOS II访问FPGA自带的ram

答案:3  悬赏:20  
解决时间 2021-01-17 04:00
  • 提问者网友:火车头
  • 2021-01-16 20:36
怎么用NIOS II访问FPGA自带的ram
最佳答案
  • 二级知识专家网友:洎扰庸人
  • 2021-01-16 20:44
一般需要做一个接口模块用于avalon总线协议,然后在SOPC里挂上去分配。
  Nios Ⅱ嵌入式处理器是ALTERA公司推出的采用哈佛结构、具有32位指令集的第二代片上可编程的软核处理器, 其最大优势和特点是模块化的硬件结构, 以及由此带来的灵活性和可裁减性。相对于传统的处理器, Nios Ⅱ系统可以在设计阶段根据实际的需求来增减外设的数量和种类。设计者可以使用ALTERA 提供的开发工具SOPC Builder, 在FPGA(现场可编程逻辑门阵列)器件上创建软硬件开发的基础平台, 也即用SOPC Builder创建软核CPU和参数化的接口总线Avalon。在此基础上, 可以很快地将硬件系统(包括处理器、存储器、外设接口和用户逻辑电路)与常规软件集成在单一可编程芯片中。而且, SOPC Builder还提供了标准的接口方式,以便用户将自己的外围电路做成Nios Ⅱ软核可以添加的外设模块。这种设计方式, 更加方便了各类系统的调试。
全部回答
  • 1楼网友:污到你湿
  • 2021-01-16 22:52
首先这个RAM要外包一层Avalon总线接口,然后在Nios II上将RAM接在Avalon总线的M口上。当然要分配RAM的寻址空间啦。
追问:是不是说在sopc中加一些pio口,对应ram的address,data,q,clk什么的,然后再在顶层文件中加上ram的例化
追答:要用总线
  • 2楼网友:毛毛
  • 2021-01-16 22:12
1 NIOS增加一些地址线 数据线,直接连到ram的接口访问
2 利用avalon总线,把ram挂上去,一般需要做一个接口模块用于avalon总线协议,然后在SOPC里挂上去分配地址

1方式实现比较简单,如果ram只是给nios用,2方式比较好,可以简洁点。
追问:我可以这样理解吗?第一种方法,就是在SOPC中加一些1位的PIO,然后例化的时候,这些PIO对应ram的地址,数据等;
第二种方法,你说的做个接口模块,是不是写一个自定义ip,挂载到sopc上
追答:1 差不多就这意思,这种方法不涉及地址映射,你就是给地址IO赋值,然后读取输入数据IO的结果。好处是ram在nios外部,FPGA资源可以直接使用
2 就是这样,在SOPC build里挂上去,可以直接分配avalon地址,到时候可以直接进行访问,不用操作IO口。自定义IP网上应该有教程,主要是是avalon总线协议部分抄一下就行了。
追问:第一种方法不涉及地址映射么,SOPC中的PIO不也是在system.h里面生成映射地址的吗
追答:PIO会有一个IO口地址映射,但是仅仅是一个IO的地址分配,不会分配你RAM大小的地址,你只是通过操作IO口改变输出,然后读取IO口数据实现 RAM的读写,你的ram不会映射到avalon总线的。
对于nios你仅仅是修改和读取IO口状态,至于外面你连的是RAM还是其他什么模块电路都是没关系的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息