基于Nios-II实现流水灯

一、新建项目

选择芯片

二、Qsys设计

1.进入Tools -> Platform Designer

进入后,首先点击File -> Save ,保存为Kernel.qsys.

2.设置时钟主频

这里设置为50MHz,与所选芯片的时钟保持一致

3.添加Nios-II Processor并设置

左边的IP Catalog中,选择Nios-II Processor,并点击Add添加

暂时不修改它的其他配置信息,直接点finish

右键重命名为"cpu",并按图操作进行时钟线连接

连接之后变成这样

4.添加JTAG并配置

左边选择JTAG_UART_Intel_FPGA_IP,点击Add。

右键重命名为uart,并按图进行时钟线,复位线,数据线的连接

5.添加RAM

选择On-Chip Memory (RAM or ROM) Intel FPGA,点击Add加入

连接时钟线,数据线与复位线,右键将其改名为onchip_ram,双击它,按图配置其大小:

6.添加PIO

左边选择PIO,将其加入进来

连接clk,reset,s1并导出输出端口

将输出命名为out_led

7.添加System ID Peripheral

8.其他设置

点击System -> Assign Base Address

点击System -> Create Global Reset NetWork

生成HDL

三、Quartus设计

1.添加原理图文件

返回到Quartus页面,新建原理图文件

双击空白处,加入生成的bsf文件

右键生成IO端口,并修改led端口为out_led

2.添加qip文件

3.设备引脚设置

物理引脚

进行全编译,生成sof文件

四、Nios-II Eclipse设计

1.进入Nios-II Eclipse

点击Tools -> Nios II SoftWare Build Tools for Eclipse

2.新建项目

按图点击:

写项目名称,选择helloworld模板。

图中勾选的文件是与qsys文件同级的sopcinfo文件

创建好后,替换成以下代码

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
const alt_u8
led_data[8]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
int main (void) {
    int count=0;
    alt_u8 led;
    volatile int i;
    while (1)
    {
        if (count==7)
        {count=0;}
        else
        {count++;}
        led=led_data[count];
        IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led);
        i = 0;
        while (i<500000)
            i++;
        printf("Hello Nios-II\n");
    }
    return 0;
}
3.编译与运行

右键项目文件夹,点击Build Project

编译无误后

在这里插入图片描述

4.运行/调式程序

(1) 用户将运行程序来观察编译代码的执行。用户可以在目标硬件上或 Nios II 指 令集仿真器(ISS)上运行程序。本节实验只讲述在目标硬件上调试和运行程序。在 C/C++ Projects 视图中右击 hello_led_0 工程文件夹,然后在弹出的快捷菜单中选择 Run As→Nios II Hardware 运行程序,也可以在菜单栏中选择 Run →Run Configurations,如下图所示。

配置 Run Configurations,转到”Target Connection”标签栏,点击右侧的 Refresh Connections 将 USB-Blaster 加入,如下图所示.

(2) Apply 后,Run。下载完成后,可以看见 Console 里打印信息

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值