第一次写文章,有错误请大家指正
module Latch(
input clk,
input en,
input [15:0] datain,
output [15:0] dataout
);
reg [15:0] dataout_reg;
always @(posedge clk)
begin
if(!en)
dataout_reg <= datain;
else
dataout_reg <= 0;
end
assign dataout = dataout_reg;
endmodule
testbench:
module ts_Latch();
reg clk,en;
reg [15:0] datain;
wire [15:0] dataout;
Latch inst(
.clk(clk),
.en(en),
.datain(datain),
.dataout(dataout)
);
initial begin
clk =1'b0;
en = 1;
datain = 15;
# 40;
datain = 20;
# 40;
datain = 35;
# 40;
datain = 50;
# 40;
datain = 100;
# 40;
datain = 160;
end
always
begin
# 5 clk =~clk;
// # 80 en =~en;
end
always
begin
# 20 en =~en;
end
endmodule
仿真波形如下