mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	xilinx: consider DSP48E1.ADREG
This commit is contained in:
		
							parent
							
								
									512596760b
								
							
						
					
					
						commit
						7b543fdb0c
					
				
					 4 changed files with 8 additions and 5 deletions
				
			
		|  | @ -772,6 +772,7 @@ module DSP48E1 ( | ||||||
|         .RSTP(RSTP) |         .RSTP(RSTP) | ||||||
|     ); |     ); | ||||||
|     $__ABC9_DSP48E1 #( |     $__ABC9_DSP48E1 #( | ||||||
|  |         .ADREG(ADREG), | ||||||
|         .AREG(AREG), |         .AREG(AREG), | ||||||
|         .BREG(BREG), |         .BREG(BREG), | ||||||
|         .CREG(CREG), |         .CREG(CREG), | ||||||
|  |  | ||||||
|  | @ -107,6 +107,7 @@ module $__ABC9_DSP48E1 ( | ||||||
|     output [47:0] P, |     output [47:0] P, | ||||||
|     output [47:0] PCOUT |     output [47:0] PCOUT | ||||||
| ); | ); | ||||||
|  |     parameter integer ADREG = 1; | ||||||
|     parameter integer AREG = 1; |     parameter integer AREG = 1; | ||||||
|     parameter integer BREG = 1; |     parameter integer BREG = 1; | ||||||
|     parameter integer CREG = 1; |     parameter integer CREG = 1; | ||||||
|  | @ -176,7 +177,7 @@ module $__ABC9_DSP48E1 ( | ||||||
| 
 | 
 | ||||||
|     // Identical comb delays to DSP48E1 in cells_sim.v |     // Identical comb delays to DSP48E1 in cells_sim.v | ||||||
|     generate |     generate | ||||||
|         if (PREG == 0 && MREG == 0 && AREG == 0) |         if (PREG == 0 && MREG == 0 && AREG == 0 && ADREG == 0) | ||||||
|             specify |             specify | ||||||
|                 ($A *> P) =      \A.P.comb (); |                 ($A *> P) =      \A.P.comb (); | ||||||
|                 ($A *> PCOUT) =  \A.PCOUT.comb (); |                 ($A *> PCOUT) =  \A.PCOUT.comb (); | ||||||
|  | @ -194,7 +195,7 @@ module $__ABC9_DSP48E1 ( | ||||||
|                 ($C *> PCOUT) =  \C.PCOUT.comb (); |                 ($C *> PCOUT) =  \C.PCOUT.comb (); | ||||||
|             endspecify |             endspecify | ||||||
| 
 | 
 | ||||||
|         if (PREG == 0 && MREG == 0 && DREG == 0) |         if (PREG == 0 && MREG == 0 && ADREG == 0 && DREG == 0) | ||||||
|             specify |             specify | ||||||
|                 ($D *> P) =      \D.P.comb (); |                 ($D *> P) =      \D.P.comb (); | ||||||
|                 ($D *> PCOUT) =  \D.PCOUT.comb (); |                 ($D *> PCOUT) =  \D.PCOUT.comb (); | ||||||
|  |  | ||||||
|  | @ -47,6 +47,7 @@ module $__ABC9_DSP48E1( | ||||||
|     output [47:0] P, |     output [47:0] P, | ||||||
|     output [47:0] PCOUT |     output [47:0] PCOUT | ||||||
| ); | ); | ||||||
|  |     parameter integer ADREG = 1; | ||||||
|     parameter integer AREG = 1; |     parameter integer AREG = 1; | ||||||
|     parameter integer BREG = 1; |     parameter integer BREG = 1; | ||||||
|     parameter integer CREG = 1; |     parameter integer CREG = 1; | ||||||
|  |  | ||||||
|  | @ -3231,7 +3231,7 @@ module DSP48E1 ( | ||||||
|     endfunction |     endfunction | ||||||
| 
 | 
 | ||||||
|     generate |     generate | ||||||
|         if (PREG == 0 && MREG == 0 && AREG == 0) |         if (PREG == 0 && MREG == 0 && AREG == 0 && ADREG == 0) | ||||||
|             specify |             specify | ||||||
|                 (A *> P) =      \A.P.comb (); |                 (A *> P) =      \A.P.comb (); | ||||||
|                 (A *> PCOUT) =  \A.PCOUT.comb (); |                 (A *> PCOUT) =  \A.PCOUT.comb (); | ||||||
|  | @ -3264,7 +3264,7 @@ module DSP48E1 ( | ||||||
|                 $setup(C, negedge CLK &&&  IS_CLK_INVERTED, \C.required () ); |                 $setup(C, negedge CLK &&&  IS_CLK_INVERTED, \C.required () ); | ||||||
|             endspecify |             endspecify | ||||||
| 
 | 
 | ||||||
|         if (PREG == 0 && MREG == 0 && DREG == 0) |         if (PREG == 0 && MREG == 0 && ADREG == 0 && DREG == 0) | ||||||
|             specify |             specify | ||||||
|                 (D *> P) =      \D.P.comb (); |                 (D *> P) =      \D.P.comb (); | ||||||
|                 (D *> PCOUT) =  \D.PCOUT.comb (); |                 (D *> PCOUT) =  \D.PCOUT.comb (); | ||||||
|  | @ -3286,7 +3286,7 @@ module DSP48E1 ( | ||||||
|                 $setup(PCIN, negedge CLK &&&  IS_CLK_INVERTED, USE_PATTERN_DETECT != "NO_PATDET" ? 1315 : 1025); |                 $setup(PCIN, negedge CLK &&&  IS_CLK_INVERTED, USE_PATTERN_DETECT != "NO_PATDET" ? 1315 : 1025); | ||||||
|             endspecify |             endspecify | ||||||
| 
 | 
 | ||||||
|         if (PREG || AREG || BREG || CREG || DREG || MREG) |         if (PREG || AREG || ADREG || BREG || CREG || DREG || MREG) | ||||||
|             specify |             specify | ||||||
|                 if (!IS_CLK_INVERTED && CEP) (posedge CLK => (P : 48'bx)) = \P.arrival () ; |                 if (!IS_CLK_INVERTED && CEP) (posedge CLK => (P : 48'bx)) = \P.arrival () ; | ||||||
|                 if ( IS_CLK_INVERTED && CEP) (negedge CLK => (P : 48'bx)) = \P.arrival () ; |                 if ( IS_CLK_INVERTED && CEP) (negedge CLK => (P : 48'bx)) = \P.arrival () ; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue