SuperAPI AI 工具集

SystemVerilog Development

编程与开发

查看项目

更新于 10-15 19:50

技能介绍

该技能为 SystemVerilog RTL 设计提供专家级指导,遵循 IEEE 1800-2017 标准,适用于设计模块、编写 SystemVerilog、实现 FSM、创建流水线等任务。

主要约定:时序逻辑使用 always_ff,组合逻辑使用 always_comb,锁存器(少见)使用 always_latch;所有信号使用 logic 类型;状态机使用 typedef enum logic;分组信号使用 typedef struct packed;始终显式指定位宽。复位约定为低电平有效的异步复位:always_ff @(posedge clk or negedge rst_n),在 !rst_n 时清零寄存器。

端口声明采用带显式类型的 ANSI 风格,例如 module example #(parameter int WIDTH = 8) (...),端口使用 input logic clk、input logic rst_n、output logic [WIDTH-1:0] data_out 等写法。

FSM 模式使用显式编码的枚举类型,如 typedef enum logic [1:0] {IDLE=2'b00, ACTIVE=2'b01, DONE=2'b10} state_t;状态寄存器在 always_ff 中更新,次态逻辑在 always_comb 中用 unique case 并带 default 分支。

握手采用标准 Valid/Ready 流控:生产者侧 assign valid = data_available,消费者侧 assign ready = can_accept,在 valid && ready 时传递或接收数据。流水线阶段同时寄存数据与对应的 valid 信号,复位时数据清零、valid 置 0。

可综合规则:RTL 中不得使用 initial 块(仅测试平台可用)、不得使用 # 延时、不得使用 $display 或系统任务;所有信号在所有路径上都要有驱动,避免意外锁存器;使用 unique case 或 priority case 并包含 default 分支。

其他细节:资料未提供该技能的安装命令、收费方式、平台支持与效果评测信息。