首页 » 互联网 » SoC验证流程和方法_子体系_体系

SoC验证流程和方法_子体系_体系

乖囧猫 2025-01-15 20:13:17 0

扫一扫用手机浏览

文章目录 [+]

在本文中,让我向您先容用于验证IP、子系统和SoC的各种验证方法,并阐明为什么我们须要像PSS这样的新方法/标准。

对付处理 SoC 验证流程的验证工程师来说,理解如何利用 SoC 构建电子系统至关主要,无论是在 IP 级别进行白盒验证、在子系统级别进行灰盒验证,还是在 SoC 级别进行黑盒验证。

SoC验证流程和方法_子体系_体系 SoC验证流程和方法_子体系_体系 互联网

如何利用 SoC 构建电子系统?

SoC验证流程和方法_子体系_体系 SoC验证流程和方法_子体系_体系 互联网
(图片来自网络侵删)

任何芯片、大略的嵌入衰落掌握器或繁芜的片上系统 [SoC] 都将具有一个或多个处理器。
图1显示了一个繁芜的电子系统,该系统由智好手机等电子设备所需的硬件和软件组成。

图1:电子系统和片上系统

硬件由繁芜的SoC组成,该SoC包含设备所需的险些所有组件。
就智好手机而言,我们集成了所有称为IP[知识产权]的硬件组件,如CPU、GPU、DSP、运用场置器、接口IP 如USB,UART,SPI,I2C,GPIO,以及系统掌握器、内存与掌握器、蓝牙和WiFi等,并由此创建出SoC。

该件由运用软件和系统软件组成。
运用软件供应用户界面,系统软件供应接口,使运用软件处理硬件。
在智好手机的情形下,运用软件可以是YouTube,Netflix,GoogleMap等移动运用程序,系统软件可以是操作系统[OS],如ios或Android。
系统软件供应固件和协议栈等所有内容,以及运用软件与硬件接口所需的操作系统。
操作系统并行管理多个运用程序线程、内存分配和 I/O 操作,作为系统软件的核心组件。

接下来阐明一下全体系统是如何事情的,就像智好手机一样。
例如,当你调用智好手机上的打算器等运用时,操作系统会将可实行二进制文件从存储内存加载到RAM中。
然后,它立即将其起始地址加载到其处理器的程序计数器[PC]中。
处理器 [ARM/x86/RISC-V] 实行加载到 PC [RAM 地址] 所指向的 RAM/缓存中的二进制文件。
这个预编译的二进制文件只不过是处理器的机器措辞,因此处理器根据其指令[ADD/SUB/MULT/LOAD]实行运用程序并打算结果。

利用处理器理解SoC设计过程可以帮助验证工程师在系统级处理任何繁芜的子系统/芯片验证。
作为SoC验证过程的一部分,验证工程师可能须要处理各种事情,例如系统建模的虚拟原型设计,IP,子系统和SoC功能验证,硬件 - 软件协同验证,仿真,ASIC原型设计,硅后验证等。
因此,它须要对硬件和软件有凝聚力和完全的理解,才能作为验证专家独立事情,有时还须要与软件团队密切互助,以处理软件,RTOS /固件/堆栈,以进行芯片/系统级验证。

现在让我们磋商各种验证方法。

IP验证

IP 是任何 SoC 的基本构建块。
因此,IP验证须要详尽的白盒验证,这须要形式验证和随机仿照等方法,特殊是对付处理器IP,由于统统都是由它们作为任何SoC的核心组件启动和驱动的。
图 2 显示了我们如何通过基于 SystemVerilog 的 UVM TB 的详尽随机仿照来验证处理器 IP。
所有处理器指令都可以利用各种随机值进行仿照,从而生成功能、断言和代码覆盖率。
我们利用覆盖范围来衡量验证的进度和质量,然后进行终极的验证签核。
IP 级验证哀求在 HVL 编程、正式和动态 ABV、仿真调试以及利用 VIP 和 EDA 工具方面具备良好的专业知识。

图2 RISC-V 紫外光验证环境

ABV- 基于断言的验证,VIP – 验证 IP

UVM-通用验证方法 UVC-UVM 验证组件

BFM总线功能模型VIP验证IP RAL寄存器抽象层

子系统验证

