【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处

适用于板卡型号:

紫光同创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、数码管控制模块

数码管显示模块的目标是将统计结果显示出来,用动态数码管显示的方式即可;

对应模块之间的连线如下框图:

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第1张图片

 b.顶层模块(含数码管显示模块)设计

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第2张图片

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第3张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第4张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第5张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第6张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第7张图片

 

c.按键 LED 控制模块  

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第8张图片

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第9张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第10张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第11张图片

 

按键消抖  

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第12张图片

 

d.序列检测模块设计  

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第13张图片

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第14张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第15张图片

 

【紫光同创国产FPGA教程】【PGC1/2KG第五章】序列检测器实验例程_第16张图片

 

六:实验现象

实验步骤:
1、调整输入序列,更改拨码开关的输入值(SW[3:0]);
2、调整固定序列,通过轻触按键改变 LED 状态(LED[1:0]);
3、按下轻触按键 KEY4,进入检测,查看数码管显示的统计结果;
4、按下轻触按键 KEY4,退出检测,重新执行前面三个步骤;
实验现象举例:
当 SW[3:0]=4’b1010;LED[2:0]=2’b01 时,按下 Key4 后数码管显示数字1;
当 SW[3:0]=4’b1010;LED[2:0]=3’b10 时,按下 Key4 后数码管显示数字2;

 

 

你可能感兴趣的:(FPFA,fpga开发,fpga)