设计序列信号发生器

合集下载

序列发生器设计.

序列发生器设计.
8
序列发生器的功能仿真波形的建立
9
计数型序列信号发生器
• 以同步计数器为基础;
• 例:设计产生序列信号为1111000100的发生器; • 序列长度M=10,选用一个模10的同步计数器
10
计数型序列信号发生器
Q3 Q2 Q1 Q0 F
0
0 0 0
0
0 0 0
0
0 1 1
0
1 0 1
1
1 1 1
7
移存型序列信号发生器
entity shiftxuilie is port(clk:in bit; d: in bit; set: in bit; reset:in bit; q:out bit; nq:out bit ); end shiftxuilie;
architecture behavioral of shiftxuilie is component Dtrigger port(clk:in bit; d: in bit; set: in bit; reset: in bit; q: out bit; nq:out bit ); end component; signal t0,t00,t01,t1,t10,t11,t2,t20,t21,t3,t4,t5: bit:='0'; begin U1:Dtrigger port map(clk,t0,set,reset,t00,t01); U2:Dtrigger port map(clk,t00,set,reset,t10,t11); U3:Dtrigger port map(clk,t10,set,reset,t20,t21); t0<=t11 and t21; q<=t20; nq<=not t20; end behavioral;

数电课设 一序列信号发生器

数电课设 一序列信号发生器

目录1题目一序列信号发生器(000111) (2)1.1课程设计的目的 (2)1.2设计的总框图: (2)1.3设计过程 (2)1.4设计的逻辑电路: (6)1.5实验仪器: (7)1.6实验结论: (7)1.7参考文献: (7)2题目二七进制异步减法计数器(001) (7)2.1课程设计的目的 (7)2.2设计的总框图: (7)2.3设计过程 (8)1.4设计的逻辑电路 (10)1.5实验仪器: (10)1.6实验结论: (11)1.7参考文献: (11)1题目一序列信号发生器(000111)1.1课程设计的目的1了解序列信号发生器的工作原理2学习序列信号发生器的各种功能和设计方法1.2设计的总框图:CP 输入计数脉冲 输出信号1.3设计过程1状态图:/01000110011100001001101110/0/1/1/−−←−−←−→−−→−/12选择触发器,求时钟方程。

选择触发器:由于JK 触发器功能齐全,使用灵活,故选 用4个时钟下降触发的边沿JK 触发器采用同步方案,故取:CP CP CP CP CP ====01233求输出方程 :次态卡诺图:序列信号发生器n QnQ00 01 11 1032nn QQ100 xxxx 1000 0001 xxxx01 xxxx xxxx 0011 xxxx 11 1110 xxxx xxxx 0111 10 1100 xxxx xxxx xxxx输出卡诺图为:n QnQ00 01 11 1023nn QQ100 x 1 1 x01 x x 1 x11 0 x x 010 0 x x x输出方程为:n QY次态卡诺图的分解为:n QnQ00 01 11 1032nn QQ100 x 1 0 x01 x x 0 x11 1 x x 010 1 x x x13+n Q 的卡诺图n n Q Q 23 n n Q Q 0100 01 11 1000 x 0 0 x 01 x x 0 x 11 1 x x 1 101xxx12+n Q 的卡诺图 n n Q Q 23 n n Q Q 01 0001 11 1000 x 0 0 x 01 x x 1 x 11 1 x x 1 10xxx11+n Q 卡诺图n n Q Q 23 n n Q Q 0100 01 11 1000 x 0 1 x 01 x x 1 x 11 0 x x 1 10xxx1+n Q 的卡诺图根据各触发器次态卡诺图可得次态方程:nn n n n nn n n n n n n n n nn n n n Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q 010110212111232312131313+=+=+=+=++++4求驱动方程:JK 触发器的特征方程为:n n n Q K Q J Q +=+1直接对照现态系数,写出驱动:n n n n n nn n Q K Q K Q K Q K Q J Q J Q J Q J 1021321310213213,,,,,,========5检查电路能否自启动:将无效态0000,0010,0100,0101,0110,1101,1111,1001,1011,1010带入公式计算得:0000 1000(有效态),0010 0001(有效态) 0100 1010 0110 10110101 0101 1010 (无效态) ( 无效态) 1101 1110(有效态), 1111 0111(有效态) 1001 1100(有效态)可见所设计的时序电路不能自启动。

EDA课设序列信号发生器设计

EDA课设序列信号发生器设计

绪论本次课程设计通过利用quartusII软件实现序列发生器。

从而对EDA进一步的熟悉,了解,和掌握。

通过本课程的学习,可以了解硬件描述语言编程方法 ,掌握VHDL编程方法,掌握序列发生器的形成。

EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。

EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。

典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。

综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。

综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。

也就是说,综合器是软件描述与硬件实现的一座桥梁。

综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD 相映射的网表文件。

适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。

适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。

硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。

HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。

设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。

1011序列发生器和检测器的设计实现

1011序列发生器和检测器的设计实现

1011序列发生器和检测器的设计实现摘要序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号.能产生这种信号的逻辑器件就称为序列信号发生器.根据结构不同,它可分为反馈移位型和计数型两种.1.移位型序列信号发生器的组成移位型序列信号发生器是由移位寄存器和组合电路两部分构成,组合电路的输出,作为移位寄存器的串行输入。

由n位移位寄存器构成的序列信号发生器所产生的序列信号的最大长度为:P=2n2.计数型序列信号发生器组成与特点计数型序列信号发生器能产生多组序列信号,这是移位型发生器所没有的功能.计数型序列信号发生器是由计数器和组合电路构成的,序列的长度P就是计数器的模数。

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

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

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

我们采用的是计数型序列信号发生器。

