SystemVerilog

什么是 SystemVerilog?

SystemVerilog 既是硬件描述语言,也是硬件验证语言。它用于为 ASIC 和 FPGA/SoC 算法和系统建模、设计、仿真、验证、测试和实现。SystemVerilog 基于 Verilog 语言并进行了大量扩展,并在 2009 年与 Verilog 一样称为了同一 IEEE 标准的一部分。

SystemVerilog 长期以来一直用于开发 RTL 测试平台,因为它支持有约束随机验证、断言和功能覆盖率,并且支持面向对象的编程。

使用 SystemVerilog 加速设计

MATLAB® 和 Simulink® 在用于硬件实现的算法的开发中有着广泛的应用。使用 HDL Coder™ 从 MATLAB 代码和 Simulink 模型自动生成 SystemVerilog HDL 可以加速 FPGA/SoC 和 ASIC 设计的进程,并自动生成 RTL 测试平台组件。

用于 ASIC 和 FPGA 代码生成的 SystemVerilog

HDL Coder 通过 MATLAB 函数和 Simulink 模型以及 Stateflow® 图生成可移植、可综合的 SystemVerilog 代码,从而支持 FPGA、SoC 和 ASIC 的高层设计。您可以将生成的 HDL 代码用于 FPGA 编程、ASIC 原型构建和产品级设计。

HDL Coder 包括工作流顾问,可用于在 AMD®、Intel® 和 Microchip 板上通过生成的 SystemVerilog 代码自动进行原型构建,并为 ASIC 和 FPGA 工作流生成 IP 核。您可以以速度和面积为目的进行优化,突出显示关键路径,并在综合之前生成资源利用率估计值。HDL Coder 提供 Simulink 模型与生成的 SystemVerilog 代码之间的可追溯性,因此支持对遵循 DO-254 及其他标准的高完整性应用进行代码验证。

示意图:显示 HDL Coder 可以从 MATLAB 函数、Simulink 模型、Stateflow 图和 Simscape 模型生成可综合的 VHDL、Verilog 或 SystemVerilog。

HDL Coder 从 MATLAB 代码或 Simulink 模型生成可综合的 SystemVerilog。

使用 SystemVerilog DPI 进行 ASIC 和 FPGA 验证

SystemVerilog 直接编程接口 (DPI) 可充当 SystemVerilog 仿真器和 C 等外部编程语言之间的接口,从而让不同的 HDL 仿真器可以重用现有 C 代码。使用 HDL Verifier™,ASIC 和 FPGA 项目团队可以直接从 MATLAB 代码和 Simulink 模型以 SystemVerilog DPI 组件形式生成验证组件,例如激励、检查项和行为在测设计 (DUT) 模块。

从 MATLAB 或 Simulink 生成的 SystemVerilog DPI 模型还可以集成到现有通用验证方法 (UVM) 环境中。

示意图:显示用于激励、算法和检查项的 SystemVerilog DPI 文件可以从 MATLAB 或 Simulink 生成

HDL Verifier 从 MATLAB 代码或 Simulink 模型生成 SystemVerilog DPI 文件。

生成 SystemVerilog DPI 测试平台

  • 组件测试平台:如果您从 Simulink 子系统生成了 C 组件用作 DPI 组件,您可以为其生成 SystemVerilog 测试平台。该测试平台根据来自 Simulink 模型的数据向量验证生成的 DPI 组件。(请参阅生成 SystemVerilog DPI 组件。)
  • HDL 代码测试平台:如果您使用 HDL Coder 从 Simulink 子系统生成了 HDL 代码,您可以为其生成采用一组向量形式的 SystemVerilog 测试平台。此测试平台会将 HDL 实现的输出与从仿真运行中捕获的 Simulink 模型的结果进行比较(请参阅使用 SystemVerilog DPI 测试平台验证 HDL 设计)。

另请参阅: HDL Coder, HDL Verifier, FPGA、ASIC 和 SoC 开发, 混合信号系统, 半导体, UVM 验证, ASIC 设计, ASIC 验证