EDA课程设计--序列检测器的设计

太原科技大学:名字起个什么

电子技术课程设计

-----序列检测器的设计

学 院: 专业班级: 姓 名: 学 号: 指导老师:

1

2

太原科技大学:名字起个什么

一、 设计任务与要求

1. 设计一个序列检测器,在上升沿的作用下,输入一组二进制码,与预先设置的吗“11100101”一致时,输出A,不同时则输出B,(在检测过程中,任何一位不相等都将回到初始状态重新开始检测。)

二.总体框图

脉冲发生器:为检测器提供脉冲。

检测器:具有存储功能。

数码显示器:显示输出A或B

方案:设计手动的脉冲发生器为检测器提供脉冲,使其正常工作,然后设计检测器存储的数字为”11100101”再用译码器使其显示在数码管上,这就要求检测器必须记住前一次的正确吗及正确序列,直到在连续的检测中所收到的每一位吗与预置数的对应码相同,否则重新开始检测。

其功能图如下图所示:

太原科技大学:名字起个什么

四、功能模块

1.脉冲发生器 VHDL程序:

LIBRARY ieee;

use ieee.std_logic_1164.all; entity pulse is

port(pul,M: in std_logic; nq,q: out std_logic

--VGA:out std_logic_vector(3 downto 0) ); end pulse;

architecture a of pulse is signal temp: std_logic; begin

--VGA

if rising_edge(m) then if pul='0' then temp

3

4

太原科技大学:名字起个什么

temp

生成的模块:

此作用是为序列检测器提供合适的脉冲,手按按钮IO3,Q输出一个脉冲给下个模块的CLK。

逻辑功能表

二、序列检测器

1、VHDL程序:

library ieee;

use ieee.std_logic_1164.all; entity schk is

port(din, clk, clr :in std_logic;

ab : out std_logic_vector(3 downto 0)); end schk ;

太原科技大学:名字起个什么

architecture behav of schk is signal q : integer range 0 to 8; signal d : std_logic_vector(7 downto 0); begin

d

if clr = '1' then q

when 0=> if din = d(7)then q if din = d(6)then q if din = d(5)then q if din = d(4)then q if din = d(3)then q if din = d(2)then q if din = d(1)then q if din = d(0)then q q

5

6

太原科技大学:名字起个什么

process ( q ) begin

if q = 8 then ab

2、生成的模块:

此模块是一个对序列“11100101”的检测,当输入端DIN在 八个脉冲的作用下分别输入11100101时Q端输出B,否则输出A.这种检查的关键在于正确码的收到必须是连续的,这就 要求检测器必须记住前一次的正确码及正确序列,直到在 连续的 检测中所收到的每一位码都与“11100101”对应相同。

三、分频器

1、VHDL程序:

LIBRARY ieee;

use ieee.std_logic_1164.all; entity deled is

port(ab: in std_logic_vector(3 downto 0); --sel: in std_logic;

太原科技大学:名字起个什么

led: out std_logic_vector(6 downto 0) ); end deled;

architecture a of deled is --signal temp: std_logic; begin

led

7

8

太原科技大学:名字起个什么

"1000111" when ab= "1111" ; END a;

2、生成的模块:

此模块的作用是将输出显示到数码管上。

四、Cyclone系列器件的结构

1、Cyclone器件主要由逻辑阵列块LAB、嵌入式存储器块、I/O单元、嵌入式硬件乘法器和PLL等模块构成,在各个模块之间存在着丰富的互连线和 时钟网络。

Cyclone器件的 可 编程资源主要来自逻辑陈列块LAB,而每个LAB都由多个逻辑单元LE(Logic Element)构成。LE主要由一个4输入的查找表LUT、进位链逻辑和 一个可编程的寄存器构成。4输入的LUT可以完成所有的4输入1输出的组合逻辑功能,进位链逻辑带有进位选择,可以灵活的 构成一位加法或减法逻辑,并可以切换。

LE有三个输出驱动内部互连,一个驱动局部互连,另两个驱动行或列的 互连资源,LUT和寄存器的 输出可以 单独控制。

