本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处
适用于板卡型号:
紫光同创PGC1/2KG开发平台(盘古1K/2K)
一:盘古1K/2K开发板(紫光同创PGC2KG开发平台)简介
盘古1/2K 开发板是一套基于紫光 FPGA 的开发套件,以紫光 Compa 系列PGC1KG-LPG100 / PGC2KG-LPG100 器件为核心,预留丰富的扩展 IO 及数码管、按键、LED 灯,为用户提供基本的硬件环境。
二:实验目的
在连续信号中,检测是否包含特定序列,例如检测“1101”中是否包含“01”
三:实验要求
1、 拨码开关 SW1-SW4 作为序列信号输入;
2、 KEY1-KEY2 作为特定信号输入序列,KEY 按下后对应的 LED 灯会亮起,
表示对应位为 1,再按一下会熄灭,表示对应位为 0;
3、 K4 为序列检测开始和序列检测结束按键,初次按下 KEY4,开始检测,
此时 LED4 也会被点亮,显示当前状态,再按一下停止检测,LED4 熄灭;结束后
序列串中出现特定序列的次数显示在数码管上。
四:实验原理
SW1~SW4 的状态为检测序列;
LED1~LED2 为特定序列;
数码管显示的结果为 LED[2:1]在 SW[4:1]中出现的次数;
五:实验源码(完整源码查看 demo 源文件)
a.方案设计
从实验目的分析此实验的实现需要有三个功能模块:
1、按键 LED 模块;
按键调整特定序列,由 KEY[1:0]控制特定序列值;KEY4 控制是否检测;输出用 LED 来显示及保存特定序列,同时也将特定序列与检测使能信号传递给检测模块;
2、序列对比模块;
由拨码开关提供待检测序列,接收按键控制模块传递过来的特定序列与检测使能信号控制与待检测序列进行比较;比较结果输出给到数码管显示模块进行显示;
3、数码管控制模块
数码管显示模块的目标是将统计结果显示出来,用动态数码管显示的方式即可;
对应模块之间的连线如下框图:
b.顶层模块(含数码管显示模块)设计
c.按键 LED 控制模块
按键消抖
d.序列检测模块设计
六:实验现象