Qsys+NIOSII+SDRAM+DE2_115样例具体实现

2 篇文章 0 订阅


平台背景:

操作系统:Windows7 64bit

QuartusII版本:13.0

开发板:Altera DE2-115

 

具体步骤:

1.新建工程:

2新建顶层文件,本例以bdf构建:

3.点击Qsys(旧版本中的DSPbuilder),新建一个nios芯片:

默认会有一个时钟,这个是芯片共用的时钟,可以点击右键rename,为了查看方便,可以改为clk_50(输入频率50MHz)clk_100(输入频率100MHz)。

然后加入nios核,可以直接在左边元件库搜索

选择f型,其他保持默认设置然后点击finish添加,改名为cpu

用相同方法添加sdram-controller

配置如下,注意修改宽度32bitbank4,阵列为13*10

切换到timing,选择等级3,如下图

点击finish,完成添加,然后renamesdram

然后添加串口调试jtag_uart,直接finish,添加后renamejtag_uart

然后添加系统标示符sys_id,自己可以改动数字,亦可以保持不变,点击finish添加并改名。

添加完成后如下所示:

点击system下的Run SOPC Builder to Qsys upgrade,完成基本连线

由于Qsys取消了SOPCbuilder的自动连线功能,所以必须手工连线。需要连接的主要是:

1)每个器件的时钟

2)非存储器类的数据总线接口

3)存储类器件的数据总线接口和指令总线接口

4)中断接口

连接后配置如下:

然后双击cpu,修改其中的异常向量地址和复位地址,都选择为sdram

点击system菜单下的assigne base address,分配基地址

最后完成如下图

点击标签页最右边的generation,去掉simulation的选项,然后点击generation生产文件

在弹出的保存中,自己命名并保存。

退出Qsys,进入quartusII的主界面中

Qsys生产的文件手工加入到工程中,(quartusII低版本的可以自动加入,高版本需手动加入)。

在顶层文件的bdf中,单击右键,选择insert symbol

点击ok完成添加

以同样的方法,打开插入符号窗口,点击左下方MegaWizard Plug-in manager添加pll

选择第一个,next,然后找到pll如下图所示:

然后命名,比如命名为pll,点击next,此时会出现下图,将入口频率调整为50MHz

一直点击next,直到outputclock选项页面

clk c0的乘法系数改为2其他不变,此时pllc0输出为100MHz,可以充当cpu的时钟:

然后点击c1,如上图中2标示的,修改其中的乘法系数为2,使得频率也为100MHz,另一方面,修改相移为-65(实际值为-63),这点很重要,此时钟输出作为SDRAM内存的时钟信号。

点击finish,完成pll构建。回到symbol窗口,点击ok,加入此器件。

pllc0输出连接到cpu的时钟输入端口,如下图所示:

分别右键单击pllcpu两个模块,然后点击generate pins for symbol ports

得到效果如下图:

按照用户手册修改管脚名称,以便于导入管脚配置,注意为pllassertcpureset安排两个开关。注意将c1管脚定位到SDRAM的时钟端口,修改后如下:

 

然后编译

编译后导入管脚分配,可以使用csv文件导入,在DE2_115的光盘中有此配置文件,如果没有,请使用pin planner手工对照名字添加管脚。

然后启动NIOS for eclipse,新建工程,选择Nios II Application and BSP from templare

SOPC信息文件指向刚刚生成的cpu文件,

点击open,然后选定工程名字,如cc,点击finish,生成文件得到结果如下:

连接FPGA开发板,切换到quartus,点击programmer,将sof文件写入

切换到eclipse,点击第一个工程,邮件单机项目,然后选择Run AS,选择NiosII hardware,请在点击之前确保与pllassert管教相连的开关处于低电平,与cpu相连的开关处于高电平,否则cpu无法正常工作!

如果弹出错误对话框,如下图:

选择refresh connection,如有必要请勾选下图中的23选项:

设置完成后点击Run,如果一切工作正常,将会在eclipse中现实如下结果:

如有任何相关的问题,请关注我的个人公众号hearwithlisten,直接留言。

欢迎交流指正。

扫码可以关注我的微信公众号:


 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值