36 lines
472 B
Verilog
36 lines
472 B
Verilog
module explicit();
|
|
reg clk,d,rst,pre;
|
|
wire q;
|
|
|
|
// Here q_bar is not connected
|
|
// We can connect ports in any order
|
|
dff u0 (
|
|
.q (q),
|
|
.d (d),
|
|
.clk (clk),
|
|
.q_bar (),
|
|
.rst (rst),
|
|
.pre (pre)
|
|
);
|
|
|
|
endmodule
|
|
|
|
// D fli-flop
|
|
module dff (q, q_bar, clk, d, rst, pre);
|
|
input clk, d, rst, pre;
|
|
output q, q_bar;
|
|
reg q;
|
|
|
|
assign q_bar = ~q;
|
|
|
|
always @ (posedge clk)
|
|
if (rst == 1'b1) begin
|
|
q <= 0;
|
|
end else if (pre == 1'b1) begin
|
|
q <= 1;
|
|
end else begin
|
|
q <= d;
|
|
end
|
|
|
|
endmodule
|