mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	intel_alm: compose $__MISTRAL_FF_SYNCONLY from MISTRAL_FF
This commit is contained in:
		
							parent
							
								
									0ba79feb6f
								
							
						
					
					
						commit
						2bdced0d68
					
				
					 2 changed files with 2 additions and 47 deletions
				
			
		|  | @ -1,21 +1,3 @@ | |||
| `ifdef cyclonev | ||||
| `define SYNCPATH 262 | ||||
| `define SYNCSETUP 522 | ||||
| `define COMBPATH 0 | ||||
| `endif | ||||
| `ifdef cyclone10gx | ||||
| `define SYNCPATH 219 | ||||
| `define SYNCSETUP 268 | ||||
| `define COMBPATH 0 | ||||
| `endif | ||||
| 
 | ||||
| // fallback for when a family isn't detected (e.g. when techmapping for equivalence)
 | ||||
| `ifndef SYNCPATH | ||||
| `define SYNCPATH 0 | ||||
| `define SYNCSETUP 0 | ||||
| `define COMBPATH 0 | ||||
| `endif | ||||
| 
 | ||||
| // This is a purely-synchronous flop, that ABC9 can use for sequential synthesis.
 | ||||
| (* abc9_flop, lib_whitebox *) | ||||
| module $__MISTRAL_FF_SYNCONLY ( | ||||
|  | @ -23,33 +5,6 @@ module $__MISTRAL_FF_SYNCONLY ( | |||
|     output reg Q | ||||
| ); | ||||
| 
 | ||||
| specify | ||||
|     if (ENA) (posedge CLK => (Q : DATAIN)) = `SYNCPATH; | ||||
|     if (ENA) (posedge CLK => (Q : SCLR)) = `SYNCPATH; | ||||
|     if (ENA) (posedge CLK => (Q : SLOAD)) = `SYNCPATH; | ||||
|     if (ENA) (posedge CLK => (Q : SDATA)) = `SYNCPATH; | ||||
| 
 | ||||
|     $setup(DATAIN, posedge CLK, `SYNCSETUP); | ||||
|     $setup(ENA, posedge CLK, `SYNCSETUP); | ||||
|     $setup(SCLR, posedge CLK, `SYNCSETUP); | ||||
|     $setup(SLOAD, posedge CLK, `SYNCSETUP); | ||||
|     $setup(SDATA, posedge CLK, `SYNCSETUP); | ||||
| endspecify | ||||
| 
 | ||||
| initial begin | ||||
|     // Altera flops initialise to zero.
 | ||||
| 	Q = 0; | ||||
| end | ||||
| 
 | ||||
| always @(posedge CLK) begin | ||||
|     // Clock-enable
 | ||||
| 	if (ENA) begin | ||||
|         // Synchronous clear
 | ||||
|         if (SCLR) Q <= 0; | ||||
|         // Synchronous load
 | ||||
|         else if (SLOAD) Q <= SDATA; | ||||
|         else Q <= DATAIN; | ||||
|     end | ||||
| end | ||||
| MISTRAL_FF ff (.DATAIN(DATAIN), .CLK(CLK), .ENA(ENA), .ACLR(1'b1), .SCLR(SCLR), .SLOAD(SLOAD), .SDATA(SDATA), .Q(Q)); | ||||
| 
 | ||||
| endmodule | ||||
|  |  | |||
|  | @ -90,7 +90,7 @@ specify | |||
|     $setup(SLOAD, posedge CLK, `SYNCSETUP); | ||||
|     $setup(SDATA, posedge CLK, `SYNCSETUP); | ||||
| 
 | ||||
|     (ACLR => Q) = `COMBPATH; | ||||
|     if (!ACLR) (ACLR => Q) = `COMBPATH; | ||||
| endspecify | ||||
| 
 | ||||
| initial begin | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue