数字IC秋招准备知识点—1
时序逻辑与组合逻辑
1. 定义与核心原理
-
组合逻辑:
- 输入决定输出:当前的输出仅由输入决定,无记忆功能。
- 无反馈回路
- 示例:基本逻辑单元,加法器,多路选择器MUX,译码器,比较器
-
时序逻辑
- 输入+历史状态——>输出:输出依赖当前输入和电路的历史状态(通过存储单元保存)
- 包含反馈回路:通过触发器Flip-Flop,锁存器等存储元件实现状态记忆
- 示例:计数器,状态机,存储器,寄存器
2. 关键区别
特性 | 组合逻辑 | 时序逻辑 |
---|---|---|
存储功能 | 无存储元件 | 包含触发器、寄存器等存储元件 |
时钟信号 | 无需时钟 | 依赖时钟信号控制状态更新 |
输出响应 | 输入变化后立即响应(存在传播延迟) | 在时钟边沿(如上升沿/下降沿)更新状态 |
反馈路径 | 无 | 有(通过存储元件反馈) |
设计复杂度 | 相对简单 | 较复杂(需考虑时序约束、亚稳态等) |
3.时序特性
-
组合逻辑
- 传播延迟:输入变化到输出稳定的时间差,可能会出现竞争冒险
- 无时序约束:无需考虑时钟同步问题,但需优化逻辑门延迟
-
时序逻辑
- 时钟周期约束:状态更新需满足建立时间和保持时间
- 同步/异步设计:同步设计依赖统一时钟;异步设计依赖事件触发,易产生亚稳态。
竞争冒险
-
竞争:多个信号同时变化时,由于电路上的路径差异导致信号在到达同一逻辑门的时间上有不同,从而引起输出不稳定。通常发生在组合逻辑
-
冒险:由于竞争而引起电路输出发生错误瞬态,毛刺。
如何消除:
-
修改逻辑设计,去除互补逻辑变量和增加冗余项
-
使用同步电路
-
使用格雷码每次只用一位跳变,消除竞争冒险产生的条件。
建立时间/保持时间
建立时间就是触发器时钟信号上升沿来临之前,数据需要保持稳定的最小时间,以便数据能够被时钟正确的采样。
保持时间就是触发器时钟信号上升沿来临之后,数据需要保持稳定的最小时间,以便数据能够被电路准确的传输。
不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定。
触发器真值表
T触发器真值表
T触发器是一种特殊的触发器,其输出状态取决于输入T和时钟脉冲CP。当T为“1”时,在时钟脉冲的作用下,输出Q的状态会翻转(即变为前一状态的相反值);当T为“0”时,输出Q的状态保持不变。其真值表可以表示为:
T | CP | Q(n) | Q(n+1) |
---|---|---|---|
0 | X | Q | Q |
1 | ↑ | 0 | 1 |
1 | ↑ | 1 | 0 |
T触发器的特征方程为:Q = T⨁Q*
注:CP的“↑”表示时钟脉冲的上升沿。
RS触发器真值表
RS触发器是最基本的一种触发器,具有**置位(Set)、复位(Reset)和保持(Hold)**三种功能。其真值表可以表示为:
R | S | Q(n) | Q(n+1) |
---|---|---|---|
0 | 0 | X | Q |
0 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | X | 不定 |
RS触发器特性方程:Q = SQ’ + R’Q*
注:X表示任意值,不定表示在R和S同时为1的情况下,触发器的状态是不确定的,可能会导致触发器进入亚稳态。
D触发器真值表
D触发器是一种具有数据输入端的触发器,其输出状态在时钟脉冲的上升沿或下降沿跟随数据输入D的状态。其真值表可以表示为:
CLK | D | Q(n) | Q(n+1) |
---|---|---|---|
↑ | 0 | X | 0 |
↑ | 1 | X | 1 |
D触发器的特征方程:Q = D*
注:CLK的“↑”表示时钟脉冲的上升沿。在CLK为上升沿时,D触发器的输出Q(n+1)会跟随D的状态。
JK触发器真值表
JK触发器是一种功能更为强大的触发器,具有保持、复位、置位和切换四种功能。其真值表可以表示为:
J | K | Q(n) | Q(n+1) | 功能说明 |
---|---|---|---|---|
0 | 0 | X | Q(n) | 保持 |
0 | 1 | 0 | 0 | 置0 |
1 | 0 | 0 | 1 | 置1 |
1 | 1 | 0 | 1 | 翻转 |
JK触发器特征方程:Q = JQ’ + K’Q*
(JK触发器输入悬空,相当于1)
注:Q(n)表示当前状态,Q(n+1)表示下一个状态。在J和K同时为1时,触发器的状态会在其当前状态及其补码之间切换。
门元件
计数器
环形计数器
N个寄存器构成的环形计数器,状态数:N
扭环形计数器
N个寄存器构成的扭环形计数器,状态数:2N
CPLD与FPGA区别
CPLD(复杂可编程逻辑器件)与FPGA(现场可编程门阵列)在工艺、成本、集成度等方面有以下区别:
1. 工艺
- CPLD:采用EEPROM或Flash工艺,非易失性,断电后配置信息保留。
- FPGA:通常使用SRAM工艺,易失性,断电后配置信息丢失,需外部存储器。
2. 成本
- CPLD:结构简单,成本较低,适合小规模设计。
- FPGA:结构复杂,成本较高,适合大规模设计。
3. 集成度
- CPLD:集成度较低,逻辑单元少,适合简单逻辑控制。
- FPGA:集成度高,逻辑单元多,适合复杂设计。
4. 性能
- CPLD:延迟固定,适合对时序要求严格的应用。
- FPGA:延迟可变,适合高性能、并行处理的应用。
5. 功耗
- CPLD:功耗较低,适合低功耗场景。
- FPGA:功耗较高,尤其在高性能应用中。
6. 开发工具
- CPLD:开发工具简单,设计周期短。
- FPGA:开发工具复杂,设计周期长。
7. 应用场景
- CPLD:适合简单逻辑控制、接口转换等。
- FPGA:适合复杂算法、高速数据处理等。
总结
- CPLD:成本低、功耗低、集成度低,适合简单设计。
- FPGA:成本高、功耗高、集成度高,适合复杂设计。
。
- FPGA:开发工具复杂,设计周期长。
7. 应用场景
- CPLD:适合简单逻辑控制、接口转换等。
- FPGA:适合复杂算法、高速数据处理等。
总结
- CPLD:成本低、功耗低、集成度低,适合简单设计。
- FPGA:成本高、功耗高、集成度高,适合复杂设计。