利用计数器与数据选择器构成1011序列发生器,1011序列检测器——上面的输出端,接入一个74LS194移位寄存器再接一个4输入与门,数字0那端输入前加一个非门,这样检测到1011时输出1,其余结果均输出0.然后并用MUX+plus2进行仿真。

关键字1011,序列发生器,检测器,74LS194,数据选择器,74LS163,74LS151一. 总设计序列检测器也称为串行数据检测器,它在数据通讯,雷达和遥测等领域中用于检测同步识别标志,是一种用来检测一组或多组序列信号的电路。

本文输入的序列信号由计数器和数据选择器组成的序列信号发生器提供。

74LS194 74LS163计数器是一种含有若干个触发器、并按预定顺序改变各触发器的状态,累计输入脉冲个数的数字电路。

波形及序列信号发生器设计

波形及序列信号发生器设计

课题十四波形及序列信号发生器设计学习目标:设计由555、移位寄存器、D/A转换器、PLD等器件构成的多路序列信号输出和阶梯波输出的发生器电路,重点学习555、D/A转换器及可编程逻辑器件的原理及应用方法。

用Proteus软件仿真;实验测试技术指标及功能、绘制信号波形。

一、任务与要求四相步进电机有四相八拍和四相四拍两种工作方式。

其状态转换图为:四相八拍四相四拍用555、74194、2817、DA8032等IC设计一个四相步进电机控制电路和对应阶梯波输出的发生器电路,要求:1.CP频率2Hz~2kHz连续可调。

2.有四相八拍和四相四拍两种工作方式,能控制步进电机正转和反转。

3.调试时用(共阴)七段数码管(注意加限流电阻)的上四段或下四段模拟步进电机。

*验收用的步进电机的相电压为5V,相电流为0.2A。

4.将多路序列信号通过D/A转换成阶梯波输出。

要求输出电压V o=(数字量/10)V,误差<+5%。

例如对应数字量1001,V o应为0.900V~0.905V。

5.*步数(或圈数)显示。

(选作)6.**步数(或圈数)控制。

(较难的选作)二、课题分析及设计思路多路序列信号发生器在数字电路设计中应用较多,如彩灯循环,步进电机驱动等。

其设计方案较多。

下面以三相步进电机控制为例讲述多路序列信号发生器的设计思路。

本来任务与要求中已列出主要IC的型号,但考虑这是数字电路的最后一个课题,故下面将介绍几种不同的方案,使大家对数字电子技术有更深入的了解。

步进电机广泛应用于各种自动控制和计算机系统(如数控机床、机器人、打印机、光驱)中。

三相步进电机原理见图14.1。

其中转子有较强的磁性。

三相步进电机有三相三拍和三相六拍两种工作方式。

其状态转换图为:001→011→010 001→010 011 →↑↓↑↓↑↓101←100←110 ← 100 101←110三相六拍三相三拍a 三相三拍b一般不用三相三拍b。

图14.1三相步进电机控制器原理框图见图14.2:时钟电路用555构成,用电位器实现频率连续可调。

设计序列信号发生器

设计序列信号发生器

澳 門 科 技 大 學MACAU UNIVERSITY OF SCIENCE AND TECHNOLOGYAvenidaWai Long, Taipa, Macau Faculty of Information Technology数码电子学实验设计序列信号发生器报告人:XXX一.具体要求要求用D 触发器和门电路设计一个产生1101001序列(序列左边先输出)的序列发生器。

二.实验目的1.熟悉原理图输出法;2.了解可编程器件的实际应用。

三.实验准备1.详解D 触发器 ①电路组成为了避免同步RS 触发器同时出现R 和S 都为1的情况,可在R 和S 之间接入非门G1,如图1所示,这种单输入的触发器称为D 触发器。

图2为其逻辑符号。

D 为信号输入端。

G1 G2 G3图1:D 触发器逻辑图 图2:D 触发器逻辑符号②逻辑功能在CP=0时,G2,G3被封锁,都输出1,触发器保持原状态不变,不受D 端输入信号的控制。

在CP=1时,G2,G3解除封锁,可接收D 端输入的信号。

如1=D 时,0=D ,触发器翻到1状态,即Q n+1=1,如0=D 时,1=D ,触发器翻到0状态,即Q n+1=0,由此可列出表1所示同步D 触发器的特性表。

表1:同步D 触发器特性表由上述分析可知,同步D 触发器的逻辑功能如下:当CP 由0变为1后,触发器的状态翻到和D 的状态相同; 当CP 由1变为0后,触发器保持原状态不变。

③D 触发器的名词来源D 触发器不会发生RS 触发器不确定的情形(S=1,R=1),也不会发生JK 触发器的追跑情况(J=1,K=1),那么为什么成为D 触发器呢?因为输出Q 等于输入D ,但是要经过一个CLOCK 触发之后才产生,在时间上意味着有延迟时间的作用,所以称为D 型(Delay )触发器。

2.确定移位寄存器的级数n (即需要用多少个寄存器来寄存状态)我们知道,一个D 触发器可以寄存“0”和“1”两种状态,若序列周期为P ,则信号发生器的级数n 应满足2≤P n 。

12.3 序列信号发生器的设计

12.3 序列信号发生器的设计

——Design Sequential Circuits with MSI blocks序列信号发生器:能循环产生一组特定的串行数字序列信号的电路。

序列的长度:序列信号的位数。

如:序列为00011,则序列长度为5。

☐ 使用环形计数器设计 ☐ 使用扭环计数器设计特殊类型1000 0100 001000011101 1110 01111011常用状态图0000 1000 001100011100 111011110111常用状态图序列状态之间很有规律☐ 使用D 触发器设计☐ 使用计数器 + 数据选择器设计; ☐ 用移位寄存器 + 反馈电路设计(逻辑门 or 译码器 or 数据选择器)☐ 用计数器 + PROM 设计任意类型例:用D 触发器设计一个 110100 序列信号发生器时序电路的不同状态对应输出序列中的各位。

S 0 /Y=1 S 1 /Y=1 S 2 /Y=0 S 3 /Y=1S 4 /Y=0S 5 /Y=01. 画状态转换图大体思路:1.实现序列信号一个周期之内的波形2.将此波形循环再现☐序列信号长度为 L ,则取 L 个不同的状态☐每个状态下时序电路的输出就是序列信号中的一位。

方法1:利用D 触发器2. 状态编码S 0 —— 000 , S 3 —— 011 S 1 —— 001 , S 4 —— 100 S 2 —— 010 , S 5 —— 1013. 状态转换真值0 0 00 0 1 0 1 0 0 1 1 1 0 0 1 0 10 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0Q 2Q 1Q 0 Q 2 n+1 Q 1 n+1Q 0n+1Y1 1 0 1 0 04.卡诺图化简D 0=Q 0’D 1=Q 2’Q 1’Q 0+Q 1Q 0’XX11 0 0 1 00 01 11 10 0 1Q 1Q 0 Q 2X1 0 1 0 00 01 11 10 0 1Q 1Q 0 Q 2XX10 1 0 0 00 01 11 10 0 1Q 1Q 0Q 2D 2=Q 2Q 0’+Q 1Q 0XX0 1 1 1 00 01 11 10 0 1Q 1Q 0 Q 2Y=Q 2’Q 1’+Q 1Q 05. 电路实现(略)6. 检查无关项000001010011100101110111时序电路可以自启动。

序列信号发生器的设计_计算机逻辑设计_[共4页]

序列信号发生器的设计_计算机逻辑设计_[共4页]

1946.3.5 序列信号发生器的设计序列信号是把一组0、1数码按一定规则顺序排列的串行信号。

对于给定的序列信号,设计其发生器一般有两种结构形式:计数型序列信号发生器和移存型序列信号发生器。

计数型序列信号发生器的特点是,所产生的序列信号的长度等于计数器的模值,并可根据需要产生一个或多个序列信号。

先用计数器构成一个模P的计数器,然后辅以多路选择器、译码器或其他门的组合逻辑可以方便地构成各种序列发生器。

(1)选用多路选择器:把要产生的序列按规定的顺序加在多路选择器的输入端,把地址端与计数器的输出端适当地连接在一起,多路选择器的输出能得到所需的序列信号。

(2)选用译码器:把计数器的输出端和译码器的输入相连,将序列信号中为1的信号对应最小项用组合逻辑组合输出。

(3)选用其他门的组合逻辑:直接采用组合逻辑连接计数器的输出。

获得所需要的序列。

【例6.17】采用计数器74163和各种组合逻辑设计产生序列00010111。

解:序列为8位二进制代码,因此,首先构建模8的计数器。

对于同步置数的74163而言,当计数由0000计到0111,即Q A=1,Q B=1,Q C=1时,使用与非门反馈到置数端,使计数器模8计数。

(1)使用多路选择器输出。

如选用8选1多路选择器74151,则将需要产生的序列信号00010111分别接到输入端,将地址端与计数器的输出端低三位适当地连接在一起,如图6.63所示,随着时钟脉冲,多路选择器的输出Z即是所需的序列。

图6.63 使用多路选择器设计计数型序列信号发生器(2)使用译码器输出。

如选用低电平输出有效的译码器74138,则将8位序列00010111中为1的第3、5、6、7位通过与非门连接输出。

如图6.64所示。

图6.62 计数型序列信号发生器。

序列信号发生器的设计方法及应用实例

序列信号发生器的设计方法及应用实例

序列信号发生器的设计方法及应用实例在现代通信系统中,序列信号发生器是一个非常重要的设备,它能够产生各种类型的信号序列,如随机序列、伪随机序列、码片序列等。

这些信号序列在数字通信系统、脉冲调制系统以及其他通信系统中起着至关重要的作用。

在本文中,我将深入探讨序列信号发生器的设计方法及其应用实例,并共享一些个人观点和理解。

1. 序列信号发生器的基本原理序列信号发生器是一种能够产生特定类型的信号序列的设备。

其基本原理是利用特定的算法和逻辑电路来产生所需的信号序列。

在设计序列信号发生器时,首先需要确定所需的信号类型,如随机序列、伪随机序列或者其他类型的序列。

然后根据所选的信号类型,选择合适的算法和电路来实现信号的生成。

最常见的序列信号发生器包括线性反馈移位寄存器(LFSR)、差分方程序列发生器等。

2. 序列信号发生器的设计方法在设计序列信号发生器时,需要考虑信号的周期、自相关性、互相关性等性能指标。

一般来说,设计序列信号发生器的方法可以分为以下几个步骤:(1)确定信号类型:首先需要确定所需的信号类型,如随机序列、伪随机序列或者其他类型的序列。

(2)选择算法和电路:根据所选的信号类型,选择合适的算法和电路来实现信号的生成。

常用的算法包括线性反馈移位寄存器、差分方程序列发生器等。

(3)优化性能指标:优化信号的周期、自相关性、互相关性等性能指标,以确保生成的序列满足系统的要求。

(4)验证和测试:设计完成后,需要对信号发生器进行验证和测试,确保其生成的信号符合设计要求。

3. 序列信号发生器的应用实例序列信号发生器在数字通信系统、脉冲调制系统以及其他通信系统中有着广泛的应用。

以下是一些典型的应用实例:(1)伪随机噪声序列发生器:在数字通信系统中,伪随机噪声序列被广泛用于信道编码、扩频通信以及通信安全等领域。

(2)码片序列发生器:在脉冲调制系统中,码片序列被用于直序扩频通信系统中的扩频码生成。

(3)随机序列发生器:在通信加密领域,随机序列被用于数据加密和解密。

vhdl-eda-序列信号发生器与检测器设计

vhdl-eda-序列信号发生器与检测器设计

实验三序列信号发生器与检测器设计一、实验目的1.学习一般有限状态机的设计;2.利用状态机实现串行序列的输出与序列的检测。

3.继续学习优化设计。

二、内容与要求利用状态机设计实现实现串行序列的输出与序列的检测,具体要求:1.先设计序列发生器产生序列;2.再设计一个序列信号检测器,若系统检测到串行序列11010则输出为“1”,否则输出为“0”,并将检测到的11010数目显示出来;3.对所设计的电路进行波形仿真和硬件测试;4.整个工程采用顶层文件+底层模块的原理图或文本的设计思路。

三、设计思路/原理图“1”,没有检测到则输出“0”,并且将检测到的信号的显示出来。

为简化设计,整个工程采用顶层文件+底层模块的设计方法。

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

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

REG s0 s1 s2 s3 s4 s5 s6 s7Q 0 1 1 1 0 1 0 0REG s8 s9 s10 s11 s12 s13 s14 s15Q 1 1 0 1 1 0 1 02、序列检测器序列检测器设计的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及序列,直到在连续的检测中收到的每一位码都与预置码相同。

在此,必须利用状态转移图。

定义预置信号D=“11010”,电路需要分别不间断记忆:初始状态、1、11、110、1101、11010共六种状态,状态转移图:3、计数模块利用序列检测器产生的信号(1和0)作为计数器模块的时钟信号,产生的信号0、1变化,形成类似的CLK信号,实现计数模块计数。

计数模块设计可采用前面的实验二设计。

4.顶层设计为简化设计,顶层设计采用原理图输入法设计,直接将模块进行连接。

四、实验程序(陈杰独立编写)序列信号发生器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY C_OUT ISPORT (CLK,RST :IN STD_LOGIC;CO :OUT STD_LOGIC );END C_OUT;ARCHITECTURE behav OF C_OUT ISTYPE FSM_ST IS (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15); SIGNAL REG:FSM_ST;SIGNAL Q:STD_LOGIC;BEGINPROCESS(CLK,RST)BEGINIF RST ='1' THEN REG<=s0;Q<='0';ELSIF CLK'EVENT AND CLK='1' THENCASE REG ISWHEN s0=> Q<='0'; REG<=s1;WHEN s1=> Q<='1';REG<=s2;WHEN s2=> Q<='1';REG<=s3;WHEN s3=> Q<='1';REG<=s4;WHEN s4=> Q<='0';REG<=s5;WHEN s5=> Q<='1';REG<=s6;WHEN s6=> Q<='0';REG<=s7;WHEN s7=> Q<='0';REG<=s8;WHEN s8=> Q<='1';REG<=s9;WHEN s9=> Q<='1';REG<=s10;WHEN s10=> Q<='0';REG<=s11;WHEN s11=> Q<='1';REG<=s12;WHEN s12=> Q<='1';REG<=s13;WHEN s13=> Q<='0';REG<=s14;WHEN s14=> Q<='1';REG<=s15;WHEN s15=> Q<='0';REG<=s0;WHEN OTHERS=>REG<=s0;Q<='0';END CASE;END IF;END PROCESS;CO<=Q;END behav;转化成可调用的元件:序列信号检测器:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK ISPORT(DIN, CLK, CLR : IN STD_LOGIC;SS : OUT STD_LOGIC);END SCHK;ARCHITECTURE behav OF SCHK ISSIGNAL Q : INTEGER RANGE 0 TO 5 ;SIGNAL D : STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIND <= "11010" ;PROCESS( CLK, CLR )BEGINIF CLR = '1' THEN Q <= 0 ;ELSIF CLK'EVENT AND CLK='1' THENCASE Q ISWHEN 0=> IF DIN = D(4) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ; WHEN 1=> IF DIN = D(3) THEN Q <= 2 ; ELSE Q <= 0 ; END IF ; WHEN 2=> IF DIN = D(2) THEN Q <= 3 ; ELSE Q <= 2 ; END IF ; WHEN 3=> IF DIN = D(1) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ; WHEN 4=> IF DIN = D(0) THEN Q <= 5 ; ELSE Q <= 2 ; END IF ; WHEN OTHERS => Q <= 0 ;END CASE ;END IF ;END PROCESS ;PROCESS( Q )BEGINIF Q = 5 THEN SS <= ‘1’;ELSE SS <=‘0’;END IF ;END PROCESS ;END behav ;转化成可调用的元件:计数模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT ISPORT (CLK, EN,RST :IN STD_LOGIC;Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT: OUT STD_LOGIC );END ENTITY COUNT;ARCHITECTURE ONE OF COUNT ISBEGINPROCESS(CLK,EN,RST)V ARIABLE CQI:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF RST='1' THEN CQI:= (OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF CQI<153 THENIF CQI(3 DOWNTO 0)=9 THEN CQI:=CQI +7; --高位进位ELSE CQI := CQI+1;END IF;ELSE CQI:= (OTHERS=>'0');END IF;END IF;END IF;IF CQI=153 THEN COUT<='1';ELSE COUT<='0';END IF;Q1<=CQI(3 DOWNTO 0);Q2<=CQI(7 DOWNTO 4);END PROCESS COUNT;END ARCHITECTURE ONE;转化成可调用的元件:顶层文件(原理图法):第二种方法(任意序列,任意检测):实验程序如下:library ieee;use ieee.std_logic_1164.all;entity jiance11010 isport(datain,clk:in std_logic;t: in std_logic_vector (4 downto 0);q:out std_logic;cq: out std_logic_vector (4 downto 0)); end jiance11010;architecture rt1 of jiance11010 issignal reg:std_logic_vector(4 downto 0);beginprocess(clk)variable t1:std_logic_vector (4 downto 0);beginif clk'event and clk='1' thenreg(0)<=datain;reg(4 downto 1)<=reg(3 downto 0) ;end if;t1:=t;if reg=t1 then q<='1' ;else q<='0';cq<=reg;end if;end process;end rt1;基于实验发现序列一个一个输入比较麻烦所以设计如下任意十六位循环系列:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jc ISPORT(CLK,CLR,RESET:IN STD_LOGIC;B: in std_logic_vector (15 downto 0) ;q:out std_logic);END ENTITY;ARCHITECTURE ONE OF jc ISSIGNAL A:STD_LOGIC;BEGINPROCESS(CLK,CLR)V ARIABLE N:INTEGER RANGE 16 DOWNTO 1;BEGINIF RESET='1' THEN N:=1;ELSIF CLK'EVENT AND CLK='1'THEN CASE N ISWHEN 1=>A<=B(0);N:=N+1;WHEN 2=>A<=B(1);N:=N+1;WHEN 3=>A<=B(2);N:=N+1;WHEN 4=>A<=B(3);N:=N+1;WHEN 5=>A<=B(4);N:=N+1;WHEN 6=>A<=B(5);N:=N+1;WHEN 7=>A<=B(6);N:=N+1;WHEN 8=>A<=B(7);N:=N+1;WHEN 9=>A<=B(8);N:=N+1;WHEN 10=>A<=B(9);N:=N+1;WHEN 11=>A<=B(10);N:=N+1;WHEN 12=>A<=B(11);N:=N+1;WHEN 13=>A<=B(12);N:=N+1;WHEN 14=>A<=B(13);N:=N+1;WHEN 15=>A<=B(14);N:=N+1;WHEN 16=>A<=B(15);N:=1;WHEN OTHERS=>NULL;END CASE;END IF;Q<=A;END PROCESS;END ARCHITECTURE;五、实验步骤1.建立工作库文件夹和编辑模块设计文件(1)在D盘下建立一个文件夹保存工程文件;(2)打开QuartusII,建立新的VHDL文件,在设计有顶层和底层文件时,在打开的页面下输入模块设计程序。

实验六 序列信号发生器与序列信号检测器的设计1

实验六 序列信号发生器与序列信号检测器的设计1

实验六、序列信号发生器与序列信号检测器的设计一、实验目的1、掌握序列发生器和检测器的工作原理;2、初步学会用状态机进行数字系统设计。

二、实验要求1、基本要求1)设计一个“10001110”序列发生器;2)设计一个“10001110”序列的检测器。

