什么是 ASIC 验证?
ASIC 验证是测试和验证特定于应用的集成电路 (ASIC) 设计的整个过程,旨在确保其能够正常工作并符合其规范。功能验证是 ASIC 验证的一部分,涉及验证数字逻辑设计是否符合其规范。
在许多 ASIC 设计团队中,系统设计人员使用 MATLAB® 和 Simulink® 通过仿真来评估和指定 ASIC 实现的新算法。然后,在 ASIC 硬件设计人员开发可综合的寄存器传输级或 RTL 代码时,MATLAB 代码和 Simulink 模型则成为其规范模型。ASIC 验证工程师在开发用于单元测试的测试平台时,可以使用系统设计人员开发的 MATLAB 和 Simulink 测试平台。
在 MATLAB 和 Simulink 中开发规范模型和测试平台时,可以广泛使用多种 ASIC 验证方法。
通过 HDL 协同仿真进行 ASIC 验证
设计团队可以在 ASIC 验证过程中结合使用 MATLAB 或 Simulink 测试平台和 HDL 仿真器,通过 HDL 协同仿真来验证 RTL 是否正确。通过将 MATLAB 或 Simulink 会话连接到 HDL 仿真器,HDL Verifier™ 可自动执行此协同仿真过程,从而使两个仿真器能够同时执行仿真并交换信号值。MATLAB 或 Simulink 测试平台会将 HDL 仿真器的输出值与真实模型的预期值进行比较,并报告“比较中发现的不同之处”。系统设计人员和 ASIC 硬件设计人员可以在 ASIC 验证的早期阶段使用 HDL 协同仿真进行协作。
导出 SystemVerilog DPI 组件以进行 ASIC 验证
SystemVerilog 直接编程接口 (DPI) 是 SystemVerilog 和 C 等编程语言之间的接口。HDL Verifier 可以从 MATLAB 代码或 Simulink 模型生成 SystemVerilog DPI 组件以用于 ASIC 验证。然后,这些组件可与 Cadence® Xcelium™、Synopsys® VCS® 或 Siemens® Questa® 等仿真器结合使用。其中,它们可以在 ASIC 验证中用作激励、真实模型或 RTL 代码的检查器。
导出用于 ASIC 验证的 UVM 组件和环境
您可以直接从 Simulink 模型生成通用验证方法 (UVM) 组件或完整的 UVM 验证环境。HDL Verifier 可从测试平台的模型中生成 SystemVerilog UVM 序列、驱动器、监视器和记分板组件以用于 ASIC 验证。此外,它还可以为在测行为设计 (DUT) 生成 SystemVerilog 文件。之后,行为 DUT 就可以用手动编码的 RTL 或 HDL Coder™ 所生成的 RTL 来替换了。生成的 UVM 组件和环境可用于 Xcelium、Questa、Xcelium、VCS 和其他仿真器。
通过 HDL 代码生成来生成用于 ASIC 验证的测试平台
许多 ASIC 设计团队利用 HDL Coder 生成 RTL 来实现 ASIC 的新算法。
如果您使用 HDL Coder 从 Simulink 子系统生成 RTL 代码,则可以生成用于 ASIC 验证的 SystemVerilog 测试平台。此测试平台可将 RTL 实现的输出与 Simulink 模型的结果进行比较。
您也可以在使用 HDL Coder 生成 RTL 时为子系统生成 Verilog® 测试平台。要生成用于 ASIC 验证的 Verilog 测试平台,HDL Coder 需要运行 Simulink 仿真,以捕获 DUT 的输入向量和预期输出数据。HDL Coder 将来自 MATLAB 或 Simulink 仿真的 DUT 激励和参考数据写入数据文件。
示例和操作方法
软件参考
另请参阅: ASIC 设计, FPGA、ASIC 和 SoC 开发, 硬件设计, 高级综合工具, Verilog 测试平台, VHDL 测试平台, 半导体, SoC 架构