实验 5.2 跑马灯实验 - 图文
更新时间:2024-01-13 00:07:01 阅读量: 教育文库 文档下载
- 实验小白鼠推荐度:
- 相关推荐
实验 5.2 跑马灯实验
· 实验说明
在 FPGA 实验板上用 VHDL 语言或者Verilog语言都能够很快地写出跑马灯实验程序。本实验要求完成的是基于 SOPC 的跑马灯设计,具有一定的操作复杂性。
· 实验步骤
5.2.1 建立 Quartus 工程
1. 新建 Quartus 工程 RunningLED,顶层实体名 RunningLED。 2. 重新设置编译输出目录为../ RunningLED/release。
5.2.2 建立SOPC系统
3. 点击 Quartus II 软件右上方图标
打开SOPC Builder,创建一个 SOPC 系统。
填写系统名称为 RinningLED_System,并指定 VHDL 为描述系统的语言,如图 5-23。
4. 在系统上添加 On-Chip Memory
在程序左侧列表中选择 Memory and Memory Controllers -> On-Chip -> On-Chip Memory (RAM or ROM),双击添加至系统中。
在弹出的对话框中指定片上 RAM 的属性,因为不需要显示,编译结果很小,保持默 认即可。
图 5-23 添加系统名称并指定语言
图 5-24 指定 On-Chip Memory 属性
鼠标移动到片内存储器的名称onchip_memonry2.0上并点击右键,在弹出菜单中选择Rename,然后更改名称为onchip_mem。
5. 添加 Nios II Processor
双击 Altera SOPC Builder -> Nios II Processor,在弹出的对话框中间选择处理器NIOS II/s;硬件乘法器(Hardware Multiply)选择None,即不需要硬件乘法器;复位向量和异常向量存储器(Memory)均选择前面刚刚添加的片内存储器onchip_mem,此时二者的偏移量(Offset)自动设置为0x0和ox20。复位向量是指整个系统软件复位后启动的程序地址,一般为非易失存储器。异常向量是软件的起始地址,一般是易失存储器,如SDRAM等。如图 5-24 所 示。
选择
图 5-25 添加 CPU 设置参数
更改指令缓存(Instruction Cache)为2Kbyte,其他地方使用默认设置。最后点击Finish完成处理器设置。
6. 添加定时器
在列表中选择 Peripherals -> Microcontroller Peripherals -> Interval Timer,弹出如下对话框。定时器在本系统中主要作用是产生一个固定间隔的中断信号,让 CPU 改变 LED 灯的状态。因此在 Period 中选择 500ms,表示灯的状态每 500ms 改变一次。更改预置(Presets)选项为Full-featured。如图 5-25。更改定时器组件名为sys_clk_timer。
Full-featured
图 5-26 添加定时器并设置参数
7.配置JTAG UART
如图所示,双击组件库中的JTAG UART,添加JTAG UART组件。
更改JTAG UART组件名为jtag_uart。 8. 添加 IO 控制器
双击 Peripherals -> Microcontroller Peripherals -> PIO (Parallel I/O),保持默认设置即可,表示有 8 个输出用 IO口,分别控制开发板上的 8 个绿色 LED 灯(LEDG[7..0])。如图 5-26。
图 5-27 添加 IO 控制器并设置参数
更改PIO组件名为led_pio。 9. 配置系统ID
如图所示,双击组件库中的System ID Peripheral,添加系统ID组件。
无需做任何设置,直接点击系统ID配置窗口的Finish按纽即可。不过请注意其中的警告信息。是的,在配置完成后,务必更改系统ID名称为sysid。
10. 完成 SOPC 工程设计 如图 5-28。
图 5-28 完成的 SOPC 工程
注意:系统的每个组件都需要一个地址才能正常工作。某些组件,如定时器(Interval Timer)还需要分配一个 IRQ 号。如果发现各组件的地址或者 IRQ 号出现冲突,可以选 择菜单栏上 System -> Auto-Assign Base Addresses 以及 System -> Auto-Assign IRQs 自 动设定地址和 IRQ。系统 IRQ 可以是从 0 到 31 的整数,数值越小优先级越高。
9. 生成系统
通过点击下方 Generate 完成。如图 5-29。
图 5-29 生成系统
5.2.3 用符号框图完成顶层实体
10. 使用符号框图完成顶层实体
新建一个符号文件,添加刚才建立的 SOPC 系统。如图 5-30。
图 5-30 添加 SOPC 系统
11. 添加输入与输出端口
在空白部分双击,在 Name 框内输入 input 可以快速定位, 添加输入端口。一共需要两个。然后使用同样步骤添加一个 ouput 输出端口。结 果应如图 5-31 所示。
图 5-31 添加结果图
将两个输入端分别改名为 iCLK_50 及 iKEY[0],代表开发板上的 50MHz 晶振和 KEY0 按钮。将输出端改名为 oLEDG[7..0],代表开发板上的 oLEDG7 到 oLEDG0 共 8 个绿色 LED 灯。需要注意的是 SOPC Builder 生成的系统的重启信号为低电平有效,开发板上的按 键按下后代表低电平,弹起代表高电平。然后将这几个元件连接起来,硬件电路部分设计 完毕。电路应如下图所示。(注意:此处的名称修改应该与 DE2-115 引脚的配置相一致)。
图 5-32 电路图
12. 保存 bdf 文件,然后执行分析与综合 13. 分配引脚
LEDG[1] LEDG[2] LEDG[3] LEDG[4] LEDG[5] LEDG[6] LEDG[7] LEDG[8] KEY[0]
14. 编译下载
PIN_E22 PIN_E25 PIN_E24 PIN_H21 PIN_G20 PIN_G22 PIN_G21 PIN_F17 PIN_M23 CLOCK_50 PIN_Y2 编译完成后将程序烧写至 FPGA 开发板。由于目前还没有编写软件,因此FPGA实验板上不会有什么现象。
7.4 软件设计
15. 打开 Nios II IDE,首先选择一个合适的工作空间,依旧设置在<工程所在目录> \\softawre。如图 5-33。
图 5-33 选择工作空间 确认以后软件会重新启动
在欢迎界面中选择 Workbench,进入主界面。
16. 新建一个NIOS II Application and BSP from Template工程。
图 5-34
选择工程模板
对新建的NIOS2软件工程进行设置。点击SOPC Information File name一 栏后的按钮,找到硬件工程所在目录下的.sopcinfo文件,这里硬件和软件之间就是通过这个.sopcinfo文件进行关联。指定了.sopcinfo文件后,CPU name自动显示为“cpu”。在Project name一栏输入软件工程名为“first_swprj”。使用默认的软件工程存放目录,即在硬件工程目录下生成一个名为software的目录用于存放软件工程。选择工程模板(Project Template)中的Count Binary。然后点击Finish完成工程新建。
等待一会后,如下图所示,在工程目录窗口生成了两个工程,一个是软件应用工程,另一个是bsp工程。前者用于工程师编写程序;后者一般是系统自动产生,无需用户手动编辑,他主要是根据不同的硬件外设配置产生很多底层驱动相关的程序,在应用层只要调用这些程序就可以了,因此可以说bsp工程的主要作用就是做底层驱动,衔接应用层和硬件层。
17. 设置软件编译属性
由于正常的工程模板软件C代码量比较大,而我们所分配的可用片内存储器(onchip_mem)容量也不大(12KBytes),因此需要在软件编译属性里做一些简单的设置,以裁剪代码量,否则编译将无法通过。 代码裁剪不是无依据的随便设置,在官方的edh_ed_handbook.pdf?Section II?3.Debugging Nios II Designs?Reducing Code Size一节有所描述。因此,根据文档中推荐的消减代码需要做如下设置。 如下图。
右键点击打开该工程的BSP编辑界面,如下图。
然后弹出如下图所示的BSP编辑界面,在这个编辑界面中按照上面的表格进行设置。最后需要保存并点击右下角的“Generate”。完成后退出即可。
17. Project->Build All,编译,结果只用了 2K。
18. 右击 blank_project_0,选择 Run As ->Nios II Hardware 如图 5-38。
图 5-38 下载运行 C 程序
20. NIOS II IDE 将程序下载到开发板上,之后就能看到 8 个 LEDG 灯轮流点亮了。
正在阅读:
实验 5.2 跑马灯实验 - 图文01-13
现代文学复习题(大二一年皆可用)05-16
XX塑料化纤有限公司清洁生产02-20
公路施工测量放样方法04-01
插入式振动器安全操作规程05-16
邮政特邀监督员管理办法03-25
边坡治理工程施工组织设计方案封面目录05-16
个人工作总结 电站08-23
高一语文《氓》说课稿11-03
物质的量第一课时作业11-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 跑马灯
- 图文
- 5.2
- 2015年河南中考作文范文或高分作文(6篇)
- 机械制造技术基础实验指导书
- 2018-2019魔法小达人舞蹈串词-word范文模板(3页)
- 螺旋桨设计计算书(2015) - 图文
- 电焊工中级理论知识参考题
- 合同翻译,中英,难句解析
- 建筑工程索赔策略与技巧论文
- 智能变电站原理测试题目
- 初一数学经典应用题汇总,考试最常见
- 王梦奎文章写作十二题
- 2017雅思写作小作文范文参考
- 济南市信访工作责任追究办法
- EN-7625智能露点仪
- 2017部编新人教版小学二年级语文上册 20 雪孩子 公开课教学设计
- midas Gen-平板网架的分析设计 - 图文
- 咸秦发〔2014〕4号- 咸阳市秦都区人民政府-网站首页 - 图文
- 2016高考语文二轮专题复习 保温练19 语言文字运用+名句默写+文学类文本阅读(五)
- 五年级语文教案-13打电话教案 精品
- 北京市综合管理类公务员非领导职务设置管理办法(网络).doc
- 大学无机化学第二学期模拟试卷(五)