8位序列检测器的设计解读Word文件下载.docx

上传人:b****3 文档编号:13558132 上传时间:2022-10-11 格式:DOCX 页数:14 大小:137.34KB
下载 相关 举报
8位序列检测器的设计解读Word文件下载.docx_第1页
第1页 / 共14页
8位序列检测器的设计解读Word文件下载.docx_第2页
第2页 / 共14页
8位序列检测器的设计解读Word文件下载.docx_第3页
第3页 / 共14页
8位序列检测器的设计解读Word文件下载.docx_第4页
第4页 / 共14页
8位序列检测器的设计解读Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

8位序列检测器的设计解读Word文件下载.docx

《8位序列检测器的设计解读Word文件下载.docx》由会员分享,可在线阅读,更多相关《8位序列检测器的设计解读Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

8位序列检测器的设计解读Word文件下载.docx

1.1课题设计背景1

2.总体方案设计2

2.1方案比较2

2.2两种方案的论证与比较3

3.单元模块设计4

3.1序列信号发生器4

3.2序列检测器6

3.3计数器7

3.4顶层文件设计8

4系统调试与验证9

4.1待测序列的输入9

4.2时序仿真11

4.3结果分析12

5总结与体会13

6辞谢14

7参考文献15

1前言

1.1课题设计背景

随着数字通信的广泛应用,可编程逻辑器件容量、功能的不断扩大,集成电路的设计已经进入片上系统(SOC)和专用集成电路(ASIC)的时代。

由于硬件描述语言VHDL可读性、可移植性、支持对大规模设计的分解和对已有设计的再利用等强大功能,迅速出现在各种电子设计自动化(EDA)系统中,先进的开发工具使整个系统设计调试周期大大地缩短。

利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述,在EDA工具的帮助下通过波形仿真得到时序波形,这样就使得对硬件的设计和修改过程软件化,提高了大规模系统设计的自动化程度。

传统的脉冲序列检测器,它的实现方法是把一个算法转化为一个实际数字逻辑电路的过程。

在这个过程中,我们所得到的结果大概一致,但是在具体设计方法和性价比上存在着一定的差异,存在电路设计复杂,体积大,抗干扰能力差以及设计困难、设计周期长等缺点。

而利用FPGA作为硬件电路,采用VHDL等硬件描述语言对硬件的功能进行编程,加快了系统的研发进程,采用数字化的控制方式,大幅度提高了逻辑控制的精确度,实时控制效果好,实践证明,FPGA芯片可以代替传统的复杂的电路,而且可以大比例地缩小了电路的硬件规模,提高了集成度,降低开发成本,提高系统的可靠性,为脉冲序列检测器电路的设计开辟了新的天地。

脉冲序列检测器在现代数字通信系统中发挥着重要的作用,通过中小规模的数字集成电路构成的传统脉冲序列检测器电路往往存在电路设计复杂体积大、抗干扰能力差以及设计困难、设计周期长等缺点。

因此脉冲序列检测器电路的模块化、集成化已成为发展趋势,它不仅可以使系统体积减小、重量减轻且功耗降低、同时可使系统的可靠性大大提高。

随着电子技术的发展,特别是专用集成电路(ASIC)设计技术的日趋完善,数字化的电子自动化设计(EDA)工具给电子设计带来了巨大变革,尤其是硬件描述语言的出现,解决了传统电路原理图设计系统工程的诸多不便。

随着ASIC技术、EDA技术的不断完善和发展以及VHDL、HDL等通用性好、移植性强的硬件描述语言的普及,FPGA等可编程逻辑器件必将在现代数字应用系统中得到广泛的应用,发挥越来越重要的作用。

2.总体方案设计

通过查阅大量相关技术资料,并结合自己的实际知识,我们主要提出了两种技术方案来实现系统功能。

下面我将首先对这两种方案的组成框图和实现原理分别进行说明,并分析比较它们的优劣。

2.1方案比较

