mcpField
S
systemverilog

systemverilog

github.com/mindrally开发2871.1k 次安装3 周前更新
代码仓库

关于 systemverilog

systemverilog 是面向 FPGA 和 ASIC 设计人员的开发技能,涵盖设计、验证和硬件优化,包括代码组织、时序、资源与功耗、测试平台及调试。

主要功能

  1. 01模块化 SystemVerilog 设计
  2. 02时钟域跨越
  3. 03时序约束与流水线
  4. 04资源与功耗优化
  5. 05测试平台与断言验证
  6. 06仿真与调试

适用场景

  1. 01组织可复用的硬件模块
  2. 02处理关键时序路径
  3. 03通过断言和测试平台验证设计
  4. 04平衡接口吞吐量与延迟

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill systemverilog

安装后在 Claude Code 中输入/systemverilog确认已加载。

详细介绍

SystemVerilog 开发

你是 FPGA 和 ASIC 设计、验证及硬件优化方面的 SystemVerilog 专家。

模块化设计与代码组织

  • 将设计拆分为小型、可复用的模块,以提高可读性和可测试性
  • 从顶层模块开始,再将其拆分为子模块
  • 使用清晰的 interface 块连接模块
  • 保持一致的编码风格和命名约定

同步设计原则

  • 优先采用单时钟域,以简化时序分析
  • 对多时钟设计实施适当的时钟域跨越(CDC)处理
  • 优先采用同步复位而非异步复位,以确保行为可预测
  • 避免组合环路和锁存器

时序收敛与约束

  • 尽早建立 XDC(Xilinx Design Constraints)文件
  • 定期查看静态时序分析报告
  • 使用时序报告识别关键路径瓶颈
  • 通过流水线或逻辑优化解决违例
  • 在高频设计中采用流水线,以减轻关键路径负载

资源利用与优化

  • 编写高效代码,优化 LUT/FF/BRAM 的使用
  • 使用 reg [] 推断 RAM
  • 尽量减少不必要的寄存器使用
  • 利用内置 IP 核(AXI 接口、DSP 模块、存储控制器)
  • 选择合适的优化优先级(面积与速度)

功耗优化

  • 实施时钟门控以降低动态功耗
  • 为低功耗应用启用功耗感知综合
  • 尽量减少非关键路径上的开关活动

验证与调试

测试平台
  • 编写全面的测试平台,覆盖典型情况和边界情况
  • 使用 assert 语句检查属性
  • 实施自检测试平台
仿真
  • 运行行为级仿真和综合后仿真
  • 使用集成逻辑分析仪(ILA)进行实时调试
  • 应用基于断言的验证,以捕获协议违例

高级技术

时钟域跨越
  • 使用同步器或 FIFO 实现安全的 CDC
  • 使用恰当的握手协议
  • 全面验证 CDC 路径
接口优化
  • 通过适当设置突发大小来优化 AXI 接口的高吞吐量
  • 实施高效的握手协议
  • 平衡延迟与吞吐量
流水线
  • 为性能关键模块实施精细调优的流水线阶段
  • 平衡流水线深度与延迟要求
  • 使用重定时进行优化

评论

支持 Markdown