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

合集下载

序列信号检测器的设计与实现 实验报告

序列信号检测器的设计与实现 实验报告

数字电路与逻辑设计实验实验名称:序列信号检测器的设计与实现学院: 信息与通信工程学院班级: xxxxxxxxxx学号: xxxxxxxxxx班内序号: xx姓名大学霸一、实验课题序列信号检测器的设计与实现二、实验任务及设计要求(1) 熟悉用VHDL语言设计时序逻辑电路的方法。

(2) 熟悉序列信号检测器的设计方法(3) 了解状态机的设计方法用VHDL语言设计实现一个序列信号检测器,当检测到“101”时,输出为“1”;其他情况时,输出为“0”,仿真验证其功能,并下载到实验板测试。

三、设计思路与过程实验需要4个端口,时钟输入clk,数据输入d_in,输出f。

根据老师的要求后面还加入了时钟显示clk_out来保证数据输入在时钟上升沿之前1、设计思路序列检测器有输入信号d_in和输出信号f。

输入输出的的逻辑关系为:当外部输入x第一个为“1”,外部输出Z为“0”;当外部输入x第二个为“0”,外部输出Z为“0”;当外部输入x第三个为“1”,外部输出Z才为“1”。

要判断输入序列中的一段是否为“101”,电路需要用不同的状态来标记。

假设电路的初始状态A,d_in输入第一个“1”,检测器状态由A转换到B,B代表101序列中的第一个“1”,输出为f=0,如果之后继续输入“1”还会保持在这个状态;d_in输入“0”,检测器由B转换到C,C代表101序列中的“0”,输出f=0;d_in输入第三个值“1”时检测到完整的101序列,输出f=1,同时因为输入为“1”,状态由C又转换回B;如果d_in输入第三个值为“0”,状态由C退回到初始状态A,输出f=0。

以上为序列检测器的功能分析。

由此可以画出序列检测器的状态图状态表如下:2、实验过程(1) 用计算机QuartusII 9.0软件新建工程,新建VHDL,写入程序代码,运行调试直至编译成功。

(2) 新建波形仿真软件,设置endtime,输入输出信号,运行,观察仿真结果确认无误。

实验三 序列信号检测器的设计

实验三  序列信号检测器的设计

实验三序列信号检测器的设计一、实验目的:1、理解序列信号检测器的工作原理;2、掌握原理图和文本输入的混合设计输入方法;3、理解状态划分;4、掌握状态机程序的编写方法;二、实验原理:序列检测器是时序数字电路中非常常见的设计之一。

它的主要功能是:将一个指定的序列从数字码流中识别出来。

接下来的设计就是针对“011”这个序列的检测器。

设input为数字码流输入,output为检出标记输出,高电平表示“发现指定序列”,低电平表示“没有发现指定的序列”。

设输入的码流为“001101101111011111...”,在时钟2~4中,码流input里出现指定序列“011”,对应输出output在第4个时钟变为高电平“1”,表示发现指定"011”,以此类推。

序列发生器模块采用的是M(n=4)序列发生器,详细可以参考《EDA技术与应用》一书的4.4团队协作及逻辑锁定。

三、实验内容(1)最终的顶层设计原理图如下:左侧的四个D触发器组成的电路为M序列信号发生器模块,它可以产生15位随机的二进制码流。

发生器产生的二进制码流每隔15个时钟周期重复出现一次。

详细的可以在最终的时序仿真图中看出来。

右侧的get_str模块为检测模块,给予状态机的结构编写的,具体如下:library ieee;use ieee.std_logic_1164.all;entity get_ser isport(clk : in std_logic;input : in std_logic;reset : in std_logic;serout : out std_logic_vector(1 downto 0);output : out std_logic);end entity;architecture rtl of get_ser is-- Build an enumerated type for the state machine type state_type is (s0, s1, s2, s3);-- Register to hold the current statesignal state : state_type;beginserout <= ('0'&input);-- Logic to advance to the next stateprocess (clk, reset)beginif reset = '1' thenstate <= s0;elsif (rising_edge(clk)) thencase state iswhen s0=>if input = '0' thenstate <= s1;elsestate <= s0;end if;when s1=>if input = '1' thenstate <= s2;elsestate <= s1;end if;when s2=>if input = '1' thenstate <= s3;elsestate <= s1;end if;when s3 =>if input = '1' thenstate <= s0;elsestate <= s1;end if;end case;end if;end process;-- Output depends solely on the current state process (state)begincase state iswhen s0 =>output <= '0';when s1 =>output <= '0';when s2 =>output <= '0';when s3 =>output <= '1';end case;end process;end rtl;(2)理解状态机请根据上图对照get_str程序理解检测“011”序列的基本编程思路。

序列信号检测实验报告

序列信号检测实验报告

一、实验目的1. 理解序列信号检测的基本原理。

2. 掌握序列信号检测的方法和步骤。

3. 通过实验验证序列信号检测的准确性。

4. 分析实验结果,探讨影响序列信号检测准确性的因素。

二、实验原理序列信号检测是数字信号处理中的一个重要领域,主要研究如何从含有噪声的信号中检测出特定的序列信号。

本实验采用模拟信号检测的方法,通过设计序列信号发生器和检测器,实现对特定序列信号的检测。

三、实验器材1. 信号发生器2. 数据采集器3. 计算机及软件(如MATLAB等)4. 信号分析仪四、实验步骤1. 设计序列信号发生器:- 根据实验要求,设计特定的序列信号,如“1101”。

- 使用信号发生器产生该序列信号。

2. 设计序列信号检测器:- 设计一个检测器,用于检测序列信号。

- 检测器可以采用状态机或有限状态机(FSM)实现。

3. 实验设置:- 将信号发生器产生的序列信号输入到数据采集器。

- 将数据采集器采集到的信号输入到计算机进行后续处理。

4. 信号处理:- 使用MATLAB等软件对采集到的信号进行预处理,如滤波、去噪等。

- 对预处理后的信号进行序列信号检测。

5. 结果分析:- 分析实验结果,比较检测器检测到的序列信号与原始序列信号是否一致。

- 分析影响序列信号检测准确性的因素,如噪声水平、信号带宽等。

五、实验结果与分析1. 实验结果:- 通过实验,成功检测到了设计的序列信号“1101”。

- 检测到的序列信号与原始序列信号基本一致。

2. 结果分析:- 实验结果表明,所设计的序列信号检测器能够有效地检测出特定序列信号。

- 影响序列信号检测准确性的因素主要包括:- 噪声水平:噪声水平越高,检测难度越大。

- 信号带宽:信号带宽越窄,检测难度越大。

- 序列长度:序列长度越长,检测难度越大。

六、实验结论1. 序列信号检测实验验证了序列信号检测的基本原理和方法。

2. 通过实验,掌握了序列信号检测的步骤和技巧。

3. 实验结果表明,所设计的序列信号检测器能够有效地检测出特定序列信号。

EDA实验报告——序列检测器

EDA实验报告——序列检测器

七、状态图输入法实现序列检测器1、基本知识点序列检测器原理。

状态图输入法。

2、实验设备(1)PC机一台。

(2)DDA系列数字系统实验平台。

(3)QuartusⅡ配套软件。

3、实验概述序列检测器序列检测器是用于从二进制码流中检测出一组特定序列信号的时序电路。

接收的序列号与检测器预设值比较,相同则输出为1,否则输出为0.4、实验内容及步骤用状态图输入法实现序列检测器。

1,新建工程,工程文件夹名称为exp_detect3,工程名称和顶层实体名称均为exp_detect3,选择目标器件为EPF10K20TI144-4.2,状态图输入:选择菜单File——New——State Machine File命令,打开State Machine Editor窗口,选择Tools——State MachineWizard命令,弹出如下状态机创建向导对话框:点击OK,进入下一个页面,如下所示:在上图中选择复位Reset信号为异步,高电平有效,输出端午寄存器,点击Next,进入下图:在四个选框里分别如上图填入名称和控制信号。

进入下一个页面:如上设置后,进入下一个页面,点击finish,完成。

关闭状态机向导,生成所需的状态机,做适当调整,如下图所示:3,保存该设计文件为exp_detect3.smf,并添加到工程文件夹。

4,选择菜单Tools——Generate HDL File命令,打开对话框,选择VHDL,点击OK,分析成功后则自动生成exp_detect3.vhd。

代码如下:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY exp_detect3 ISPORT (clock : IN STD_LOGIC;reset : IN STD_LOGIC := '0';din : IN STD_LOGIC := '0';z : OUT STD_LOGIC);END exp_detect3;ARCHITECTURE BEHAVIOR OF exp_detect3 ISTYPE type_fstate IS (s0,s1,s2,s3,s4,s5,s6);SIGNAL fstate : type_fstate;SIGNAL reg_fstate : type_fstate;BEGINPROCESS (clock,reset,reg_fstate)BEGINIF (reset='1') THENfstate <= s0;ELSIF (clock='1' AND clock'event) THENfstate <= reg_fstate;END IF;END PROCESS;PROCESS (fstate,din)BEGINz <= '0';CASE fstate ISWHEN s0 =>IF ((din = '1')) THENreg_fstate <= s1;ELSIF (NOT((din = '1'))) THENreg_fstate <= s0;-- Inserting 'else' block to prevent latch inferenceELSEreg_fstate <= s0;END IF;WHEN s1 =>IF ((din = '1')) THENreg_fstate <= s2;ELSIF (NOT((din = '1'))) THENreg_fstate <= s0;-- Inserting 'else' block to prevent latch inferenceELSEreg_fstate <= s1;END IF;WHEN s2 =>IF ((din = '1')) THENreg_fstate <= s3;ELSIF (NOT((din = '1'))) THENreg_fstate <= s0;-- Inserting 'else' block to prevent latch inference ELSEreg_fstate <= s2;END IF;WHEN s3 =>IF ((din = '1')) THENreg_fstate <= s3;ELSIF (NOT((din = '1'))) THENreg_fstate <= s4;-- Inserting 'else' block to prevent latch inference ELSEreg_fstate <= s3;END IF;WHEN s4 =>IF ((din = '1')) THENreg_fstate <= s1;ELSIF (NOT((din = '1'))) THENreg_fstate <= s5;-- Inserting 'else' block to prevent latch inference ELSEreg_fstate <= s4;END IF;WHEN s5 =>IF ((din = '1')) THENreg_fstate <= s6;ELSIF (NOT((din = '1'))) THENreg_fstate <= s0;-- Inserting 'else' block to prevent latch inference ELSEreg_fstate <= s5;END IF;WHEN s6 =>IF ((din = '1')) THENreg_fstate <= s2;ELSIF (NOT((din = '1'))) THENreg_fstate <= s0;-- Inserting 'else' block to prevent latch inferenceELSEreg_fstate <= s6;END IF;IF (NOT((din = '1'))) THENz <= '1';-- Inserting 'else' block to prevent latch inferenceELSEz <= '0';END IF;WHEN OTHERS =>z <= 'X';report "Reach undefined state";END CASE;END PROCESS;END BEHAVIOR;5,对代码进行编译。

序列检测器_实验报告

序列检测器_实验报告

一、实验目的1. 理解序列检测器的工作原理和设计方法;2. 掌握时序电路的经典设计方法;3. 学习使用Verilog HDL语言进行状态机的设计;4. 通过实验验证序列检测器的功能。

二、实验原理序列检测器是一种同步时序电路,用于检测输入的一串二进制编码。

当输入序列与预设的编码相匹配时,输出高电平;否则,输出低电平。

序列检测器在数字通信、安全防盗、密码认证等领域有着广泛的应用。

序列检测器的基本工作原理如下:1. 预设一个编码序列,称为目标序列;2. 当输入序列与目标序列相匹配时,输出高电平;3. 当输入序列与目标序列不匹配时,输出低电平。

三、实验器材1. PC机一台;2. EDA教学实验系统一台;3. 下载电缆一根(已接好);4. 导线若干。

四、实验步骤1. 设计序列检测器的Verilog代码;2. 在EDA教学实验系统上编译、仿真和下载Verilog代码;3. 连接实验电路,下载Verilog代码;4. 通过逻辑分析仪观察输出波形,验证序列检测器的功能。

五、实验内容1. 设计一个长度为4位的序列检测器,目标序列为1001;2. 设计一个长度为8位的序列检测器,目标序列为11001001;3. 通过实验验证序列检测器的功能。

六、实验代码```verilogmodule seqdet(input clk, // 时钟信号input rst, // 复位信号input [3:0] din, // 输入序列output reg out // 输出信号);// 定义状态localparam [1:0] IDLE = 2'b00,MATCH = 2'b01,NOMATCH = 2'b10;// 状态寄存器reg [1:0] state, nextstate;// 输出函数always @(posedge clk or posedge rst) beginif (rst) beginstate <= IDLE;out <= 1'b0;end else beginstate <= nextstate;out <= (state == MATCH) ? 1'b1 : 1'b0; endend// 激励函数always @() begincase (state)IDLE: beginif (din == 4'b1001) beginnextstate = MATCH;end else beginnextstate = NOMATCH;endendMATCH: beginnextstate = IDLE;endNOMATCH: beginnextstate = IDLE;enddefault: beginnextstate = IDLE;endendcaseendendmodule```七、实验结果与分析1. 长度为4位的序列检测器:当输入序列为1001时,输出高电平;当输入序列不为1001时,输出低电平。

实验7序列发生器和检测器的设计与实现

实验7序列发生器和检测器的设计与实现

实验7序列发生器和检测器的设计与实现序列发生器和检测器是数字电路中非常重要的组成部分,用于生成和检测特定的序列模式。

本实验将设计和实现一个简单的序列发生器和检测器。

1.实验目的:-了解序列发生器和检测器的基本原理和实现方法;-掌握用基本门电路实现序列发生器和检测器的设计方法;-熟悉数字电路的设计流程和实验操作。

2.实验仪器和器件:-逻辑门IC(与、或、非门);-数字电路实验箱;-电源。

3.实验原理:-序列发生器是一种能够按照预定规律生成特定序列的电路,通常由多个逻辑门组成。

常见的序列发生器包括计数器、移位寄存器等。

-序列检测器是一种能够检测给定输入序列是否符合预定规律的电路,通常也由多个逻辑门组成。

常见的序列检测器包括状态机、比较器等。

4.实验步骤:1.根据设计要求,确定需要生成和检测的序列类型和规律。

2.设计序列发生器的电路,选择适当的逻辑门进行组合,以实现所需的序列模式。

3.搭建序列发生器电路,将所选逻辑门按照设计连接方式进行布线。

4.进行测试和调试,检查序列发生器是否按照设计要求生成所需的序列。

5.设计序列检测器的电路,选择适当的逻辑门进行组合,以实现对所需的序列模式的检测。

6.搭建序列检测器电路,将所选逻辑门按照设计连接方式进行布线。

可使用开关或其它电源来模拟序列输入。

7.进行测试和调试,检查序列检测器是否能够准确检测给定的输入序列是否符合预期。

5.实验注意事项:-严格按照设计要求进行电路设计和布线,确保连接正确。

-进行测试和调试时,先验证序列发生器的输出是否符合预期,再测试序列检测器的正确性。

-如遇到问题,请仔细检查电路连接是否正确,或寻求助教或教师的帮助。

6.实验结果分析:-比较生成的序列和检测的结果,验证电路的正确性和稳定性。

-如有误差或异常情况,分析可能原因,进行修正和改进。

7.实验总结:-通过本实验,我们了解了序列发生器和检测器的基本原理和实现方法。

-掌握了用基本门电路实现序列发生器和检测器的设计方法。

实验5 序列检测器

实验5 序列检测器

数字系统设计与PLD应用实验报告实验名称:实验5序列检测器学院:大数据与信息工程学院专业:电子信息工程姓名:李晓雪学号:1108040198年级:大四任课教师:尉学军2014 年 12 月 7 日实验5 序列检测器一.实验目的(1)了解用状态机的方法设计序列检测器(2)实验一个11010串行序列检测器,用VHDL语言描述该电路二、实验原理序列检测器的示意图如图一所示11010序列检测器的状态转换图如图二所示三、实验内容(1)用VHDL语言编写11010序列检测器源程序。

给出正确仿真波形图。

(2)用VHDL分别设计一个包含(11010)和不包含的序列发生器。

(3)将上述两个序列发生器分别和序列检测器结合成一个文件(级联),并编译、模拟获得正确的仿真波形。

四、实验结果1、序列检测器(检测11010)根据状态转换通过VHDL语言实现序列检测器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY jc11010 ISPORT(DIN,CLK,RST:IN STD_LOGIC;SOUT:OUT STD_LOGIC);END jc11010 ;ARCHITECTURE BEHA V OF jc11010 ISTYPE STATES IS (S0,S1,S2,S3,S4);SIGNAL ST,NST:STA TES:=S0;BEGINCOM:PROCESS(ST,DIN) BEGINCASE ST ISWHEN S0=>IF DIN='1'THEN NST<=S1;ELSE NST<=S0;END IF; WHEN S1=>IF DIN='1'THEN NST<=S2;ELSE NST<=S0;END IF; WHEN S2=>IF DIN='1' THEN NST<=S2;ELSE NST<=S3;END IF; WHEN S3=>IF DIN='1' THEN NST<=S4;ELSE NST<=S0;END IF; WHEN S4=>IF DIN='1' THEN NST<=S2;ELSE NST<=S0;END IF; WHEN OTHERS=>NST<=S0;END CASE;END PROCESS;REG:PROCESS (CLK,RST)BEGINIF RST='1' THEN ST<=S0;ELSIF CLK'EVENT AND CLK='1' THEN ST<=NST;END IF;END PROCESS REG;SOUT<='1' WHEN ST=S4 ELSE '0';END BEHA V;波形仿真结果:2.采用状态机方法设计序列发生器11010序列产生器的VHDL语言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY csq11010 ISPORT(CLK:IN STD_LOGIC;Z :OUT STD_LOGIC);END csq11010 ;ARCHITECTURE RTL OF csq11010 ISTYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5);SIGNAL CURRENT_STATE,NEXT_STATE:STATE_TYPE; BEGINSYNCH: PROCESSBEGINWAIT UNTIL CLK'EVENT AND CLK='1'; CURRENT_STATE<=NEXT_STATE;END PROCESS;STATE_TRANS:PROCESS(CURRENT_STATE)BEGINCASE CURRENT_STATE ISWHEN S0=>NEXT_STATE<=S1;Z<='1';WHEN S1=>NEXT_STATE<=S2;Z<='1';WHEN S2=>NEXT_STATE<=S3;Z<='0';WHEN S3=>NEXT_STATE<=S4;Z<='1';WHEN S4=>NEXT_STATE<=S5;Z<='0';WHEN S5=>NEXT_STATE<=S0;Z<='1';END CASE;END PROCESS;END RTL;仿真波形结果:(产生的11010序列串)3、随机序列产生器(产生序列1100101)VHDL语言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SY4 ISPORT(CLK:IN STD_LOGIC;Z :OUT STD_LOGIC);END SY4 ;ARCHITECTURE RTL OF SY4 ISTYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5,S6);SIGNAL CURRENT_STATE,NEXT_STA TE:STA TE_TYPE; BEGINSYNCH: PROCESSBEGINWAIT UNTIL CLK'EVENT AND CLK='1';CURRENT_STATE<=NEXT_STA TE;END PROCESS;STA TE_TRANS:PROCESS(CURRENT_STATE)BEGINCASE CURRENT_STATE ISWHEN S0=>NEXT_STATE<=S1;Z<='1';WHEN S1=>NEXT_STATE<=S2;Z<='1';WHEN S2=>NEXT_STATE<=S3;Z<='0';WHEN S3=>NEXT_STATE<=S4;Z<='0';WHEN S4=>NEXT_STATE<=S5;Z<='1';WHEN S5=>NEXT_STATE<=S6;Z<='0';WHEN S6=>NEXT_STATE<=S0;Z<='1';END CASE;END PROCESS;END RTL;波形仿真结果:3、11010序列产生器与11010序列检测器级联后的电路图:波形仿真结果:4、不包含11010的任意序列产生器与11010序列检测器级联后的电路图:波形仿真结果:。

11001序列检测器设计实训报告

11001序列检测器设计实训报告

电子技术设计实训报告指导教师:**小组成员:*201458244**201458244**201458244**201458244*成绩评定:教师签名:评定时间设计1.题目:“11001”序列检测器。

原始条件:逻辑器件:CMOS门电路集成芯片:74SL20 74LS00 74LS1122.要求完成设计的主要任务:1)能够运用数字逻辑的理论和方法,把时序逻辑电路设计和组合逻辑电路设计相结合,设计一个有实际应用的数字逻辑电路。

2)使用同步时序逻辑电路的设计方法,设计“11001”序列检测器。

写出设计中的过程。

画出课程设计图。

3)在试验设备上,使用74SL20 74LS00 74LS112集成电路连接、调试和测试“11001”序列检测器电路。

3.小组成员分工*设计序列*电子版实验报告,化简卡诺图*:画电路图、仿真电路图*:检查设计失误、物理机电路连线电路分析设计过程4.逻辑抽象:初始状态SS:11:11S2:110S3S:11004:11001S5根据任务书要求,设计的序列检测器有一个外部输入A 和一个外部输出 Y。

输入和输出的逻辑关系为:正常情况下Y=0,出现A=11001时,Y=15.状态转换图6.状态转换表表1由表1可知,S1和S5是等价状态,故可以合并。

下图为化简后的状态转换图。

''0101*1Q Q Q AQ Q +=7. 卡若图化简规定电路状态编码,电路需要5个状态。

需要3(2n-1<状态数≦2n )个触发器。

现取Q 2Q 1Q 0=001表示S 1,Q 2Q 1Q 0=010表示S 2,Q 2Q 1Q 0=011表示S 3,Q 2Q 1Q 0=100表示S 4 ,即可得到:S 0:000 S 1:001 S 2:010 S 3 :011 S 4:100由上述转换表可以转化为卡诺图下面即可分解卡诺图⎪⎩⎪⎨⎧++=+=0111*01010*1)''(''Q AQ AQ Q A Q Q Q Q AQ Q '''201201*2Q Q Q A Q Q Q A Q +=''''011001*0Q Q A Q AQ Q AQ Q ++=''0101*1Q Q Q AQ Q +='''201201*2Q Q Q A Q Q Q A Q +=''''011001*0Q Q A Q AQ Q AQ Q ++=2AQ Y =8. 逻辑函数式由上述的卡诺图得到状态方程和输出方程⎪⎩⎪⎨⎧2AQ Y =化简得到上式与JK 触发器的特性方程对照比较可以得出(Q *=JQ ’+K ’Q ))'()'(.....'''1001012.1101012AQ K Q K Q Q A K AQ Q A J AQ J Q Q A J ===⎪⎩⎪⎨⎧+=== 2AQ Y =9.JK 触发器具体实现电路图由上述的式子我们可以画出模拟电路图(完整电路图附页说明)10. 仿真软件仿真效果(截图说明)下面进行仿真实验,X3灯是为了显示0、1输入,X2灯是显示脉冲输入情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

序列信号检测器的设计与实现数电实验报告
数字电路与逻辑计
实验报告
序列信号检测器的设计与实现
一、课题名称:
序列信号检测器的设计与实现
二、实验目的:
(1)熟悉用VHDL语言设计时序逻辑电路的方法;(2)熟悉序列信号检测器的设计方法;(3)了解状态机的设计方法。

三、实验所用仪器及元器件:
(1)计算机(2)直流稳压电源
(3)数字系统与逻辑设计实验开发板
四、实验内容:
用VHDL语言设计实现一个序列信号检测器,当检测到“”时,输出为“1”;其他情况时,输出为“0”,仿真验证其功能,并下载到实验板测试。

五、设计思路与过程:
第1步,画出原始状态图和状态表。

根据任务书要求,设计的序列检测器有一个外部输入x和一个外部输出Z。

输入和输出的逻辑关系为:当外部输入x第一个为“1”,外部输出Z为“0”;当外部输入x第二个为“0”,外部输出Z为“0”;当外
部输入x第三个为“1”,外部输出Z才为“1”。

假定有一个外部输入x序列以及外部输出Z为:
输入x: 0 1 0 1 1 1 0 1 1 1 1 0 1 输出Z: 0 0 0 1 0 0 0 1 0 0 0 0 1
要判别序列检测器是否连续接收了“”,电路必须用不同的状态记载外部输入x的值。

假设电路的初始状态为A,x输入第一个值“1”,检测器状态由A装换到B,用状态B记载检测器接受了序列的第一个值“1”,这时外部输出Z=0;x输入“0”,检测器状态由B装换到C,用状态C记载检测器接受了序列的第二个值“0”,外部输出Z=0;x输入第三个值“1”,检测器状态由C 装换到D,外部输出Z=1。

然后再根据外部输入及其他情况时的状态转移,写出相应的输出。

以上分析了序列检测器工作,由此可画出图一所示的原始状态图。

根据原始状态图可列出原始状态表,如表一所示。

0/0A1/0B1/00/00/01/0CD1/10/0图一原始状态图
表一:原始状态表
SnSn?1 X=1 B B D B X=0 0 0 0 0 Z X=1 0 0 1 0 X=0 A C A C A B C D
第2步,在对原状态表进行简化,从状态表就可以看出B、D 两个状态为等价状态。

从而可得简化后的状态表表二和状态图图二:
0/0A1/0B1/00/00/0C1/1图二简化状态图
表二:简化后的状态表
SnSn?1 X=1 B B B
Z X=0 0 0 0 X=1 0 0 1 X=0 A C A A B C。

相关文档
最新文档