EDA状态机实验报告(共6页)_第1页
EDA状态机实验报告(共6页)_第2页
EDA状态机实验报告(共6页)_第3页
EDA状态机实验报告(共6页)_第4页
EDA状态机实验报告(共6页)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 状态机设计学院:数学与计算机学院 专业: 姓名: 学号: 一、实验目的1通过实验掌握有限状态机的要点和特点及其设计;2用状态机实现串行序列的设计。二、设计要求1 先设计11010序列信号发生器;2 再设计一个序列信号检测器,若系统检测到串行序列11010则输出为“1”,否则输出为“0”,并对其进行仿真和硬件测试。三、实验设备PC机,Quartue软件,实验箱四、实验原理1、序列信号发生器CNT00000001001000110100010101100111ZOUT01110100CNT10001001101010111100110111101111ZOUT11011

2、010复位信号CLRN。当CLRN=0时,使CNT=0000,当CLRN=1时,不影响程序运行,每来一个CLK脉冲CNT加一。2、序列信号检测器状态转移图:S0 S2 S1 S3 S4 S5101010100五、实验步骤1、信号发生器(1)建立工作库文件夹,输入设计项目VHDL代码,如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT(clk,reset,state_input:IN STD_LOGIC; comb_output:OUT STD_LOGIC);END s_machine;ARCHITECTURE

3、 behav OF s_machine ISTYPE FSM_ST IS (s0,s1,s2,s3);SIGNAL current_state,next_state: FSM_ST;BEGINREG:PROCESS(reset,clk) BEGINIF reset='1' THEN current_state<=s0;ELSIF CLK'EVENT AND CLK='1' THEN current_state<=next_statE;END IF;END PROCESS;COM:PROCESS(current_state,next_state

4、) BEGINCASE current_state IS WHEN s0=>comb_output<='0' IF state_input='0' THEN next_state<=s0; ELSE next_state<=s1; END IF; WHEN s1=>comb_output<='0' IF state_input='0' THEN next_state<=s0; ELSE next_state<=s2; END IF;WHEN s2=>comb_output<

5、;='0' IF state_input='0' THEN next_state<=s0; ELSE next_state<=s3; END IF;WHEN s3=>comb_output<='1' IF state_input='0' THEN next_state<=s0; ELSE next_state<=s3; END IF;END case; END PROCESS;END behav;(2)对其进行波形仿真,如下图:3)将其转换成可调用元件如图:2、信号检测器1)建立工作库文件夹,输

6、入设计项目VHDL代码,如下:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK IS  PORT(DIN, CLK, CLR  : IN STD_LOGIC;         ss : OUT STD_LOGIC_VECTOR END SCHK;ARCHITECTURE behav OF SCHK IS    SIGNAL Q : INTEGER RANGE 0 TO 5 ;    SIG

7、NAL D : STD_LOGIC_VECTOR(5 DOWNTO 0);    BEGIN    D <= "11010"  ;   PROCESS( CLK, CLR )  BEGIN  IF CLR = '1' THEN    Q <= 0 ;  ELSIF  CLK'EVENT AND CLK='1' THEN   CASE Q IS 

8、WHEN 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 &

9、lt;= 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 )            

10、;                       BEGIN      IF Q = 5  THEN  ss <= "1" ;           ELSE              ss <= "0" ;           END IF ;  END PROCESS ;END behav ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论