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

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

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

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

 

 

 

 

 

c.按键 LED 控制模块  

 

 

 

按键消抖  

 

d.序列检测模块设计  

 

 

 

六:实验现象

实验步骤:
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;

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值