子系统紧张由预验证的IP和一些新建的IP组成,例如特定于芯片的网桥和系统掌握器。
图 3 显示了我们如何从子系统构建 SoC,该子系统利用 AMBA 等片上总线集成了所有必要的接口 IP、网桥和系统掌握器。
在这种情形下,我们更喜好基于仿照的灰盒验证,特殊是利用验证IP的随机仿照。
所有VIP,如AXI,AHB,APB,GPIO,UART,SPI和I2C UVC [UVM验证组件]都将配置并与各自的接口连接。
如图 3 所示,我们创建了其他 TB 组件,如参考模型、记分板和 UVM RAL,以使验证环境自检。
我们在顶层实行各种VIP UVM序列,验证数据流,并丈量总线的性能。

图3 子系统UVM验证环境

SoC芯片验证

SoC紧张由预先验证的第三方IP和一些内部IP组成。
常日,我们更喜好利用硬件仿真或仿照(simulation/emulation)技能进行黑盒验证,以进行SoC级验证。
例如,您可能会碰着繁芜的 SoC 验证环境,如图 4 所示。
SoC测试平台[TB]将具有各种测试平台组件,如标准UVM验证IP[USB /蓝牙/WiFi和标准接口],带有UVM包装器的传统HDL TB组件[JTAG Agent],自定义UVM代理[固件代理],以及一些显示器,以及记分牌和SystemC / C / C++功能模型。
在这种情形下,您将不得不在芯片级别处理固件和UVM序列。
作为验证工程师,您须要知道如何利用标准 VIP、传统 HDL BVM 和固件代码实现这种稠浊验证环境,更主要的是,理解如何利用 EDA 工具自动实行simulation/emulation。

图 4:SoC 验证环境

UVM-通用验证方法 UVC-UVM 验证组件

BFM总线功能模型VIP验证IP RAL寄存器抽象层

让我阐明一下它是如何事情的。
例如,如果SoC利用ARM处理器,常日我们将ARM RTL [加密网表/RTL]更换为其称为DSM [设计仿真模型]的功能模型,该模型可以利用固件[用C编写]作为勉励来启动任何操作并驱动所有其他外设[RTL IP]。
因此,SoC 验证职员编写 UVM 序列,通过固件测试用例天生各种定向场景,并验证 SoC 功能。
在仿真过程中,固件C源代码被编译为目标代码[ARM机器措辞二进制文件],该目标代码将加载到片上RAM中。
ARM 处理器模型 [DSM] 从内存中读取目标代码,并通过配置和驱动所有 RTL 外设模块 [Verilog/VHDL] 来启动操作。
它适用于仿照和仿真(simulation/emulation)。
如果 SoC 非常繁芜,则首选硬件仿真以加速验证过程并实现更快的验证sign-off。

为什么选择 PSS?

图 5:IP、子系统和 SoC 验证方法

PSS 定义:可移植测试和勉励标准定义了一个规范,用于创建勉励和测试场景的单一表示形式,可供不同配置下不同集成级别的各种用户利用,从而能够天生在各种实行平台上运行的场景的不同实现,包括但不限于, 仿真、仿真、FPGA 原型设计和后硅。
利用此标准,用户可以一次指定一组行为,从中可以派生多个实现。

图6:PSS流程

如图6所示,利用PSS,我们可以定义测试场景,并利用任何验证技能在任何级别的IP/子系统/SoC上实行它们。
例如,我们可以在 PSS 中定义 IP 的测试场景。
在IP级验证中,我们可以利用EDA从其PSS规范中天生断言以进行形式验证,如果须要,我们可以从相同的PSS规范天生UVM测试用例,用于SoC级别的仿照或仿真。
我们不须要手动重写 IP/子系统级测试用例,即可在 SoC 级别迁移和重用它们。
PSS规范对付各种技能都保持不变。
根据我们的选择,如正式/仿照/仿真,EDA工具可以从任何措辞或方法(如C / C++ / Verilog / SystemVerilog / UVM)的PSS形态天生测试用例。

形式验证和PSS等方法正在不断发展,同时EDA供应商也在利用ML等技能自动天生测试和验证sign-off。
因此,在不久的将来,该行业须要才华横溢且技能娴熟的验证工程师,他们可以与芯片架构师互助,通过“按布局校正”方法推动首次硅成功的验证过程,而不仅仅是处理黑盒验证的传统验证职员,该验证职员紧张涉及编写测试用例和管理回归测试。
您是否对芯片验证感兴趣,并为这项主要事情做好了准备?

原文

https://semiwiki.com/semiconductor-services/maven-silicon/316734-soc-verification-flow-and-methodologies/

相关文章

聊聊抖音的广告生意_告白_巨量

抖音的新生代用户正在成为商家们大浪淘金的目标工具。百度竞价广告后,如何优化头条系广告的投放又再一次成为了商家们的难题。本文将从抖音...

互联网 2025-01-15 阅读0 评论0