# AM02：logic ↔ electrical 不是一根普通连线

RTL 的 1/0 是离散状态；模拟节点需要电压参考和驱动能力。本课把输出阻抗、边沿、阈值、供电与数字判决联系起来。

前置 AM01。[总纲](00_course.md) · [设置](07_setup.md) · [答案 AM02](09_answers.md#am02) · [记录](10_workbook.md)。预计 8–12 小时。

## 教学桥与回读电路

本课使用独立单 bit 路径：logic `drive` → L2E → 10 kΩ → 10 pF → E2L → logic `readback`。它与 AM01 的混合总线 DAC 是不同试验台，避免额外转换。

L2E 的 0/1 对应 0/VDD，标称 VDD=1 V；Thevenin rout=1 kΩ；正常 tr=tf=2 ns，并写清这是模型参数所定义的边沿时间。建立解析基准时另跑理想阶跃 tr=tf=0。源端必须通过阻抗驱动节点；一个理想 `V(out)<+target` 源无法同时代表有限 rout。可用 `I(out)<+(V(out)−Vtarget)/rout` 表达支路约束，rout=0 另用理想源模型，禁止除零。此表达是建模原理，需补齐可编译模型的 discipline、事件与参数检查。

E2L 加迟滞：上升穿越 VIH=0.7 V 后为 1，下降穿越 VIL=0.3 V 后为 0，中间区保持上次已知状态。初态若节点≤VIL 为 0，≥VIH 为 1，否则为 X。规定理想回读桥的事件延迟=0；AM04 的比较器延迟另外建模。VIH/VIL 的电压参考都相对同一 vss。

X/Z 必须预先制定行为。本课的简化 L2E 在数字 X/Z 时输出 0 V，并同时产生 `bridge_invalid`/诊断标记，检查器把该段结果标为无效。它用于稳定的故障练习；不能将输出 0 V 解释成真实 tri-state 或未知电压。扩展版再分别模型化高阻、泄漏和供电关闭，不把 X 当随机模拟噪声。

## 先预测

理想阶跃下 τ=(10 kΩ+1 kΩ)×10 pF=110 ns。上升阈值时刻 `tH=−τ ln(1−VIH/VDD)`；从已充分稳定的 VDD 放电到 VIL 时 `tL=τ ln(VDD/VIL)`。此处 tH=tL≈132.437 ns。

若 drive 只高 100 ns，节点最高约 0.597110 V，从已知 0 初态不会越过 0.7 V，readback 应保持 0。这说明数字短脉冲可被 RC 与阈值滤掉，并不自动表示电路故障。

## 操作步骤

1. 建桥专用 top/config，显式检查两侧 discipline。可选使用已安装版本的 IE/connect rule，或自写教学桥；记录最终实际参数和插入位置，不能仅记录 rule 名字。
2. 先以理想阶跃、1 µs 高/低保持跑基准。测源端 v_drv、RC、readback 以及阈值事件。E2L 输入是电容节点，不能误接到理想源端。
3. 把 tr/tf 改为 2 ns，再改到 20 ns。比较节点和 readback 延迟，解释有限边沿需要相应瞬态/卷积，不能仍要求与理想阶跃时间完全相同。
4. rout 改为 0、1 kΩ、5 kΩ；C 改为 5/10/20 pF，逐项变化。rout=5 kΩ 时 τ=150 ns，电流/延迟都改变。
5. 供电改为 0.6 V，分别用固定 0.7/0.3 V 和跟随供电的 0.7VDD/0.3VDD 阈值。固定高门限永远不可达；跟随阈值在归一化条件下保留相同穿越时间。
6. 输入 100 ns 短高脉冲、X/Z，以及落在迟滞带内的初态。验证不跨阈、保持、无效标记与初始化行为。

如果用真实 connect rule，先查该版本对 X/Z、迟滞、阈值和初态的定义，再修改用例期望，不假设与上述自写教学桥相同。[设置指南](07_setup.md)给出检查位置。

## 验收与进阶

理想阶跃基准阈值时间误差 ≤0.2 ns，maxstep 减半后时间变化 ≤0.1 ns。实际 crossing 插值与事件精度要有记录。有限边沿对照用同一模型独立瞬态/解析卷积，不把理想时间作为硬判据。

交付桥参数表、上/下穿越时间、短脉冲和低供电反例、X/Z 处理记录。解释：数字精度=1 ps 不意味着晶体管比较器具有 1 ps 精度；理想桥也不验证亚稳态、噪声判决或多电源域可靠性。

选做：给节点加 DC 电阻负载，重算终值分压和等效时间常数；给阈值附近加模拟扰动，比较有/无迟滞的事件抖动。每项都先写明确电路与公式，再运行。
