数字电子技术基础

官方工学老师·46 页·深入(追求细节与边界)·0 次浏览·2 天前
计数器设计TTL芯片任意进制同步异步

任意进制计数器

看懂 74160/74161 改接套路,独立设计任意 N 进制计数器

按 空格/→ 演示下一步

1 / 46 页

全部页面点击任意一页,跳回舞台从这页播放

计数器设计TTL芯片任意进制同步异步

任意进制计数器

看懂 74160/74161 改接套路,独立设计任意 N 进制计数器

1第 1 页 · 任意进制计数器

计数器构成的核心原理

上一页我们看了任意进制计数器的三种实现——复位法、置数法、级联法,外形各异。但剥掉外壳,它们的灵魂都一样:一个有限状态机。今天钻进去,看模N的本质。

状态环
N 个有效状态首尾相接成有向环——不是直线,是闭合圈;末尾状态 N-1 与首状态 0 直接相邻
单位递增
每来一个 CP,状态沿环顺时针走一格;转移函数恒为 +1 mod N,没有例外
自动回零
到达 N-1 后,下一个 CP 把触发器全部拉回 0——是自然回卷,不是异常;状态空间被精确收敛到 N 个点
环大即模
"模 N"的 N 就是环上的节点数;改 N 就改环的大小,与编码方式无关
回转寿司传送带对应 →模 N 计数器的状态环

传送带上 N 个固定餐位绕一圈回到起点——餐位编号即状态,前进一格即 +1 转移,转完 N 格自动归位

Sn+1(Sn+1)(modN)S_{n+1} \equiv (S_n + 1) \pmod{N}
2第 2 页 · 计数器构成的核心原理

构成方法概述

根据目标进制 N 与现成芯片模数 M 的比较结果,选取完全不同的构成路径。

1
确定 N
明确目标计数器需要的状态总数(进制数)
2
选定 M
选用现成计数芯片固有的模数(如 74LS161 的 M=16)
3
比较 N 与 M
判断 N>M 还是 N<M,确定走哪条分支
4
选择策略
N>M 用多片级联扩位,N<M 用反馈清零或置数跳越
5
验证时序
核查进位、复位/置数信号的配合与毛刺问题
3第 3 页 · 构成方法概述

举例:N>M(置零法)

以60进制计数器为例:两片74LS161级联后总容量256远超目标模数60,须用置零法把自然计数序列截断在0~59。

1
需求分析
目标模数M=60(0~59循环);单片74LS161仅16状态,必须级联
2
芯片级联
选两片74LS161,低位Q0~Q3作个位、高位Q4~Q7作十位
3
进位连接
低位RCO接高位ENT,同一时钟驱动;低位满15回0时高位加1
4
反馈置零
检测60=00111100,Q5·Q4·Q3·Q2经与非门产生异步清零脉冲
5
边界验证
确认60为瞬态、计数稳定在0~59、无毛刺与亚稳态风险
4第 4 页 · 举例:N>M(置零法)

N>M电路时序分析

沿时间轴看时钟、计数器、置零三方的接力:CLK 推计数 → 计数器进入 1010 → RST 拉高 → 异步清零。

图解渲染中…
Q4位计数器当前状态,0~1001 是稳定态RQ3·Q1=1 时拉高,触发异步清零C时钟源,第10个上升沿是临界点
5第 5 页 · N>M电路时序分析

举例:N<M(级联法)

目标模数 M 大于单片模数 N 时,把 k 片同模计数器级联起来扩展。

1
分解目标模数
把目标 M 拆成 k 位,每位单独用一片 N 进制计数器实现
2
计算所需片数
由 N^k ≥ M 反推出最少片数 k,保证总容量够用
3
进位串行连接
低位片进位输出驱动高位片时钟,低位满量程时高位加 1
4
校验总模数
整体模数为 N^k,确认 M 在 [0, N^k−1] 范围内被覆盖
6第 6 页 · 举例:N<M(级联法)

N<M级联连接图

信号从左向右流:低位计满溢出,进位CO作为高位时钟CLK的触发源。

图解渲染中…
b1低位片,单独可计M个状态b2高位片,靠低位进位触发计数进位CO低位计满瞬间产生的正脉冲
7第 7 页 · N<M级联连接图

计数器应用场景概览

前两节我们解决了「怎么搭」——任意进制、级联都搞定了。但计数器到底用来干什么?三个最经典的场景:分频、定时、顺序控制,本质都基于「数脉冲」这一个能力。

