




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
参考模板参考模板 千万不要千万不要 照抄照抄 否则后果很严重否则后果很严重 多写点自己在实验时遇到的问题多写点自己在实验时遇到的问题 前四个实验报告详细前四个实验报告详细 后四个报告可以适当简略后四个报告可以适当简略 EDA 技术及应用 实验报告 系系 部 部 电子通信工程系 指导教师 指导教师 张松炜 学学 号 号 姓姓 名 名 同同 组组 人 人 二 年 月 日 实验一实验一 点亮点亮 LED 设计设计 一 实验目的一 实验目的 通过此试验可以让大家逐步了解 熟悉和掌握 FPGA 开发软件 Quartus II 的使用方法及 VerilogHDL 的编程方法 二 实验内容二 实验内容 本实验是一个简单的点亮 LED 灯的实验 具体包括 1 使用 Quartus II 建立一个工程 2 Quartus II 工程设计 3 设置编译选项并编译硬件系统 4 下载硬件设计到目标 FPGA 5 观察 LED 的状态 三 实验原理三 实验原理 和单片机一样 向片子里写进数据 输出高电平 对于共阴极的 或者输出低电平 对于共阳极 根据 Cyclone 片子已经分配好的针 脚设置好针脚 四 实验步骤四 实验步骤 建立建立 个工程个工程 输入程序输入程序 软件编译软件编译 生成下载文件生成下载文件 下载下载 调试调试 五 实验程序五 实验程序 module led1 led 模块名 led1 output 7 0 led 定义输出端口 reg 7 0 led 定义寄存器 always 过程 1 begin led 8 b10101010 输出 0 xAA end endmodule 六 思考题六 思考题 1 写出使用 QuartusII 软件开发工程的完整的流程 建立一个工程 输入程序 软件编译综合 生成下载文件 下载 硬件调 实验二流水灯实验流水灯实验 一 一 实验目的实验目的 通过此试验让大家进一步了解熟悉和掌握 FPGA 开发软件的使用方法 及软件编程方法 学习简单的时序电路的设计和硬件测试 二 实验内容二 实验内容 本实验的内容是建立用于控制 LED 流水灯的简单硬件电路 要求在 SmartSOPC 上实现 LED1 LED8 发光二极管流水灯的显示 三 实验原理三 实验原理 这里的显示用分频模块 int div 得到的较低的始终作为信号 在 此时钟下 对输入数据进行移位 就得到了流水灯的效果 四 实验步骤四 实验步骤 建立工程 输入源程序 调用模块 生成符号 调用符号 连成电 路图 编译 下载 调试 五 实验程序五 实验程序 原理图 VCC clock INPUT led 7 0 OUTPUT clk led 7 0 ledwater inst F DIV24000000 F DIV WIDTH 25 ParameterValue clockclk out int div inst1 六 思考题六 思考题 1 本实验顶层采用了图形输入的方式 若采用文本输入方式 如何 编写顶层文件 写出相应程序 module led2 clock led input clock output 7 0 led wire p int div u1 clock clock clk out p ledwater u2 clk p led led endmodule 实验三 键盘 LED 发光实验 一 实验目的一 实验目的 本实验的主要目的是联系顶层模块的设计 学习和体会分支条件语 句 case 的使用及 FPGA 的 I O 控制 二 实验内容二 实验内容 用跳线把 key1 key8 和指定的引脚连起来 以实现功能控制 三 实验原理三 实验原理 FPGA 的所有的 I O 控制块允许每个引脚单独的配置为输入口 只要 配置正确 则一暗淡几个键中有键输入 在检测到键盘输入的情况 下 继续判断其键盘值并作出相应的处理 四 实验步骤四 实验步骤 1 按以前的步骤建立工程 并按说明书进行配置引脚 未用的按三 态处理 2 对文件进行编译 并检错 3 按说明短接跳帽和连接 跳线 4 观察输入情况 五 实验程序五 实验程序 module keyled key led 模块名 keyled input 7 0 key 定义键盘输入口 output 7 0 led 定义发光管输出口 reg 7 0 led r 定义寄存器 reg 7 0 buffer r assign led led r 输出键值 always key 过程 1 begin buffer r key 读取键值 case buffer r 8 b11111110 led r 8 b11111110 是键 KEY1 则给寄存器赋值 0 xfe 8 b11111101 led r 8 b11111100 是键 KEY2 则给寄存器赋值 0 xfc 8 b11111011 led r 8 b11111000 是键 KEY3 则给寄存器赋值 0 xf8 8 b11110111 led r 8 b11110000 是键 KEY4 则给寄存器赋值 0 xf0 8 b11101111 led r 8 b11100000 是键 KEY5 则给寄存器赋值 0 xe0 8 b11011111 led r 8 b11000000 是键 KEY6 则给寄存器赋值 0 xc0 8 b10111111 led r 8 b10000000 是键 KEY7 则给寄存器赋值 0 x80 8 b01111111 led r 8 b00000000 是键 KEY8 则给寄存器赋值 0 x00 default led r 8 b11111111 否则给寄存器赋值 0 xff endcase end endmodule 六 思考题六 思考题 1 能否用 if 语句改写本实验程序 如果能 写出相应程序 module keyled key led 模块名 keyled input 7 0 key 定义键盘输入口 output 7 0 led 定义发光管输出口 reg 7 0 led r 定义寄存器 reg 7 0 buffer r assign led led r 输出键值 always key 过程 1 begin buffer r key 读取键值 if buffer r 8 b11111110 led r 8 b11111110 else if buffer r 8 b11111101 led r 8 b11111100 else if buffer r 8 b11111011 led r 8 b11111000 else if buffer r 8 b11110111 led r 8 b11110000 else if buffer r 8 b11101111 led r 8 b11100000 else if buffer r 8 b10111111 led r 8 b10000000 else buffer r 8 b01111111 led r 8 b00000000 end endmodule 实验四 静态数码管显示实验 一 一 实验目的实验目的 学习 LPM 兆模块的调用 二 实验内容二 实验内容 建立 7 段译码显示模块 用于控制 LED 数码管的静态显示 要求在 实验箱上的数码管依显示 0 9 和 个字符 三 实验原理三 实验原理 本实验通过分频模块 int div 分频得到 1HZ 的频率信号 加载 4 位 计数器的时钟输入端 计数循环输出 0 9 A F 16 个数 最后通过 七段译码后在数码显示出来 四 实验步骤四 实验步骤 1 立源程序文件 dec17s v 输入程序代码并保存 并对此生成符号 2 添加 LPM 模块并按需要生成相应的文件 五 实验程序五 实验程序 VCC clock INPUT seg 7 0 OUTPUT dig 7 0 OUTPUT up counter clock q 3 0 counter inst d 3 0 seg 7 0 decl7s inst1 F DIV48000000 F DIV WIDTH 26 ParameterValue clockclk out int div inst2 GND 位 位 位 位 位 位 位 位 位 位 位 位 位 位 六 思考题六 思考题 1 本实验采用的是共阳极数码管 若采用共阴极数码管 有什么不 同 答 对应显示相同的数时 输入的不同 2 如何显示 HHHHHHHH 和 PPPPPPPP 答 H 对应的 89h P 对应的时 73h 实验五 动态数码管显示实验 一 实验目的一 实验目的 学习动态扫描显示的原理图及电路的设计 二 实验内容二 实验内容 1 在 SmartSOPC 试验箱上完成 LED 数码管的动态显示 1 8 个数字 2 放慢扫描速度演示动态显示的原理过程 三 实验原理三 实验原理 虽然每次只有一个 LED 显示 但只要扫描显示速率够快 由于人的 视觉余辉效应 使我们仍会感觉所有的数码管都在同时显示 四 实验步骤四 实验步骤 1 建立一个空白工程 并命名 2 对该工程文件进行全程编译处理 若在编译过程中发现错误 则 找出并更改 直至编译成功为止 3 从设计文件创建模块 4 将光盘中 EDA 目录文件拷贝到工程目录 5 添加常量兆功能模块 五 实验程序五 实验程序 module scan led clk 1k d dig seg 模块名 scan led input clk 1k 输入时钟 input 31 0 d 输入要显示的数据 output 7 0 dig 数码管选择输出引脚 output 7 0 seg 数码管段输出引脚 reg 7 0 seg r 定义数码管输出寄存器 reg 7 0 dig r 定义数码管选择输出寄存器 reg 3 0 disp dat 定义显示数据寄存器 reg 2 0 count 定义计数寄存器 assign dig dig r 输出数码管选择 assign seg seg r 输出数码管译码结果 always posedge clk 1k 定义上升沿触发进程 begin count count 1 b1 end always posedge clk 1k begin case count 选择扫描显示数据 3 d0 disp dat d 31 28 第一个数码管 3 d1 disp dat d 27 24 第二个数码管 3 d2 disp dat d 23 20 第三个数码管 3 d3 disp dat d 19 16 第四个数码管 3 d4 disp dat d 15 12 第五个数码管 3 d5 disp dat d 11 8 第六个数码管 3 d6 disp dat d 7 4 第七个数码管 3 d7 disp dat d 3 0 第八个数码管 endcase case count 选择数码管显示位 3 d0 dig r 8 b01111111 选择第一个数码管显示 3 d1 dig r 8 b10111111 选择第二个数码管显示 3 d2 dig r 8 b11011111 选择第三个数码管显示 3 d3 dig r 8 b11101111 选择第四个数码管显示 3 d4 dig r 8 b11110111 选择第五个数码管显示 3 d5 dig r 8 b11111011 选择第六个数码管显示 3 d6 dig r 8 b11111101 选择第七个数码管显示 3 d7 dig r 8 b11111110 选择第八个数码管显示 endcase end always disp dat begin case disp dat 七段译码 4 h0 seg r 8 hc0 显示 0 4 h1 seg r 8 hf9 显示 1 4 h2 seg r 8 ha4 显示 2 4 h3 seg r 8 hb0 显示 3 4 h4 seg r 8 h99 显示 4 4 h5 seg r 8 h92 显示 5 4 h6 seg r 8 h82 显示 6 4 h7 seg r 8 hf8 显示 7 4 h8 seg r 8 h80 显示 8 4 h9 seg r 8 h90 显示 9 4 ha seg r 8 h88 显示 a 4 hb seg r 8 h83 显示 b 4 hc seg r 8 hc6 显示 c 4 hd seg r 8 ha1 显示 d 4 he seg r 8 h86 显示 e 4 hf seg r 8 h8e 显示 f endcase end endmodule 六 思考题六 思考题 1 说出数码管动态显示的原理 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一 动态驱动是将所有数码管的 8 个显示笔划 a b c d e f g dp 的同名端 连在一起 另外为每个数码管的公共极 COM 增加位选通控制电路 位选通由各自独立的 I O 线控制 当单片机输出字形码时 所有数 码管都接收到相同的字形码 但究竟是那个数码管会显示出字形 取决于单片机对位选通 COM 端电路的控制 所以我们只要将需要 显示的数码管的选通控制打开 该位就显示出字形 实验六 按键去抖动实验 一 实验目的一 实验目的 学习按键去抖动电路的硬件设计 二 实验内容二 实验内容 本实验的内容是建立按键消抖模块 对比有加消抖模块和没加消抖 模块电路的区别 三 实验原理三 实验原理 作为机械开关的键盘 在按键操作时 机械触点的弹性及电压突跳 等原因 在触点或开启的瞬间会出现电压抖动 四 实验步骤四 实验步骤 1 启动 QuartusII 建立一个空白工程并命名 2 将电路用 Verilog VHDL 语言描述出来 并扩展多个通道 3 从设计文件创建模块 由 debounce v 生成命名为 debounce vbsf 4 其他步参考顶层模块原理图 五 实验程序五 实验程序 module debounce clk key in key out 按键消抖模块 input clk 系统时钟输入 input KEY WIDTH 1 0 key in 外部按键输入 output KEY WIDTH 1 0 key out 按键消抖输出 reg KEY WIDTH 1 0 dout1 dout2 dout3 寄存器 parameter KEY WIDTH 8 参数 assign key out dout1 dout2 dout3 按键消抖输出 always posedge clk begin dout1 key in dout2 dout1 dout3 dout2 end endmodule 六 思考题六 思考题 1 比较下面两段程序的异同 并画出电路结构图 always posedge clk begin dout1 key in 非阻塞赋值 dout2 dout1 dout3 dout2 end always posedge clk begin dout1 key in 阻塞赋值 dout2 dout1 dout3 dout2 End 电路图如下 key out 8 key out 9 key out 10 key out 11 key out 12 key out 13 key out 14 key out 15 dout1 7 0 DQ PRE ENA CLR dout2 7 0 DQ PRE ENA CLR dout3 7 0 DQ PRE ENA CLR clk key in 7 0 key out 7 0 clk key in KEY WIDTH 1 0 key out KEY WIDTH 1 0 m2 inst KEY WIDTH 8 Parameter Value key out 8 key out 9 key out 10 key out 11 key out 12 key out 13 key out 14 key out 15 dout1 7 0 DQ PRE ENA CLR dout2 7 0 DQ PRE ENA CLR dout3 7 0 DQ PRE ENA CLR clk key in 7 0 key out 7 0 clk key in KEY WIDTH 1 0 key out KEY WIDTH 1 0 m2 inst KEY WIDTH 8 Parameter Value 实验七 硬件电子琴实验 一 实验目的 实验目的 学习利用蜂鸣器和按键设计硬件电子琴 二 实验内容二 实验内容 在 SmartSOPC 实验箱上的实现一个简单的电子琴 三 实验原理三 实验原理 由于组成乐曲的每个音符的频率值及其持续时间是乐曲演奏的 2 个 基本数据 因此需要控制输出到扬声器的激励信号的频率高低和该 频率信号持续的时间 四 实验步骤四 实验步骤 1 在 QuartusII 中建立一个工程项目文件 输入程序代码并保存 2 选择目标器件并对相应的引脚进行锁定 3 对该工程文件进行全程编译处理 若在编译过程中发现错误 则 找出并更改 直至编译成功为止 4 打开电源 执行下载命令 五 实验程序五 实验程序 module beep1 clk key beep led 模块名称 beep input clk 系统时钟 48MHz input 7 0 key 按键输入 output beep 蜂鸣器输出端 output 7 0 led LED 输出 reg beep r 寄存器 reg 15 0 count count end reg 7 0 key r always posedge clk begin count count 1 b1 计数器加 1 if count count end 计数器清零 beep r beep r 取反输出信号 end end always key begin key r key 取键值 case key r 8 b11111110 count end 16 hb327 中音 1 的分频系数值 8 b11111101 count end 16 h9fa0 中音 2 的分频系数值 8 b11111011 count end 16 h8e32 中音 3 的分频系数值 8 b11110111 count end 16 h8637 中音 4 的分频系数值 8 b11101111 count end 16 h7794 中音 5 的分频系数值 8 b11011111 count end 16 h6a88 中音 6 的分频系数值 8 b10111111 count end 16 h5ee8 中音 7 的分频系数值 8 b01111110 count end 16 h59ab 高音 1 的分频系数值 8 b01111101 count end 16 h4fce 高音 2 的分频系数值 8 b01111011 count end 16 h471a 高音 3 的分频系数值 8 b01110111 count end 16 h431c 高音 4 的分频系数值 8 b01101111 count end 16 h3bca 高音 5 的分频系数值 8 b01011111 count end 16 h3544 高音 6 的分频系数值 8 b00111111 count end 16 h2f74 高音 7 的分频系数值 default count end 16 hffff endcase end assign beep beep r 输出音乐 assign led key r 输出按键状态 endmodule 六 思考题六 思考题 1 举例说明产生不同音符的原理 由于组成乐曲的每个音符的频率值及其持续时间是乐曲演奏的 2 个基本数据 因此需要控制输出到扬声器的激励信号的频率高低 和该频率信号持续的时间 频率的高低决定了音调的高低 而乐曲 的简谱与各音名的频率关系是对应的 只要求出对应的分频分数 这样利用程序可以很轻松的得到相应的乐声 实验八 数字时钟设计 一 一 实验目的实验目的 学习数字时钟的硬件设计 二 实验内容二 实验内容 在 SmartSOPC 试验箱上完成一个可以计时的数字时钟 其显示时间 范围是 00 00 00 23 59 59 三 实验原理三 实验原理 一个完整的时钟应由 3 部分组成 秒脉冲发生电路 计数显示部分 和时钟调整部分 本实验的校时电路在此仅仅完成了暂停 清零的 基本功能 四 实验步骤四 实验步骤 1 在 QuartusII 中建立一个工程项目文件 2 选择目标器件并对相应的引脚进行锁定 3 对该工程文件进行全程编译处理 4 硬件连接 下载程序 五 实验程序五 实验程序 module clock clk key dig seg 模块名 clock input clk 输入时钟 input 1 0 key 输入按键 output 7 0 dig 数码管选择输出引脚 output 7 0 seg 数码管段输出引脚 reg 7 0 seg r 定义数码管输出寄存器 reg 7 0 dig r 定义数码管选择输出寄存器 reg 3 0 disp dat 定义显示数据寄存器 reg 24 0 count 定义计数寄存器 reg 23 0 hour 定义现在时刻寄存器 reg sec keyen 定义标志位 reg 1 0 dout1 dout2 dout3 寄存器 wire 1 0 key done 按键消抖输出 assign dig dig r 输出数码管选择 assign seg seg r 输出数码管译码结果 秒信号产生部分 always posedge clk 定义 clock 上升沿触发 begin count count 1 b1 if count 25 d24000000 0 5S 到了吗 begin count 25 d0 计数器清零 sec sec 置位秒标志 end end 按键消抖处理部分 assign key done dout1 dout2 dout3 按键消抖输出 always posedge count 17 begin dout1 key dout2 dout1 dout3 dout2 end always negedge key done 0 begin keyen keyen 将琴键开关转换为乒乓开关 end 数码管动态扫描显示部分 always posedge clk count 17 15 大约 1ms 改变一次 begin case count 17 15 选择扫描显示数据 3 d0 disp dat hour 3 0 秒个位 3 d1 disp dat hour 7 4 秒十位 3 d2 disp dat 4 ha 显示 3 d3 disp dat hour 11 8 分个位 3 d4 disp dat hour 15 12 分十位 3 d5 disp dat 4 ha 显示 3 d6 disp dat hour 19 16 时个位 3 d7 disp dat hour 23 20 时十位 endcase case count 17 15 选择数码管显示位 3 d0 dig r 8 b11111110 选择第一个数码管显示 3 d1 dig r 8 b11111101 选择第二个数码管显示 3 d2 dig r 8 b11111011 选择第三个数码管显示 3 d3 dig r 8 b11110111 选择第四个数码管显示 3 d4 dig r 8 b11101111 选择第五个数码管显示 3 d5 dig r 8 b11011111 选择第六个数码管显示 3 d6 dig r 8 b10111111 选择第七个数码管显示 3 d7 dig r 8 b01111111 endcase end always posedge clk begin case disp dat 4 h0 seg r 8 hc0 4 h1 seg r 8 hf9 4 h2 seg r 8 ha4 4 h3 seg r 8 hb0 4 h4 seg r 8 h99 4 h5 seg r 8 h92 4 h6 seg r 8 h82 4 h8 seg r 8 h80 4 h9 seg r 8 h90 4 ha seg r 8 hbf default seg r 8 hff endcase if count 17 15 3 d2 end always negedge sec or negedge key done 1 begin if key done 1 begin hour 24 h0 end else if keyen begin hour 3 0 hour 3 0 1 b1 if hour 3 0 4 ha begin hour 3 0 4 h0 hour 7 4 hour 7 4 1 b1 if hour 7 4 4 h6 begin hour 7 4 4 h0 hour 11 8 hour 11 8 1 b1 if hour 11 8 4 ha begin hour 11 8 4 h0 hour 15 12 hour 15 12 1 b1 if hour 15 12 4 h6 begin hour 15 12 4 h0 hour 19 16 hour 19 16 1 b1 if hour 19 16 4 ha begin hour 19 16 4 h0 hour 23 20 hour 23 20 1 b1 end if hour 23 16 8 h24 hour 23 16 8 h0 end end end end end end endmodule 六 思考题六 思考题 1 自己动手添加校时程序 写出相应程序 module clock clk key dig seg 模块名 clock input clk 输入时钟 input 1 0 key 输入按键 output 7 0 dig 数码管选择输出引脚 output 7 0 seg 数码管段输出引脚 reg 7 0 seg r 定义数码管输出寄存器 reg 7 0 dig r 定义数码管选择输出寄存器 reg 3 0 disp dat 定义显示数据寄存器 reg 24 0 count 定义计数寄存器 reg 23 0 hour 定义现在时刻寄存器 reg sec keyen 定义标志位 reg 1 0 dout1 dout2 dout3 寄存器 wire 1 0 key done 按键消抖输出 assign dig dig r 输出数码管选择 assign seg seg r 输出数码管译码结果 秒信号产生部分 always posedge clk 定义 clock 上升沿触发 begin count count 1 b1 if count 25 d24000000 0 5S 到了吗 begin count 25 d0 计数器清零 sec sec 置位秒标志 end end 按键消抖处理部分 assign key done dout1 dout2 dout3 按键消抖输出 always posedge count 17 begin dout1 key d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年放射学影像诊断解剖生理考核模拟考试卷答案及解析
- 2025年口腔颌面外科手术前护理实操测试卷答案及解析
- 2025年肾内科肾功能损害临床表现诊断模拟测试答案及解析
- 2025年中医内科病证辨析模拟考试卷答案及解析
- 2025鄂尔多斯东胜区招聘100名社区工作者笔试备考试题及答案解析
- 2025年精神科药物治疗副作用评估模拟测试答案及解析
- 2025年心血管科学心血管疾病诊断与治疗综合模拟测试卷答案及解析
- 2025年危重病理监护护理操作模拟考核答案及解析
- 雅安市中石化2025秋招笔试模拟题含答案炼油设备技术岗
- 毕节市中石油2025秋招笔试模拟题含答案数智化与信息工程岗
- 《预防校园霸凌》课件
- 共用检验设备协议书
- 采砂作业合同协议
- 《2025年CSCO宫颈癌诊疗指南》更新要点解读
- 2024-2030全球铝制遮阳系统行业调研及趋势分析报告
- 部编版小学六年级道德与法治上册单元测试试题含答案(全册)
- 施工单位在城市更新项目中的角色与职责
- 竞选纪律委员演讲稿
- 2024年10月广东高等教育自学考试05175税收筹划试题及答案
- 人教版四年级数学上册第一次月考综合测评卷(1-2单元)(含答案)
- 2024-2025学年九年级第一次月考化学卷(天津专用)
评论
0/150
提交评论