最近搞一个Altera FPGA项目,以前接触时还在quartus ii 9.0时代,玩的DE2的开发板,现在最新都进化到16.0了(时间戳:2016.8.9),正好现在有机会打算再学习+复习一下。
目标板:芯航线开发板
软件:quartus ii 13.0
系统:Win7sp1-64bit
- qsys中基于Avalon MM Slave总线的外设挂载
这个变化还真是不小,以前叫SoPC Builder,现在直接叫Qsys了,这里打算先讲下自定义外设的挂载,基本上如果使用Nios ii软核就必须要用Avalon (Memory Mapped)MM Slave接口,这里以一个应用举例:
我要将一个SRAM挂载上去,使用芯片为IS61LV25616-10T,为一个256Kx16bit的SRAM,参考http://www.cnblogs.com/yuphone/archive/2010/09/27/1836519.html 一文中描述的方法,avs_xxx、coe_xxx等这些前缀含义就不多说了,这里有一个值得注意的地方:对于avalon mm slave总线,addr信号即为外设实际地址,即它是按1步进寻址的,可以在它实际挂载到nios ii时地址范围能够看出(对于18-bit地址线的外设,它的地址范围竟然有19-bit,也就是说它将数据位16-bit也算到地址里了),这一点与Xilinx的axi按4步进寻址有很大不同(这种方式对于挂载如16-bit数据宽外设而言真是容易!!!)