EDA状态机实验报告.doc
- 文档编号:230358
- 上传时间:2022-10-07
- 格式:DOC
- 页数:6
- 大小:110KB
EDA状态机实验报告.doc
《EDA状态机实验报告.doc》由会员分享,可在线阅读,更多相关《EDA状态机实验报告.doc(6页珍藏版)》请在冰豆网上搜索。
状态机设计
学院:
数学与计算机学院
专业:
姓名:
学号:
一、实验目的
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、序列信号检测器
状态转移图:
S0
S2
S1
S3
S4
S5
1
0
1
0
1
0
1
0
0
五、实验步骤
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型状态机各有所长,应根据实际合理选择。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 状态机 实验 报告