分频
利用计数器特定位输出,频率降为时钟的 1/N;常见于波特率发生、时钟树
定时
数够指定个脉冲 = 一段固定时长;看门狗、延时、秒表都靠它
顺序控制
不同计数状态触发不同动作;红绿灯、洗衣机工序、工业流水线都基于此
跑步圈数计数对应 →计数器三大应用

每跑一圈+1;可测配速(分频)、跑够N圈收工(定时)、第几圈对应补给站(顺序)

$f_{out}=\dfrac{f_{clk}}{2^n}$
8第 8 页 · 计数器应用场景概览

分频器设计实例

用决策流程展示如何从输入时钟fn得到任意整数分频输出,先判断M是否为2的幂,再选择直通路径或计数器路径。

图解渲染中…
B2二进制计数器末级Qn本身就是2^n分频输出B6计数器从满量程回到0的瞬间产生溢出脉冲B4门控复位结构,适用于模数M≤2^n的情况B5多个小模数计数器级联,适用于M很大的场合
9第 9 页 · 分频器设计实例

计数器实现序列发生器

python

用 Python 仿真:模6计数器 + 与或非门,输出 001011 循环序列。

代码高亮加载中…

真值表把序列变成 Q→F 映射;卡诺图利用 m6、m7 不出现作约束项化简;计数器提供时序、组合逻辑产生输出——任意长度序列都可用此套路生成。

10第 10 页 · 计数器实现序列发生器

设计流程总览

序列检测器或计数器的完整设计,从需求到电路共过这六道关。

1
画状态转换图
列出输入输出与状态对应关系,明确每个状态在什么输入下跳到哪里
2
状态化简
合并等价状态,去掉多余圈,减少触发器数量
3
状态编码
给每个状态分配二进制码,常用相邻编码减少组合逻辑
4
触发器选型
根据状态数定触发器个数,挑D/JK/T类型影响次态方程
5
求方程
画卡诺图求驱动方程与输出方程,列状态方程验证
6
画电路
按驱动方程接触发器,加组合门和输出,画时序图自检
11第 11 页 · 设计流程总览

第一步:建立状态转换图

先把功能需求翻译成可检查的状态转换图,明确每个状态在各种输入下的唯一去向。

1
提取条件
拆出模数、计数范围、输入、输出及边界行为
2
排列状态
按计数顺序列出有效状态并确定初始状态
3
连接转移
逐状态画出各控制条件下的下一状态
4
处理边界
补画末态回零、保持、置位等特殊路径
5
检查完备
遍历状态与输入,修正遗漏或无去向分支
12第 12 页 · 第一步:建立状态转换图

状态化简方法

上一步我们画出了完整的状态转换图,但里面可能有「看起来不同、其实一样」的节点。类比整理通讯录:重复联系人要合并;状态化简就是把功能重复的状态合并,以减少触发器数量。

等价状态
对所有输入序列,输出序列相同且次态也等价的两个状态
可合并原则
等价的两状态可合并为一个,合并后电路输入输出行为不变
等价具有传递性
A≡B 且 B≡C 则 A≡C;判次态等价还需递归往下查
完全确定状态表
列出每个现态在所有输入下的输出与次态,是判等价的依据
通讯录重复联系人对应 →等价状态合并

两人无论何时打电话都是同一人接→输出相同;朋友圈互相认识→次态等价

13第 13 页 · 状态化简方法

状态编码策略

从化简后的n个状态出发,先列三种编码的硬件开销,再按场景决定取舍。

图解渲染中…
f1独热码:每状态独占1个触发器,共需n个g1二进制码:共需⌈log₂n⌉个触发器,密度最高h1格雷码:触发器数同二进制,但相邻状态只变1位
14第 14 页 · 状态编码策略

触发器选型与方程求解

从状态转换表到具体电路,核心是选定触发器类型并推出它的驱动方程。

1
选定触发器类型
依据状态数、功能需求与成本,在 D、JK、T 中选定
2
列状态转换真值表
对每个现态列出对应次态 Q*,作为求解驱动的输入
3
查激励表求驱动
按所选触发器激励表,确定每个转移所需的输入信号
4
卡诺图化简
把驱动信号当输出,用卡诺图化简得到最简激励方程
5
校验自启动
检查未列出状态能否进入主循环,整理无效状态约束
15第 15 页 · 触发器选型与方程求解

设计举例:序列检测器

verilog

