实验九序列检测器设计 1,实验目的 (a)掌握序列检测器电路设计的方法。 )用状态机实现序列检测器电路的设计,并对其进行仿真和硬件测试。 2.序列检测器原理 序列检测器 序列检测器可用于检测一组或多组由二进制码组成的脉神序列信号,当序列检测器连 续收到一组串行二进制码后,如果这组马与检测器中预先设置的码相同,则输出1,否则输 出0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前 次的正确码即正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相 同。在检测过程中,任何一位不相等都将会到初始状态重新开始检测。 I例描述的电路完成对序列数“1100101”的检测,当这一串序列数高位在前(左移)串 行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则输出“B”。 源程序: Library ieee: Use ieee.std_logic_1164.all; Entity xljcq is Port(clk.Rd.d-nstd_logic: q:out std_logic_vector(3 downto)). End; Architecture rtl of xljcq is Signal a:integ Signal dq:std_logie_vector(7 downto 0); Begin Dq"11100101 Process(elk,rd) Begin if Rd=1'then qa<-0 elsif(clk'event and clk=1)then case qa is when0=> if d=q(7)then else qa-0 end if. when 1=> if d=q(6)then =2 else qa-0 end if;
实验九 序列检测器设计 1.实验目的 (a)掌握序列检测器电路设计的方法。 (b)用状态机实现序列检测器电路的设计,并对其进行仿真和硬件测试。 2.序列检测器原理 序列检测器 序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连 续收到一组串行二进制码后,如果这组马与检测器中预先设置的码相同,则输出 1,否则输 出 0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一 次的正确码即正确序列,直到在连续`的检测中所收到的每一位码都与预置数的对应码相 同。在检测过程中,任何一位不相等都将会到初始状态重新开始检测。 [例] 描述的电路完成对序列数“11100101”的检测,当这一串序列数高位在前(左移)串 行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则输出“B”。 源程序: Library ieee; Use ieee.std_logic_1164.all; Entity xljcq is Port(clk,Rd,d:in std_logic; q:out std_logic_vector(3 downto 0)); End; Architecture rtl of xljcq is Signal qa: integer range 0 to 8; Signal dq: std_logic_vector(7 downto 0); Begin Dq<=”11100101”; Process(clk,rd) Begin if Rd='1' then qa<=0; elsif( clk'event and clk='1')then case qa is when 0=> if d=q(7) then qa<=1; else qa<=0; end if; when 1=> if d=q(6) then qa<=2; else qa<=0; end if;
when 2 ifd=q(5)ther qa-3, else qa<=0 end if. when3=> ifd=q(4)ther qa<=4 else qa-0 end if; when 4=> if d=q(3)then qa<=5 else qa<-0. end if; when 5=> if d=q(2)then qa<-6, else qa-0. end if; when 6=> if d=q(1)then qa<-0 end if; when 7=> if d=q(0)then qa<-=8, else qa<-0, end if. when others=>qa<=0; end case. end if. end process. process(qa) begin if ga=8 then q<="1010" else q<="1011 end if: end process. End: 3.实验内容 3.1说明上例的代码表达式的是什么类型的状态机,它的优点是什么?详述其功能和
when 2=> if d=q(5) then qa<=3; else qa<=0; end if; when 3=> if d=q(4) then qa<=4; else qa<=0; end if; when 4=> if d=q(3) then qa<=5; else qa<=0; end if; when 5=> if d=q(2) then qa<=6; else qa<=0; end if; when 6=> if d=q(1) then qa<=7; else qa<=0; end if; when 7=> if d=q(0) then qa<=8; else qa<=0; end if; when others => qa <=0; end case; end if; end process; process(qa) begin if qa=8 then q<=”1010”; else q<=”1011”; end if; end process; End; 3.实验内容 3.1 说明上例的代码表达式的是什么类型的状态机,它的优点是什么?详述其功能和
对序列数检测的逻辑过程。 3.2根据上例写出有两个主控进程构成的相同功能的符号化m0心型有限状态机,画 出状态土,并给出其仿真测试波形 3.3将8位待测预置数作为外部输入信号,即可以随时改变序列检测器中的比较数据。 写出此程序的符号化单进程有限状态机。 要求: 用文本输入法即VHDL语言设计编程,并硬件下载实现,结果用数码管显示。 4.注意事项 电路工作之前应进行初始化。 5.预习要求 (1)完成实验内容。的电路设计任务。 (2)预习序列信号发生器的工作原理及寄存器的工作原理。 (3)自制各电路的状态转换表,在实验过程中填写数据。 6.实验报告 根据以上的实验内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、 硬件测试和详细实验过程
对序列数检测的逻辑过程。 3.2 根据上例写出有两个主控进程构成的相同功能的符号化 moore 型有限状态机,画 出状态土,并给出其仿真测试波形。 3.3 将 8 位待测预置数作为外部输入信号,即可以随时改变序列检测器中的比较数据。 写出此程序的符号化单进程有限状态机。 要求: 用文本输入法即 VHDL 语言设计编程,并硬件下载实现,结果用数码管显示。 4.注意事项 电路工作之前应进行初始化。 5.预习要求 (1)完成实验内容。的电路设计任务。 (2)预习序列信号发生器的工作原理及寄存器的工作原理。 (3)自制各电路的状态转换表,在实验过程中填写数据。 6.实验报告 根据以上的实验内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、 硬件测试和详细实验过程