一、 dtrigger.v
module dtrigger (
input wire sclk,
input wire rst_n,
input wire [7:0] d,
output reg [7:0] q
);
always @(posedge sclk or negedge rst_n) begin
if(rst_n == 1'b0)
q <= 8'h00;
else
q <= d;
end
endmodule
二、 dtrigger_test.v
`timescale 1ns/100 ps
module dtrigger_test (
);
reg sclk;
reg rst_n;
reg [7:0] d;
wire [7:0] q;
initial
begin
sclk <= 1'b0;
rst_n <= 1'b0;
d <= 8'h00;
end
always #10
sclk = ~sclk;
always #10 rst_n <= {$random} % 2;
always #10 d <= {$random} % 256;
dtrigger dtrigger(
.sclk(sclk),
.rst_n(rst_n),
.d(d),
.q(q)
);
endmodule