用Verilog把上一页的状态转换表与触发器方程落到代码,看清方程如何映射成HDL

代码高亮加载中…

L11 状态编码与编码表一致;L18 用D触发器实现状态寄存器;L24-L34 是次态卡诺图化简后的组合逻辑;L32 实现允许重叠回到S1;L37 是Mealy输出 y=Q1Q0x

16第 16 页 · 设计举例:序列检测器

动态特性分析的意义

前面我们把状态表变成了电路,逻辑推导看似完美。但请记住一个事实:逻辑正确≠电路在真实时钟下能跑起来。

静态分析的盲点
只看输出是否符合真值表,不问信号何时到达
时序参数四要素
tco、tpd、tsu、th 共同决定数据能否被正确采样
建立时间裕量
Tclk ≥ tco + tpd + tsu 决定电路的最高工作频率
违例后的故障
亚稳态、漏计、错计——仿真无报错,实测才暴露
接力赛传接棒对应 →数字电路时序裕量

跑者反应=tco,棒飞行=tpd,接棒准备=tsu,掉棒=建立时间违例

$$T_{clk} \geq t_{co} + t_{pd} + t_{su}, \quad t_{co} + t_{pd} \geq t_h$$
17第 17 页 · 动态特性分析的意义

建立时间与保持时间

以CLK上升沿为锚点,看数据D在边沿前后必须保持稳定的两个时序窗口。

图解渲染中…
a2建立时间t_su:数据必须提前就绪的最短时长a4保持时间t_h:采样后数据继续维持的最短时长a3采样点:CLK↑瞬间D被锁存到输出Q
18第 18 页 · 建立时间与保持时间

传输延迟特性

沿一次时钟边沿到输出稳定,信号走过的整条时间链路——这就是计数器最高工作频率的硬约束。

图解渲染中…
a3FF 输出固有延迟,典型 1~10 nsa4进位链或反馈网络,同步计数器中往往最长a6数据必须早于此约束稳定,详见建立时间页
19第 19 页 · 传输延迟特性

时序路径分析

上一页我们看到每个门都有自己的延迟。但电路实际跑多快,不由单门决定——信号要穿过整条路径才能落到下一级触发器。这就像接力赛,总成绩看的是最慢那一棒,而不是平均速度。

时序路径
上一级触发器Q端到下一级触发器D端之间的组合逻辑通路
路径延迟组成
时钟到输出 t_CO + 组合逻辑延迟 t_pd + 建立时间 t_su
最长路径即关键路径
所有路径中延迟最大的那条,决定时钟周期的下限
最高工作频率
f_max = 1 / T_min,T_min 由最长路径的总延迟决定
接力赛跑对应 →时序路径分析

总成绩=各棒用时之和,最慢一棒决定上限;路径求和找最大值同理

TclktCO+tpd,max+tsuT_{clk} \geq t_{CO} + t_{pd,\max} + t_{su}
20第 20 页 · 时序路径分析
触发器时序电路动态特性状态存储

半导体存储器

掌握触发器原理与动态时序约束,构建可靠的数字记忆

21第 21 页 · 半导体存储器

存储器的本质结构

上一讲我们认识了半导体存储器的两大族群——ROM 与 RAM。这一页要拆开它们的「骨架」,看任何存储器内部都绕不开的三块基石。

地址译码
n 位地址经译码产生 2^n 条选通线,唯一选中目标单元
存储矩阵
存储单元按行×列组织,被选通的交叉点即为访问目标
读写控制
WE/OE 等控制信号决定数据线方向,控制当前是写入还是读出
三角协作
地址决定访问谁、矩阵决定存哪、控制决定读写,三者缺一不可
快递柜系统对应 →存储器三角架构

柜号=地址,柜格矩阵=存储阵列,存取动作=读写控制

存储容量=2n(n 为地址位数)\text{存储容量} = 2^n \quad (n \text{ 为地址位数})
22第 22 页 · 存储器的本质结构

存储器分类总览

同样是"存储器",RAM 和 ROM 名字像、用途却截然不同——核心区别在"数据能不能改、掉电还在不在"。

RAM
  • 数据可读可写,随意修改
  • 掉电后数据全部丢失(易失)
  • 速度极快,做运行内存
  • 典型:SRAM、DRAM
ROM
  • 数据写入后一般只读
  • 掉电后数据依然保存(非易失)
  • 速度较慢,做程序存储
  • 典型:PROM、EPROM、Flash
