EDA状态机实验报告.docx

上传人:b****4 文档编号:27036135 上传时间:2023-06-26 格式:DOCX 页数:7 大小:92.64KB
下载 相关 举报
EDA状态机实验报告.docx_第1页
第1页 / 共7页
EDA状态机实验报告.docx_第2页
第2页 / 共7页
EDA状态机实验报告.docx_第3页
第3页 / 共7页
EDA状态机实验报告.docx_第4页
第4页 / 共7页
EDA状态机实验报告.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

EDA状态机实验报告.docx

《EDA状态机实验报告.docx》由会员分享,可在线阅读,更多相关《EDA状态机实验报告.docx(7页珍藏版)》请在冰豆网上搜索。

EDA状态机实验报告.docx

EDA状态机实验报告

 

状态机设计

 

学院:

数学与计算机学院

专业:

姓名:

学号:

一、实验目的

1.通过实验掌握有限状态机的要点和特点及其设计;

2.用状态机实现串行序列的设计。

二、设计要求

1.先设计0111010011011010序列信号发生器;

2.再设计一个序列信号检测器,若系统检测到串行序列11010则输出为“1”,否则输出为“0”,并对其进行仿真和硬件测试。

三、实验设备

PC机,Quartueⅱ软件,实验箱

四、实验原理

1、序列信号发生器

CNT

0000

0001

0010

0011

0100

0101

0110

0111

ZOUT

0

1

1

1

0

1

0

0

CNT

1000

1001

1010

1011

1100

1101

1110

1111

ZOUT

1

1

0

1

1

0

1

0

复位信号CLRN。

当CLRN=0时,使CNT=0000,当CLRN=1时,不影响程序运行,每来一个CLK脉冲CNT加一。

2、序列信号检测器

状态转移图:

五、实验步骤

1、信号发生器

(1)建立工作库文件夹,输入设计项目VHDL代码,如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYs_machineIS

PORT(clk,reset,state_input:

INSTD_LOGIC;

comb_output:

OUTSTD_LOGIC);

ENDs_machine;

ARCHITECTUREbehavOFs_machineIS

TYPEFSM_STIS(s0,s1,s2,s3);

SIGNALcurrent_state,next_state:

FSM_ST;

BEGIN

REG:

PROCESS(reset,clk)

BEGIN

IFreset='1'THENcurrent_state<=s0;

ELSIFCLK'EVENTANDCLK='1'THEN

current_state<=next_statE;

ENDIF;

ENDPROCESS;

COM:

PROCESS(current_state,next_state)

BEGIN

CASEcurrent_stateIS

WHENs0=>comb_output<='0';

IFstate_input='0'THENnext_state<=s0;

ELSEnext_state<=s1;

ENDIF;

WHENs1=>comb_output<='0';

IFstate_input='0'THENnext_state<=s0;

ELSEnext_state<=s2;

ENDIF;

WHENs2=>comb_output<='0';

IFstate_input='0'THENnext_state<=s0;

ELSEnext_state<=s3;

ENDIF;

WHENs3=>comb_output<='1';

IFstate_input='0'THENnext_state<=s0;

ELSEnext_state<=s3;

ENDIF;

ENDcase;

ENDPROCESS;

ENDbehav;

(2)对其进行波形仿真,如下图:

3)将其转换成可调用元件如图:

2、信号检测器

1)建立工作库文件夹,输入设计项目VHDL代码,如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYSCHKIS

 PORT(DIN,CLK,CLR :

INSTD_LOGIC;

       ss:

OUTSTD_LOGIC_VECTOR

ENDSCHK;

ARCHITECTUREbehavOFSCHKIS

   SIGNALQ:

INTEGERRANGE0TO5;

   SIGNALD:

STD_LOGIC_VECTOR(5DOWNTO0);   

BEGIN

   D<="11010" ;

 PROCESS(CLK,CLR)

 BEGIN

 IFCLR='1'THEN   Q<=0;

 ELSIF CLK'EVENTANDCLK='1'THEN 

 CASEQIS

 WHEN0=> IFDIN=D(4)THENQ<=1;ELSEQ<=0;ENDIF;

 WHEN1=> IFDIN=D(3)THENQ<=2;ELSEQ<=0;ENDIF;

 WHEN2=> IFDIN=D

(2)THENQ<=3;ELSEQ<=2;ENDIF;

 WHEN3=> IFDIN=D

(1)THENQ<=4;ELSEQ<=0;ENDIF;

 WHEN4=> IFDIN=D(0)THENQ<=5;ELSEQ<=2;ENDIF;

  WHENOTHERS=> Q<=0;

 ENDCASE;

   ENDIF;

 ENDPROCESS;

 PROCESS(Q)                                

 BEGIN

     IFQ=5 THEN ss<="1";    

     ELSE             ss<="0";    

     ENDIF;

 ENDPROCESS;

ENDbehav;

3)将其转换成可调用元件如图:

3.序列信号检测器顶层文件

1)调用序列信号发生器和序列信号检测器元件,建立工作库文件夹,输入设计项目原理图如下图:

2)对总体进行波形仿真,如下图:

功能仿真:

六、实验心得

本实验中使用moore型状态机效果更好一些。

在实际应用中,mealy型和moore型状态机各有所长,应根据实际合理选择。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1