软件环境:Quartus Prime Standard 18.1 Window 10
硬件环境:小梅哥 AC501 开发板
主要参考:
本实验使用 Nios 的自定义组件控制开发板上 LED 闪烁。
本文首先建立了基于片上 RAM 的基础 Nios 工程,之后在该工程上添加基于 Avalon-MM 接口的自定义组件,修改 Nios 软件后实现 LED 闪烁。
建立 Quartus 工程
打开 Quartus 软件,选择菜单 File > New …,在弹出窗口中选择 New Quartus Prime Project,点击 OK 按钮。
在 New Project Wizard 对话框中,按提示选择 Next 页面,需要进行特殊设置的页面包括以下页面,其它页面保持默认。
设置工程名称和路径:
选择 FPGA 芯片型号:
完成全部配置后点击 Finish 按钮创建新工程 cus_com。
在 Quartus 选择菜单项 Assignments > Settings,在配置窗口选择 Compilation Process Settings 页,选择 Use all available processors:
用 Platform Designer 建立 qsys 模块
在 Quartus 选择菜单项 Tools > Platform Designer,打开 Platform Designer 界面:
双击 clk_0 模块,配置时钟频率为 50 MHz
通过 IP Catalog 界面添加 System ID 模块,保持默认配置点击 Finish 按钮:
添加 JTAG UART 模块,保持默认配置点击 Finish 按钮:
添加 On-Chip Memory 模块,并配置为 128 KB 大小(小于当前 FPGA 芯片 1400 Kb 的 RAM 空间总量),其它配置项保持默认,点击 Finish 按钮:
添加 Nios II Processor 模块,设置为 Nios II/e 模式,其它配置保持默认,点击 Finish 按钮:
按下图,在 System Contents 界面连接各模块接口,保存当前设计,选择菜单项 System > Assign Base Addresses:
注意将 nios2 模块的 instruction_master 连接至 onchip_memory 的 s1:
双击 nios2 模块打开配置界面,进入 Vectors 页,设置 Reset vector memory 和 Exception vector memory 都为 on_chip memory:
按前述方法保持当前设计后,选择菜单项 Generate > Generate HDL…,在弹出窗口保持默认配置并且点击 Generate 按钮:
Quartus 工程顶层模块设计
添加 qsys 模块
回到 Quartus 软件,选择菜单项 Project > Add/Remove Files in Project,弹出窗口中点击 … 按钮,选择 Platform Designer 保存的后缀名为 qsys 的设计文件,完成后点击 OK 按钮:
在