2、扩展要求1)设计一个序列发生器,将8 位待发生序列数据由外部控制输入进行预置,从而可随时改变输出序列数据。

2)将8 位待检测预置数由按键作为外部输入,从而可随时改变检测密码。

写出该检测器的VHDL 代码,并进行编译下载测试。

3)如果待检测预置数以右移方式进入序列检测器,写出该检测器的VHDL 代码(两进程符号化有限状态机)。

三、实验原理1、序列发生器原理在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器。

本实验要求产生一串序列“10001110”。

该电路可由计数器与数据选择器构成,其结构图如图6-1所示,其中的锁存输出的功能是为了消除序列产生时可能出现的毛刺现象:图6-1 序列发生器结构图2、序列检测器的基本工作过程:序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,在数字通信中有着广泛的应用。

当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。

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

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

状态图如图6-2所示:图6-2 序列检测器状态图3、利用状态机设计序列检测器的基本思想在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。

同时,状态机的设计方法也是数字系统中一种最常用的设计方法。

一般来说,标准状态机可以分为摩尔(Moore)机和米立(Mealy)机两种。

序列信号发生器VHDL设计实验报告

序列信号发生器VHDL设计实验报告

实验三序列信号发生器VHDL设计一、实验目的1、设计一个序列信号发生器,可以在时钟的作用下周期性的产生1110010序列信号2、学习时序电路的设计方法;3、掌握产生周期性信号电路的设计方法;4、掌握同步和异步概念;5、掌握仿真的目的和作用;二、实验环境QuartusII 、PC机、GW-PK2 EDA实验箱三、实验原理给出原理图,说明行为描述方式设计序列信号发生器的原理。

可以产生周期信号的序列信号发生器由计数器和译码器构成。

若想产生1110010序列信号,则需要三位二进制计数器,从000记到110,当时钟是上升沿时,若当前记到110,则将计数清为000,再从头开始,否则计数加1,译码器将每个三位二进制数转换为一位序列信号,计数器和译码器分别由两个进程实现。

四、实验内容及要求利用QuartusII完成序列信号发生器的VHDL设计及仿真测试,给出仿真波形,进行引脚锁定,并在实验箱上进行硬件验证。

五、实验步骤(1)用文本方式输入设计文件并存盘①创建工程,利用“New Preject Wizard”创建此设计工程。

选择菜单“File” “New Preject Wizard”,点击Next,即可弹出工程设置对话框点击此框最上一栏右侧的按钮“…”,设置工程路径,找到文件夹D:\Quartus8\vhdl_code\three,填写工程名和顶层文件名称后,点击Next按钮进行下一步。

②添加设计源程序。

如果已有源程序,可以在此加入到工程中,如果没有点击Next进行下一步。

③选择目标芯片。

首先在“Family”栏选芯片系列,在此选“ACEX1K”系列,选择此系列的具体芯片:EP1K30TC144-3。

④选择仿真器和综合器类型。

点击上图的Next按钮,这时弹出的窗口是选择仿真器和综合器类型的,如果都是选默认的“NONE”,表示都选QuartusII中自带的仿真器和综合器,因此,在此都选默认项“NONE”。

⑤结束设置。

(完整word版)实验四:序列发生器与检测器的设计

(完整word版)实验四:序列发生器与检测器的设计

南昌大学实验报告学生姓名:学号: 专业班级:实验类型:□验证□综合▉设计□创新实验日期:11。

