Skip to main content

tb-creator

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

Quellinformationen

Repository
Ljj05170930/verilog-code-plugin
Letzte Quellaktivität
12. April 2026 um 11:49
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
0
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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 实例化部分
Auf GitHub ansehen