欢迎来到天天文库
浏览记录
ID:32657797
大小:211.34 KB
页数:11页
时间:2019-02-14
《eda实验报告——序列检测器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、七、状态图输入法实现序列检测器1.基本知识点序列检测器原理。状态图输入法。2、实验设备(1)PC机一台。(2)DDA系列数字系统实验平台。(3)QuartusII配套软件。3、实验概述序列检测器序列检测器是用于从二进制码流中检测岀一组特定序列信号的时序电路。接收的序列号与检测器预设值比较,相同则输出为1,否则输出为0.4、实验内容及步骤用状态图输入法实现序列检测器。1,新建工程,工程文件夹名称为exp_detect3,工程名称和顶层实体名称均为exp_detect3,选择目标器件为EPF10K20T
2、I144-4.2,状态图输入:选择菜单FileNewStateMachineFile命令,打开StateMachineEditor窗口,选择ToolsStateMachineWizard命令,弹出如下状态机创建向导对话框:点击OK,进入下一个页面,如下所示:在上图中选择复位Reset信号为异步高电平有效输出端午寄存器点击Next,进入下图:StateMachineVizard:Transitions[page2of4]StateNameA4S35s46s57s68<>.MJV<.
3、nil.]>States:Inputports:InputPortName1clock23resetdin4<><1mi
4、>iStatetransitions:■VTransitiontosourcestateifnotalltransitionconditionsarespecified5、Next>6、Finish7、取•消在四个选框里分别如上图填入名称和控制信号。进入下一个页tateKachineVizard:Actions.page3of4Outputport8、s:OutputPortNameOutputState1Currentclockcycle2lewoutputport>>yActionconditions:OutputPortOutputValueInStateAdditionalConditi匚1z1s6<><>1Finish职消如上设置后,进入下一个页面,点击finish,完成。关闭状态机向导,生成所需的状态机,做适当调整,9、如下图所示:3二湘直曲耶斗>4弃涉expIdeiectwsmf・斗豹U晶肓常昼令来。4、倂我淵-IBTOO一s——GenerateHDLFi_e^、、KTorJDrmOK、^^m&Dn>=]_」In}^l#mexpldetea3・vhd。応站合T-LIBRARYieee;USEieee・sid」ogiclll64・a=ENTITYexp—detea3ISPORT(dock二NSTD—LOGnresei二NSTD—LOGICno;din二NSTD—LOGIC”O;N-OUTSTD—LOGIC)」10、ENDexpld2.ect3jARCHITECTUREBEHAVIOROFexp—detecusISTYPEtype—fstateIS(SPSLSZS3、S4、S5、S6XSIGNALfssrre-iypelfsEripSIGNALreglfsErte-iypelfsEriejBEGINPROCESS(dockJeseLreglfsorte)BEGINIF(reset二T)THENfstate<=sO;ELSIF(clock二TANDclock'event)THENfstate<=reg_fstat11、e;ENDIF;ENDPROCESS;PROCESS(fstate,din)BEGINz<='O';CASEfstateISWHENsO=>IF((din=,1,))THENreg_fstate<=si;ELSIF(NOT((din二T)))THENreg_fstate<=sO;—Inserting'else'blocktopreventlatchinfereneeELSEreg_fstate<=sO;ENDIF;WHENsi=>IF((din二•I1))THENreg_fstate<=s2;ELS12、IF(NOT((din=T)))THENreg_fstate<=sO;Inserting'else'blocktopreventlatchinfereneeELSEreg_fstate<=si;ENDIF;WHENs2=>IF((din=,1,))THENreg_fstate<=s3;ELSIF(NOT((din=*1')))THENreg_fstate<=sO;—Inserting'else'blocktopreventlatchinferenceELSEreg_f
5、Next>
6、Finish
7、取•消在四个选框里分别如上图填入名称和控制信号。进入下一个页tateKachineVizard:Actions.page3of4Outputport
8、s:OutputPortNameOutputState1Currentclockcycle2lewoutputport>>yActionconditions:OutputPortOutputValueInStateAdditionalConditi匚1z1s6<><>1Finish职消如上设置后,进入下一个页面,点击finish,完成。关闭状态机向导,生成所需的状态机,做适当调整,
9、如下图所示:3二湘直曲耶斗>4弃涉expIdeiectwsmf・斗豹U晶肓常昼令来。4、倂我淵-IBTOO一s——GenerateHDLFi_e^、、KTorJDrmOK、^^m&Dn>=]_」In}^l#mexpldetea3・vhd。応站合T-LIBRARYieee;USEieee・sid」ogiclll64・a=ENTITYexp—detea3ISPORT(dock二NSTD—LOGnresei二NSTD—LOGICno;din二NSTD—LOGIC”O;N-OUTSTD—LOGIC)」
10、ENDexpld2.ect3jARCHITECTUREBEHAVIOROFexp—detecusISTYPEtype—fstateIS(SPSLSZS3、S4、S5、S6XSIGNALfssrre-iypelfsEripSIGNALreglfsErte-iypelfsEriejBEGINPROCESS(dockJeseLreglfsorte)BEGINIF(reset二T)THENfstate<=sO;ELSIF(clock二TANDclock'event)THENfstate<=reg_fstat
11、e;ENDIF;ENDPROCESS;PROCESS(fstate,din)BEGINz<='O';CASEfstateISWHENsO=>IF((din=,1,))THENreg_fstate<=si;ELSIF(NOT((din二T)))THENreg_fstate<=sO;—Inserting'else'blocktopreventlatchinfereneeELSEreg_fstate<=sO;ENDIF;WHENsi=>IF((din二•I1))THENreg_fstate<=s2;ELS
12、IF(NOT((din=T)))THENreg_fstate<=sO;Inserting'else'blocktopreventlatchinfereneeELSEreg_fstate<=si;ENDIF;WHENs2=>IF((din=,1,))THENreg_fstate<=s3;ELSIF(NOT((din=*1')))THENreg_fstate<=sO;—Inserting'else'blocktopreventlatchinferenceELSEreg_f
此文档下载收益归作者所有