D触发器是一种基本的逻辑电路,其功能基于CP(时钟信号)控制电路状态的翻转。当CP有效时,触发器状态会发生变化,这个变化由D(Data)输入决定。
现态($Q^n$)是CP到来前的状态,而次态($Q^{n+1}$)则是CP有效后的状态。其逻辑符号和特性方程详细描述了输入和输出之间的关系。直接置1($\bar{S}{D}=0$, $\bar{R}{D}=1$)和清零($\bar{S}{\mathrm{D}}=1$, $\bar{R}{\mathrm{D}}=0$)操作是异步的,与CP信号无关。
有同步清零输入的D触发器需要在CP的上升沿与清零信号同步进行状态更新。此外,D触发器还可能带有使能端,以控制状态的更新。例如,D3触发器在电路建模时可以通过Verilog HDL实现,如边沿D触发器的异步和同步操作,以及2分频和计数器电路的设计。
在具体应用中,异步输入端D触发器的建模可以通过连续赋值语句或功能描述风格的always-if-else结构来完成。计数器电路则展示了如何通过时钟脉冲控制状态的递增计数,如4位二进制递增计数器。
所有这些电路设计和建模的细节,都可在公众号【AIShareLab】和Github仓库【hardware-tutorial】中找到更多资源。