📜  RTL(寄存器传输级)设计与顺序逻辑设计

📅  最后修改于: 2021-09-16 10:45:16             🧑  作者: Mango

在本文中,我们尝试解释寄存器传输级 (RTL) 设计和顺序逻辑设计之间的根本区别。

RTL 设计方法中,不同类型的寄存器,如计数器、移位寄存器、SIPO(串行输入并行输出)、PISO(并行输入串行输出)被用作任何顺序逻辑电路的基本构建块。

另一方面,同步顺序逻辑设计方法使用不同的逻辑门和不同的存储器元件(例如触发器)(以随时存储电路状态)作为顺序逻辑电路的基本构建块。

使用状态图的同步顺序逻辑设计过程及其缺点在以下示例中说明:

假设我们要设计一个 2 位同步二进制向上计数器,其计数序列为:

00 -> 01 -> 10 -> 11 -> 00 -> 01 -> ..... so on.
  1. 步骤 1:在第一步中,我们绘制表示上述时序电路的状态图。
    代表上述计数器的状态图如下所示:

    图 – 2 位 UP 计数器的状态图

  2. 步骤 2:在下一步中,我们从上面给出的状态图中导出状态表

    状态表如下:

    Present State Q(n) Next State Q(n+1) Output
    00 01 01
    01 10 10
    10 11 11
    11 00 00

  3. 步骤 3:在第三步中,我们需要选择用于存储电路状态的触发器类型,为简单起见,我们将考虑正沿触发 D 型触发器。我们还需要以确定代表电路内部状态所需的触发器数量。所需触发器数量的通用公式:

    触发器总数 =  \lceil log_2 N \rceil 其中,N = 状态表中的状态总数

    然后我们需要记下所选触发器的激励表。 D型触发器的励磁表如下所示:

    Present State Q(n) Next State Q(n+1) D
    X 0 0
    X 1 1

  4. 步骤 4:在这一步中,我们将第 2 步的状态表与上一步的激励表组合如下:

     Q_A (n)  Q_B (n)  Q_A (n+1)  Q_B (n+1)  D_A  D_B
    0 0 0 1 0 1
    0 1 1 0 1 0
    1 0 1 1 1 1
    1 1 0 0 0 0

  5. Step-5:接下来,我们尝试从上表中表达 D_A, D_B作为布尔函数Q_A (n), Q_B (n) .

    在这种情况下,两者的表达式D_A, D_B是微不足道的。

    D_A = Q_A \oplus Q_B \hspace{2.5cm}       D_B = \overline Q_B

    最终的时序电路如下图所示:

    图 –最终电路

上述过程的缺点:

  • 从上面的例子中,我们观察到同步顺序逻辑设计过程是一个相当复杂的过程,即使对于像上面这样的简单电路,我们也需要经过一系列明确定义的步骤。
  • 其次,如果状态数量变大,那么这个过程就会变得繁琐和耗时,有时甚至是不可能的。

为了解决顺序逻辑设计过程的上述缺点并使数字设计师能够轻松设计更高复杂性的电路,引入了 RTL 设计方法。 RTL 设计最流行的例子是处理器,它只不过是一个非常复杂的有限状态机,具有非常多的状态。

RTL设计和顺序逻辑设计之间的主要区别总结如下:

RTL Design Sequential Logic Design
In RTL Design the basic building blocks are registers, Multiplexers, Adders. In Sequential Logic Design the basic building blocks are the Logic Gates, Flip-Flops.
RTL Design is much closer to the Behavioural Design of a Logic Circuit as it models the data flow among different registers, and hence is much more intuitive. Sequential Logic Design process is more mechanical in nature as compared to RTL design process
Finally, RTL Modelling allows us to synthesize complex circuits with a large number of States with much more ease as compared to Sequential Logic Design. The Sequential Logic Design techniques are only applicable to circuits having a small number of states.