5. 建立图形设计文件sled.bdf,放入int_div、counter、decl7s模块;添加输入引脚clock,与int_div的clock输入相连;添加输出引脚seg[7..0],与decl7s的输出seg相连;将int_div的clk_out输入与counter的clock输入、counter的输出q与dec17s的输入d相连;添加输出引脚dig[7..0],添加GND与之相连。设置int_div的分频参数F_DIV=48000000,F_DIV_WIDTH=26。
5. 参考setup.tcl进行引脚锁定,将未使用的引脚设置为三态输入(必须)。在sled.bdf中可以察看引脚锁定情况。
6. 将sled.bdf设置为顶层模块,进行全程编译,察看编译报告。 7. 打开电源,将sled.sof下载至FPGA,观察数码管的显示状态。
扩展实验与思考:
1. 将上述第4步改为自己设计的代码,重新编译后下载到FPGA,观测结果是否正确。
2. 是否需要复位信号?有复位信号与无复位信号有什么不同?
实验9:动态数码管显示 实验步骤
1. 启动QuartusII建立一个空白工程,保存为dled.qpf. 2. 将test6\\scan_led.v、int_div.v、setup.tcl拷入工程目录。
3. 将scan_led.v、int_div.v加入工程并创建符号文件scan_led.bsf、int_div.bsf。 4. 使用MegaWizard Plug-In Manager加入宏功能模块constant(LPM_CONSTANT,32’h12345678)。
5. 建立图形设计文件dled.bdf,放入int_div、constant、scan_led模块;添加输入引脚clock,与int_div的clock输入相连;添加输出引脚dig[7..0]、seg[7..0],分别与scan_led的输出dig、seg相连;将int_div的clk_out输入与scan_led的clk_lk输入、constant的输出与scan_led的输入d相连。设置int_div的分频参数F_DIV=48000,F_DIV_WIDTH=16。
5. 参考setup.tcl进行引脚锁定,将未使用的引脚设置为三态输入(必须)。在dled.bdf中可以察看引脚锁定情况。
6. 将dled.bdf设置为顶层模块,进行全程编译,察看编译报告。 7. 打开电源,将dled.sof下载至FPGA,观察数码管的显示状态。
扩展实验与思考:
1. 将分频模块的参数改为:F_DIV=24000000,F_DIV_WIDTH=25。重新编译后下载,观测数码管上显示数字是否动起来。
2. scan_led.v中使用了两个always过程语句,第二个是否可以改写为assign语句?修改后重新编译下载,察看结果是否相同,察看编译报告中硬件资源使用情况的变化。
3. 用自己设计的代码替换上述第4步。 4. 以32位计数器代替constant。
实验10 交通灯实验
1. 实验目的
通过此实验让用户进一步了解、熟悉和掌握 CPLD/FPGA 开发软件的的使用方法及 Verilog HDL 的编程方法。学习简单状态机的设计和硬件测试。 2. 实验内容
本实验的内容是设计一个简易的交通灯控制器,要求能实现红、绿、黄灯三种信号的控制并通过数码管显示倒计时时间。整个设计在SmartSOPC 实验箱上实现,用第一、第二个数码管显示A方向的倒计时时间,用第七、第八个数码管显示B方向的倒计时时间。此外,由于缺少交通灯模块,本实验用第一、第二、第三个LED灯代表A方向的红、绿、黄灯三种信号,用第六、第七、第八个LED灯代表B方向的红、绿、黄等三种信号。 3. 实验原理
本实验设计的交通灯控制器要求实现对 A、B 两个方向的红、绿、黄灯三种信号的控制,并能实现时间显示的倒计时。因此每个方向的信号可用一个状态机实现(参考交通灯.ppt),状态的跳转顺序为红灯-绿灯-黄灯-红灯(另一个的状态应为绿-黄-红-绿),同时设计一个计
时器,来记录每种灯的倒计时时间。最后将交通灯的状态信息输出至数码管和对应LED灯。注意,一个方向的红灯时间应和另一个方向的绿黄灯时间总和相等。 4. 实验步骤
1) 启动Quartus II 建立一个空白工程,然后命名为traffic_test.qpf(器件为:EP3C55F484C8)。
2) 加入并完成交通灯控制模块traffic_ctrl.v,加入顶层模块traffic_test.v及交通灯显示模块traffic_display.v,进行综合编译,若在编译过程中发现错 误,则找出并更正错误,直至编译成功为止。 3) 运行引脚绑定脚本文件setup.tcl;
4) 对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
5) 确保JP6上的LED0-LED7已通过跳线与FPGA引脚相连。 6) 按核芯板上的复位按键,观察交通灯是否正常运作。 5. 结构图
5. 程序清单:
traffic_test.v(已完成),traffic_ctrl.v(未完成),traffic_display.v(已完成)。
您好,欢迎您阅读我的文章,本WORD文档可编辑修改,也可以直接打印。阅读过后,希望您提出保贵的意见或建议。阅读和学习是一种非常好的习惯,坚持下去,让我们共同进步。您好,欢迎您阅读我的文章,本WORD文档可编辑修改,也可以直接打印。阅读过后,希望您提出保贵的意见或建议。阅读和学习是一种非常好的习惯,坚持下去,让我们共同进步。

