mirror of
https://github.com/YosysHQ/yosys
synced 2026-03-27 14:55:47 +00:00
Add simulation models, techmap, and dfflegalize rules for Gowin DL-series latch primitives. Latches use the same physical BEL as DFFs with REGMODE set to LATCH. All 12 variants are supported: DL, DLE, DLN, DLNE, DLC, DLCE, DLNC, DLNCE, DLP, DLPE, DLNP, DLNPE.
37 lines
1.2 KiB
Verilog
37 lines
1.2 KiB
Verilog
`default_nettype none
|
|
|
|
// DL D Latch with Positive Gate
|
|
module \$_DLATCH_P_ (input E, D, output Q);
|
|
DL _TECHMAP_REPLACE_ (.D(D), .Q(Q), .CLK(E));
|
|
wire _TECHMAP_REMOVEINIT_Q_ = 1;
|
|
endmodule
|
|
|
|
// DLN D Latch with Negative Gate
|
|
module \$_DLATCH_N_ (input E, D, output Q);
|
|
DLN _TECHMAP_REPLACE_ (.D(D), .Q(Q), .CLK(E));
|
|
wire _TECHMAP_REMOVEINIT_Q_ = 1;
|
|
endmodule
|
|
|
|
// DLC D Latch with Positive Gate and Asynchronous Clear
|
|
module \$_DLATCH_PP0_ (input E, R, D, output Q);
|
|
DLC _TECHMAP_REPLACE_ (.D(D), .Q(Q), .CLK(E), .CLEAR(R));
|
|
wire _TECHMAP_REMOVEINIT_Q_ = 1;
|
|
endmodule
|
|
|
|
// DLNC D Latch with Negative Gate and Asynchronous Clear
|
|
module \$_DLATCH_NP0_ (input E, R, D, output Q);
|
|
DLNC _TECHMAP_REPLACE_ (.D(D), .Q(Q), .CLK(E), .CLEAR(R));
|
|
wire _TECHMAP_REMOVEINIT_Q_ = 1;
|
|
endmodule
|
|
|
|
// DLP D Latch with Positive Gate and Asynchronous Preset
|
|
module \$_DLATCH_PP1_ (input E, R, D, output Q);
|
|
DLP _TECHMAP_REPLACE_ (.D(D), .Q(Q), .CLK(E), .PRESET(R));
|
|
wire _TECHMAP_REMOVEINIT_Q_ = 1;
|
|
endmodule
|
|
|
|
// DLNP D Latch with Negative Gate and Asynchronous Preset
|
|
module \$_DLATCH_NP1_ (input E, R, D, output Q);
|
|
DLNP _TECHMAP_REPLACE_ (.D(D), .Q(Q), .CLK(E), .PRESET(R));
|
|
wire _TECHMAP_REMOVEINIT_Q_ = 1;
|
|
endmodule
|