RAM 适合频繁改写的运行场景,ROM 适合固化程序与长期保存——选谁取决于"是否需要持久化"。
23第 23 页 · 存储器分类总览

存储器内部结构框图

地址译码选单元,读写控方向,I/O管数据进出。

图解渲染中…
dec把地址码翻译成行/列选通信号mat二维阵列,每格存1bit数据io决定读/写方向,控制数据进出rw外部读写控制信号输入
24第 24 页 · 存储器内部结构框图

ROM基本结构

ROM由译码器和或门阵列构成:地址经译码选中唯一字线,再由或阵列汇总为各输出位。

图解渲染中…
Bn位地址译出2^n条字线,任一时刻仅一条为有效C字线与输出位的固定连线即ROM所存内容D每个输出位是被选字线的或运算结果
25第 25 页 · ROM基本结构

ROM工作原理

ROM 读一次数据,从地址送到数据线上要经过四步,每步对应一套独立硬件。

1
地址输入
n 位地址码送入,决定访问 2^n 个单元中的哪一个
2
行选通
行译码器按地址高位激活唯一字线,整行位元同时被读出
3
列选通
列选择器从整行中按地址低位挑出所需字,完成二次筛选
4
数据输出
位线信号经灵敏放大器整形,由三态缓冲器送上数据总线
26第 26 页 · ROM工作原理

掩模ROM

前页我们知道 ROM 通过字线位线的'通'与'断'来存 0 和 1。这些通断在芯片里是谁来定的?今天看最'固执'的一种——掩模 ROM:工厂一次性定型,出厂后谁来都改不了。

出厂即定型
存储内容在芯片制造时由掩模板决定,出厂后永久无法改写
掩模定连接
掩模板决定每个单元字线位线之间是连(存1)还是断(存0)
量产才划算
掩模一次投入高,但单片成本最低,适合字库、固化微程序等大批量
模具冲压出的金属件对应 →掩模ROM的存储内容

形状由模具一次性冲死,要改只能重开模具

27第 27 页 · 掩模ROM

可编程ROM(PROM)

上一页讲到的掩模ROM,数据是厂家在生产时通过掩模板写死的——小批量原型想改一个字,得重开一版掩模,成本动辄上万。有没有一种ROM能让用户自己写入?这就是PROM的出发点。

与掩模ROM的分野
出厂所有位状态相同,用户可自行写入一次
熔丝存储单元
每位由晶体管与一根可熔断金属/多晶硅熔丝串联
写入机制
对选中位施加超阈值大电流脉冲,焦耳热熔断熔丝
一次性边界
熔断是不可逆物理过程,写错无法撤销,单元永久固定
老式保险丝对应 →PROM熔丝单元

正常工作电流小、保持连通;过流时熔断、状态永久改变——名字与原理都同源

28第 28 页 · 可编程ROM(PROM)

可擦除ROM(EPROM)

PROM 只能写一次,因为熔丝烧断就接不回去。能不能让芯片'失忆'、重新写?EPROM 的回答是——把电子困在一个'小岛'上,再用紫外线把它们赶出来。

浮栅MOS结构
在普通MOS栅极下方多夹一层被二氧化硅完全包裹的导电'小岛',电子进去就被绝缘层锁住
写入:热电子注入
加高压让电子获得高动能,穿过薄氧化层跳入浮栅,改变MOS管阈值电压,对外表示为'0'或'1'
擦除:UV光激发
紫外线从石英窗射入,浮栅中的电子吸能后挣脱氧化层势垒逃回衬底,存储信息被清空
擦除特性
整片同时擦除、耗时约20~30分钟;芯片封装顶部留有石英玻璃窗供UV透过
带玻璃盖的小水池对应 →浮栅存储电子

写入=电子掉进水池被盖子困住,UV=阳光透过玻璃给电子能量跳出来

ΔVT=QfgCox\Delta V_T = -\frac{Q_{fg}}{C_{ox}}
29第 29 页 · 可擦除ROM(EPROM)

电擦除ROM(EEPROM)

上页 EPROM 擦除要拆芯片、紫外线照 20 分钟,工程师嫌麻烦——能不能只擦一个字节就改一个字节?EEPROM 正是为这个痛点而生。

电擦除机制
浮栅晶体管加高压,电子借 F-N 隧穿效应进出浮栅,无需光照
字节级擦除
每字节独立选通,单字节擦写不影响其余单元
在线擦写
焊在电路板上即可编程擦除,无需拆芯片、无需紫外灯
擦写寿命有限
浮栅氧化层反复击穿会老化,典型寿命 10⁵~10⁶ 次
写入速度慢
字节写入毫秒级,比 RAM 慢约千倍,适合低频更新
电控单字可擦笔记本对应 →EEPROM

