实验名称:有限状态机设计 学生姓名:刘欣 班级:1班 学号:201214580102 指导老师:贾默伊 同组人:王彤 胡凤莲 赵梓欣 成绩: 一、实验目的及要求: 1)实验目的: 1、学习用状态机实现序列检测器的设计 ; 2、仿真验证自己的设计项目。 2)实验要求: 1、简述状态机的功能和检测的逻辑过程 2、画出状态转换图; 3、写出VHDL语言代码; 4、仿真波形图。 二、实验原理: 序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先预置的码相同,则输出1,否则输出0。 在检测过程中,任何一位不相等都将回到初始状态重新开始检测。 状态转换图: 三、实验步骤: 1、双击QuartusII,设置新的工程;
批阅老师 : 年 月 日 第 1 页 共 1 页
学生实验报告
2、建立新的VHDL面板,将程序输入完成,然后进行编译; 3、编译成功以后,进行仿真,仿真时,导入节点名字,设置其参数,设置完成进行仿真。 四、仿真波形: 1、实验源程序: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SCHK IS PORT( DIN,CLK,CLR: IN STD_LOGIC ; AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END SCHK; ARCHITECTURE behav OF SCHK IS SIGNAL Q : INTEGER RANGE 0 TO 8 ; SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN D <=\"11100101\"; PROCESS(CLK, CLR) BEGIN IF CLR = '1' THEN Q <= 0 ; ELSIF CLK'EVENT AND CLK='1' THEN CASE Q IS WHEN 0=> IF DIN = D(7) THEN Q <= 1 ; ELSE Q <= 0 ; END IF ; WHEN 1=> IF DIN = D(6) THEN Q <= 2 ; ELSE Q <= 0 ; END IF ; WHEN 2=> IF DIN = D(5) THEN Q <= 3 ; ELSE Q <= 0 ; END IF ; WHEN 3=> IF DIN = D(4) THEN Q <= 4 ; ELSE Q <= 0 ; END IF ; WHEN 4=> IF DIN = D(3) THEN Q <= 5 ; ELSE Q <= 0 ; END IF ; WHEN 5=> IF DIN = D(2) THEN Q <= 6 ; ELSE Q <= 0 ; END IF ; WHEN 6=> IF DIN = D(1) THEN Q <= 7 ; ELSE Q <= 0 ; END IF ; WHEN 7=> IF DIN = D(0) THEN Q <= 8 ; ELSE Q <= 0 ; END IF ; WHEN OTHERS => Q <= 0 ; END CASE ; END IF ; END PROCESS ; PROCESS( Q ) BEGIN 批阅老师 : 年 月 日
第 2 页 共 2 页
学生实验报告
IF Q = 8 THEN AB <= \"1010\" ; ELSE AB <= \"1011\" ; END IF ; END PROCESS ; END behav ; 2、仿真模型 五、实验说明: 通过设计实验让我们提高了动手能力,加深巩固了EDA技术的学习内容,了解了有限状态机的相关知识。 批阅老师 : 年 月 日
第 3 页 共 3 页
因篇幅问题不能全部显示,请点此查看更多更全内容