blob: d5c85073a91c55e23f92e378efdb44249e85f5fa [file]
/*
* Copyright (C) 2020 The SymbiFlow Authors.
*
* Use of this source code is governed by a ISC-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/ISC
*
* SPDX-License-Identifier: ISC
*/
(* whitebox *)
module FF(clk, D, S, R, E, Q);
input wire clk;
(* SETUP="clk 10e-12" *) (* NO_COMB *)
input wire D;
(* SETUP="clk 10e-12" *) (* NO_COMB *)
input wire E;
(* SETUP="clk 10e-12" *) (* NO_COMB *)
input wire S;
(* SETUP="clk 10e-12" *) (* NO_COMB *)
input wire R;
(* CLK_TO_Q = "clk 10e-12" *)
output reg Q;
always @(posedge clk or posedge S or posedge R) begin
if (S)
Q <= 1'b1;
else if (R)
Q <= 1'b0;
else if (E)
Q <= D;
end
endmodule