每个字旁有小按钮,按一下只擦那一个字;EPROM 要把整本拿太阳晒

30第 30 页 · 电擦除ROM(EEPROM)

SRAM结构

六管存储单元的原理与工作方式

SRAM结构
六管存储单元的原理与工作方式
31第 31 页 · SRAM结构

DRAM结构

单管存储单元与电容刷新机制

DRAM结构
单管存储单元与电容刷新机制
32第 32 页 · DRAM结构

SRAM vs DRAM对比

SRAM和DRAM都存二进制位,但一个靠触发器稳态、一个靠电容电荷——结构差异决定速度、密度、成本的天壤之别。

SRAM 静态存储器
  • 单元结构:6个MOS管构成触发器
  • 访问速度:几ns,无需刷新
  • 集成密度:低,每个位6管
  • 单位成本:贵
DRAM 动态存储器
  • 单元结构:1管+1电容存电荷
  • 访问速度:较慢,需周期刷新
  • 集成密度:高,每个位1管
  • 单位成本:便宜
做Cache选SRAM——快且无需刷新;做大容量主存选DRAM——便宜且密度高。
33第 33 页 · SRAM vs DRAM对比

RAM读写时序

RAM操作分读和写两条时序路径,每条都有一组参数必须满足。

1
地址片选先就位
控制信号须先于数据稳定,否则读写出错
2
读周期等待tAA
地址有效到数据输出的最大延迟
3
写周期数据先就位
数据与地址须在WE上升沿前稳定
4
WE脉冲与数据保持
WE宽度足够,写完后数据再撤走
34第 34 页 · RAM读写时序

位扩展原理

前面学过 SRAM 和 DRAM 的内部结构,现在假设 CPU 需要一次读出 8 位数据,但你手头只有 4 位的存储芯片——怎么办?

位扩展目的
用低位宽芯片拼出更高位宽的数据总线
地址线并联
所有芯片共享同一组地址线,同一时刻访问相同地址
片选并联
所有芯片的 CS 信号连在一起,同时被选中
数据线分工
每个芯片负责总数据字中的不同位段,互不重叠
多车道高速公路对应 →位扩展连接

车道从 1 条变 N 条,所有车同时通过(同时选通),但每条车道跑不同的车(不同数据位)

35第 35 页 · 位扩展原理

位扩展电路图

两片 4 位芯片如何拼成 8 位存储器?看地址线的并联、数据线的分接方式。

图解渲染中…
addrA0、A1 同时送入两片,地址完全一致chip1负责提供低 4 位 D0-D3chip2负责提供高 4 位 D4-D7cs两片 CS 接同一信号,同步选中
36第 36 页 · 位扩展电路图

字扩展原理

上一页用位扩展把每个单元的位数补齐了,但单元总数还不够怎么办?比如要 1K×8 的容量,手头却只有 256×8 的芯片——这就需要字扩展:多片并联,让高位地址去选片。

字扩展目的
增加可寻址存储单元的数量(行数),数据位宽保持不变
核心思路
多片同规格芯片并联,用高位地址经译码器产生片选信号
地址划分
低位地址送入所有片寻址内部单元,高位地址决定哪片工作
与位扩展对比
字扩展扩'行数'(地址深度),位扩展扩'列宽'(数据位宽)
译码器角色
把 n 位高位地址翻译为 2ⁿ 个片选输出,每次只选中一片
图书馆分楼层对应 →字扩展片选

每层书架数相同(位宽不变),楼层号就是高位地址,决定去哪一层

总容量=单片容量×片数=2n×单片字数\text{总容量}=\text{单片容量}\times\text{片数}=2^n\times\text{单片字数}
37第 37 页 · 字扩展原理

字扩展电路图

译码器控制芯片使能、地址线扩展

字扩展电路图
译码器控制芯片使能、地址线扩展
38第 38 页 · 字扩展电路图

位+字复合扩展

位扩展加宽字长,字扩展增加字数,复合扩展要把两组规则同时落地。

