已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 第三讲 第三讲 Verilog HDL 基础课后练习基础课后练习 实验目的 通过编写简单的程序熟悉软件的操作方法与硬件描述语言 实验一实验一 编写简单的组合逻辑编写简单的组合逻辑 一一 实验内容 实验内容 编写二 四译码器 完成实验内容 软件仿真 下载调试成功 二二 实验说明 实验说明 本次实验主要实现一个 2 4 译码器 2 4 译码器的逻辑功能如下 本实验要求使用 HDL 语言描述 2 4 译码器 并在实验平台上面实现这个译码 器 描述的时候要注意 HDL 语言的结构和语法 并熟悉 Quartus 的文本编辑器 的使用方法 本实验的程序比较简单 主要是通过这次实验熟悉实验环境 为以 后更好的做实验做准备 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 三三 实验要求实验要求 1 用 HDL 语言编写 2 4 译码器 2 用实验平台的拨码开关输入 4 个 LED 做为输出 3 在 QuartusII 平台上仿真 4 在开发板上面验证这个 2 4 译码器 四四 实验步骤 实验步骤 按照第一单元介绍的步骤进行操作 学习 Quartus 5 0 软件的使用方法 1 在 WINDOWS 界面双击 Quartus 5 0 图表进入 Quartus 环境 2 单击 File 菜单下的 New Project Wizard Introduction 按照向导里面的介 绍新建一个工程并把它保存到指定路径下面 3 单击 File 菜单下的 New 选择 Verilog HDL File 后单击 OK 就能创建一个后 缀名为 v 的文本文件 另外 如果已经有文本存在 可以按 File 菜单里面的 Open 来选择你的文件 4 Assignment Device 选择 cyclone 系列 ep1c6q240c8 芯片 在 advance 中设 置 epcs1 不使用压缩码流下载 不用管脚置为输入三态 5 分析 6 Assignment Pin 7 编译 8 仿真 9 Programmer 选用 jtag 方式下载 sof 格式文件 五五 管脚映射管脚映射 开关位于开发板的左下部 拨码开关名称为SW1 SW2 上面的是SW2 下面 的是SW1 当拨码当开关拨到ON 开 时 SW 信号为低电平 4 7K 用来做上 拉 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 拨码开关原理图 拨码开关管脚映射 开发板包括4 个LED 数码管 在拨码开关的上侧 需要输入高电平才能点亮LED LED 原理图 LED 管脚映射 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 实验二实验二 编写简单的时序逻辑编写简单的时序逻辑 一一 实验内容 实验内容 1 分频器设计 2 led 流水灯设计 二二 实验说明 实验说明 1 简单的分频器设计 简单的分频器设计 本实验主要是设计几个分频数值不同的分频器 并在开发板上面观察分频的 结果显示 由于开发板频率为单一的 50MHz 而实际使用的时候要使用各种频率 先输入 HDL 程序 然后在 QuartusII 中做波形仿真 1 设计一个 2 分频器 观察实验结果 2 设计一个 4 分频器 观察实验结果 3 设计一个 8 分频器 观察实验结果 并与上面一步的实验结果比较 4 想一想 你有几种方法实现前面的分频器 对比编译后所占用的逻辑资源 比 较你想到的方法哪个更经济 实验扩展 实际实验中往往要用到频率很低的时钟 比如 1Hz 10Hz 这时往往要用到 50M 的分频 考虑如何用比较简练的形式写出高效的程序 提示 可以考虑用 clk count 24 实现 2 25分频 2 LED 流水灯设计流水灯设计 LED 流水灯又叫跑马灯 是最基础的时序逻辑 使用 HDL 语言设计 循环点 亮每个 LED 本实验要使用分频器 因为板上的时钟是 50M 如果不分频 人眼 不可能观察到 LED 循环点亮 可以使用 2 25分频后时钟大约为 0 6s 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 三三 实验要求 实验要求 1 分频器设计要求 分频器设计要求 1 编写 2 4 8 分频器 使用 quartusII 软件仿真 2 编写分频器把时钟分到 20KHz 人耳可分辨频率 以内 输出到蜂鸣器 3 编写分频器把时钟分到 1hz 左右 以备 LED 流水等使用 2 LED 流水灯要求流水灯要求 使用 1hz 左右时钟循环点亮每个 LED 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 实验三实验三 七段数码显示器设计七段数码显示器设计 一一 实验内容 实验内容 1 设计七段数码显示器 2 在内容以的基础上设计扫描数码显示器 3 选作实验 实现 4 位 10 进制计数器 从 1 9999 计数显示 二二 实验原理 实验原理 7 段数码显示器是数字系统实验里面经常使用的一种显示器件 因为它经常 显示的是十进制或十六进制的数 所以我们就要对实验里面所用到的二进制数进 行译码 将它们转换成十进制的或是十六进制的数 LED 数码显示器分为共阴 和共阳两种 本实验使用的是共阴的连接 高电平有效 真值表 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 显示示例 注 DP 为小数点 在许多情况下为了节省 I O 管脚和内部逻辑资源 常用动态扫描的方法进行 显示 动态扫描显示利用了时分的原理和人的视觉暂留效应 用 100Khz 左右的 时钟就可以利用人眼的视觉暂留效应 看起来就像 4 位数码管同时点亮一样 例 如 一个 4 位动态扫描数码显示器的显示周期可划分为四个阶段 阶段 1 阶段 2 阶段 3 阶段 4 扫描显示四位数字 这样显示得好处是节省了 20 多个 I O 资源 三三 实验要求 实验要求 1 编写扫描七段数码管 在软件中仿真通过 2 可以在硬件上用数码管显示 4 位不同的数 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 四四 管脚映射 管脚映射 原理图 管脚映射 势能端 FPGA 管脚 LED S0 Pin 73 LED S1 Pin 68 LED S2 Pin 67 LED S3 Pin 66 LED A Pin 60 LED B Pin 75 LED C Pin 76 LED D Pin 59 LED E Pin 61 LED F Pin 58 LED G Pin 74 LED DP Pin 77 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 实验四实验四 4x4 矩阵键盘设计矩阵键盘设计 一一 实验目的实验目的 1 学习使用 4X4 扫描键盘的设计方法 2 实践对比按键抖动对扫描键盘输出的影响 二二 实验原理及说明实验原理及说明 1 实验原理 实验原理 行信号 KEY 接到高电平 当没有键按时 行线与列线 KEYSCAN 是断开 的 且行线都是高电平 1111 行信号作为 FPGA 的输入端 列信号作为 FPGA 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 的输出端 可以设置列线初始状态为低电平 0000 信号为从上到下的顺序 当有键按下时 假如是K1按下 行信号与列信号接通 这时相应的行线 KEY0 变为低电平 01111 可以肯定第一行 K1 5 9 13 有键按下 下面就要运用扫描的原理了 1 因为只知道第一行有键按下 不知道是那个 可以设置列信号为 0111 这时 行信号变为 1111 注 假设时钟周期很短 手还没松开 即键还在按下的状 态 2 设置列信号为 1011 行信号也变成 1111 3 设置列信号为 1101 行信号也变成 1111 4 设置列信号为 1110 行信号也变成 0111 这时就可以肯定是第一个键按 下 关键的工作只要调整好时钟的频率就可以了 2 实验说明 实验说明 4X4 扫描键盘只用 8 位数据线 可以提供 16 个不同的按键信号 这样做的好 处是 1 节省 FPGA 管脚资源 2 系统简单化减小电路规模 特别是在资源比较 紧张 对成本要求严格的系统中这是一种非常流行的设计方法 在上面的实验中 同学们已经见到了扫描数码显示器的实用性 4X4 扫描键盘是输入设备 控制器 来要稍微复杂一些 掌握这种程序设计方法在以后的学习工作中还是很有用武之 地的 因为一般的开关在大约 20ms 内信号不稳定 存在所谓的 开关抖动 会产 生多个脉冲影响电路正常工作 所以含开关输入的设计需要做防抖动处理 在本 实验可以用 20Hz 的时钟采样实现防抖 在设计程序时要注意时钟的的分配 要考虑一般用手把键按下的时间长度等 问题 如果不去抖动可以把时钟加快 使按下键的时间内完成扫描处理 实际中 操作与理论分析是有差别的 本实验的目的是要下载成功而不仅是仿真通过 北京华清远见科技信息有限公司北京华清远见科技信息有限公司 Red Logic 工作室工作室 联合打造最有价值的联合打造最有价值的FPGA培训培训 三三 实验步骤实验步骤 1 准备实验前查阅本实验相关的信息 2 构思程序设计方法 3 编写 veilog 代码同时做程序注释 4 编译仿真程序 与预想结果进行比较 修改程序 5 下载到实验平台上 观察结果 四四 实验要求实验要求 1 输入 verilog 设计文件 编译调试通过 2 利用仿真手段进行测试 3 下载程序到实验板 由扫描数码管或 led 输出按下的键盘码 4 对比抖动的效果 五五 扩展性学习扩展性学习 上文已说明开关防抖的必要性 在这种简单的实际应用中做不做防抖处理没 有什么区别 但是用按键开关作发送串行数据的开关时就有可能出现问题 所以 下文将介绍一种较实用的开关去抖方案 请同学们参考 键一旦被按下 deDitherCounter 计数开始 计数 5ms 将主时钟分频为小于 1ms 的时钟 时将键盘编码值 处理前 赋给 code 计数到 15ms 时比较当前的 键盘码与 10ms 前的码是否相同 如果相同 输出 keyPressed 信号 如果不同不 做任何处理 keyPressed 信号在 1ms 后 计数到 15 重新拉低 而输出的键盘 码 code 在第 5 毫秒时就变为有效值 直到下一次按键后的 5ms 才会重新变为新 的值 从而保证在 keyP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物联网行业连接设备与数据安全研究报告及未来发展趋势
- 2025广西壮族自治区体育局江南训练基地高层次人才招聘1人参考题库有完整答案详解
- 2025年军工航天行业国防科技创新发展战略研究报告及未来发展趋势
- 2025年新能源行业发展动态与清洁能源技术创新研究报告及未来发展趋势预测
- 2025广东珠海市司法局直属单位招聘合同制职员3人参考题库含答案详解(突破训练)
- 2025广东深圳大学未来地下城市研究院招聘辅助管理人员1人参考题库附答案详解ab卷
- 2025广西南宁市兴宁区关工委招聘1人参考题库及答案详解(新)
- 2025广西柳州市鱼峰区综合行政执法局招聘协勤人员28人参考题库附答案详解(夺分金卷)
- 装卸货合同协议写范本
- 餐饮策划合作合同范本
- 2025年福建省产前筛查诊断人员资质考试题库含答案详解
- ZXV10 M9000结构原理及维护
- 总监理工程师执业能力与信用评价
- 岗位技能比武汇报
- 蜡染研学课程讲解
- 施工安全用电常识培训课件
- 医务人员职业道德准则2025
- 监理安全知识岗前培训课件
- 河北省临西县2025年上半年事业单位公开招聘试题含答案分析
- 2025年版小学数学新课程标准测试题含答案【附新课标解读】
- 2025年病历书写规范及病案管理培训试题(附答案)
评论
0/150
提交评论