mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	Add sf2 techmap rules for more FF types
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
		
							parent
							
								
									78762316aa
								
							
						
					
					
						commit
						2d2c1617ee
					
				
					 1 changed files with 39 additions and 25 deletions
				
			
		| 
						 | 
				
			
			@ -1,40 +1,54 @@
 | 
			
		|||
// module  \$_DFF_N_ (input D, C, output Q); SB_DFFN _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C)); endmodule
 | 
			
		||||
module  \$_DFF_N_ (input D, C, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(!C), .EN(1'b1), .ALn(1'b1), .ADn(1'b1), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module  \$_DFF_P_ (input D, C, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (
 | 
			
		||||
    .D(D),
 | 
			
		||||
    .CLK(C),
 | 
			
		||||
    .EN(1'b1),
 | 
			
		||||
    .ALn(1'b1),
 | 
			
		||||
    .ADn(1'b1),
 | 
			
		||||
    .SLn(1'b1),
 | 
			
		||||
    .SD(1'b0),
 | 
			
		||||
    .LAT(1'b0),
 | 
			
		||||
    .Q(Q)
 | 
			
		||||
  );
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(C), .EN(1'b1), .ALn(1'b1), .ADn(1'b1), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_NN0_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(!C), .EN(1'b1), .ALn(R), .ADn(1'b1), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_NN1_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(!C), .EN(1'b1), .ALn(R), .ADn(1'b0), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_NP0_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(!C), .EN(1'b1), .ALn(!R), .ADn(1'b1), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_NP1_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(!C), .EN(1'b1), .ALn(!R), .ADn(1'b0), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_PN0_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(C), .EN(1'b1), .ALn(R), .ADn(1'b1), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_PN1_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(C), .EN(1'b1), .ALn(R), .ADn(1'b0), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_PP0_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(C), .EN(1'b1), .ALn(!R), .ADn(1'b1), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module \$_DFF_PP1_ (input D, C, R, output Q);
 | 
			
		||||
  SLE _TECHMAP_REPLACE_ (.D(D), .CLK(C), .EN(1'b1), .ALn(!R), .ADn(1'b0), .SLn(1'b1), .SD(1'b0), .LAT(1'b0), .Q(Q));
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
// module  \$_DFFE_NN_ (input D, C, E, output Q); SB_DFFNE _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(!E)); endmodule
 | 
			
		||||
// module  \$_DFFE_PN_ (input D, C, E, output Q); SB_DFFE  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(!E)); endmodule
 | 
			
		||||
// 
 | 
			
		||||
//
 | 
			
		||||
// module  \$_DFFE_NP_ (input D, C, E, output Q); SB_DFFNE _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E)); endmodule
 | 
			
		||||
// module  \$_DFFE_PP_ (input D, C, E, output Q); SB_DFFE  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E)); endmodule
 | 
			
		||||
// 
 | 
			
		||||
// module  \$_DFF_NN0_ (input D, C, R, output Q); SB_DFFNR _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .R(!R)); endmodule
 | 
			
		||||
// module  \$_DFF_NN1_ (input D, C, R, output Q); SB_DFFNS _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .S(!R)); endmodule
 | 
			
		||||
// module  \$_DFF_PN0_ (input D, C, R, output Q); SB_DFFR  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .R(!R)); endmodule
 | 
			
		||||
// module  \$_DFF_PN1_ (input D, C, R, output Q); SB_DFFS  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .S(!R)); endmodule
 | 
			
		||||
// 
 | 
			
		||||
// module  \$_DFF_NP0_ (input D, C, R, output Q); SB_DFFNR _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .R(R)); endmodule
 | 
			
		||||
// module  \$_DFF_NP1_ (input D, C, R, output Q); SB_DFFNS _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .S(R)); endmodule
 | 
			
		||||
// module  \$_DFF_PP0_ (input D, C, R, output Q); SB_DFFR  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .R(R)); endmodule
 | 
			
		||||
// module  \$_DFF_PP1_ (input D, C, R, output Q); SB_DFFS  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .S(R)); endmodule
 | 
			
		||||
// 
 | 
			
		||||
//
 | 
			
		||||
// module  \$__DFFE_NN0 (input D, C, E, R, output Q); SB_DFFNER _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .R(!R)); endmodule
 | 
			
		||||
// module  \$__DFFE_NN1 (input D, C, E, R, output Q); SB_DFFNES _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .S(!R)); endmodule
 | 
			
		||||
// module  \$__DFFE_PN0 (input D, C, E, R, output Q); SB_DFFER  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .R(!R)); endmodule
 | 
			
		||||
// module  \$__DFFE_PN1 (input D, C, E, R, output Q); SB_DFFES  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .S(!R)); endmodule
 | 
			
		||||
// 
 | 
			
		||||
//
 | 
			
		||||
// module  \$__DFFE_NP0 (input D, C, E, R, output Q); SB_DFFNER _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .R(R)); endmodule
 | 
			
		||||
// module  \$__DFFE_NP1 (input D, C, E, R, output Q); SB_DFFNES _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .S(R)); endmodule
 | 
			
		||||
// module  \$__DFFE_PP0 (input D, C, E, R, output Q); SB_DFFER  _TECHMAP_REPLACE_ (.D(D), .Q(Q), .C(C), .E(E), .R(R)); endmodule
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue