紫光同创FPGA入门指导:序列检测器——紫光盘古系列22K开发套件实验教程(五) - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[文章]

紫光同创FPGA入门指导:序列检测器——紫光盘古系列22K开发套件实验教程(五)

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

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

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

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

image.png

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

image.png

image.png

image.png

按键 LED 控制模块
image.png

image.png

image.png

序列检测模块设计
image.png
image.png

五:实验现象

实验步骤:

1、调整输入序列,更改拨码开关 SW1-SW8 的输入值(SW[7:0]);

2、调整固定序列,通过轻触按键 KEY1-KEY3 改变 LED 状态(LED[2:0]);

3、按下轻触按键 KEY8,进入检测(LED8 灭),查看数码管显示的统计结果;

4、按下轻触按键 KEY8,退出检测(LED8 亮),重新执行前面三个步骤。
image.png

实验现象

当 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。

9fb3e431b076df6ad45b1f4db34849f.png

回帖(1)

温暖镜头

2023-9-4 16:23:02

更多回帖

×
发帖