Skip to main content

tb-creator

创建 SystemVerilog 测试平台文件。触发词包括:创建TB、写testbench、新建测试平台、生成TB、写TB、创建仿真测试文件

소스 정보

저장소
Ljj05170930/verilog-code-plugin
최근 소스 활동
2026년 4월 12일 11:49
감지된 SKILL.md 언어
중국어
스타
0
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
tb-creator
description
创建 SystemVerilog 测试平台文件。触发词包括:创建TB、写testbench、新建测试平台、生成TB、写TB、创建仿真测试文件
在 `TB/` 目录下创建 `TB/tb_top.sv`,直接使用模板,不询问任何参数。 ## 文件模板 ```systemverilog // DUMP_ARRAY macro: per-element dumpvars for unpacked arrays // gen_dumpvars.py --patch will auto-generate calls and insert them into the dump initial block below `define DUMP_ARRAY(path, size) \ begin \ for (int _di = 0; _di < size; _di++) \ $dumpvars(0, path[_di]); \ end `timescale 1ns/1ps module tb_top; // ── Parameters ──────────────────────────────────────────────────────── localparam CLK_PERIOD = 10; // clock period (ns), 100 MHz localparam SIM_TIMEOUT = 10000; // simulation timeout (ns) localparam RST_CYCLES = 4; // reset duration in cycles // ── Clock & reset ───────────────────────────────────────────────────── reg clk = 0; reg rst_n; always #(CLK_PERIOD/2) clk = ~clk; initial begin rst_n = 0; repeat(RST_CYCLES) @(posedge clk); rst_n = 1; end // ── DUT instantiation (replace <dut_module> and port connections) ───── // <dut_module> u_dut ( // .clk (clk ), // .rst_n (rst_n) // ); // ── Waveform dump (gen_dumpvars.py --patch will update this block) ──── initial begin $dumpfile("wave.fst"); $dumpvars(0, tb_top); end // ── Simulation timeout ──────────────────────────────────────────────── initial begin #SIM_TIMEOUT; $display("[TIMEOUT] simulation exceeded %0d ns", SIM_TIMEOUT); $finish; end endmodule ``` ## 执行步骤 1. 使用 Write 工具将上方模板写入 `TB/tb_top.sv` 2. 告知用户已创建 `TB/tb_top.sv`,提示下一步填写 DUT 实例化部分
GitHub에서 보기