应用笔记

数字电路验证

使用 Moku:Go 逻辑分析仪对逻辑 IC 进行压力测试

在大规模生产之前进行适当的硬件验证和压力测试可以节省数百万美元的召回和重新设计费用。 在本应用笔记中,Moku:Go 逻辑分析仪/模式发生器 将用于通过切换输入并记录相应的输出来验证数字 4 位加法器。 此外,时钟速率将随着时钟频率的增加而变化,以对硬件进行压力测试,从而使用户能够深入了解故障。

下载打印版本


Moku:Go

Moku:Go 将超过 14 种实验室仪器整合到一台高性能设备中,具有 2 个模拟输入、2 个模拟输出、16 个数字 I/O 引脚和可选的集成电源。

介绍

在每个数字电路的核心,您都会发现晶体管 - 用于打开或关闭电信号的基本半导体器件。 这些开关的各种排列让位于构成计算基本元素的逻辑运算符。 即使是最复杂的集成芯片 (IC) 也可以使用这些基本构建块来构建。 在本应用笔记中,我们将通过构建具有各种逻辑门的 4 位加法器电路来体验数字电路设计过程。 我们将利用 Moku:Go 逻辑分析器/模式生成器来验证我们的设计。 稍后,我们将利用 Moku:Go MATLAB API 来扩展和自动化验证过程,并运行压力测试以确定电路的最大时钟速率。

电路设计

4 位加法器由四个完整的 1 位加法器电路构成。 每个加法器包含两个数据输入 An 和 Bn,一个携带输入 Cin. 逻辑运算后,它产生其输入 Sn 的总和,并携带输出 C输出 . 对于逻辑门,XOR、AND、OR 门使用了三个现成的逻辑集成电路 (IC) 74LS86、74LS08 和 74LS32。 逻辑 IC 的详细布局和逻辑门之间的接线可以分别在图 1 (a) 和 (b) 中找到。

图 1:(a) 用作“与”、“异或”和“或”门的逻辑 IC。 (b) 构建 1 位全加器的逻辑。

4 位加法器电路是通过连接 C输出 从较低有效数字加法器端口到 Cin 下一个有效数字。 Cin 因为最低有效数字保持不变。 C输出 对于最重要的加法器(C3) 用于表示整个系统的最高有效数字。 4 位加法器通过端口 A 取两个 4 位数字0-3,B0-3, 并在引脚 S 上提供结果0-3. 当两个输入都设置为 0b1111 时,C3 会很高。 否则,它保持在低状态。 图 2 显示了原理图 (a),以及构建在面包板上的实际电路。

图 2:(a) 原理图和 (b) 4 位加法器的面包板布局。

使用 Moku:Go 的逻辑分析器进行系统验证

仪器连接

为了验证电路,4 位加法器的输入和输出连接到 Moku:Go 16 引脚数字 I/O。 详细连接和引脚图如图 3 所示。

图 3:Moku:Go 数字 I/O 和 4 位加法器之间的详细连接图。

单输入测试

首先,通过手动切换输入电平来测试电路。 在图 4 中,逻辑分析仪的输出(引脚 0 至 8)设置为 0b0101 (A) 和 0b0110(b),转换为十进制的 5 + 4。 从引脚 9-12,我们读取到 0b1001,它对应于十进制的 9。 引脚 10 上的执行信号为低电平,表明没有溢出。

图 4:电路首先通过手动切换输入逻辑电平进行测试。

随机模式和压力测试

为了扩大测试集并找出极限,我们利用了 Moku:Go 逻辑分析仪中的随机模式生成功能。 长度为 1024 的随机模式以 62.5 Hz 至 62.5 MHz 的可变时钟频率生成。 使用 MATLAB 记录和分析随机生成的输出模式和输入模式。

图 5:使用随机生成的模式对电路进行压力测试。

用于自动验证的 MATLAB 脚本

在自动验证脚本中,每个加法器中逻辑门的行为都使用 MATLAB 内置逻辑运算符进行了显式模拟。 以下代码片段读取 PIN 1 和 2 上随机生成的信号并计算 S 的预期输出0 和C.1 全加器 1 (FA1)。

%%%FA1
  我 = 1:n
    S0(i) = xor(xor(数据(i,2),数据(i,3)),Cin);
    C1(i) = or(and(Cin,xor(data(i,2),data(i,3))),and(data(i,2),data(i,3)));
结束

然后在下一个代码块中使用计算出的 C1 来模拟下一个 FA 的行为。

%%%FA2
  我 = 1:n
    S1(i) = xor(xor(数据(i,4),数据(i,5)),C1(i));
    C2(i) = or(and(C1(i),xor(data(i,4),data(i,5))),and(data(i,4),data(i,5)));
结束

整个电路的最终命中率是通过以下代码块计算的:

命中=0;
  我 = 1:n
    if 数据(i,10)==S3(i) && 数据(i,11)==S2(i) && 数据(i,12)==S1(i) && 数据(i,13)==S0(i )
        命中=命中+1;
    结束
命中率=命中/n*100;

4 位加法器电路的最终命中率作为时钟频率的函数绘制在图 6 中。命中率表示为 y 轴上的(命中百分比 %),时钟频率以赫兹 (Hz) 为单位测量显示在 x 轴上。 电路稳定到 1.25 Mhz。 随着时钟速率的进一步增加,观察到性能显着下降。 我们可以得出结论,该电路在 31.25 Hz – 1.25 MHz 频率之间稳定运行。

图 6:4 位加法器的命中率作为时钟频率的函数。

结论

在本教程的第二部分中,我们介绍了如何利用 MathWorks 的 Simulink 和 HDL Coder 在 Moku:Pro 上构建、验证和部署 DSP 模型。 与仅使用 MATLAB 的方法相比,Simulink 提供了通过其 DSP 库设计 DSP 并从头开始使用定点模型构建模型的选项。 建议用于构建复杂的 DSP 系统。


有疑问或想要可打印版本?

请与我们联系 support@liquidinstruments.com