本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)
适用于板卡型号:
紫光同创PGC4KD-6ILPG144开发平台(盘古PGX-MINI-4K)
仅需一根TypcC线,插上即用,轻松操作。兼容下载器的一体版,配套资料丰富, 快速掌握国产FPGA!
一:盘古PGX-MINI-4K开发板简介
盘古 PGX-MINI 4K 开发板是一套基于紫光同创 compa 系列 PGC4KD-6ILPG144 芯片为核心的开发套件,支持主自加载双启动功能,集成板载 jtag 调试接口, 预留两组 20PIN 扩展 IO、数码管、按键、led 灯等硬件资源,为用户提供基本的 开发环境。
二:实验目的
在连续信号中,检测是否包含特定序列,例如检测"1101"中是否包含"01"
三:实验要求
1、 拨码开关 SW3-SW0 作为序列信号输入;
2、 KEY1-KEY0 作为特定信号输入序列,KEY 按下后对应的 LED 灯会亮 起,表示对应位为 1,再按一下会熄灭,表示对应位为 0;
3、 K3 为序列检测开始和序列检测结束按键,初次按下 KEY3,开始检测, 此时 LED3 也会被点亮,显示当前状态,再按一下停止检测,LED3 熄灭;结束 后序列串中出现特定序列的次数显示在数码管上。
四:实验原理
SW3~SW0 的状态为检测序列;
LED1~LED0 为特定序列;
数码管显示的结果为 LED[1:0]在 SW[3:0]中出现的次数;
五:实验源码(完整源码查看 demo 源文件)
方案设计
从实验目的分析此实验的实现需要有三个功能模块:
1、 按键 LED 模块; 按键调整特定序列,由 KEY[1:0]控制特定序列值;KEY3 控制是否检测;输 出用 LED 来显示及保存特定序列,同时也将特定序列与检测使能信号传递给检 测模块;
2、 序列对比模块; 由拨码开关提供待检测序列,接收按键控制模块传递过来的特定序列与检测 使能信号控制与待检测序列进行比较;比较结果输出给到数码管显示模块进行显 示;
3、 数码管控制模块 数码管显示模块的目标是将统计结果显示出来,用动态数码管显示的方式即可;
对应模块之间的连线如下框图:
顶层模块(含数码管显示模块)设计
按键 LED 控制模块
按键消抖
序列检测模块设计
六:实验现象
实验步骤:
1、 按下轻触按键 KEY3,进入检测状态;
2、 调整输入序列,更改拨码开关的输入值(SW[3:0]);
3、 调整固定序列,通过轻触按键改变 LED 状态(LED[1:0]);
4、 按下轻触按键 KEY3,退出检测,查看数码管显示的统计结果,重新执 行前面三个步骤;
实验现象举例:
当 SW[3:0]=4'b1010;LED[1:0]=2'b01 时,按下 Key3 后数码管显示数字 1;
当 SW[3:0]=4'b1010;LED[1:0]=2'b10 时,按下 Key3 后数码管显示数字 2;