59 lines
3.3 KiB
TeX
59 lines
3.3 KiB
TeX
\documentclass[实验报告模板]{subfiles}
|
||
|
||
\renewcommand{\mydate}{2023/12/7}
|
||
\renewcommand{\mychapternum}{6}
|
||
|
||
\begin{document}
|
||
\mytitle
|
||
\begin{enumerate}
|
||
\myitem{实验目的}{
|
||
\item 掌握 Mealy 型时序电路设计方法。
|
||
\item 验证所设计电路的逻辑功能。
|
||
\item 体会状态分配对电路复杂性的影响。
|
||
}
|
||
\myitem{实验内容及步骤}{
|
||
\item 设计一同步序列检测器,当输入序号为 1001 时,输出一个“1”即
|
||
输入 X 序列为 0100110011……
|
||
输出 Y 序列为 0000100010……
|
||
选用 D 触发器,做这个实验。
|
||
}
|
||
\myitem{实验原理}{
|
||
\item
|
||
|
||
\begin{zhongwen}
|
||
若采用米利模型,则需要4个状态,分别为:$S_0$无输入、$S_1$输入1、$S_2$输入10、$S_3$输入100这几个状态。则可以画出状态转换图如下:
|
||
\begin{figure}[H]
|
||
\includexopp[1.8]{6.1.1}
|
||
\caption{状态转换图(米利模型)}
|
||
\end{figure}
|
||
|
||
好像也不用画状态转换图,下面我们来证明检测长度为$n$的序列的同步序列检测器至少有$n$个状态。
|
||
\begin{proof}
|
||
|
||
这里用米利模型举例,摩尔模型一般状态比米利模型多(猜测可能是至少$n+1$个状态,待证)。
|
||
|
||
$\forall i = 0, 1, \ldots , n-1$,设$S_i$表示已经正确检测了序列的前$i$个位的状态(可能存在等价状态),那么只有$S_{n-1}$在下一次转换时可能输出$1$(第$n$位也正确时),其余状态在下一次转换时均只能输出$0$,也就是说$S_{n-1}$与其他状态均不等价。
|
||
|
||
对于$\forall S_j,S_k \in \{ S_i \ |\ i = 0,1, \ldots ,n-1\}$ $(j<k)$ ,若$S_j$和$S_k$等价,那么经过相同的输入后这两个状态应转换到相同的状态或等价的状态。那么对于$S_j$和$S_k$,将序列的后$n-k-1$位作为输入,此时$S_k$应转换到$S_{n-1}$,而$S_j$转换到$S_{j+n-1-k}$。因为$j+n-1-k<n-1$,所以$S_{j+n-1-k}$与$S_{n-1}$必定不等价,则$S_j$与$S_k$也必定不等价,产生矛盾。
|
||
|
||
所以$\{ S_i\ |\ i=0,1, \ldots ,n-1 \}$中的状态均不等价,于是此同步序列检测器至少有$n$个状态。
|
||
|
||
\end{proof}
|
||
|
||
因此检测1001序列最少需要4个状态,而状态编码也不需要仔细调整,因为只有一个状态可能会在转换到次态时输出1,同时状态的转换可以直接使用移位寄存器,所以可以直接画出逻辑电路图如下:
|
||
|
||
图中$X$代表输入,$CP$代表时钟信号,$Y$代表输出。
|
||
\begin{figure}[H]
|
||
\includexopp[1.5]{6.1.2}
|
||
\caption{米利模型}
|
||
\end{figure}
|
||
\begin{figure}[H]
|
||
\includexopp[1.5]{6.1.3}
|
||
\caption{摩尔模型}
|
||
\end{figure}
|
||
|
||
这样的逻辑电路会在输入$1001001$时输出两次1,题目中也未说明这样的情况,就认为这样是对的吧。
|
||
\end{zhongwen}
|
||
}
|
||
\end{enumerate}
|
||
\end{document} |