`timescale 1 ns / 1 ps module Latch(nD, nGate, Q); input nD, nGate; output reg Q; always @(nGate, nD) if(nGate == 0) Q <= ~nD; else Q <= Q; specify specparam tRise_nGate_Q = 0.15, tFall_nGate_Q = 0.2; (negedge nGate *> (Q+:nD)) = (tRise_nGate_Q, tFall_nGate_Q); endspecify endmodule