逻辑阵列块LAB是 由一系列相邻的 LE构成的。每个CycloneLAB包含10个

LE、LE进位链和 级联链、LAB控制信号、LAB局部互连、LUT链和 寄存器链。 在 Cyclone FPGA器件中所含的 嵌入式存储器,由数十个M4K的存储器块构成。在Cyclone中的 嵌入式存储器可以通过多种连线与可编程资源实现连接,这 大大 增强了 FPGA的 性能,扩大了 FPGA的应用范围。

Cyclone的I/O支持多种I/O接口,符合多种I/O标准,可以支持差分的 I/O标准,诸如LVDS和RSDS,当然也 支持普通单端的 I/O标准,通过这些常用的端口与板上的 其他芯片沟通。

五、总体设计电路图

1、该程序是在连续脉冲的作用下检测序列“11100101”当输入完全符合时数码管显示B,当其中有 一个出错时或序列不 对时数码管显示A。 2、电路原理图

太原科技大学:名字起个什么

3、QUARATU SII的仿真结果图与分析

清零端是高电平有效,首先设清零端为高电平使之清零,然后在八个有效脉冲的作用下DIN输入“11100101”且顺序一致,此时数码管显示为“1110111”其它情况为“111100” 说明此电路设计正确。

9

10

太原科技大学:名字起个什么

3、管脚分配图(见下页)

4、实验箱上的验证与实验箱的连接情况。

用一根导线拿IQ3与PB(3)相连。然后打开开关,在手动按钮输入脉冲的作用下在EPIC12板上4位拨码键的SW【0】。分别拨到“11100101”,其中“1”为高电位,“0”为低电位。重复上述几次,多 输几个输入,观察数码管的输出情况,经观察只有输入为“11100101”时数码管显示“A”其它情况显示“B”。

管脚分配图

太原科技大学:名字起个什么

六、心得体会

这次课程设计历时二个星期多左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高,有如下心得:

1,设计性实验最主要的是要有一个清晰的设计思路,关键是自己思考各个

模块是怎么设计的,对每个模块分析思考设计,再去编程,将所有模块组装在一起就完成设计。

2,EDA设计就得多思考多分析能够设计想要的东西。

3,在以后的要加强锻炼自己独立思考和设计思路,不怕困难勇往直前。

11

12

太原科技大学:名字起个什么

4,很多事情是在自己亲手做了以后才会感觉到,其实它并不是你想象中的

那么难或者是那么简单,要善于专心思考问题,所学知识要常用。

太原科技大学:名字起个什么

电子技术课程设计

-----序列检测器的设计

学 院: 专业班级: 姓 名: 学 号: 指导老师:

1

2

太原科技大学:名字起个什么

一、 设计任务与要求

1. 设计一个序列检测器,在上升沿的作用下,输入一组二进制码,与预先设置的吗“11100101”一致时,输出A,不同时则输出B,(在检测过程中,任何一位不相等都将回到初始状态重新开始检测。)

二.总体框图

脉冲发生器:为检测器提供脉冲。

检测器:具有存储功能。

数码显示器:显示输出A或B

方案:设计手动的脉冲发生器为检测器提供脉冲,使其正常工作,然后设计检测器存储的数字为”11100101”再用译码器使其显示在数码管上,这就要求检测器必须记住前一次的正确吗及正确序列,直到在连续的检测中所收到的每一位吗与预置数的对应码相同,否则重新开始检测。

其功能图如下图所示:

太原科技大学:名字起个什么

四、功能模块

1.脉冲发生器 VHDL程序:

LIBRARY ieee;

use ieee.std_logic_1164.all; entity pulse is

port(pul,M: in std_logic; nq,q: out std_logic

--VGA:out std_logic_vector(3 downto 0) ); end pulse;

architecture a of pulse is signal temp: std_logic; begin

--VGA

if rising_edge(m) then if pul='0' then temp

3

4

太原科技大学:名字起个什么

temp

