本节“Python硬件验证(HardwareVerification in Python)”是“硬件验证语言(Hardware Verification Languages)”的一部分,又属于“半导体IP核-不仅仅是设计(SemiconductorIP Core – Not Just Design)”书系列的“验证用IP核和IP核验证(VerificationIP & IP Core Verification)”卷。
本章介绍了 IC 和 IP 核设计过程验证中涉及的一些关键 Python 方法、工具、包和库,包括以下章节:
纯 Python - 为什么选择 Python?如何使用 Python 进行验证(测试平台)?
Cocotb -(CO-routine 和 CO-simulation 的Testbench)可能是事实上的 标准Python 设计验证方法
MyHDL - 基于 Python 的硬件描述语言,也具有验证功能
PyUVM – 使用 cocotb 的 UVM 的 Python 实现
UVM Python –UVM的 Python实现
PyMTL - 用于开源硬件建模、生成、模拟和验证的Python 框架
PyHVL - Python 验证工具
约束和覆盖
PyVSC 包:Python 中 SystemVerilog 样式的约束和覆盖
YosysHQ/MCY- Yosys 的突变覆盖
前端驱动程序
YosysHQ/SymbiYosys(sby) -- 基于 Yosys 的形式验证流程的前端
符号模型检查
COSA:agile hardware敏捷硬件设计的集成验证
元编程硬件验证组件
FAULT:一种用于元编程便携式硬件验证组件的 Python 嵌入式领域特定语言
增强型学习模型 (RL)
VeRLPy
Python 原型设计
VPSim -用于嵌入式计算系统设计和探索的快速虚拟原型
pyrtl -一种用于快速硬件原型设计和检测的 Python 方法
Python 仿真
ICEMU -用 Python 模拟集成电路
AMIQOFC - 使用 PYNQ 进行协同仿真的开源框架
Python 模拟
PyCPU 模拟器 - 用 Python 编写的 CPU 模拟器
PyOPUS- 一个用于连接各种模拟器的 Python 库
AHKAB -用 Python 编写的类似 SPICE 的电子电路模拟器
PySPICE- 使用 Python 和 NGSpice / Xyce 模拟器模拟电子电路
cosimtcp- 在 Xilinx Vivado 和 Modelsim 工具中使用 Python 和 Matlab 通过TCL TCP/IP 套接字对 HDL 进行联合仿真
PyVHDL:集成Python和VHDL的硬件仿真环境
FPGA_HW_SIM_FWK- FPGA硬件仿真框架
Python作为最流行的编程语言是硬件验证语言(HVL)的自然选择,特别是对于IC设计领域的新人来说,他们对SystemVerilog、Verilog、SystemC、e、VHDL等要求更高的HVL的参与并不多等等。 Python 很容易学习(你可能已经熟悉了),但 Python 仍然足够强大,可以满足一些关键的验证要求。多功能性和应对几乎任何设计理念的能力是 Python 的显着标志,因此它最终能进行硬件设计也就不足为奇了。硬件模块被建模为Python 函数,带有返回生成器集的包装装饰器。因此,Python 函数的语义和结构被用来支持诸如任意层次结构的特性,组件、命名端口关联等...
然而,生产验证工程师的目标并不是用 Python 取代 UVM。 UVM 可以做很多Python 不能(轻松)做的聪明的事情。围绕验证开发和使用 Python 的目的是填补主流验证方法中的漏洞。用于可笑的测试并支持设计人员运行他们自己的验证。加快标准验证流程并支持芯片启动测试开发。等等等等。
这份长达 500 多页的介绍性材料将向读者介绍处理硬件验证需求的主要 Python 方法、系统、包和库,包括原型设计和仿真。阅读后,读者将熟悉这些技术的开发历史、关键特性、安装和配置、使用、验证样本和结果以及它们在 IC 设计和验证领域的应用。我将把这些技术的相互比较留给我的读者,因为这些技术仍在逐渐成熟中,现在说在数十个基于 Python 的验证系统中谁是最好的还为时过早。
本书我用英文撰写,稍微译成中文。
有关章节的详细信息,请联系作者以获取完整的文本。