第三章:数字电路基础——逻辑门、组合逻辑、时序逻辑、状态机与常用数字IP
各位同学,欢迎来到数字电路基础这一章。说实话,很多ATE测试工程师在入行头两年,最容易栽跟头的地方就是这里。你想想看,ATE测试说白了就是在跟芯片里的数字逻辑打交道,如果连这些基本单元都搞不清楚,那测试向量怎么写?故障怎么定位?
我个人习惯,在带新人时,第一件事就是让他们把数字电路的几个基本概念吃透。别急着上手仪器,先把地基打牢。这一章,我们就来聊聊逻辑门、组合逻辑、时序逻辑、状态机,还有那些你天天见但可能没细想过的常用数字IP。
3.1 逻辑门:数字世界的“原子”
逻辑门是数字电路最基本的构建单元。说白了,就是实现布尔代数运算的硬件电路。常见的就那么几种:与门、或门、非门、与非门、或非门、异或门、同或门。
我记得刚入行那会儿,带我的老工程师跟我说:“你甭管芯片多复杂,拆到最底层,全是这些门电路拼起来的。” 这话我到现在都觉得很对。
| 逻辑门 | 符号 | 布尔表达式 | 真值表(2输入) |
|---|---|---|---|
| 与门 (AND) | & | Y = A · B | 全1出1 |
| 或门 (OR) | ≥1 | Y = A + B | 有1出1 |
| 非门 (NOT) | 1 | Y = A' | 入1出0,入0出1 |
| 与非门 (NAND) | & | Y = (A·B)' | 全1出0 |
| 或非门 (NOR) | ≥1 | Y = (A+B)' | 全0出1 |
| 异或门 (XOR) | =1 | Y = A ⊕ B | 相异出1 |
3.2 组合逻辑电路:没有记忆的“直性子”
组合逻辑电路,输出只取决于当前的输入,跟历史状态没关系。它就像个直性子的人,心里想什么,嘴上就说什么,不藏着掖着。
常见的组合逻辑电路有:
- 编码器/译码器: 比如3-8译码器,输入3位二进制,输出8位独热码。我在测试MCU芯片时,经常用译码器来选通不同的测试模式。
- 多路选择器 (MUX): 从多路输入中选一路输出。ATE测试中,MUX常用于通道切换。
- 加法器: 半加器、全加器,是ALU的核心。测试加法器时,我习惯用穷举法,虽然慢,但最保险。
- 比较器: 比较两个数的大小或是否相等。
3.3 时序逻辑电路:有记忆的“老江湖”
时序逻辑电路就不一样了,它的输出不仅取决于当前输入,还跟过去的状态有关。它就像个老江湖,做事会考虑前因后果。
核心元件是触发器(Flip-Flop),最常见的是D触发器和JK触发器。
// D触发器行为描述(Verilog)
always @(posedge clk or negedge rst_n) begin
if (!rst_n)
q <= 1'b0;
else
q <= d;
end
时序逻辑电路的关键参数:
- 建立时间 (Setup Time): 数据在时钟沿到来前必须稳定的时间。
- 保持时间 (Hold Time): 数据在时钟沿到来后必须稳定的时间。
- 时钟到输出延迟 (Clk-to-Q Delay): 时钟沿到输出变化的延迟。
3.4 状态机:数字系统的“大脑”
状态机(FSM)是数字电路设计的核心思想之一。它把系统的工作过程分解成若干个状态,根据输入和当前状态,决定下一个状态和输出。
状态机分两种:
- Moore型: 输出只取决于当前状态。
- Mealy型: 输出取决于当前状态和输入。
我画了一张状态机的结构图,帮你理解它的核心逻辑:
在ATE测试中,状态机测试是个难点。我常用的方法是:先确定状态转移表,然后编写测试向量,覆盖所有状态和转移路径。特别是那些“非法状态”,一定要测到。
3.5 常用数字IP:你身边的“老朋友”
数字IP(Intellectual Property)就是预先设计好的、可复用的数字电路模块。在ATE测试中,你几乎天天跟它们打交道。
常用的数字IP包括:
- UART: 通用异步收发器。测试时主要关注波特率精度、帧格式、奇偶校验。
- SPI: 串行外设接口。测试重点是时钟极性和相位、数据速率。
- I2C: 内部集成电路总线。测试时要注意地址冲突、仲裁、时钟拉伸。
- Timer/Counter: 定时器/计数器。测试精度和溢出行为。
- PWM: 脉宽调制。测试占空比和频率。
- GPIO: 通用输入输出。测试输入输出电平、上下拉、驱动能力。
| IP模块 | 测试重点 | 常见故障 |
|---|---|---|
| UART | 波特率、帧格式、校验 | 波特率偏差、起始位丢失 |
| SPI | 时钟极性、相位、速率 | 时序违例、数据错位 |
| I2C | 地址、仲裁、时钟拉伸 | 总线锁死、ACK丢失 |
| Timer | 计数精度、溢出 | 计数不准、中断丢失 |
| PWM | 占空比、频率 | 占空比偏差、频率抖动 |
| GPIO | 电平、驱动能力、上下拉 | 驱动不足、漏电流 |
好了,这一章的内容就到这里。数字电路基础是ATE测试的基石,把这些搞懂了,后面的路就好走了。记住,多动手,多思考,多总结。咱们下一章见。
公众号:蓝海资料掘金营,微信deep3321