本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处
适用于板卡型号:
紫光同创PGL22G开发平台(盘古22K)
一:盘古22K开发板(紫光同创PGL22G开发平台)简介
盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目开发,一板多用,满足多方位的开发需求。
二:实验目的
在连续信号中,检测是否包含特定序列,例如检测“11011000 “中是否包含”101”。
1、拨码开关 SW0-SW7 作为序列信号输入;
2、KEY1-KEY3 作为特定信号输入序列,KEY 按下后对应的 LED 灯会亮起,表示对应位为 1,
再按一下会熄灭,表示对应位为 0;
3、K8 为序列检测开始和序列检测结束按键,初次按下 KEY8,开始检测,此时 LED8 也会
被点亮,显示当前状态,再按一下停止检测,LED8 熄灭;结束后序列串中出现特定序列的次数
显示在数码管上。
三:实验原理
SW0~SW7 的状态为检测序列;
LED1~LED3 为特定序列;
数码管显示的结果为 LED[3:1]在 SW[7:0]中出现的次数。
四:实验源码设计
方案设计
从实验目的分析此实验的实现需要有三个功能模块:
1、按键 LED 模块;
按键调整特定序列,由 KEY[2:0]控制特定序列值;KEY8 控制是否检测;输出用 LED 来显
示及保存特定序列,同时也将特定序列与检测使能信号传递给检测模块;
2、序列对比模块;
由拨码开关提供待检测序列,接收按键控制模块传递过来的特定序列与检测使能信号控制
与代检测序列进行比较;比较结果输出给到数码管显示模块进行显示;
3、数码管控制模块
数码管显示模块的目标是将统计结果显示出来,用动态数码管显示的方式即可;
对应模块之间的连线如下框图:
顶层模块(含数码管显示模块)设计
按键 LED 控制模块
序列检测模块设计
五:实验现象
实验步骤:
1、调整输入序列,更改拨码开关 SW1-SW8 的输入值(SW[7:0]);
2、调整固定序列,通过轻触按键 KEY1-KEY3 改变 LED 状态(LED[2:0]);
3、按下轻触按键 KEY8,进入检测(LED8 灭),查看数码管显示的统计结果;
4、按下轻触按键 KEY8,退出检测(LED8 亮),重新执行前面三个步骤。
实验现象
当 SW[7:0]=8’b10101010;LED[2:0]=3’b101 时,按下 Key8 后数码管显示数字 3;
当 SW[7:0]=8’b10101010;LED[2:0]=3’b100 时,按下 Key8 后数码管显示数字 0;
当 SW[7:0]=8’b11111111;LED[2:0]=3’b111 时,按下 Key8 后数码管显示数字 6;
当 SW[7:0]=8’b00000111;LED[2:0]=3’b111 时,按下 Key8 后数码管显示数字 1。