工作职责: 1、 验证策略与规划: a) 根据设计规范、微架构文档和系统要求,制定全面详细的验证计划(测试计划),并深入了解 FPGA 的特定考虑因素。 b) 定义复杂 FPGA IP 模块和系统级集成的验证方法和策略。 c) 识别 FPGA 设计中的关键验证场景、特殊情况以及潜在的集成问题(例如,资源利用率、时序收敛影响)。
2、 高级测试环境开发: a) 主要使用 SystemVerilog/UVM 构建、设计、开发和维护稳健、可扩展且可重用的验证测试平台和环境。 b) 开发复杂的 UVM 组件,例如驱动程序、监视器、记分板、预测器和代理。 c) 集成并配置用于标准协议(例如 PCIe、以太网、DDR、USB、AXI/APB/AHB)的复杂验证 IP (VIP) 和通用验证组件 (UVC)。 d) 实现功能覆盖模型(覆盖组、覆盖点、交叉)并使用 SystemVerilog 断言 (SVA) 断言属性,以增强验证完整性。
3、 测试用例开发与执行: a) 开发约束随机测试用例和序列,以实现高功能和代码覆盖率。 b) 针对关键功能和极端情况开发特定的定向测试。 c) 管理和维护回归套件,确保高效执行和报告。 d) 执行各种类型的仿真:RTL 级、门级以及潜在的功耗感知仿真。
4、 调试和根本原因分析: a) 使用波形查看器和高级调试技术,熟练地调试仿真中的复杂测试故障。 b) 与 FPGA 设计工程师有效协作,识别并解决设计错误。 c) 利用 FPGA 供应商特定的调试工具(例如 Xilinx Vivado 的集成逻辑分析仪 (ILA)、Intel Quartus Prime 的 SignalTap II)进行硬件内调试。
5、 覆盖率收敛和指标: a) 分析功能覆盖率和代码覆盖率指标,识别差距,并提出覆盖率收敛策略。 b) 推动实现验证收敛的流程。
6、 方法论和自动化: a) 应用并倡导现代验证方法,主要是 UVM。 b) 开发并维护用于仿真流程、回归管理、覆盖率分析、报告生成和构建系统的复杂自动化脚本(例如 Python、Perl、Tcl)。 c) 致力于改进验证流程和工艺。
7、 硬件在环 (HIL) / 在系统验证: a) 制定在实际硬件上测试 FPGA 设计的策略和测试用例。 b) 具备实验室环境下测试设置、启动和调试的经验。 c) 了解软硬件协同验证的原理。
8、 协作与沟通: a) 与 FPGA 设计工程师、系统架构师和软件团队无缝协作。 b) 提供清晰简洁的验证计划、测试平台、测试用例和错误报告文档。 c) 向团队和利益相关者展示验证状态、挑战和结果。
工作要求: 1、 3-5年工作经验,电气工程、计算机工程或相关领域的学士或硕士学位。
2、 语言: a) 硬件描述语言 (HDL):精通 SystemVerilog,用于高级测试平台开发。精通 Verilog 和/或 VHDL,能够理解 RTL 代码。 b) 脚本语言:精通 Python、Perl 和/或 Tcl,能够进行测试自动化、数据处理和工具集成。 c) 编程语言:具备丰富的 C/C++ 技能,能够开发验证模型、测试模式或处理 FPGA 上的嵌入式处理器。
3、 验证方法: a) 精通通用验证方法 (UVM),包括高级特性、定制和最佳实践。 b) 拥有使用 SystemVerilog 断言 (SVA) 进行基于断言的验证 (ABV) 的丰富经验。 c) 了解形式化验证概念或工具者优先。
4、 工具: a) FPGA 供应商工具:拥有使用主流 FPGA 供应商工具链进行综合、布局布线和比特流生成的实践经验(例如 Xilinx Vivado、Intel Quartus Prime)。 b) EDA 仿真工具:熟练使用行业标准 EDA 仿真工具(例如 Synopsys VCS、Cadence Xcelium、Siemens Questa/ModelSim)。 c) 调试工具:精通波形查看器。熟练使用 FPGA 供应商提供的硬件内调试工具(例如 ILA、SignalTap)。具备使用实验室设备(示波器、逻辑分析仪)进行板级启动和调试的经验。
5、 数字设计与 FPGA 架构: a) 精通数字设计原理、RTL 设计、跨时钟域 (CDC) 问题、复位同步和异步设计。 b) 深入了解 FPGA 架构和内部资源(查找表 (LUT)、触发器 (FF)、块 RAM、DSP 切片、收发器)。以及设计约束。 c) 熟悉常见的高速接口和协议(例如 PCIe、以太网、DDR 内存控制器、SerDes、MIPI、USB、AXI/APB/AHB)。 d) 了解 FPGA 设计的高级综合 (HLS),或了解 FPGA 的功耗分析和低功耗验证技术者优先。
6、 系统: a) 版本控制系统:熟练使用 Git、SVN 或其他现代版本控制系统。 b) 操作系统:熟练掌握 Linux/Unix 环境。 c) 具备使用仿真或原型设计平台(例如 Palladium、Veloce)的经验者优先。