平台背景:

操作系统:win7  64bit

开发板:DE2-115

Quartus ii:15.0及配套的NIOS ii开发平台

一、硬件系统的建立

1、在Quartus里新建工程,这是很基本的就不在介绍了

2、新建一个bdf文件并保存,设置为顶层文件

2、打开Qsys

3、添加NIOS ii process也就是我们的cpu,重命名为cpu,在这里选择f型的,这里不需要设置什么,Vector页要等我们添加好SDRAM、epcs或者是RAM后才可以设置现在是不会有这些选项的,其中Reset Vector Memory是指复位启动时Memory的类型与偏移量;Exception Vector Memory是指异常情况时Memory的类型与偏移量;

4、从IP库里添加SDRAM Controller用于控制开发板上的SDRAM,当然这里我们也可以用on_chip_memory的RAM来做,不用RAM做的一个重要原因是FPGA上资源有限RAM的容量只能做到很小一般我们如果要编写一些小的程序还是可以用这个来做的。

SDRAM控制器的设置如下图:32bits,4个bank,13Row,10 column其他默认设置即可(这些参数一般根据开发板上的SDRAM的datasheet里的数据得出)Timing设为3,

5、添加epcs控制器,这个主要是用来控制FLASH的,当我们想要把程序固化在开发板上的时候就需要将程序烧写到FLASH里就要用到epcs控制器,设置均为默认

6、添加JTAG_UART接口(PC机与开发板进行数据传递用,包括烧写代码,接收发送数据)设置如下:

7、添加System ID这个是系统的ID标示一般设为0当然也可以自己设置一个数

8、手动连线,需要连线的主要有:

1)所有器件的时钟、复位接口;

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

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

4)中断接口;

9、System-àAssign Base Address自动设置各个器件的地址,设置各中断优先级,

双击cpu设置Vector都为SDRAM

保存文件命名为kernel;

设置时钟为100MHZ(这主要是由SDRAM工作的频率所限制)这是系统的工作频率;

点击Generate HDL产生HDL代码,点击finish

10、在之前建立的bdf文件上双击空白处将上面建立的kernel文件添加进来,注意在工程目录的files里把synthesis文件夹里的qip文件添加进来,该文件里包括kernel里所含的IP核的信息不添加的话后面编译时会出错;

11、添加pll的IP核到bdf文件中,pll的输入时钟是50MHZ,速度等级为7,一路next到设置输出时钟处将c0进行2倍频道100MHZ;c1进行2倍频到100MHZ并调整相移位为-65(实际为-63);c0为系统的时钟给kernel,c1为SDRAM的时钟,他们同频不同相至于相位差怎么算还没后面再讨论;

12、点击finish完成PLL的设置添加到bdf文件中连接c0到kernel的clock,c1接一个output接口;

13、选中kernel右击选择Generate pins for symbol ports产生接口,pLL同理;

14、编译,按照DE2-115引脚关系配置引脚,再编译;

到此硬件系统的搭建就完成了

二、软件系统的搭建

15、按如下所示打开NIOS开发软件

16、新建NIOS工程,Nios II Application and BSP from templare

17、将sopc信息文件指向刚刚产生的cpu文件,这样就利用这个sopc文件将软件与硬件连接起来了。

18、project->Build all

下载文件到FPGA

19、Run as->Nios II Hardware

20、refresh connection

21、点击run,一切工作正常出现下图

初探NIOS II之hello_world的更多相关文章

  1. 给NIOS II CPU添加一颗澎湃的心——sysclk的使用

    给NIOS II CPU添加一颗澎湃的心——系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...

  2. (原創) 如何在Nios II顯示8位數的七段顯示器? (SOC) (Nios II) (SOPC Builder) (DE2-70)

    Abstract本文討論如何在Nios II控制8位數的七段顯示器. Introduction使用環境:Quartus II 8.0 + Nios II EDS 8.0 + DE2-70 (Cyclo ...

  3. NIOS II 中直接调用Modelsim仿真

    STEP1:创建一个工程,实现并编译该工程,编写TestBench文件. STEP2:设置启动Modelsim的路径 选择Nios II菜单Tools->Options..,在弹出的界面中,选择 ...

  4. NIOS ii 流水灯

    为了做项目的前期验证工作,实验室购买了某开发板,下面是基于该板子的实现过程.作为笔记记录,供入门者参考. 1:创建一个Quartus II的工程 next选择器件,然后finish.我的器件是cycl ...

  5. sof文件和NIOS II的软件(elf)合并为jic文件以使用Quartus Programmer烧写

    将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写   我们在学习和调试NIOS II工程的时候,一般都是先使用Quar ...

  6. 给NIOS II CPU增加看门狗定时器并使用

    给NIOS II CPU增加看门狗定时器并使用   配置看门狗定时器: 设置计时溢出时间为1秒 计数器位宽为32位 勾选No Start/Stop control bits 勾选Fixed perio ...

  7. 关于Nios II的启动分析(转载)

    原文地址:http://hi.baidu.com/goatdai/item/cc33671545d89243e75e06ad 常用到的存储器包括SDRMA.SRAM.FLASH.Onchip_memo ...

  8. NIOS II CPU复位异常的原因及解决方案

    NIOS II CPU复位异常的原因及解决方案   近期在用nios ii做项目时,发现一个奇怪的现象,在NIOS II EDS软件中编写好的代码,烧写到芯片中,第一次能够正常运行,但是当我按下板卡上 ...

  9. 关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法

    关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法 近期在评估使用NIOS II处理器进行项目的 ...

随机推荐

  1. PHPCMS V9 非超级管理员批量移动权限

    第一步:确实存在这个问题,修改方法是在后台->扩展->菜单管理里面,管理内容里面添加子菜单, 第二步:在操作完以上步骤后,再在角色权限管理里面再重新赋权限就可以了

  2. web sql database数据存储位置

    Q1: 数据存储在哪儿? Web Storage / Web SQL Database / Indexed Database 的数据都存储在浏览器对应的用户配置文件目录(user profile di ...

  3. 20169212《Linux内核原理与分析》第六周作业

    视频学习 一.用户态.内核态和中断 内核态:处于高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态 用户态:处于低的执行级别下,代码只能在级别允许的特定范围内活动.在日 ...

  4. html/css 钢琴黑白格布局

    效果图:

  5. c语言迷宫游戏的实现

    // // main.c // 迷宫游戏代码实现 // #include <stdio.h> #define ROW 6 //宏定义行 #define COL 6 //宏定义列 /** * ...

  6. javascript 中继承实现方式归纳

    转载自:http://sentsin.com/web/1109.html 不同于基于类的编程语言,如 C++ 和 Java,javascript 中的继承方式是基于原型的.同时由于 javascrip ...

  7. Python 之路 Day5 - 常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  8. 在 Windows 上安装 Laravel 5.x

    由于工作中要用到 Laravel ,所以在此记录以备忘. 下载并设置 PHP 进入 http://windows.php.net/download/ 下载 PHP 5.5.x 的最新版本.如果你用的是 ...

  9. 掌握Redmine

    一个带有建议.技巧和最佳实践的全面指导和易懂易学的结构. 掌握Redmine 版权©2013 Packt出版 前言(略) 1.熟悉Redmin 我们尝试去做一个新的网站应用程序的时候,回去询问一些了解 ...

  10. The requested resource is not available...

    运行tomcat 提示如下错误: The requested resource () is not available的解决方案 出现这个问题,接口肯定是没问题了.问题可能有两个: 1.文件设置无法访 ...