欣欣工作室——带你走进单片机世界

         
累计访问3435852
当前在线39
首   页 | 常用器件 | 问答集萃 | 技术文摘 | 在线学习 | 共享工程 | 资料下载 | 网友交流

 
Web xinworks
 开发板概述
 安装QuartusII6.0软件
 安装Nios II EDS6.0
 电源测试
 时钟与FPGA测试
 AS配置功能测试
 SDRAM测试
 Flash测试
 PS配置功能测试
 以太网接口测试
 PLD器件概述
 Quartus II 使用入门
 安装ModelSim6.0SE
 使用ModelSim仿真
 使用ModelSim做后仿真
 观察FPGA内部信号
 NiosII处理器简介
 建立一个NiosII系统
 软件开发流程
 实现用户自定义外设
 实现用户自定义指令
 Flash 编程
 添加RTL8019以太网接口
 运行LwIP网络协议栈
 运行uClinux操作系统
 HDL 语言例程
 相关软件及技术文档



NiosII/FPGA学习板

实现用户自定义指令


注:

本实验是针对 欣欣工作室 的小精灵FC12/FC06型开发板设计的,如选用其它开发板实现,部分内容需做调整。有关小精灵FC12/FC06型开发板详细说明,参见 欣欣工作室 主页:http://www.xinworks.com

  

下面将通过一个具体的实例,来演示如何利用 用户指令 在不增加主频的情况下,提高 NiosII 系统的处理能力。

1.

启动 Qartus II 软件,打开先前实验中所建立的项目。启动 SOPC Builder 工具软件,编辑 SOPC 系统。

2.

双击 cpu 组件,在弹出的参数设置对话框上,点击 Custom Instructions 表头,进入到 Custom Instructions 参数设置页。

3.

点击 Import 按钮。在随后弹出的对话框中,点击 Add 按钮。浏览到 altera_trn\nios_II_lab 文件夹,选择 crc.vhd 作为用户指令设计文件。在 Top module 栏目中,输入 crc

4.

点击 Read port-list 按钮,读出设计的端口列表,并设置每个端口的 WidthDirectionType 等参数,如下图所示。点击 Add to System 按钮,加入系统。

   

设置 Clock Cycles 为 “2” ,点击 Finish 按钮。

5.

SOPC Builder 主界面上,点击 System Generation 表头,进入 System Generation 页。

6.

去掉 Simulation 选项,点击 Generate 按钮。

7.

SOPC 系统重新创建完成之后,回到 Quartus II 软件。右键点击 NiosII 模块,在弹出菜单中选择 Update Symbol or Block 命令,更新该模块。保存,并通过 Processing => Start Compilation 菜单命令重新编译该项目。完成后,点击 OK 按钮。

8.

启动 programmer 工具软件,选中 Program/Configure 选项,点击 Start 按钮,将设计下载到开发板上。

9.

启动 Nios II IDE 软件,使用 Black Project 模板创建一个新项目( File => New Project => C/C++ Application ),取名 crc_project 。点击 Finish 按钮。

10.

使用 Windows 浏览器 打开 altera_trn\nios_II_lab\software 文件夹。复制 crc.c 文件。在 Nios II IDENavigator 窗口中,选中 crc_project 项目,点击右键,在右键菜单中选择 Paste 命令,将这个文件粘贴到项目中。

11.

选中 niosII_pwm_project_syslib ,点击右键,在右键盘菜单中点击 Properties 命令。去掉 Modelsim only 选项,确认 stdoutstderrstdin 设置为 jtag_uart ,同时,确认 Periodic system timer 设置为 SYS_CLK_TIMERTimestamp timer 设置为 HIGH_RES_TIMER 。对于 Program MemoryRead-only data MemoryRead/write memoryHeap memoryStack Memory 几个参数,均设为 sdram 。点击 OK 按钮确认。切换到 C/C++ Build 设置页,设定 Optimizationlevel 3 。点击 OK 按钮。

12.

选中 crc_project 项目, 点击右键,在弹出菜单中选择 Properties 命令。切换到 C/C++ Build 页,设定 Optimizationlevel 3 。点击 OK 按钮。

13.

C/C++ Projects 窗口中,选中 crc_project 项目。点击右键,在弹出菜单中选择 Build Project 命令。编译结束后,在同一菜单中选择 Run As => Nios II Hardware 命令,运行该项目。

   

注: 如果系统提示“more than one JTAG cable available”,通过 Run => Run… 菜单命令启动运行参数设置对话框。在 Target Connection 页中选择恰当的下载电缆型号,点击 ApplyRun 按钮,确认并执行。

14.

按下开发板上的 S1 按键,可以启动 软件计算CRC 流程;按下开发板上的 S2 按键,可以启动 用户指令计算CRC 流程。计算次数将显示在两个 LED 数码管上。当数码管显示 "80" 的时侯,本次计算结束。计算结果及使用时间将显示在 Nios II IDEConsole 窗口。观察两种计算模式在用时上差异。






粤ICP备06035157号