1
计算芯片总数
先算目标位宽和字数,总片数 = 位扩展片数 × 字扩展组数
2
分组完成位扩展
组内并联若干芯片,拼出目标位宽,组内各片片选信号相同
3
连接地址与数据
地址线全片共享;数据线在组内拼接位宽,组间独立对应字扩展
4
译码器分配片选
高位地址送入译码器,输出分别接各组片选,确保任一时刻唯一选中
39第 39 页 · 位+字复合扩展

ROM实现组合逻辑的原理

上节我们看到 ROM 是「地址→数据」的硬连线查表器。反过来看,组合逻辑本质上也是「输入→输出」的映射——这意味着组合逻辑可以被 ROM 完整替代,而且不必做任何化简。

ROM即真值表
每个地址单元存的就是对应输入组合下的全部输出位,本质上 ROM 是一张被固化下来的真值表
地址线接输入变量
n 个输入变量直接接 ROM 的 n 根地址线,内部译码器自动产生 2^n 个存储单元
数据线接输出函数
m 个输出函数用位宽为 m 的 ROM,真值表里写 1 存 1、写 0 存 0
设计无需化简
只要列出真值表即可烧录,省掉卡诺图化简和门电路综合的全部工作量
餐厅菜单对应 →ROM 查表实现组合逻辑

菜名是地址,价格是数据——你不用算价格,菜单已写死;ROM 也不「算」函数,只是把真值表固化下来

C=2n×m bitC = 2^{n} \times m \text{ bit}
40第 40 页 · ROM实现组合逻辑的原理

设计步骤

用ROM实现组合逻辑,本质是把真值表固化进硬件,四步走完即可落地。

1
确定输入输出
从逻辑函数提取变量,分配ROM地址线(输入)与数据线(输出)
2
建立真值表
穷举所有输入组合,对应写出输出——这是ROM内容的唯一来源
3
填入ROM矩阵
把真值表逐行写入存储矩阵,输出为1处保留存储单元
4
验证逻辑功能
逐地址加测试向量,检查输出与函数表达式是否吻合
41第 41 页 · 设计步骤

设计举例:码制转换器

python

用 Python 仿真 BCD→格雷码 ROM 转换器:地址选通、数据输出,逻辑即存储。

代码高亮加载中…

高亮行演示:异或公式得格雷码;列表即 ROM 烧录内容;查表函数等价组合逻辑硬件输出。

42第 42 页 · 设计举例:码制转换器

何时用ROM替代组合电路

码制转换器用 ROM 替代门电路很简洁。但 ROM 不是越用越好——什么场景下它才真正胜过门电路?这是个工程判断题。

输入少、输出多
输入变量少、输出函数多,ROM 地址线短、存储容量在可接受范围
函数永久固定
逻辑映射在整个产品生命周期内不变,一次烧录长期复用
高速查表场景
函数复杂时,ROM 访问时间为常数,比门网络延迟更短、可预测
餐厅固定价目表对应 →ROM 查表

菜品固定时,输入「菜名」直接读「价格」,不现场算成本;函数若常变则不适合

容量=2n×m\text{容量} = 2^n \times m
43第 43 页 · 何时用ROM替代组合电路

知识体系总览

  • 计数器=模N状态机,状态数决定触发器数量与编码
  • 时序设计流程:状态图→化简→编码→求方程
  • 建立/保持/延迟决定时序系统最高工作频率
  • 存储器=地址查表ROM,与组合逻辑真值表等价
  • 计数器+ROM即可生成任意序列,是两大模块交汇点
延伸主题:有限状态机与微程序控制FPGA中的存储与时序实现存储器的层次结构与缓存
44第 44 页 · 知识体系总览

核心概念自测

点击作答

用4片容量为 1K×8 的 RAM 芯片扩展构成 4K×8 的存储器系统,下列关于扩展方式的描述正确的是?

45第 45 页 · 核心概念自测

课后思考

三问覆盖回顾、应用与边界。先独立思考,再对照参考。

1置零法与级联法分别适合什么场景?它们的代价有什么不同?

参考答案置零法适 N<M,级联法适 N>M。置零法会产生毛刺,级联法增加传播延迟和级数。

2ROM 与门电路实现组合逻辑的本质差异是什么?何时用 ROM 更划算?

参考答案ROM 用查表替代逻辑化简,门电路靠最小项实现。变量或函数多时用 ROM 更划算,但损失速度。

3建立时间和保持时间为何同时存在?若其一为零电路还能工作吗?

参考答案建立时间保证数据先于时钟到达;保持时间保证其后再变。任一为零则时序约束失效,实际电路无法稳定。

46第 46 页 · 课后思考