FDCE.v
// $Header: /hq/hwdev/pegasus/source_code/cvsroot/p3dev/pgtest/virtex/pin_tests/array_pintest/v/FDCE.v,v 1.5 2000/12/09 01:52:19 polybus Exp $
/*
FUNCTION    : D-FLIP-FLOP with async clear and clock enable
*/
`timescale  100 ps / 10 ps
`celldefine
module FDCE (Q, C, CE, CLR, D);
    parameter cds_action = "ignore";
    parameter INIT = 1'b0;
    output Q;
    reg    q_out;
    input  C, CE, CLR, D;
    tri0 GSR = glbl.GSR;
    buf B1 (Q, q_out);
    always @(GSR or CLR)
        if (GSR)
        assign q_out = INIT;
        else if (CLR)
        assign q_out = 0;
        else
        deassign q_out;
    always @(posedge C)
        if (CE)
        q_out <= D;
    specify
    (posedge CLR => (Q +: 1'b0)) = (1, 1);
    if (!CLR && CE)
        (posedge C => (Q +: D)) = (1, 1);
    endspecify
endmodule
`endcelldefine
HDLMaker Generated Files
| FDCE.job | 
Synopsys script file |