파일
palladium_z2_demo/testbench/testbench.v02
T
Wang Xuejin f5bf2e30fc maste
2025-09-22 15:30:52 +08:00

50 라인
1.2 KiB
Plaintext
Raw Blame 히스토리

이 파일에는 모호한 유니코드 문자가 포함되어 있습니다
이 파일에는 다른 문자와 혼동될 수 있는 유니코드 문자가 포함되어 있습니다. 이것이 의도적인 것이라고 판단되면, 이 경고를 무시해도 됩니다. Escape 버튼을 눌러 보이지 않는 문자를 표시할 수 있습니다.
`timescale 1ns/1ps
module testbench;
// 1. 声明变量(纯 Verilog
reg clk;
reg reset_n;
wire [31:0] pc_out;
integer fd; // 文件描述符
reg [8*80:1] dump_path; // 用 reg 数组模拟字符串
// 实例化被测设计
top uut (
.clk(clk),
.reset_n(reset_n),
.pc_out(pc_out)
);
// 2. 生成时钟
initial begin
clk = 0;
forever #5 clk = ~clk; // 100MHz 时钟
end
// 3. 波形生成和错误处理
initial begin
// 初始化路径(用字符串拼接模拟)
dump_path = "/tmp/wave.vcd"; // Verilog 中直接赋值 reg 数组
// 尝试创建文件
fd = $fopen(dump_path, "w");
if (fd == 0) begin
$display("ERROR: Cannot open ", dump_path, " for writing!"); // 字符串拼接
$finish;
end
$fclose(fd);
// 初始化波形记录
$dumpfile(dump_path);
$dumpvars(0, testbench);
$display("Waveform will be saved to ", dump_path); // 字符串拼接
// 复位和仿真控制
reset_n = 0;
#100 reset_n = 1;
#1000 $finish;
end
endmodule