目录
首先在quartus里创建一个项目
1、选择芯片
2、选择modelsim-altera
3、点击finish完成创建
4、找到tool里的Platform designer双击
5、在搜索栏搜索nio找到nios II processor,点击add添加
6、在搜索栏输入onchip
7、size选择10k
8、搜索栏搜索jtag添加jtag uart
9、搜索sys,添加system ID
10、如右图实现IP核的连接(点击黑点)
11、如图点击选择
12、修改Reset vector、exception vector
13、点击system,选择assign base address
14、系统分配地址
选择generate->generate hdl
15、搜索栏添加PIO
16、PIO_0
17、修改为LED
18、创建顶层文件
回到Quarters,选择New->Verilog HDL File
顶层文件内容如下:
module hello_world(
input clk,
input reset_n
);
//此处的代码可以通过Qsys中的Generate->Generate Example,复制里面的内容,粘贴到此处,进行相应的修改
system_qsys u_qsys (
.clk_clk (clk), // clk.clk
.reset_reset_n (reset_n) // reset.reset_n
);
endmodule
接下来修改设置和配置时钟。
前后叙述步骤相对粗略详细内容查看该博客:
更加详细步骤请参考
19、点击assignment->device->device and pin option修改
20、点击dual-purpse pins修改为I/O
21、软件设计部分
打开Nios II Software Build Tools for Eclipse
请参考下面链接中,软件设计的过程,完成文件的创建
参考
22、修改代码文件
打开hello_world中的.c文件
#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
const alt_u8
led_data[4]={0x01,0x03,0x07,0x0F};
int main (void) {
int count=0;
alt_u8 led;
volatile int i;
while (1)
{
if (count==4)
{
count=0;
}
else
{
count++;
}
led=led_data[count];
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
//延时的设置
i = 0;
while (i<5000000)
i++;
}
return 0;
}
之后保存编译运行
参考资料
基于Nios II软核的流水灯