序列检测器实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七序列检测器实验
一、实验目的
1、掌握序列检测器的工作原理;
2、掌握时序电路的经典设计方法;
3、学习AHDL 语言的状态机的设计方法;
二、原理
代码序列检测器是一种同步时序电路,它用于搜索,检测输入的二进制代码
串中是否出现指定的代码序列,001 序列检测器的原理图如下:
三、实验内容
设计一个 1110010 序列检测器,即检测器连续收到一组串行码“1110010”后,输出检测标志1,否则输出0。
要求用图形输入法完成:
①作状态图和状态表;
②状态化简,建立最简状态表;
③写出状态编码;画出状态编码表;
④建立激励函数,输出函数真值表;
⑤写出激励函数和输出函数表达式;
⑥画出逻辑电路测试图;
⑦逻辑功能仿真,记录仿真波形并加以说明;
⑧下载验证(两种以上的方式)
根据实验要求,得到实验所需要的是八个状态,包括初始状态。
根据实验要求检
现态S 次态/输出 S/Q
D=0 D=1
初始状态 S0 S0 /0 S1/0
接收到1 S1 S0 /0 S2/0
接收到11 S2 S0 /0 S3/0
接收到111 S3 S4 /0 S3/0
接收到1110 S4 S5 /0 S0/0
接收到11100 S5 S0 /0 S6/0
接收到111001 S6 S7 /1 S2/0
接收到1110010 S7 S0 /0 S1/0
确定各种不同状态的的表示并且做出状态表
根据所得到的状态表写出真值表达式
D0*=D0D2’X’+D0D1’D2+D0’D1D2X’
D1*=D0D1D2+D1D2’X+XD0’D1+D0’D2X+D1’D2X
00 01 11 10
00 1
01 1 1
11 1 1
10 1
D2*= D0D2’X’+D0’D2’X+XD0’D1+D1D2X
根据得到的函数方程,画出电路图如下
得到序列波形图
输出一个时钟信号以方便下载的时候能够比较方便的对输入的序列进行调试手动调整输入的序列已达到要求,方便检测。
同时在始终是下跳沿的是后调整输入,这样的话不会出现不能及时的出现z为1时的值
Sel为q[2..0]的输出,通过它的值来选择7个输入的值的有效性,并确定result的值,使清零端有(无)效,以此来得到最后的输出为一还是为0
实验心得:
这次的实验收获颇多,一直没有自己用D触发器设计过元件,但是这次自己设计了一个,虽然在刚刚开始的时候听了同学的讲解,但是最终自己是弄懂了,并会连接和设计,在实验过程中,由于连线很复杂,容易将线结在一起,所以在连线时要尽量的化简,务必使线少一点,整个图清晰明了,然后检验时也会少去许多不必要的麻烦
在对整个设计的进行状态分析时,要选择好做需要的状态过程,并且分析,不然在最后得方程画图时,会出现不了期望的结果。
同时在画真值表时也是一样的,一定要分析好各种不同状态下,该挑选何种1为这一方程的卡诺图中的1,在设计师就不会返工
在最后下载实验时,发现不能很好的控制输入的序列,从而得到想要的值,所以将时钟信号输出,方便实验时对序列的验证。