基于Verilog HDL的数字系统设计入门教程(CPLD篇)——第四天(3)
CPLD,FPGA,Verilog,VHDL,数字系统,
基于 Verilog HDL 的数字系统设计入门教程(CPLD 篇)——第四天 系统断电后重新设置,这个时候我们就可以采用拨码开关。当然,我们还可以将拨码开关作 为系统的输入,实时修改这些输入的值,使系统按照输入的参数值的模式运行程序。 拨码开关种类有很多,EDA/MCU 实验扩展板上使用的是 4 位拨码开关,这种开关每一 位对应一个输出,其状态是高电平“1”或低电平“0” 。 此外还有拨盘式,它有一个控制端,4 个输出端;每个拨盘有多个位置,每个位置对应 的输出为 4 位的 BCD 编码。 我们可以把拨码开关看做一种特殊的按键开关,只是在闭合和断开的状态有“锁存”而 已。 4.2实验扩展板上的独立式轻触开关原理图 CPLD 只需要检测连接到该拨码开关相应位的 IO 的电平即可获知其是否闭合,高电平代 表断开(使用的时候,白色的拨片拨到 ON 一端) ,低电平代表闭合(拨到靠近数字一端) 。 按照本教程一开始介绍的连接方法,实验扩展板上的拨码开关和 CPLD 的连接关系如下 表所示: 器件 S1_1 S1_2 S1_3 信号名 SW[0] SW[1] SW[2] ~ 12 ~ CPLD 启蒙板对应引脚 78 81 82 线路人生|Circuitry
CPLD,FPGA,Verilog,VHDL,数字系统,
基于 Verilog HDL 的数字系统设计入门教程(CPLD 篇)——第四天 S1_4 SW[3] 83 5. 实验二(拨码开关的使用) 5.1 实验要求 利用实验扩展板的 4 位拨码开关和 8 个 LED1 实现:当拨码开关的输入为二进制的 0000~1000 时,LED 的输入为其代表的 BCD 编码值(SW0 为 0,SW1 为 2,SW2 为 4,SW 为 8) ;当输入为二进制的 1001~1111 时,LED 全部熄灭(和 0000 的状态一样) 。 5.2实验目标 通过本实验,学会拨码开关作为系统的参数输入的方法;掌握利用 qsf 文件进行引脚锁 定的方法。 5.3 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.源代码 本实验的功能较为简单,使用 case 语句即可实现,代码如下: module SW_LED(SW,LED); input [3:0]SW; output [7:0]LED; reg [7:0]LED; always @(SW) begin case(SW) 4'b0001: LED = 8'b00000001; 4'b0010: LED = 8'b00000011; 4'b0011: LED = 8'b00000111; 4'b0100: LED = 8'b00001111; 4'b0101: LED = 8'b00011111; 4'b0110: LED = 8'b00111111; 4'b0111: LED = 8'b01111111; 4'b1000: LED = 8'b11111111; default: LED = 8'b00000000; endcase end endmodule //模块名 //定义输入 //定义输出 //定义寄存器 //过程 //使用 case 语句实现目标功能 ~ 13 ~ 线路人生|Circuitry
CPLD,FPGA,Verilog,VHDL,数字系统,
基于 Verilog HDL 的数字系统设计入门教程(CPLD 篇)——第四天 5.4实验步骤 (1)利用新项目向导在“D:\Tutorial\EPM570\DAY04\Exp02”目录下建立一个名为 “SW_LED”的项目,选择好相应的 CPLD 器件。 (2)新建三个 Verilog HDL 设计文件,输入 Verilog 代码分别设计并保存为 SW_LED.v。 (3)利用 qsf 文件,在编译前锁定引脚: 我们再打开前面一个实验项目的 DebounceLED.qsf 文档,这个文件保存了项目里面的很 多设置, 具体的说明大家可以参考 Quartus II 的帮助文档中的相应内容。 里面有这么几句 (省 略了部分代码) : 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. set_global_assignment ‐name FAMILY "MAX II" set_global_assignment ‐name DEVICE EPM570T100C5 …………………… set_global_assignment ‐name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI‐STATED" set_location_assignment PIN_40 ‐to LED[0] set_location_assignment PIN_41 ‐to LED[1] set_location_assignment PIN_42 ‐to LED[2] set_location_assignment PIN_43 ‐to LED[3] set_location_assignment PIN_47 ‐to LED[4] set_location_assignment PIN_48 ‐to LED[5] set_location_assignment PIN_49 ‐to LED[6] set_location_assignment PIN_50 ‐to LED[7] 其中第 1 句设置项目所选的器件的系列——MAX II;第 2 句是选择的项目所用的器件; 第 4 句是设置不用的引脚为三态输入,后面 8 句是锁定 LED 的到相应 CPLD 引脚。 我们再打开本实验项目的 qsf 文件,可以看到前面两句是有的,我们可以把后面 9 句加 到文件的末尾,此外再加上这么几句: 1. 2. 3. 4. set_location_assignment PIN_78 ‐to SW[0] set_location_assignment PIN_81 ‐to SW[1] set_location_assignment PIN_82 ‐to SW[2] set_location_assignment PIN_83 ‐to SW[3] 保存文件,我们再打开 Assignment Editor,可以看到,引脚已经锁定好了: 唯一的区别是以前我们没有编译项目之前, To 一列是没有办法显示项目中的引脚的, 在 现在前面有一个问号,而且已经锁定好了引脚。 锁定语句的格式大家可以自己总结一下, 稍微修改修改就可以用于其它的引脚了, 看看 后面我们加的 4 个 SW 引脚就是如此。 此外,我们也可以看到在 Device Pin Options 中的 Unused Pins 已经设置好了未用引脚的 ~ 14 ~ 线路人生|Circuitry
CPLD,FPGA,Verilog,VHDL,数字系统,
基于 Verilog HDL 的数字系统设计入门教程(CPLD 篇)——第四天 状态为三态输入: (4)编译项目; (5)下载到 CPLD 中观察实验结果:是否和我们设计的初衷一致? 5.5小结 …… 此处隐藏:2279字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