16__ 实验成绩:实验四序列信号发生器与检测器设计一、实验目的1、了解序列检测器的工作原理。

2、掌握时序电路设计中状态机的应用。

3、进一步掌握用VHDL 语言实现复杂时序电路的设计过程。

二、实验内容要求用状态机设计实现串行序列检测器的设计,先设计(可用原理图输入法)序列信号发生器,产生序列:0111010011011010;再设计检测器,若检测到串行序列11010则输出为“1”,否则输出为“0”,并对其进行仿真和硬件测试。

1、序列检测器用于检测一组或多组有二进制码组成的脉冲序列信号。

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

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

序列发生器和检测器分别用上升沿和下降沿比较好,否则会在开始多一位或少一位。

2、信号发生器和检测器工程文件要保存在同一文件夹中才能调用;仿真时尽量避开发生信号和检测信号同时跳变,避免毛刺出现.2、在实验箱上验证时,设计的输入可用脉冲键+琴键组合输入任意序列,并用LED灯串行移位显示出来,随后将检测到的11010数目用静态数码管显示出来。

三、实验原理序列检测器的作用就是从一系列的码流中找出用户希望出现的序列,该电路的核心部分就是状态机转换检模块,通过VHDL语言的CASE—WHEN顺序语句判断输入条件来选择某一状态的执行,达到以此判断执行的效果.其中,本实验所设计状态机的状态转换图如下4-3所示。

图4-3 序列信号检测器状态转换图由图可以看出,初始状态为S0,当检测到输入的序列为1时,状态跳转至S1;检测到0时,原地等待;在S1状态下,当检测到0时跳转至S0,检测到1时跳转至S2;在S2状态下,当检测到0时跳转至S3,检测到1时跳转至S2;在S3状态下,当检测到1时跳转至S4,检测到0时仍跳转至S0;在S4状态下,当检测到0时跳转至S5,检测到1时跳转至S2;在S5状态下,当检测到0时跳转至S0,检测到1时跳转至S1;即实现了对序列“11010"的检测。

序列信号发生器的设计

序列信号发生器的设计

序列信号发生器的设计序列信号发生器是能够循环产生一组或多组序列信号的时序电路,它可以用以为存放器或计数器构成。

序列信号的种类很多,按照序列循环长度M和触发器数目n的关系一般可分为三种:最大循环长度序列码,M=2n。

最大线性序列码(m序列码),M=2n-1。

任意循环长度序列码,M<2n。

序列信号发生器是由移位存放器添加反应后构成;由于状态的变化受信号移位的限制,分析方法更为简单。

序列信号发生器的设计通常在许多情况下,要求按照给定的序列信号来设计序列信号发生器。

序列信号发生器一般有两种构造形式:一种是反应移位型,另一种是计数型。

反应移位型序列码发生器的构造框图如下图,它由移位存放器和组合反应网络组成,从移存器的某一输出端可以得到周期性的序列码。

其设计按以下步骤开展:(1)根据给定序列信号的循环长度M,确定移存器位数n,2n-1<M≤2n。

(2)确定移位存放器的M个独立状态。

将给定的序列码按照移位规律n位一组,划分位M个状态。

若M个状态中出现重复现象,则应增加移存器位数。

用n+1位再重复上述过程,直到划分为M个独立状态为止。

(反应移位型序列信号发生器框图)(3)根据M个不同状态列出移存气的状态表和反应函数表,求出反应函数F的表式。

(4)检查自启动性能。

(5)画逻辑图。

下面通过举例说明反应移位序列信号发生器的设计过程。

计数型序列码发生器构造框图如下图。

它由计数器和组合输出网络两部分组成,序列码从组合输出网络输出。

设计过程分两步:(1)根据序列码的长度M设计模M计数器,状态可以自定;(2)按计数器的状态转移关系和序列码的要求设计组合输出网络。

由于计数器的状态设置和输出序列的更改比较方便,而且还能同时产生多组序列码。

数电实验报告序列信号发生器的设计与实现

数电实验报告序列信号发生器的设计与实现

北京邮电大学数字电路与逻辑设计实验报告姓名:李金隆学号: 09210947--15班级: 2009211204学院: 电子工程学院2011年5月1日一、实验名称:序列信号发生器的设计与实现二、实验任务要求:1、用VHDL语言设计实现一个信号发生器,产生的序列码为01100111,仿真验证其波形,并下载到实验板测试。

2、用VHDL语言设计实验一个序列长度为7的M序列发生器,仿真验证其功能,并下载到实验班测试。

三、设计思路与过程1、序列信号发生器序列信号发生器的端口由一个时钟输入和两个输出,信号序列输出q_out和时钟输出clk_outt组成。

程序由两个进程构成,第一个进程p1描述状态逻辑,使用if语句实现自启动;第二个进程p2描述输出逻辑,用case语句完成其功能。

根据题目要求,在第1、4、5位置上输出为“0”,在其他位置上输出为“1”,每8位实现一次循环。

在实验过程中,首先在建立Quartus II软件中建立工程,然后再工程中建立VHDL文件,输入程序代码后保存调试,编译成功后,建立Vector Waveform文件进行仿真,仿真完毕后,在程序中引入分频器,编译,锁定引脚后,下载到实验板验证其功能。

在实验板上用一个开关代表clear清零,两个LED一个显示输出序列,一个显示时钟序列clk_outt。

2、M_序列信号发生器M_序列信号发生器的端口由一个时钟输入clk和两个信号输出,时钟输出clk_outt和序列信号输出q_out组成,进程p1描述状态逻辑,用if语句完成循环。

实验过程与实验1类似。

四、VHDL程序源代码1、序列信号发生器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xinhao ISport(clk:in std_logic;clear:in std_logic;q_out:out std_logic;clk_outt:out std_logic);--用户定义的输入输出及类型end xinhao;architecture a of xinhao iscomponent div50mport(clk_in:in std_logic;clk_out:out std_logic);--用户定义分频器的输入输出及类型end component;signal tmp: integer range 0 to 7;signal clock: std_logic;--用户定义的信号及其类型beginu1: div50m port map(clk_in=>clk,clk_out=>clock);--分频器的引入p1:process(clock)--第一个进程p1描述状态逻辑beginif clock'event and clock='1' thenif tmp=7 thentmp<=0;elsetmp<=tmp+1;end if;end if;end process p1;p2: process(clear,tmp)—第二个进程描述输出逻辑beginif clear='0' thenq_out<='0';elsecase tmp iswhen 0|3|4 =>q_out<='0';when others =>q_out<='1';end case;end if;end process p2;clk_outt<=clk;end a;2、M序列信号发生器library IEEE;USE IEEE. std_logic_1164.all;entity m_xulie isport (clk:in std_logic;q_out:out std_logic;clk_outt:out std_logic);--用户定义的输出输入及类型end m_xulie;architecture a of m_xulie iscomponent div50mport(clk_in:in std_logic;clk_out:out std_logic);--用户定义分频器的输入的输出及类型end component;signal tmp:std_logic_vector (2 downto 0);signal clock: std_logic;beginu1: div50m port map(clk_in=>clk,clk_out=>clock);--分频器的引入 p1:process(clk)—第一个进程P1描述状态逻辑beginif tmp= "000" then tmp <="001"; elsif clk'event and clk ='1' then tmp(0)<=tmp(0) xor tmp(2);tmp(1)<=tmp(0);tmp(2)<=tmp(1);end if;end process p1;q_out<=tmp(2);--数列信号的输出clk_outt<=clk;end a;五、RTL电路图1、序列信号发生器2、M_序列信号发生器六、仿真波形及其分析1、序列信号发生器从波形仿真图中可以看出,在时钟信号的上升沿,输出信号序列开始按01100111变化,当clear清零时,序列输出q_out也为“0”,时钟输出clk_outt相对于时钟输入clk有一定的时间延迟。

6.5.3序列信号发生器

6.5.3序列信号发生器

0
1
Cr
Q0
Q1 Q2 Q3
S1
S0 SL
1
SL
S L = (Q0Q2 ) m (1 Q3 1 0) = ( A1 A0 ) m ( D0 D1 D2 D3 )
CP S R D0
0
D1 D2 D3
2
2、计数型序列信号发生器(计数器加反馈译码电路) 例:用74LS161设计一个产生1101000101序列信号发生器。 (1)序列长度L=10,用74LS161实现一个M=10的计数器,选用置补法。 0110-1111 (2)设计译码电路
D1 D2 D3
(2)确定移存器L个独立的状态,作状态图:
1
0 0
1
1
1
1
0
0
1
1
1
Q0Q1Q 2
序列信号由 Q0 输出 (左移) 有重复状态,故移存器的位数取n=4
Q 0Q1Q 2
1001
0011
0111
1
0
0
1
1
1
1
0
0
1
1
1
Q0Q1Q2Q3
1100 1110 1111
可以确定用一片74LS194即可 (4)检查自启动能力 (3)作次态K图,写激励方程: S L
CP Cr
D4 D5 D6 D7
A
B
C
D
LD
0
1
1
0
0110-1111
3
例:用74LS194设计一个同时产生两组序列码的双序列信号发生器。
Z1 = 110101 Z 2 = 010110
&
解: (1)用194实现一个M=6的扭环形计数器 S1 = Q2Q0 (2)译码器译码产生双序列信号

反馈移位型序列信号发生器的设计实验报告

反馈移位型序列信号发生器的设计实验报告

反馈移位型序列信号发生器的设计实验报告引言移位型序列信号发生器是一种能够产生特定序列的电路或设备,其在通信、计算机科学、数字信号处理等领域中有着广泛的应用。

在本实验中,我们设计了一种基于移位寄存器的移位型序列信号发生器,并对其进行了性能测试和分析。

本报告将对该实验的设计、实现和测试结果进行详细说明。

实验设计1.移位寄存器基本原理移位寄存器是一种常用的数字电路元件,其可以实现对二进制数据的移位、存储和输出。

它由若干个触发器组成,每个触发器接收相邻位的信号,并向右或向左移位。

例如,在一个4位移位寄存器中,初始存储的数据为1010,当向右移位时,数据变为0101。

2.移位型序列发生器的基本原理移位型序列发生器是一种利用移位寄存器和异或门构成的电路,用于产生特定的数字序列。

该电路的工作原理如下:将初始数据存储到移位寄存器中,然后依次对寄存器中的每个元素进行移位操作,并将移位后的数据与某个固定的数进行异或运算,得到输出序列的每一位。

例如,一个长度为4的序列发生器,初始数据为1010,异或运算的固定数为0011,则输出序列为1101、1110、0111、1011、0101、1010、1001、0100。

3.实验设计本实验中,我们设计了一个4位移位型序列发生器。

其基本原理如下图所示:图1. 移位型序列发生器电路图该电路由4个D触发器、2个与门和1个异或门组成。

其中,D触发器用于存储移位后的数据,两个与门用于控制移位寄存器的移位方向,异或门用于计算输出序列的每一位。

初始数据为1010,异或运算的固定数为0011。

具体实现过程如下:(1)首先将初始数据1010存储到4个D触发器中。

(2)然后依次进行4次移位操作,每次移位后将移位后的数据输入到异或门中进行计算,并将计算结果存储到一个新的移位寄存器中。

(3)当新的移位寄存器中存储的数据与初始数据相同时,停止计算,输出序列结束。

实验实现根据上述设计原理,我们完成了移位型序列发生器的实现。

序列发生器设计

序列发生器设计
end behavioral;
8
序列发生器的功能仿真波形的建立
9
计数型序列信号发生器
• 以同步计数器为基础; • 例:设计产生序列信号为1111000100的发生器; • 序列长度M=10,选用一个模10的同步计数器
10
计数型序列信号发生器
Q3 Q2 Q1 Q0 F
0
0
0
0
1
0
0
0
1
1
0
0
1
0
map(clk,t0,set,reset,t00,t01); U2:Dtrigger port
map(clk,t00,set,reset,t10,t11); U3:Dtrigger port
map(clk,t10,set,reset,t20,t21); t0<=t11 and t21; q<=t20; nq<=not t20;
移存型序列信号发生器
• 第一步:根据要求列真值表和状态图
• 第二步:根据真值表画卡诺图,求次态方程;

Q1n+1=not(Q3n.Q2n)
• 第三步:检查系统能否自启动;
• 第四步:确定触发器类型和数目;
• 第五步:确定逻辑电路图;
7
移存型序列信号发生器
entity shiftxuilie is port(clk:in bit;
成M个状态组合,完成状态转移; • 求出移位寄存器的串行输入激励函数,即可构成
该序列信号的产生电路。
• 例:设计产生序列信号为11000的发生器
5
移存型序列信号发生器
序号 Q3 Q2 Q1 0110 1100 2000 3001 4011
110
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数码电子学实验
设计序列信号发生器
报告人:XXX
一.具体要求
要求用D触发器和门电路设计一个产生1101001序列(序列左边先输出)的序列发生器。

二.实验目的
1.熟悉原理图输出法;
2.了解可编程器件的实际应用。

三.实验准备
1.详解D 触发器 ①电路组成
为了避免同步RS 触发器同时出现R 和S 都为1的情况,可在R 和S 之间接入非门G1,如图1所示,这种单输入的触发器称为D 触发器。

图2为其逻辑符号。

D 为信号输入端。

图1:D 触发器逻辑图 图2:D 触发器逻辑符号
②逻辑功能
在CP=0时,G2,G3被封锁,都输出1,触发器保持原状态不变,不受D 端输入信号的控制。

在CP=1时,G2,G3解除封锁,可接收D 端输入的信号。

如1=D 时,0=D ,触发器翻到1状态,即Q n+1=1,如0=D 时,1=D ,触发器翻到0状态,即Q n+1=0,由此可列出表1所示同步D 触发器的特性表。

表1:同步D 触发器特性表
D Q n Q n+1 说明
0 0 0 输出状态和D 相同 0 1 0 输出状态和D 相同 1 0 1 输出状态和D 相同 1
1
1
输出状态和D 相同
由上述分析可知,同步D 触发器的逻辑功能如下:
当CP 由0变为1后,触发器的状态翻到和D 的状态相同; 当CP 由1变为0后,触发器保持原状态不变。

③D 触发器的名词来源
D 触发器不会发生RS 触发器不确定的情形(S=1,R=1),也不会发生JK 触发器的追跑情况(J=1,K=1),那么为什么成为D 触发器呢?因为输出Q 等于输入D ,但是要经过一个CLOCK
触发之后才产生,在时间上意味着有延迟时间的作用,所以称为D 型(Delay )触发器。

2.确定移位寄存器的级数n (即需要用多少个寄存器来寄存状态)
我们知道,一个D 触发器可以寄存“0”和“1”两种状态,若序列周期为P ,则信号发生器的级数n 应满足2≤P n 。

在本例中,要产生1101001这个序列,3=n 。

3.确定状态转化表
如图3所示,列出所需产生的序列,图中右边的信号先输出,数码下面的水平线表示寄存器状态。

1 0 0 1 0
寄存器状态
图3:序列分析图
所以可得表2所示状态转换表:
表2:状态转换表
现在我们还要注意所涉及的线路是否能够自动启动,因为所要求产生的序列1101001并没有000这种情况,所以在用卡诺图化简时应将000这种情况都考虑在内,使电路能自动启动。

图4:F0的卡诺图化简以及方程式
以逻辑门来完成F0的逻辑表达式:
2
020210Q Q Q Q Q Q F ++=
四:实验内容
通过实验准备我们已经知道用D触发器和门电路设计一个产生1101001序列需要3个D触发器和F0的门电路。

所以我们设计如下电路来实现该功能,CLK为时钟脉冲。

D0 D1 D2 F0门电路
图4:产生1101001序列的信号发生器
触发器D0,D1,D2分别保存Q0,Q1,Q2的信号,初始时Q0,Q1,Q2都为0。

理论分析:
当CLK=1时,Q0,Q1,Q2进过F0门电路,产生信号1,D0,D1,D2储存1,0,0,F输出0;
当CLK=2时,Q0,Q1,Q2进过F0门电路,产生信号1,D0,D1,D2储存1,1,0,F输出0;
当CLK=3时,Q0,Q1,Q2进过F0门电路,产生信号0,D0,D1,D2储存1,1,1,F输出1;
当CLK=4时,Q0,Q1,Q2进过F0门电路,产生信号1,D0,D1,D2储存0,1,1,F输出1;.........
所以,在CLK=4到CLK=10里,产生信号“1101001”。

写入如下ABEL-HDL测试程序:
获得如下仿真结果:
测试结果和理论分析相同,从而验证了所涉及电路的正确。

设计的不足之处:因为D触发器有延迟时间的作用,所以我们产生“1101001”这个序列需要7s,而不能瞬间产生。

五.思考题
用另一种设计产生序号“1101001”。

解析:我们知道,D触发器是基于主从式JK触发器上开发的。

所以,产生序列“1101001”也可以用主从式JK触发器和门电路来实现。

设计电路如下:主从式JK触发器默认符号
写入如下ABEL-HDL测试程序:
获得如下仿真结果:
从结果,我们验证了此电路的正确性。

相关文档
最新文档