远程执行IC验证
扫描二维码
随时随地手机看文章
设计任何芯片的关键步骤之一就是在获得第一批芯片后进行的测试。在测试中,您终于可以看到全部悉心工作的成果,并确定芯片是否按照设计和仿真运行。这称为IC验证。验证的重点是功能测试 - 检查硅芯片是否符合最初要求。这通常涉及一系列表征以及基本功能的测试,以确保设计中没有漏洞。
验证步骤与生产测试是分开的,生产测试的重点是快速准确地找到存在制造缺陷的芯片,并将其筛掉。在生产测试中,通常重点是在最快的时间内以可接受的准确性水平完成测试。这是因为每颗芯片的成本将随着芯片在测试仪中花费的每额外一秒钟而增加。
相反,在验证步骤中,主要重点不是测试速度,而是可从芯片中提取的数据的质量。这并不是说速度无关紧要,如果可以快速取得准确的结果,当然是件好事。在验证阶段将自动化构建到测试过程中具有许多好处:
提升测试速度
通过使测试自动化,可以更高效地执行测试。可以将每个测试排好队并准备好,在上一个测试完成后,立即开始下一个。并且可以每周7天24小时运行测试,无需工程师值夜班。
流程改进
任何形式的自动化带来的最大好处之一,这个好处也常常被忽视,是它为流程改进提供了基础。本质上,自动化测试是该测试所需的所有步骤的具体表达。描述它们有助于分析每个步骤。然后,从分析中获得的任何认知都可以反馈到算法中,进行改进,并惠及所有用户。通常,工程师可能会人工地偶然发现一种更好的方法,但是这样的学习通常不会反馈到流程中。
更一致的测试
根据定义,自动化测试是可重复的,因此自动化测试可以对给定批次中的芯片进行更一致的测试。这样可以更好地比较每批芯片内样品之间或批与批之间的表征数据。
直接应用为仿真而开发的测试
由于芯片在流片之前已经在验证阶段进行了广泛的仿真,因此可以获得庞大的测试和预期输出库。在验证阶段,你其实可以对验证测试进行设计,使它们可以非常容易地移植到确认测试中。这大大加快了整个验证过程的速度,并确保了在不同阶段进行测试的一致性。
远程进行验证工作
对于各个级别的设计工程师来说,看到他们的工作成果通常是有益的。不过,验证测试往往可能在不同的地理位置进行。因此,有了可以远程访问的自动化系统,有助于设计工程师获得其帮助生产的芯片的实践经验。这可以帮助他们逐渐提高自己的技能,还可以帮助他们获得有关芯片设计方式的宝贵见解,并且验证团队也可以随时获取这些信息。在当前Covid-19新冠疫情的形势下,远程工作也具有明显的优势。
验证流程
考虑到所有这些因素,Adesto(现已并入Dialog半导体公司)开发了一个基于Python的测试框架软件,将我们所有的仪器集成在实验室中,并使我们能够将在验证阶段开发的测试快速移植到确认测试中。选择Python语言来实现测试自动化,是因为测试工程师们对它很熟悉,另外有众多可以帮助测试工作的库可供使用。
验证系统本身包括一个带有用于测试芯片的插槽的电路板。测试电路板包含一个子卡,该子卡具有一个较大的Xilinx FPGA,通过以太网连接到实验室网络。我们可以通过网络对FPGA进行远程编程,并使用它来控制被测器件(DUT)的所有数字输入,并监测其输出。DUT的各种模拟输入和输出连接到开关,这些开关可以将它们切换到一组SubMiniature A(SMA)型连接器,该连接器连接到示波器、频谱分析仪和信号发生器。我们还可以远程控制所有这些仪器,这意味着我们可以将DUT的所有输入、输出、模拟和数字信号强制设置为我们想要看到的任何值。
Python测试框架软件在远程服务器上运行。我们的验证工程师可以用Python编写测试,并将其与可以在DUT的嵌入式处理器上运行的C编程代码结合起来。这有助于通过全套功能测试来行使ASIC的能力。与仪器和测试板的所有连接都是通过网络,因此可以远程进行测试的开发和执行。
我们的全球定制ASIC设计团队经常使用我们的远程IC验证测试工具,以增强协作和监督。 在可见的未来,我们中的许多人仍将继续在家办公,这样的解决方案有助于确保我们客户的ASIC设计能够按时安全交付,并达到他们期望的高质量。