生成的模块:

此作用是为序列检测器提供合适的脉冲,手按按钮IO3,Q输出一个脉冲给下个模块的CLK。

逻辑功能表

二、序列检测器

1、VHDL程序:

library ieee;

use ieee.std_logic_1164.all; entity schk is

port(din, clk, clr :in std_logic;

ab : out std_logic_vector(3 downto 0)); end schk ;

太原科技大学:名字起个什么

architecture behav of schk is signal q : integer range 0 to 8; signal d : std_logic_vector(7 downto 0); begin

d

if clr = '1' then q

when 0=> if din = d(7)then q if din = d(6)then q if din = d(5)then q if din = d(4)then q if din = d(3)then q if din = d(2)then q if din = d(1)then q if din = d(0)then q q

5

6

太原科技大学:名字起个什么

process ( q ) begin

if q = 8 then ab

2、生成的模块:

此模块是一个对序列“11100101”的检测,当输入端DIN在 八个脉冲的作用下分别输入11100101时Q端输出B,否则输出A.这种检查的关键在于正确码的收到必须是连续的,这就 要求检测器必须记住前一次的正确码及正确序列,直到在 连续的 检测中所收到的每一位码都与“11100101”对应相同。

三、分频器

1、VHDL程序:

LIBRARY ieee;

use ieee.std_logic_1164.all; entity deled is

port(ab: in std_logic_vector(3 downto 0); --sel: in std_logic;

太原科技大学:名字起个什么

led: out std_logic_vector(6 downto 0) ); end deled;

architecture a of deled is --signal temp: std_logic; begin

led

7

8

太原科技大学:名字起个什么

"1000111" when ab= "1111" ; END a;

2、生成的模块:

此模块的作用是将输出显示到数码管上。

四、Cyclone系列器件的结构

1、Cyclone器件主要由逻辑阵列块LAB、嵌入式存储器块、I/O单元、嵌入式硬件乘法器和PLL等模块构成,在各个模块之间存在着丰富的互连线和 时钟网络。

Cyclone器件的 可 编程资源主要来自逻辑陈列块LAB,而每个LAB都由多个逻辑单元LE(Logic Element)构成。LE主要由一个4输入的查找表LUT、进位链逻辑和 一个可编程的寄存器构成。4输入的LUT可以完成所有的4输入1输出的组合逻辑功能,进位链逻辑带有进位选择,可以灵活的 构成一位加法或减法逻辑,并可以切换。

LE有三个输出驱动内部互连,一个驱动局部互连,另两个驱动行或列的 互连资源,LUT和寄存器的 输出可以 单独控制。

逻辑阵列块LAB是 由一系列相邻的 LE构成的。每个CycloneLAB包含10个

LE、LE进位链和 级联链、LAB控制信号、LAB局部互连、LUT链和 寄存器链。 在 Cyclone FPGA器件中所含的 嵌入式存储器,由数十个M4K的存储器块构成。在Cyclone中的 嵌入式存储器可以通过多种连线与可编程资源实现连接,这 大大 增强了 FPGA的 性能,扩大了 FPGA的应用范围。

Cyclone的I/O支持多种I/O接口,符合多种I/O标准,可以支持差分的 I/O标准,诸如LVDS和RSDS,当然也 支持普通单端的 I/O标准,通过这些常用的端口与板上的 其他芯片沟通。

五、总体设计电路图

1、该程序是在连续脉冲的作用下检测序列“11100101”当输入完全符合时数码管显示B,当其中有 一个出错时或序列不 对时数码管显示A。 2、电路原理图

太原科技大学:名字起个什么

3、QUARATU SII的仿真结果图与分析

清零端是高电平有效,首先设清零端为高电平使之清零,然后在八个有效脉冲的作用下DIN输入“11100101”且顺序一致,此时数码管显示为“1110111”其它情况为“111100” 说明此电路设计正确。

9

10

太原科技大学:名字起个什么

3、管脚分配图(见下页)

4、实验箱上的验证与实验箱的连接情况。

