mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Re-arrange FD order
This commit is contained in:
		
							parent
							
								
									f7793a2956
								
							
						
					
					
						commit
						44d9fb0e7c
					
				
					 3 changed files with 193 additions and 193 deletions
				
			
		|  | @ -362,6 +362,43 @@ module FDRE_1 ( | |||
|   always @(negedge C) if (R) Q <= 1'b0; else if (CE) Q <= D; | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1102, lib_whitebox, abc9_flop *) | ||||
| module FDSE ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   (* invertible_pin = "IS_C_INVERTED" *) | ||||
|   input C, | ||||
|   input CE, | ||||
|   (* invertible_pin = "IS_D_INVERTED" *) | ||||
|   input D, | ||||
|   (* invertible_pin = "IS_S_INVERTED" *) | ||||
|   input S | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   parameter [0:0] IS_C_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_D_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_S_INVERTED = 1'b0; | ||||
|   initial Q <= INIT; | ||||
|   generate case (|IS_C_INVERTED) | ||||
|     1'b0: always @(posedge C) if (S == !IS_S_INVERTED) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     1'b1: always @(negedge C) if (S == !IS_S_INVERTED) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|   endcase endgenerate | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1103, lib_whitebox, abc9_flop *) | ||||
| module FDSE_1 ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   input C, | ||||
|   input CE, D, S | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   initial Q <= INIT; | ||||
|   always @(negedge C) if (S) Q <= 1'b1; else if (CE) Q <= D; | ||||
| endmodule | ||||
| 
 | ||||
| module FDRSE ( | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|  | @ -397,7 +434,7 @@ module FDRSE ( | |||
|       Q <= d; | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1102, lib_whitebox, abc9_flop *) | ||||
| (* abc9_box_id=1104, lib_whitebox, abc9_flop *) | ||||
| module FDCE ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|  | @ -423,7 +460,7 @@ module FDCE ( | |||
|   endcase endgenerate | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1103, lib_whitebox, abc9_flop *) | ||||
| (* abc9_box_id=1105, lib_whitebox, abc9_flop *) | ||||
| module FDCE_1 ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|  | @ -436,6 +473,45 @@ module FDCE_1 ( | |||
|   always @(negedge C, posedge CLR) if (CLR) Q <= 1'b0; else if (CE) Q <= D; | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1106, lib_whitebox, abc9_flop *) | ||||
| module FDPE ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   (* invertible_pin = "IS_C_INVERTED" *) | ||||
|   input C, | ||||
|   input CE, | ||||
|   (* invertible_pin = "IS_D_INVERTED" *) | ||||
|   input D, | ||||
|   (* invertible_pin = "IS_PRE_INVERTED" *) | ||||
|   input PRE | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   parameter [0:0] IS_C_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_D_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_PRE_INVERTED = 1'b0; | ||||
|   initial Q <= INIT; | ||||
|   generate case ({|IS_C_INVERTED, |IS_PRE_INVERTED}) | ||||
|     2'b00: always @(posedge C, posedge PRE) if ( PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     2'b01: always @(posedge C, negedge PRE) if (!PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     2'b10: always @(negedge C, posedge PRE) if ( PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     2'b11: always @(negedge C, negedge PRE) if (!PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|   endcase endgenerate | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1107, lib_whitebox, abc9_flop *) | ||||
| module FDPE_1 ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   input C, | ||||
|   input CE, D, PRE | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   initial Q <= INIT; | ||||
|   always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D; | ||||
| endmodule | ||||
| 
 | ||||
| module FDCPE ( | ||||
|   output wire Q, | ||||
|   (* clkbuf_sink *) | ||||
|  | @ -481,82 +557,6 @@ module FDCPE ( | |||
|   assign Q = qs ? qp : qc; | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1104, lib_whitebox, abc9_flop *) | ||||
| module FDPE ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   (* invertible_pin = "IS_C_INVERTED" *) | ||||
|   input C, | ||||
|   input CE, | ||||
|   (* invertible_pin = "IS_D_INVERTED" *) | ||||
|   input D, | ||||
|   (* invertible_pin = "IS_PRE_INVERTED" *) | ||||
|   input PRE | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   parameter [0:0] IS_C_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_D_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_PRE_INVERTED = 1'b0; | ||||
|   initial Q <= INIT; | ||||
|   generate case ({|IS_C_INVERTED, |IS_PRE_INVERTED}) | ||||
|     2'b00: always @(posedge C, posedge PRE) if ( PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     2'b01: always @(posedge C, negedge PRE) if (!PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     2'b10: always @(negedge C, posedge PRE) if ( PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     2'b11: always @(negedge C, negedge PRE) if (!PRE) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|   endcase endgenerate | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1105, lib_whitebox, abc9_flop *) | ||||
| module FDPE_1 ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   input C, | ||||
|   input CE, D, PRE | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   initial Q <= INIT; | ||||
|   always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D; | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1106, lib_whitebox, abc9_flop *) | ||||
| module FDSE ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   (* invertible_pin = "IS_C_INVERTED" *) | ||||
|   input C, | ||||
|   input CE, | ||||
|   (* invertible_pin = "IS_D_INVERTED" *) | ||||
|   input D, | ||||
|   (* invertible_pin = "IS_S_INVERTED" *) | ||||
|   input S | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   parameter [0:0] IS_C_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_D_INVERTED = 1'b0; | ||||
|   parameter [0:0] IS_S_INVERTED = 1'b0; | ||||
|   initial Q <= INIT; | ||||
|   generate case (|IS_C_INVERTED) | ||||
|     1'b0: always @(posedge C) if (S == !IS_S_INVERTED) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|     1'b1: always @(negedge C) if (S == !IS_S_INVERTED) Q <= 1'b1; else if (CE) Q <= D ^ IS_D_INVERTED; | ||||
|   endcase endgenerate | ||||
| endmodule | ||||
| 
 | ||||
| (* abc9_box_id=1107, lib_whitebox, abc9_flop *) | ||||
| module FDSE_1 ( | ||||
|   (* abc9_arrival=303 *) | ||||
|   output reg Q, | ||||
|   (* clkbuf_sink *) | ||||
|   input C, | ||||
|   input CE, D, S | ||||
| ); | ||||
|   parameter [0:0] INIT = 1'b1; | ||||
|   initial Q <= INIT; | ||||
|   always @(negedge C) if (S) Q <= 1'b1; else if (CE) Q <= D; | ||||
| endmodule | ||||
| 
 | ||||
| module LDCE ( | ||||
|   output reg Q, | ||||
|   (* invertible_pin = "IS_CLR_INVERTED" *) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue