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