时序电路设计示例
在数字系统的设计中,时序电路是非常重要的一部分。几乎每个实际的数字系统都是一个时序电路,只要有一个反馈回路、锁存器或触发器,就可以使电路的当前行为依赖于其过去的输入。
1. 设计方法的演变
早期的数字设计师,以及 20 世纪 80 年代的许多设计师,都是手动编写状态表,并使用综合方法来构建相应的电路。但如今,大多数状态表都是使用硬件描述语言(HDL)来指定的,如 ABEL、VHDL 或 Verilog。HDL 编译器会执行与传统综合方法等效的操作,并将指定的机器实现在 PLD、CPLD、FPGA、ASIC 或其他目标技术中。
2. ABEL 和 PLD 的设计示例
2.1 设计优势
使用 ABEL 和 PLD 进行设计有两个主要优势:
- 不必过于担心最终激励方程的复杂性,只要它们能适合 PLD 即可。
- 可以利用 ABEL 语言的特性,使设计更易于表达和理解。
2.2 PLD 状态机的时序和封装
PLD 状态机的设计通常会受到单个 PLD 中可用输入和输出引脚数量的限制。以下是一些相关的时序和封装特点:
- 时序参数 :tCO 是触发器时钟到输出的延迟,tPD 是通过与 - 或阵列的延迟。
- 输出类型 :
- 状态变量分配给寄存器输出,在 CLOCK 上升沿后的 tCO 时间稳定。
- Mealy 型输出分配给组合输出,在任何影响它们的输入变化后的 tPD 时间稳定。在状态变化后,Mealy 型输出也可能改变,此时它们在 CLOCK