用一根导线拿IQ3与PB(3)相连。然后打开开关,在手动按钮输入脉冲的作用下在EPIC12板上4位拨码键的SW【0】。分别拨到“11100101”,其中“1”为高电位,“0”为低电位。重复上述几次,多 输几个输入,观察数码管的输出情况,经观察只有输入为“11100101”时数码管显示“A”其它情况显示“B”。

管脚分配图

太原科技大学:名字起个什么

六、心得体会

这次课程设计历时二个星期多左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高,有如下心得:

1,设计性实验最主要的是要有一个清晰的设计思路,关键是自己思考各个

模块是怎么设计的,对每个模块分析思考设计,再去编程,将所有模块组装在一起就完成设计。

2,EDA设计就得多思考多分析能够设计想要的东西。

3,在以后的要加强锻炼自己独立思考和设计思路,不怕困难勇往直前。

11

12

太原科技大学:名字起个什么

4,很多事情是在自己亲手做了以后才会感觉到,其实它并不是你想象中的

那么难或者是那么简单,要善于专心思考问题,所学知识要常用。


相关文章

  • 脉冲序列发生器设计
  • 摘 要 脉冲序列检测器广泛应用于现代数字通信系统中, 随着通信技术的发展,对多路脉冲序列信号检测要求越来越高.现代通信系统的发展方向是功能更强.体积更小.速度更快.功耗更低, 大规模可编程逻辑器件FPGA 器件的集成度高.工作速度快.编程方 ...查看


  • 八路抢答器EDA课程设计VHDL
  • 第一章 EDA技术简介 EDA在通信行业(电信)里的另一个解释是企业数据架构,EDA给出了一个企业级的数据架构的总体视图,并按照电信企业的特征,进行了框架和层级的划分. 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新 ...查看


  • EDA课程设计电子密码锁
  • 1 概述和设计要求 1.1概述 随着科技的发展,电子产品的应用越来越广泛,电子电路的设计也越来越重要.随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于结构简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用 ...查看


  • 数字电路实验(1)基础实验
  • 电子技术基础实验(二)2.1 集成门电路的逻辑功能与QII应用 哈尔滨工程大学信息与通信工程学院 电子技术基础教研室  课程介绍 实验室守则 实验考核 实验内容 2.1.1. 2014092100 课程介绍 简介 课程介绍 2009 ...查看


  • 智能抢答器设计
  • 能力拓展训练 题 目 学 院 专 业 班 级 姓 名 指导教师 智能抢答器设计 2013年6月24日 能力拓展训练任务书 学生姓名: 专业班级: 指导教师: 工作单位: 自动化学院 题 目: 智能抢答器设计 初始条件:计算机.Max+plu ...查看


  • 数字秒表课程设计
  • 摘 要 当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,用电省的方向发展.推动该潮流迅速发展的决定性因素就是使用了现代化的EDA [1]设计工具.本论文先确定了系统的逻辑功能,建立算法流程,选择电路结构,然后确定并设计电路所需的数据 ...查看


  • 脉冲宽度测量仪
  • 课 程 设 计 课 程 __ EDA综合设计_ _ 课 题 脉冲宽度测量仪 _ 专 业 电子信息工程 _ 班 级 _ 姓 名 _指导老师 _ 2012年5月21日 目 录 一. 课程设计任务书------------3 二. 总体设计思想- ...查看


  • 7人表决控制电路
  • 摘 要 7人表决控制电路是一简单的输入信号检测与处理.产生输出控制信号的逻辑电路.本文详细介绍了依据功能要求进行控制电路方案设计的过程,并在此基础上将整体电路分为输入信号处理模块, 计时模块, 译码模块,比较模块,显示模块等主要功能模块.实 ...查看


  • EDA课程设计论文()
  • <EDA技术>课程结业论文 题目:交通灯控制器 姓 名: 班 级: 学 号: 指导教师: 日期:2012年4月30日 摘 要 EDA(Electronic Design Automation)-电子设计自动化,作为现代电子信息工 ...查看


热门内容