EDA技术-VHDL-4.11-用状态机实现序列检测器的设计.doc

EDA技术-VHDL-4.11-用状态机实现序列检测器的设计.doc

ID:57395058

大小:24.00 KB

页数:3页

时间:2020-08-15

EDA技术-VHDL-4.11-用状态机实现序列检测器的设计.doc_第1页
EDA技术-VHDL-4.11-用状态机实现序列检测器的设计.doc_第2页
EDA技术-VHDL-4.11-用状态机实现序列检测器的设计.doc_第3页
资源描述:

《EDA技术-VHDL-4.11-用状态机实现序列检测器的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.11用状态机实现序列检测器的程序设计与仿真1实验目的用状态机实现序列检测器的设计,并对其进行仿真和硬什测试。2实验原理序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到—组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出“I”,否则输出“0”。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。该实验源程序描

2、述的电路完成对序列数“11l00101”的检测,当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出“A”,否则输出“B”。3实验内容(1)用VHDL语言编写序列检测器的源程序。(2)将源程序进行综合、优化及功能仿真,并给出仿真波形,了解控制信号的时序,最后进行引脚锁定并完成硬件测试实验。建议用键7(PIO11)控制复位信号CLR;键6(PI09)控制状态机工作时钟CLK;待检测串行系列数输入DIN接PIO10(左移,最高位在前):指示输出AB接PI039~PI036(显示于数码管6

3、),下载后:①按实验板“系统复位”键:②用键2和键1输入2位十六进制待测序列数“”;③按键7复位(平时数码6指示显“B”):④按键6(CLK)8次,这时若串行输入的8位二进制序列码(显示于数码2/1和发光管D8~D6)与预置码”相同,则数码6应从原来的B变成A,表示序列检测正确,否则仍为B。4实验预习思考(1)说明源程序的代码表达的是什么类型的状态机,它的优点是什么?详述其功能和对序列数检测的逻辑过程。(2)写出由两个主控进程构成的相同功能的符号化Moore型有限状态机,画出状态图,井给出其仿真测试波形。5程序

4、设计与仿真(1)程序设计为此工程新建一个文件夹。启动QuartusⅡ软件工作平台。新建工程设计文件名为SCHK.vhd。在新建的VHDL模型窗口下编写的源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSCHKISPORT(DIN,CLK,CLR:INSTD_LOGIC;--串行输入数据位/工作时钟/复位信号AB:OUTSTD_LOGIC_VECTOR(3DOWNTO0));--检测结果输出ENDSCHK;ARCHITECTUREbehavOFSCHKISSI

5、GNALQ:INTEGERRANGE0TO8;SIGNALD:STD_LOGIC_VECTOR(7DOWNTO0);--8位待检测预置数BEGIND<="";--8位待检测预置数:密码:E5HPROCESS(CLK,CLR)BEGINIFCLR='1'THENQ<=0;ELSIFCLK'EVENTANDCLK='1'THEN--时钟到来时,判断并处理当前输入的位CASEQISWHEN0=>IFDIN=D(7)THENQ<=1;ELSEQ<=0;ENDIF;WHEN1=>IFDIN=D(6)THENQ<=2;EL

6、SEQ<=0;ENDIF;WHEN2=>IFDIN=D(5)THENQ<=3;ELSEQ<=0;ENDIF;WHEN3=>IFDIN=D(4)THENQ<=4;ELSEQ<=0;ENDIF;WHEN4=>IFDIN=D(3)THENQ<=5;ELSEQ<=0;ENDIF;WHEN5=>IFDIN=D(2)THENQ<=6;ELSEQ<=0;ENDIF;WHEN6=>IFDIN=D(1)THENQ<=7;ELSEQ<=0;ENDIF;WHEN7=>IFDIN=D(0)THENQ<=8;ELSEQ<=0;ENDIF

7、;WHENOTHERS=>Q<=0;ENDCASE;ENDIF;ENDPROCESS;PROCESS(Q)--检测结果判断输出BEGINIFQ=8THENAB<="1010";--序列数检测正确,输出"A"ELSEAB<="1011";--序列数检测错误,输出"B"ENDIF;ENDPROCESS;ENDbehav;(2)创建工程及全程编译完成源代码输入后即可创建工程。然后进行全程编译,检查设计程序是否正确。(2)仿真请参照2.1.5节建立波形编辑文件进行功能仿真,仿真结果如图4.11.1所示,从图中的仿真结果

8、可知,输入的待检测的数是,当8位数未检测完成时输出错误结果为1011,当检测完成后,输出为1010,表示检测正确。图4.11.1序列检测器仿真结果6实验报告根据以上的实验内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、硬件测试和详细实验过程。7.实验练习题(3)将8位待检测预置数作为外部输入信号,即可以随时改变序列检测器中的比较数据。写出此程序的符号化单进程有限状态机。提

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。