2.1.1方案一

工作原理:

基于FPGA的多路脉冲序列检测器的设计方案,使用VHDL语言设计时序逻辑电路,先设计序列发生器产生序列:

1011010001101010;

再设计序列检测器,检测序列发生器产生序列,若检测到信号与预置待测信号相同,则输出“1”,否则输出“0”,并且将检测到的信号的显示出来。

系统框图如图所示:

图2.1

2.1.2方案二

工作原理:

使用proteus软件进行仿真,先画出原始状态图和状态表,在根据状态图使用D触发器,与门,或门以及非门等元件画出时序逻辑图,再根据结果译码,最后使用LED灯显示结果。

图2.2

2.2两种方案的论证与比较

第一种方案使用quartus软件进行仿真和验证,直接输入源代码比较简单方便,并且还可以检测其他的序列,只需要修改一部分代码就可以实现。

方案二使用proetus软件进行仿真和验证,需要先进行复杂的状态图分析,如果需要检测的序列过长就会造成原理图连接过于复杂,不易实现。

而且一旦原理图连接好久只能检测一种序列,如果要检测其他序列就要重新连图。

通过比较发现第一种方案明显优于第二种方案,因此选择第一种方案。

 

3.单元模块设计

主要介绍系统各单元模块的具体功能、电路结构、工作原理、以及各个单元模块之间的联接关系;

同时本节也会对相关电路中的参数计算、元器件选择、以及核心器件进行必要说明。

3.1序列信号发生器

序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号。

利用状态机设计,首先定义一个数据类型FSM_ST它的取值为st0到st15的16个状态。

REG

s0

s1

s2

s3

s4

s5

s6

s7

Q

1

s8

s9

s10

s11

s12

s13

s14

s15

表3.1

序列信号发生器的代码如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYSHKIS

PORT(CLK,RST:

INSTD_LOGIC;

CO:

OUTSTD_LOGIC);

ENDSHK;

ARCHITECTUREbehavOFSHKIS

TYPEFSM_STIS(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15);

SIGNALREG:

FSM_ST;

SIGNALQ:

STD_LOGIC;

BEGIN

PROCESS(CLK,RST)

BEGIN

IFRST='

1'

THENREG<

=s0;

Q<

='

0'

;

ELSIFCLK'

EVENTANDCLK='

THEN

CASEREGIS

WHENs0=>

Q<

REG<

=s1;

WHENs1=>

REG<

=s2;

WHENs2=>

=s3;

WHENs3=>

=s4;

WHENs4=>

=s5;

WHENs5=>

=s6;

WHENs6=>

=s7;

WHENs7=>

=s8;

WHENs8=>

=s9;

WHENs9=>

=s10;

WHENs10=>

=s11;

WHENs11=>

=s12;

WHENs12=>

=s13;

WHENs13=>

=s14;

WHENs14=>

=s15;

WHENs15=>

WHENOTHERS=>

ENDCASE;

ENDIF;

ENDPROCESS;

CO<

=Q;

ENDbehav;

转化成可调用的元件:

图3.1

波形仿真如下:

图3.2

3.2序列检测器

脉冲序列检测起可用于检测一组或多组二进制码组成的脉冲序列信号,当序列检测器连续接收到一组穿行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。

由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确的序列,直到连续的检测中所收到的每一位码都与预置数的对应码相同。

在检测过程中,任何一位不相等将回到初始状态重新开始检测。

序列检测器的代码如下:

libraryieee;

useieee.std_logic_1164.all;

entitySCHK1is

port(datain,clk:

instd_logic;

t:

instd_logic_vector(4downto0);

q:

outstd_logic;

cq:

outstd_logic_vector(4downto0));

endSCHK1;

architecturert1ofSCHK1is

signalreg:

std_logic_vector(4downto0);

begin

process(clk)

variablet1:

std_logic_vector(4downto0);

ifclk'

eventandclk='

then

re

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1