数字电路中的双稳态、存储器及瞬态行为解析
1. 双稳态及相关存储电路
在数字电子学领域,双稳态和其他存储电路扮演着至关重要的角色。下面将详细介绍几种常见的双稳态及存储电路。
1.1 边缘触发跷跷板
边缘触发跷跷板具有特定的真值表、图标、电路示例和信号转换图(STG)。其真值表展示了不同输入组合下的输出状态,图标直观地表示了该电路的功能,电路示例则给出了实际的电路实现方式,而STG对于描述异步电路和控制器的行为非常有帮助。
| 输入 | 输出 | 说明 |
|---|---|---|
| R=0, S=0 | 保持状态不变 | |
| R=0, S=1 | 进入状态1,“置位” | |
| R=1, S=0 | 进入状态0,“复位” | |
| R=1, S=1 | 不允许(禁止状态) |
1.2 Muller - C元件
Muller - C元件是一种具有一个输出和两个可互换输入的双稳态元件。其输出会立即呈现两个输入一致的值,当两个输入值不同时,输出保持其过去的值。这种行为类似于磁滞现象或多数跷跷板。该元件在低输出时表现得像与门,在高输出时表现得像或门。
Muller - C元件的真值表如下:
| 标准形式 | | | | 带B反相形式 | | | |
| — | — | — | — | — | — | — | — |
| A | B | C | 说明 | A | B | C | 说明 |
| 0 | 0 | 进入状态0,“复位” | | 0 | 0 | 进入状态0,“复位” | |
| 0 | 1 | 保持输出 | | 0 | 1 | 保持输出 | |
| 1 | 0 | 保持输出 | | 1 | 0 | 保持输出 | |
| 1 | 1 | 进入状态1,“置位” | | 1 | 1 | 进入状态1,“置位” | |
由于没有时钟输入,Muller - C元件不适合用于同步设计,但在自定时系统中处理握手信号方面有有用的应用。
mermaid图如下:
graph LR
A --> C
B --> C
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
class A,B,C process
1.3 互斥元件
互斥元件,也称为互锁元件(MUTEX),具有两个对称的输入R1和R2,分别对应输出G1和G2。两个输出永远不会同时激活。在静止状态下,两个输入和输出都处于非激活状态(R1 = R2 = 0,G1 = G2 = 0)。当一个正脉冲到达任一输入时,它会立即传播到相应的输出。如果稍后另一个输入有脉冲到达,它将不会被传递,直到第一个脉冲结束。脉冲按照“先到先服务”的原则传播,除非两个脉冲同时到达,此时电路会随机选择一个通过,而阻止另一个。
互斥元件的真值表如下:
| R1 | R2 | G1 | G2 | 说明 |
| — | — | — | — | — |
| 0 | 0 | 0 | 0 | 等待 |
| 0 | 1 | 0 | 1 | 让R2通过 |
| 1 | 0 | 1 | 0 | 让R1通过 |
| 1 | 1 | 让较早的脉冲通过,同时到达时解决冲突 | | |
互斥元件在仲裁器子电路中起着关键作用,并且在自定时电路中非常有用。
2. 随机存取存储器(RAM)
随机存取存储器(RAM)是用于短期存储大量数据的重要组件。
2.1 RAM的基本结构
RAM本质上由大量共享公共输入/输出或数据端口D的基本二进制存储单元组成。任何访问都必须一次处理一个数据字,地址A用于标识当前正在访问的数据字。例如,一个1 Mi x 4位的RAM以4位为单位接受和返回数据,并需要20位地址来从2^20 = 1 048 576个可用存储位置中选择一个。
2.2 RAM与ROM的区别
RAM与ROM在整体组织上有许多共同特征,例如位单元阵列和地址解码器都由一些布局单元组装而成。但RAM的双稳态存储单元的状态可以在很短的时间内从数据端口改变,并且有一个写使能输入WR/RD来控制双向输入/输出缓冲器的读写操作,这是与ROM的重要区别。
2.3 SRAM和DRAM
目前实现二值存储单元主要有两种技术:
-
静态RAM(SRAM)
:每个数据位通过两个交叉耦合的反相器存储,形成正反馈回路,得到的两个稳定平衡点分别对应逻辑0和1。
-
动态RAM(DRAM)
:通过小电容器上是否存在电荷来反映二进制信息。基本位单元非常简单和小,从而最大化了给定硅片上的存储容量。尽管DRAM的访问时间较长,但由于其每存储位成本低,因此在计算机主存的大众市场中占据主导地位。
无论是SRAM还是DRAM,数据存储都是易失性的,即当电源电压中断时,信息会丢失。为了节省总引脚数,在商用DRAM组件中,地址通常通过单个地址端口进行时分复用。此外,还有一些存储器通过单独的输入和输出端口处理读写传输,以及具有两个独立I/O端口的双端口RAM,允许进行两个并发的读写传输。
3. 逻辑电路的瞬态行为
到目前为止,对逻辑电路的讨论主要集中在稳态条件和开关过程的终点。然而,由于延迟和惯性效应,由晶体管、导线和其他实际组件组成的电路会表现出各种瞬态现象。
3.1 毛刺现象
在实际电路中,二进制信号并不总是以单调斜坡的方式从一个值过渡到另一个值。任何在二进制信号上的短暂或非单调事件都被称为毛刺或险象。瞬态现象有时可以从纯现象学的角度进行分类,即根据观察到的信号波形进行分类。
- 静态险象 :表现为对稳态逻辑值的临时偏离,是对其他信号变化的响应。
- 动态险象 :如果一个信号在最终稳定到与初始值相反的逻辑值之前来回波动,则称为动态险象。
此外,毛刺期间的电压偏移不一定是完整的摆动,还会观察到矮脉冲。矮脉冲是指信号在开始改变(命令)之前,对抗效应(反命令)就开始起作用,从而阻止第一个过渡完成。这种虚假事件如果在逻辑系列的开关阈值附近反转方向,或者在短时间内穿过该阈值然后返回,可能会使电路操作不可预测和不可重现。
3.2 功能险象
功能险象是一种与电路实现无关的机制,仅从逻辑函数本身就能理解。当两个或多个输入同时变化时,最终输出值可以在适当的字段中找到,但中间步骤取决于输入的实际事件顺序。例如,考虑一个Karnaugh图,当输入向量xyz从001变为011时,输出h从1变为0;当输入从001变为000时,输出保持为1。如果输入向量xyz从001变为111,根据变量x或y哪个先切换,中间输入可能是101或011,在第一种情况下输出h始终保持为1,而在第二种情况下输出h会暂时变为0,从而产生静态险象。
功能险象可以用n - 立方体方便地追踪。尽管从理论上讲,如果输入的切换同时且瞬间发生,就不会有中间步骤和功能险象,但由于互连线上和逻辑电路本身的传播延迟不同,实际结果与输入有时间偏移时非常相似。在实践中,功能险象产生的波形从几乎不可察觉的矮脉冲到多个完整的毛刺不等,并且险象的存在有时从输出波形上可能完全看不出来,这种情况有时被称为近险象。
3.3 逻辑险象
逻辑险象与功能险象不同,单个输入变量的切换就足以产生不需要的瞬态。而且,瞬态的出现不能仅从函数本身解释,而是与特定的门级电路结构有关。例如,对于一个实现特定Karnaugh图的电路,当输入向量xyz从101变为001时,由于内部节点的切换延迟不同,输出h会从1经过0再回到1,产生静态险象,这种行为被称为逻辑险象。
逻辑险象可以追溯到重收敛扇出和功能险象的组合。重收敛扇出是逻辑险象的必要但不充分条件。一般来说,多级网络比两级网络更容易产生毛刺,因为多级网络中不同长度的多条路径更有可能共存。虽然可以通过添加冗余硬件来抑制逻辑险象,但这种方法在VLSI设计中不被推荐,因为冗余逻辑几乎无法测试,并且会导致多余的开关活动。
综上所述,组合逻辑中的瞬态现象表明,险象可能会也可能不会导致毛刺的出现,而组合电路在两个或多个输入变量同时变化,或者电路包含重收敛扇出且一个或多个输入变化时,容易产生险象。几乎所有能够进行某种计算的逻辑网络都可能产生险象和毛刺。
数字电路中的双稳态、存储器及瞬态行为解析(续)
4. 瞬态现象总结
在前面的内容中,我们详细探讨了组合逻辑电路中的各种瞬态现象,下面对这些现象进行总结和进一步分析。
4.1 险象与毛刺的关系
通过对各种险象的分析,可以得出以下重要观察:
-
Observation A.12
:险象可能会也可能不会引发毛刺,毛刺是在逻辑和更高抽象层次上不希望出现且未被考虑的额外信号事件。一个险象是否会实际表现为轨到轨脉冲、矮脉冲,或者根本不表现出来,取决于多种因素,包括电路结构、门和互连延迟、负载条件、布线寄生效应、布局安排、工作条件(PTV)、片上变化(OCV)以及其他相对次要的实现细节。
-
Observation A.13
:一个组合电路容易产生险象的情况有两种:一是两个或多个输入变量同时变化;二是电路包含重收敛扇出且一个或多个输入变化。
这意味着,几乎所有具有一定计算能力的数字电路都可能存在险象和毛刺问题,这对于数字电路的设计和可靠性提出了挑战。
4.2 险象和毛刺的影响
险象和毛刺可能会对数字电路的正常运行产生严重影响。例如,毛刺可能会导致电路输出错误的结果,使得系统的稳定性和可靠性降低。在一些对信号准确性要求极高的应用中,如航空航天、医疗设备等领域,险象和毛刺可能会引发严重的后果。
为了更直观地理解险象和毛刺的影响,我们可以看一个简单的表格:
| 险象类型 | 可能导致的毛刺情况 | 对电路的影响 |
| — | — | — |
| 静态险象 | 可能产生短暂的电压偏移,出现矮脉冲或小毛刺 | 可能导致输出逻辑值错误,影响后续电路的正常工作 |
| 动态险象 | 信号来回波动,可能产生较大的毛刺 | 严重影响电路的稳定性,可能导致系统崩溃 |
| 功能险象 | 波形从矮脉冲到多个完整毛刺不等,甚至可能不明显 | 增加了电路设计和调试的难度,降低了系统的可靠性 |
| 逻辑险象 | 与电路结构和延迟有关,可能产生各种毛刺 | 影响电路的正常功能,增加功耗和噪声 |
4.3 应对险象和毛刺的策略
虽然险象和毛刺在数字电路中普遍存在,但可以采取一些策略来减少它们的影响:
-
优化电路设计
:尽量避免使用容易产生险象的电路结构,例如减少重收敛扇出的使用。在设计多级网络时,要仔细考虑信号的传播路径和延迟,确保信号的同步性。
-
增加缓冲器和延迟元件
:通过增加缓冲器和延迟元件,可以调整信号的传播时间,减少信号之间的竞争和冒险。
-
使用滤波技术
:在电路中添加滤波器可以去除毛刺和噪声,提高信号的质量。例如,使用低通滤波器可以去除高频毛刺。
-
进行时序分析
:在设计过程中,进行详细的时序分析,确保电路在各种工作条件下都能正常工作。通过时序分析,可以发现潜在的险象和毛刺问题,并及时进行调整。
5. 实际应用中的考虑
在实际的数字电路设计和应用中,需要综合考虑各种因素,以确保电路的可靠性和性能。
5.1 不同类型存储器的选择
在选择随机存取存储器(RAM)时,需要根据具体的应用需求来决定使用SRAM还是DRAM。
-
SRAM
:适用于对速度要求较高、对成本不太敏感的应用,如高速缓存、寄存器文件等。由于SRAM的访问速度快,不需要刷新操作,因此可以提高系统的性能。
-
DRAM
:适用于对存储容量要求较大、对成本较为敏感的应用,如计算机主存、移动设备的内存等。虽然DRAM的访问速度相对较慢,但由于其每存储位成本低,可以提供更大的存储容量。
下面是一个简单的对比表格:
| 存储器类型 | 优点 | 缺点 | 适用场景 |
| — | — | — | — |
| SRAM | 访问速度快,不需要刷新操作 | 成本高,集成度低 | 高速缓存、寄存器文件等 |
| DRAM | 每存储位成本低,集成度高 | 访问速度慢,需要刷新操作 | 计算机主存、移动设备内存等 |
5.2 瞬态行为对系统性能的影响
在设计数字系统时,需要充分考虑瞬态行为对系统性能的影响。例如,在高速数字电路中,毛刺和险象可能会导致信号失真,影响数据的传输和处理。为了减少瞬态行为的影响,可以采取以下措施:
-
合理布局布线
:优化电路的布局和布线,减少信号之间的干扰和延迟。例如,将敏感信号与噪声源分开,缩短信号的传播路径。
-
选择合适的元件
:选择具有良好性能的元件,如低延迟的晶体管、低噪声的放大器等。这些元件可以减少信号的失真和噪声,提高系统的性能。
-
进行仿真和测试
:在设计过程中,进行充分的仿真和测试,验证电路的性能和可靠性。通过仿真和测试,可以发现潜在的问题,并及时进行调整。
mermaid图如下:
graph LR
A[数字系统设计] --> B[考虑瞬态行为]
B --> C[合理布局布线]
B --> D[选择合适元件]
B --> E[进行仿真和测试]
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
class A,B,C,D,E process
6. 总结
本文详细介绍了数字电路中的双稳态及相关存储电路、随机存取存储器(RAM)以及逻辑电路的瞬态行为。双稳态电路如边缘触发跷跷板、Muller - C元件和互斥元件在数字电路中有着重要的应用,它们各自具有独特的功能和特点。RAM作为短期存储大量数据的重要组件,分为SRAM和DRAM两种类型,它们在性能和成本上各有优劣。
逻辑电路的瞬态行为是数字电路设计中需要重点关注的问题,包括毛刺、功能险象和逻辑险象等。这些瞬态现象可能会对电路的正常运行产生严重影响,需要采取相应的策略来减少它们的影响。在实际应用中,需要根据具体的需求选择合适的存储器和设计方法,以确保数字系统的可靠性和性能。
总之,深入理解数字电路中的这些概念和现象,对于数字电路的设计、调试和优化具有重要的意义。通过合理的设计和有效的措施,可以提高数字系统的性能和可靠性,满足各种应用的需求。
超级会员免费看
12万+

被折叠的 条评论
为什么被折叠?



