mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	add script for blackbox extraction
This commit is contained in:
		
							parent
							
								
									ea50d96135
								
							
						
					
					
						commit
						541c1ab567
					
				
					 5 changed files with 4395 additions and 1704 deletions
				
			
		
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1,81 +1,430 @@ | |||
| (* blackbox *) | ||||
| module DP8KC( | ||||
|   input DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0, | ||||
|   input ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0, | ||||
|   input CEA, OCEA, CLKA, WEA, RSTA, | ||||
|   input CSA2, CSA1, CSA0, | ||||
|   output DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0, | ||||
| // Created by cells_xtra.py from Lattice models
 | ||||
| 
 | ||||
|   input DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0, | ||||
|   input ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0, | ||||
|   input CEB, OCEB, CLKB, WEB, RSTB, | ||||
|   input CSB2, CSB1, CSB0, | ||||
|   output DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0 | ||||
| ); | ||||
| 	parameter DATA_WIDTH_A = 9; | ||||
| 	parameter DATA_WIDTH_B = 9; | ||||
| (* blackbox *) (* keep *) | ||||
| module GSR (...); | ||||
|     input GSR; | ||||
| endmodule | ||||
| 
 | ||||
| 	parameter REGMODE_A = "NOREG"; | ||||
| 	parameter REGMODE_B = "NOREG"; | ||||
| 
 | ||||
| 	parameter RESETMODE = "SYNC"; | ||||
| 	parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
| 	parameter CSDECODE_A = "0b000"; | ||||
| 	parameter CSDECODE_B = "0b000"; | ||||
| 
 | ||||
| 	parameter WRITEMODE_A = "NORMAL"; | ||||
| 	parameter WRITEMODE_B = "NORMAL"; | ||||
| 
 | ||||
| 	parameter GSR = "ENABLED"; | ||||
| 	parameter INIT_DATA = "STATIC"; | ||||
| 
 | ||||
| 	parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| (* blackbox *) (* keep *) | ||||
| module SGSR (...); | ||||
|     input GSR; | ||||
|     input CLK; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module EHXPLLJ ( | ||||
|     input CLKI, CLKFB, | ||||
|     input PHASESEL1, PHASESEL0, PHASEDIR, PHASESTEP,  | ||||
|     input LOADREG, STDBY, PLLWAKESYNC, RST, RESETM, RESETC, RESETD,  | ||||
|     input ENCLKOP, ENCLKOS, ENCLKOS2, ENCLKOS3, PLLCLK, PLLRST, PLLSTB, PLLWE,  | ||||
|     input PLLDATI7, PLLDATI6, PLLDATI5, PLLDATI4, PLLDATI3, PLLDATI2, PLLDATI1, PLLDATI0,  | ||||
|     input PLLADDR4, PLLADDR3, PLLADDR2, PLLADDR1, PLLADDR0, | ||||
|     output CLKOP, CLKOS, CLKOS2, CLKOS3, LOCK, INTLOCK, REFCLK,  | ||||
|     output PLLDATO7, PLLDATO6, PLLDATO5, PLLDATO4, PLLDATO3, PLLDATO2, PLLDATO1, PLLDATO0, PLLACK,  | ||||
|     output DPHSRC, CLKINTFB | ||||
| ); | ||||
| module DP8KC (...); | ||||
|     parameter DATA_WIDTH_A = 9; | ||||
|     parameter DATA_WIDTH_B = 9; | ||||
|     parameter REGMODE_A = "NOREG"; | ||||
|     parameter REGMODE_B = "NOREG"; | ||||
|     parameter CSDECODE_A = "0b000"; | ||||
|     parameter CSDECODE_B = "0b000"; | ||||
|     parameter WRITEMODE_A = "NORMAL"; | ||||
|     parameter WRITEMODE_B = "NORMAL"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DIA8; | ||||
|     input DIA7; | ||||
|     input DIA6; | ||||
|     input DIA5; | ||||
|     input DIA4; | ||||
|     input DIA3; | ||||
|     input DIA2; | ||||
|     input DIA1; | ||||
|     input DIA0; | ||||
|     input ADA12; | ||||
|     input ADA11; | ||||
|     input ADA10; | ||||
|     input ADA9; | ||||
|     input ADA8; | ||||
|     input ADA7; | ||||
|     input ADA6; | ||||
|     input ADA5; | ||||
|     input ADA4; | ||||
|     input ADA3; | ||||
|     input ADA2; | ||||
|     input ADA1; | ||||
|     input ADA0; | ||||
|     input CEA; | ||||
|     input OCEA; | ||||
|     input CLKA; | ||||
|     input WEA; | ||||
|     input CSA2; | ||||
|     input CSA1; | ||||
|     input CSA0; | ||||
|     input RSTA; | ||||
|     input DIB8; | ||||
|     input DIB7; | ||||
|     input DIB6; | ||||
|     input DIB5; | ||||
|     input DIB4; | ||||
|     input DIB3; | ||||
|     input DIB2; | ||||
|     input DIB1; | ||||
|     input DIB0; | ||||
|     input ADB12; | ||||
|     input ADB11; | ||||
|     input ADB10; | ||||
|     input ADB9; | ||||
|     input ADB8; | ||||
|     input ADB7; | ||||
|     input ADB6; | ||||
|     input ADB5; | ||||
|     input ADB4; | ||||
|     input ADB3; | ||||
|     input ADB2; | ||||
|     input ADB1; | ||||
|     input ADB0; | ||||
|     input CEB; | ||||
|     input OCEB; | ||||
|     input CLKB; | ||||
|     input WEB; | ||||
|     input CSB2; | ||||
|     input CSB1; | ||||
|     input CSB0; | ||||
|     input RSTB; | ||||
|     output DOA8; | ||||
|     output DOA7; | ||||
|     output DOA6; | ||||
|     output DOA5; | ||||
|     output DOA4; | ||||
|     output DOA3; | ||||
|     output DOA2; | ||||
|     output DOA1; | ||||
|     output DOA0; | ||||
|     output DOB8; | ||||
|     output DOB7; | ||||
|     output DOB6; | ||||
|     output DOB5; | ||||
|     output DOB4; | ||||
|     output DOB3; | ||||
|     output DOB2; | ||||
|     output DOB1; | ||||
|     output DOB0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module PDPW8KC (...); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 9; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter CSDECODE_W = "0b000"; | ||||
|     parameter CSDECODE_R = "0b000"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DI17; | ||||
|     input DI16; | ||||
|     input DI15; | ||||
|     input DI14; | ||||
|     input DI13; | ||||
|     input DI12; | ||||
|     input DI11; | ||||
|     input DI10; | ||||
|     input DI9; | ||||
|     input DI8; | ||||
|     input DI7; | ||||
|     input DI6; | ||||
|     input DI5; | ||||
|     input DI4; | ||||
|     input DI3; | ||||
|     input DI2; | ||||
|     input DI1; | ||||
|     input DI0; | ||||
|     input ADW8; | ||||
|     input ADW7; | ||||
|     input ADW6; | ||||
|     input ADW5; | ||||
|     input ADW4; | ||||
|     input ADW3; | ||||
|     input ADW2; | ||||
|     input ADW1; | ||||
|     input ADW0; | ||||
|     input BE1; | ||||
|     input BE0; | ||||
|     input CEW; | ||||
|     input CLKW; | ||||
|     input CSW2; | ||||
|     input CSW1; | ||||
|     input CSW0; | ||||
|     input ADR12; | ||||
|     input ADR11; | ||||
|     input ADR10; | ||||
|     input ADR9; | ||||
|     input ADR8; | ||||
|     input ADR7; | ||||
|     input ADR6; | ||||
|     input ADR5; | ||||
|     input ADR4; | ||||
|     input ADR3; | ||||
|     input ADR2; | ||||
|     input ADR1; | ||||
|     input ADR0; | ||||
|     input CER; | ||||
|     input OCER; | ||||
|     input CLKR; | ||||
|     input CSR2; | ||||
|     input CSR1; | ||||
|     input CSR0; | ||||
|     input RST; | ||||
|     output DO17; | ||||
|     output DO16; | ||||
|     output DO15; | ||||
|     output DO14; | ||||
|     output DO13; | ||||
|     output DO12; | ||||
|     output DO11; | ||||
|     output DO10; | ||||
|     output DO9; | ||||
|     output DO8; | ||||
|     output DO7; | ||||
|     output DO6; | ||||
|     output DO5; | ||||
|     output DO4; | ||||
|     output DO3; | ||||
|     output DO2; | ||||
|     output DO1; | ||||
|     output DO0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SP8KC (...); | ||||
|     parameter DATA_WIDTH = 9; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter CSDECODE = "0b000"; | ||||
|     parameter WRITEMODE = "NORMAL"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DI8; | ||||
|     input DI7; | ||||
|     input DI6; | ||||
|     input DI5; | ||||
|     input DI4; | ||||
|     input DI3; | ||||
|     input DI2; | ||||
|     input DI1; | ||||
|     input DI0; | ||||
|     input AD12; | ||||
|     input AD11; | ||||
|     input AD10; | ||||
|     input AD9; | ||||
|     input AD8; | ||||
|     input AD7; | ||||
|     input AD6; | ||||
|     input AD5; | ||||
|     input AD4; | ||||
|     input AD3; | ||||
|     input AD2; | ||||
|     input AD1; | ||||
|     input AD0; | ||||
|     input CE; | ||||
|     input OCE; | ||||
|     input CLK; | ||||
|     input WE; | ||||
|     input CS2; | ||||
|     input CS1; | ||||
|     input CS0; | ||||
|     input RST; | ||||
|     output DO8; | ||||
|     output DO7; | ||||
|     output DO6; | ||||
|     output DO5; | ||||
|     output DO4; | ||||
|     output DO3; | ||||
|     output DO2; | ||||
|     output DO1; | ||||
|     output DO0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module FIFO8KB (...); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 18; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter RESETMODE = "ASYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter CSDECODE_W = "0b00"; | ||||
|     parameter CSDECODE_R = "0b00"; | ||||
|     parameter AEPOINTER = "0b00000000000000"; | ||||
|     parameter AEPOINTER1 = "0b00000000000000"; | ||||
|     parameter AFPOINTER = "0b00000000000000"; | ||||
|     parameter AFPOINTER1 = "0b00000000000000"; | ||||
|     parameter FULLPOINTER = "0b00000000000000"; | ||||
|     parameter FULLPOINTER1 = "0b00000000000000"; | ||||
|     parameter GSR = "DISABLED"; | ||||
|     input DI0; | ||||
|     input DI1; | ||||
|     input DI2; | ||||
|     input DI3; | ||||
|     input DI4; | ||||
|     input DI5; | ||||
|     input DI6; | ||||
|     input DI7; | ||||
|     input DI8; | ||||
|     input DI9; | ||||
|     input DI10; | ||||
|     input DI11; | ||||
|     input DI12; | ||||
|     input DI13; | ||||
|     input DI14; | ||||
|     input DI15; | ||||
|     input DI16; | ||||
|     input DI17; | ||||
|     input CSW0; | ||||
|     input CSW1; | ||||
|     input CSR0; | ||||
|     input CSR1; | ||||
|     input WE; | ||||
|     input RE; | ||||
|     input ORE; | ||||
|     input CLKW; | ||||
|     input CLKR; | ||||
|     input RST; | ||||
|     input RPRST; | ||||
|     input FULLI; | ||||
|     input EMPTYI; | ||||
|     output DO0; | ||||
|     output DO1; | ||||
|     output DO2; | ||||
|     output DO3; | ||||
|     output DO4; | ||||
|     output DO5; | ||||
|     output DO6; | ||||
|     output DO7; | ||||
|     output DO8; | ||||
|     output DO9; | ||||
|     output DO10; | ||||
|     output DO11; | ||||
|     output DO12; | ||||
|     output DO13; | ||||
|     output DO14; | ||||
|     output DO15; | ||||
|     output DO16; | ||||
|     output DO17; | ||||
|     output EF; | ||||
|     output AEF; | ||||
|     output AFF; | ||||
|     output FF; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCMA (...); | ||||
|     input CLK0; | ||||
|     input CLK1; | ||||
|     input SEL; | ||||
|     output DCMOUT; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCCA (...); | ||||
|     input CLKI; | ||||
|     input CE; | ||||
|     output CLKO; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module EHXPLLJ (...); | ||||
|     parameter CLKI_DIV = 1; | ||||
|     parameter CLKFB_DIV = 1; | ||||
|     parameter CLKOP_DIV = 8; | ||||
|  | @ -122,172 +471,65 @@ module EHXPLLJ ( | |||
|     parameter DCRST_ENA = "DISABLED"; | ||||
|     parameter DDRST_ENA = "DISABLED"; | ||||
|     parameter INTFB_WAKE = "DISABLED"; | ||||
|     input CLKI; | ||||
|     input CLKFB; | ||||
|     input PHASESEL1; | ||||
|     input PHASESEL0; | ||||
|     input PHASEDIR; | ||||
|     input PHASESTEP; | ||||
|     input LOADREG; | ||||
|     input STDBY; | ||||
|     input PLLWAKESYNC; | ||||
|     input RST; | ||||
|     input RESETM; | ||||
|     input RESETC; | ||||
|     input RESETD; | ||||
|     input ENCLKOP; | ||||
|     input ENCLKOS; | ||||
|     input ENCLKOS2; | ||||
|     input ENCLKOS3; | ||||
|     input PLLCLK; | ||||
|     input PLLRST; | ||||
|     input PLLSTB; | ||||
|     input PLLWE; | ||||
|     input PLLDATI7; | ||||
|     input PLLDATI6; | ||||
|     input PLLDATI5; | ||||
|     input PLLDATI4; | ||||
|     input PLLDATI3; | ||||
|     input PLLDATI2; | ||||
|     input PLLDATI1; | ||||
|     input PLLDATI0; | ||||
|     input PLLADDR4; | ||||
|     input PLLADDR3; | ||||
|     input PLLADDR2; | ||||
|     input PLLADDR1; | ||||
|     input PLLADDR0; | ||||
|     output CLKOP; | ||||
|     output CLKOS; | ||||
|     output CLKOS2; | ||||
|     output CLKOS3; | ||||
|     output LOCK; | ||||
|     output INTLOCK; | ||||
|     output REFCLK; | ||||
|     output PLLDATO7; | ||||
|     output PLLDATO6; | ||||
|     output PLLDATO5; | ||||
|     output PLLDATO4; | ||||
|     output PLLDATO3; | ||||
|     output PLLDATO2; | ||||
|     output PLLDATO1; | ||||
|     output PLLDATO0; | ||||
|     output PLLACK; | ||||
|     output DPHSRC; | ||||
|     output CLKINTFB; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module OSCH #( | ||||
| 	parameter NOM_FREQ = "2.08" | ||||
| ) ( | ||||
| 	input STDBY, | ||||
| 	output OSC, | ||||
| 	output SEDSTDBY | ||||
| ); | ||||
| module OSCH (...); | ||||
|     parameter NOM_FREQ = "2.08"; | ||||
|     input STDBY; | ||||
|     output OSC; | ||||
|     output SEDSTDBY; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCCA ( | ||||
| 	input CLKI, | ||||
| 	input CE, | ||||
| 	output CLKO | ||||
| ); | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCMA ( | ||||
| 	input CLK0, | ||||
| 	input CLK1, | ||||
| 	input SEL, | ||||
| 	output DCMOUT | ||||
| ); | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module PDPW8KC ( | ||||
|     input DI17, DI16, DI15, DI14, DI13, DI12, DI11, DI10, DI9, DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0, | ||||
|     input ADW8, ADW7, ADW6, ADW5, ADW4, ADW3, ADW2, ADW1, ADW0, | ||||
|     input BE1, BE0, | ||||
|     input CEW, CLKW, CSW2, CSW1, CSW0, | ||||
|     input ADR12, ADR11, ADR10, ADR9, ADR8, ADR7, ADR6, ADR5, ADR4,  ADR3,  ADR2, ADR1, ADR0, | ||||
|     input CER, OCER, CLKR, CSR2, CSR1, CSR0, RST, | ||||
|     output DO17, DO16, DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 | ||||
| ); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 9; | ||||
| 
 | ||||
|     parameter GSR = "ENABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE_W = "0b000"; | ||||
|     parameter CSDECODE_R = "0b000"; | ||||
| 
 | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
| 
 | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SP8KC ( | ||||
|     input DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0, | ||||
|     input AD12, AD11, AD10, AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0, | ||||
|     input CE, OCE, CLK, WE, CS2, CS1, CS0, RST, | ||||
|     output DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 | ||||
| ); | ||||
|     parameter DATA_WIDTH = 9; | ||||
|     parameter GSR = "ENABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE = "0b000"; | ||||
| 
 | ||||
|     parameter WRITEMODE = "NORMAL"; | ||||
| 
 | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module FIFO8KB ( | ||||
|     input DI0, DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16, DI17, | ||||
|     input CSW0, CSW1, CSR0, CSR1, WE, RE, ORE, CLKW, CLKR, RST, RPRST, FULLI, EMPTYI, | ||||
|     output DO0, DO1, DO2, DO3, DO4, DO5, DO6, DO7, DO8, DO9, DO10, DO11, DO12, DO13, DO14, DO15, DO16, DO17, | ||||
|     input EF, AEF, AFF, FF | ||||
| ); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 18; | ||||
| 
 | ||||
|     parameter GSR = "DISABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "ASYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE_W = "0b00"; | ||||
|     parameter CSDECODE_R = "0b00"; | ||||
| 
 | ||||
|     parameter AEPOINTER    = "0b00000000000000"; | ||||
|     parameter AEPOINTER1   = "0b00000000000000"; | ||||
|     parameter AFPOINTER    = "0b00000000000000"; | ||||
|     parameter AFPOINTER1   = "0b00000000000000"; | ||||
|     parameter FULLPOINTER  = "0b00000000000000"; | ||||
|     parameter FULLPOINTER1 = "0b00000000000000"; | ||||
| endmodule | ||||
|  |  | |||
|  | @ -1,81 +1,430 @@ | |||
| (* blackbox *) | ||||
| module DP8KC( | ||||
|   input DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0, | ||||
|   input ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0, | ||||
|   input CEA, OCEA, CLKA, WEA, RSTA, | ||||
|   input CSA2, CSA1, CSA0, | ||||
|   output DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0, | ||||
| // Created by cells_xtra.py from Lattice models
 | ||||
| 
 | ||||
|   input DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0, | ||||
|   input ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0, | ||||
|   input CEB, OCEB, CLKB, WEB, RSTB, | ||||
|   input CSB2, CSB1, CSB0, | ||||
|   output DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0 | ||||
| ); | ||||
| 	parameter DATA_WIDTH_A = 9; | ||||
| 	parameter DATA_WIDTH_B = 9; | ||||
| (* blackbox *) (* keep *) | ||||
| module GSR (...); | ||||
|     input GSR; | ||||
| endmodule | ||||
| 
 | ||||
| 	parameter REGMODE_A = "NOREG"; | ||||
| 	parameter REGMODE_B = "NOREG"; | ||||
| 
 | ||||
| 	parameter RESETMODE = "SYNC"; | ||||
| 	parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
| 	parameter CSDECODE_A = "0b000"; | ||||
| 	parameter CSDECODE_B = "0b000"; | ||||
| 
 | ||||
| 	parameter WRITEMODE_A = "NORMAL"; | ||||
| 	parameter WRITEMODE_B = "NORMAL"; | ||||
| 
 | ||||
| 	parameter GSR = "ENABLED"; | ||||
| 	parameter INIT_DATA = "STATIC"; | ||||
| 
 | ||||
| 	parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| (* blackbox *) (* keep *) | ||||
| module SGSR (...); | ||||
|     input GSR; | ||||
|     input CLK; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module EHXPLLJ ( | ||||
|     input CLKI, CLKFB, | ||||
|     input PHASESEL1, PHASESEL0, PHASEDIR, PHASESTEP,  | ||||
|     input LOADREG, STDBY, PLLWAKESYNC, RST, RESETM, RESETC, RESETD,  | ||||
|     input ENCLKOP, ENCLKOS, ENCLKOS2, ENCLKOS3, PLLCLK, PLLRST, PLLSTB, PLLWE,  | ||||
|     input PLLDATI7, PLLDATI6, PLLDATI5, PLLDATI4, PLLDATI3, PLLDATI2, PLLDATI1, PLLDATI0,  | ||||
|     input PLLADDR4, PLLADDR3, PLLADDR2, PLLADDR1, PLLADDR0, | ||||
|     output CLKOP, CLKOS, CLKOS2, CLKOS3, LOCK, INTLOCK, REFCLK,  | ||||
|     output PLLDATO7, PLLDATO6, PLLDATO5, PLLDATO4, PLLDATO3, PLLDATO2, PLLDATO1, PLLDATO0, PLLACK,  | ||||
|     output DPHSRC, CLKINTFB | ||||
| ); | ||||
| module DP8KC (...); | ||||
|     parameter DATA_WIDTH_A = 9; | ||||
|     parameter DATA_WIDTH_B = 9; | ||||
|     parameter REGMODE_A = "NOREG"; | ||||
|     parameter REGMODE_B = "NOREG"; | ||||
|     parameter CSDECODE_A = "0b000"; | ||||
|     parameter CSDECODE_B = "0b000"; | ||||
|     parameter WRITEMODE_A = "NORMAL"; | ||||
|     parameter WRITEMODE_B = "NORMAL"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DIA8; | ||||
|     input DIA7; | ||||
|     input DIA6; | ||||
|     input DIA5; | ||||
|     input DIA4; | ||||
|     input DIA3; | ||||
|     input DIA2; | ||||
|     input DIA1; | ||||
|     input DIA0; | ||||
|     input ADA12; | ||||
|     input ADA11; | ||||
|     input ADA10; | ||||
|     input ADA9; | ||||
|     input ADA8; | ||||
|     input ADA7; | ||||
|     input ADA6; | ||||
|     input ADA5; | ||||
|     input ADA4; | ||||
|     input ADA3; | ||||
|     input ADA2; | ||||
|     input ADA1; | ||||
|     input ADA0; | ||||
|     input CEA; | ||||
|     input OCEA; | ||||
|     input CLKA; | ||||
|     input WEA; | ||||
|     input CSA2; | ||||
|     input CSA1; | ||||
|     input CSA0; | ||||
|     input RSTA; | ||||
|     input DIB8; | ||||
|     input DIB7; | ||||
|     input DIB6; | ||||
|     input DIB5; | ||||
|     input DIB4; | ||||
|     input DIB3; | ||||
|     input DIB2; | ||||
|     input DIB1; | ||||
|     input DIB0; | ||||
|     input ADB12; | ||||
|     input ADB11; | ||||
|     input ADB10; | ||||
|     input ADB9; | ||||
|     input ADB8; | ||||
|     input ADB7; | ||||
|     input ADB6; | ||||
|     input ADB5; | ||||
|     input ADB4; | ||||
|     input ADB3; | ||||
|     input ADB2; | ||||
|     input ADB1; | ||||
|     input ADB0; | ||||
|     input CEB; | ||||
|     input OCEB; | ||||
|     input CLKB; | ||||
|     input WEB; | ||||
|     input CSB2; | ||||
|     input CSB1; | ||||
|     input CSB0; | ||||
|     input RSTB; | ||||
|     output DOA8; | ||||
|     output DOA7; | ||||
|     output DOA6; | ||||
|     output DOA5; | ||||
|     output DOA4; | ||||
|     output DOA3; | ||||
|     output DOA2; | ||||
|     output DOA1; | ||||
|     output DOA0; | ||||
|     output DOB8; | ||||
|     output DOB7; | ||||
|     output DOB6; | ||||
|     output DOB5; | ||||
|     output DOB4; | ||||
|     output DOB3; | ||||
|     output DOB2; | ||||
|     output DOB1; | ||||
|     output DOB0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module PDPW8KC (...); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 9; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter CSDECODE_W = "0b000"; | ||||
|     parameter CSDECODE_R = "0b000"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DI17; | ||||
|     input DI16; | ||||
|     input DI15; | ||||
|     input DI14; | ||||
|     input DI13; | ||||
|     input DI12; | ||||
|     input DI11; | ||||
|     input DI10; | ||||
|     input DI9; | ||||
|     input DI8; | ||||
|     input DI7; | ||||
|     input DI6; | ||||
|     input DI5; | ||||
|     input DI4; | ||||
|     input DI3; | ||||
|     input DI2; | ||||
|     input DI1; | ||||
|     input DI0; | ||||
|     input ADW8; | ||||
|     input ADW7; | ||||
|     input ADW6; | ||||
|     input ADW5; | ||||
|     input ADW4; | ||||
|     input ADW3; | ||||
|     input ADW2; | ||||
|     input ADW1; | ||||
|     input ADW0; | ||||
|     input BE1; | ||||
|     input BE0; | ||||
|     input CEW; | ||||
|     input CLKW; | ||||
|     input CSW2; | ||||
|     input CSW1; | ||||
|     input CSW0; | ||||
|     input ADR12; | ||||
|     input ADR11; | ||||
|     input ADR10; | ||||
|     input ADR9; | ||||
|     input ADR8; | ||||
|     input ADR7; | ||||
|     input ADR6; | ||||
|     input ADR5; | ||||
|     input ADR4; | ||||
|     input ADR3; | ||||
|     input ADR2; | ||||
|     input ADR1; | ||||
|     input ADR0; | ||||
|     input CER; | ||||
|     input OCER; | ||||
|     input CLKR; | ||||
|     input CSR2; | ||||
|     input CSR1; | ||||
|     input CSR0; | ||||
|     input RST; | ||||
|     output DO17; | ||||
|     output DO16; | ||||
|     output DO15; | ||||
|     output DO14; | ||||
|     output DO13; | ||||
|     output DO12; | ||||
|     output DO11; | ||||
|     output DO10; | ||||
|     output DO9; | ||||
|     output DO8; | ||||
|     output DO7; | ||||
|     output DO6; | ||||
|     output DO5; | ||||
|     output DO4; | ||||
|     output DO3; | ||||
|     output DO2; | ||||
|     output DO1; | ||||
|     output DO0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SP8KC (...); | ||||
|     parameter DATA_WIDTH = 9; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter CSDECODE = "0b000"; | ||||
|     parameter WRITEMODE = "NORMAL"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DI8; | ||||
|     input DI7; | ||||
|     input DI6; | ||||
|     input DI5; | ||||
|     input DI4; | ||||
|     input DI3; | ||||
|     input DI2; | ||||
|     input DI1; | ||||
|     input DI0; | ||||
|     input AD12; | ||||
|     input AD11; | ||||
|     input AD10; | ||||
|     input AD9; | ||||
|     input AD8; | ||||
|     input AD7; | ||||
|     input AD6; | ||||
|     input AD5; | ||||
|     input AD4; | ||||
|     input AD3; | ||||
|     input AD2; | ||||
|     input AD1; | ||||
|     input AD0; | ||||
|     input CE; | ||||
|     input OCE; | ||||
|     input CLK; | ||||
|     input WE; | ||||
|     input CS2; | ||||
|     input CS1; | ||||
|     input CS0; | ||||
|     input RST; | ||||
|     output DO8; | ||||
|     output DO7; | ||||
|     output DO6; | ||||
|     output DO5; | ||||
|     output DO4; | ||||
|     output DO3; | ||||
|     output DO2; | ||||
|     output DO1; | ||||
|     output DO0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module FIFO8KB (...); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 18; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter RESETMODE = "ASYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter CSDECODE_W = "0b00"; | ||||
|     parameter CSDECODE_R = "0b00"; | ||||
|     parameter AEPOINTER = "0b00000000000000"; | ||||
|     parameter AEPOINTER1 = "0b00000000000000"; | ||||
|     parameter AFPOINTER = "0b00000000000000"; | ||||
|     parameter AFPOINTER1 = "0b00000000000000"; | ||||
|     parameter FULLPOINTER = "0b00000000000000"; | ||||
|     parameter FULLPOINTER1 = "0b00000000000000"; | ||||
|     parameter GSR = "DISABLED"; | ||||
|     input DI0; | ||||
|     input DI1; | ||||
|     input DI2; | ||||
|     input DI3; | ||||
|     input DI4; | ||||
|     input DI5; | ||||
|     input DI6; | ||||
|     input DI7; | ||||
|     input DI8; | ||||
|     input DI9; | ||||
|     input DI10; | ||||
|     input DI11; | ||||
|     input DI12; | ||||
|     input DI13; | ||||
|     input DI14; | ||||
|     input DI15; | ||||
|     input DI16; | ||||
|     input DI17; | ||||
|     input CSW0; | ||||
|     input CSW1; | ||||
|     input CSR0; | ||||
|     input CSR1; | ||||
|     input WE; | ||||
|     input RE; | ||||
|     input ORE; | ||||
|     input CLKW; | ||||
|     input CLKR; | ||||
|     input RST; | ||||
|     input RPRST; | ||||
|     input FULLI; | ||||
|     input EMPTYI; | ||||
|     output DO0; | ||||
|     output DO1; | ||||
|     output DO2; | ||||
|     output DO3; | ||||
|     output DO4; | ||||
|     output DO5; | ||||
|     output DO6; | ||||
|     output DO7; | ||||
|     output DO8; | ||||
|     output DO9; | ||||
|     output DO10; | ||||
|     output DO11; | ||||
|     output DO12; | ||||
|     output DO13; | ||||
|     output DO14; | ||||
|     output DO15; | ||||
|     output DO16; | ||||
|     output DO17; | ||||
|     output EF; | ||||
|     output AEF; | ||||
|     output AFF; | ||||
|     output FF; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCMA (...); | ||||
|     input CLK0; | ||||
|     input CLK1; | ||||
|     input SEL; | ||||
|     output DCMOUT; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCCA (...); | ||||
|     input CLKI; | ||||
|     input CE; | ||||
|     output CLKO; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module EHXPLLJ (...); | ||||
|     parameter CLKI_DIV = 1; | ||||
|     parameter CLKFB_DIV = 1; | ||||
|     parameter CLKOP_DIV = 8; | ||||
|  | @ -122,172 +471,65 @@ module EHXPLLJ ( | |||
|     parameter DCRST_ENA = "DISABLED"; | ||||
|     parameter DDRST_ENA = "DISABLED"; | ||||
|     parameter INTFB_WAKE = "DISABLED"; | ||||
|     input CLKI; | ||||
|     input CLKFB; | ||||
|     input PHASESEL1; | ||||
|     input PHASESEL0; | ||||
|     input PHASEDIR; | ||||
|     input PHASESTEP; | ||||
|     input LOADREG; | ||||
|     input STDBY; | ||||
|     input PLLWAKESYNC; | ||||
|     input RST; | ||||
|     input RESETM; | ||||
|     input RESETC; | ||||
|     input RESETD; | ||||
|     input ENCLKOP; | ||||
|     input ENCLKOS; | ||||
|     input ENCLKOS2; | ||||
|     input ENCLKOS3; | ||||
|     input PLLCLK; | ||||
|     input PLLRST; | ||||
|     input PLLSTB; | ||||
|     input PLLWE; | ||||
|     input PLLDATI7; | ||||
|     input PLLDATI6; | ||||
|     input PLLDATI5; | ||||
|     input PLLDATI4; | ||||
|     input PLLDATI3; | ||||
|     input PLLDATI2; | ||||
|     input PLLDATI1; | ||||
|     input PLLDATI0; | ||||
|     input PLLADDR4; | ||||
|     input PLLADDR3; | ||||
|     input PLLADDR2; | ||||
|     input PLLADDR1; | ||||
|     input PLLADDR0; | ||||
|     output CLKOP; | ||||
|     output CLKOS; | ||||
|     output CLKOS2; | ||||
|     output CLKOS3; | ||||
|     output LOCK; | ||||
|     output INTLOCK; | ||||
|     output REFCLK; | ||||
|     output PLLDATO7; | ||||
|     output PLLDATO6; | ||||
|     output PLLDATO5; | ||||
|     output PLLDATO4; | ||||
|     output PLLDATO3; | ||||
|     output PLLDATO2; | ||||
|     output PLLDATO1; | ||||
|     output PLLDATO0; | ||||
|     output PLLACK; | ||||
|     output DPHSRC; | ||||
|     output CLKINTFB; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module OSCH #( | ||||
| 	parameter NOM_FREQ = "2.08" | ||||
| ) ( | ||||
| 	input STDBY, | ||||
| 	output OSC, | ||||
| 	output SEDSTDBY | ||||
| ); | ||||
| module OSCH (...); | ||||
|     parameter NOM_FREQ = "2.08"; | ||||
|     input STDBY; | ||||
|     output OSC; | ||||
|     output SEDSTDBY; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCCA ( | ||||
| 	input CLKI, | ||||
| 	input CE, | ||||
| 	output CLKO | ||||
| ); | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCMA ( | ||||
| 	input CLK0, | ||||
| 	input CLK1, | ||||
| 	input SEL, | ||||
| 	output DCMOUT | ||||
| ); | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module PDPW8KC ( | ||||
|     input DI17, DI16, DI15, DI14, DI13, DI12, DI11, DI10, DI9, DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0, | ||||
|     input ADW8, ADW7, ADW6, ADW5, ADW4, ADW3, ADW2, ADW1, ADW0, | ||||
|     input BE1, BE0, | ||||
|     input CEW, CLKW, CSW2, CSW1, CSW0, | ||||
|     input ADR12, ADR11, ADR10, ADR9, ADR8, ADR7, ADR6, ADR5, ADR4,  ADR3,  ADR2, ADR1, ADR0, | ||||
|     input CER, OCER, CLKR, CSR2, CSR1, CSR0, RST, | ||||
|     output DO17, DO16, DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 | ||||
| ); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 9; | ||||
| 
 | ||||
|     parameter GSR = "ENABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE_W = "0b000"; | ||||
|     parameter CSDECODE_R = "0b000"; | ||||
| 
 | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
| 
 | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SP8KC ( | ||||
|     input DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0, | ||||
|     input AD12, AD11, AD10, AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0, | ||||
|     input CE, OCE, CLK, WE, CS2, CS1, CS0, RST, | ||||
|     output DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 | ||||
| ); | ||||
|     parameter DATA_WIDTH = 9; | ||||
|     parameter GSR = "ENABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE = "0b000"; | ||||
| 
 | ||||
|     parameter WRITEMODE = "NORMAL"; | ||||
| 
 | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module FIFO8KB ( | ||||
|     input DI0, DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16, DI17, | ||||
|     input CSW0, CSW1, CSR0, CSR1, WE, RE, ORE, CLKW, CLKR, RST, RPRST, FULLI, EMPTYI, | ||||
|     output DO0, DO1, DO2, DO3, DO4, DO5, DO6, DO7, DO8, DO9, DO10, DO11, DO12, DO13, DO14, DO15, DO16, DO17, | ||||
|     input EF, AEF, AFF, FF | ||||
| ); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 18; | ||||
| 
 | ||||
|     parameter GSR = "DISABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "ASYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE_W = "0b00"; | ||||
|     parameter CSDECODE_R = "0b00"; | ||||
| 
 | ||||
|     parameter AEPOINTER    = "0b00000000000000"; | ||||
|     parameter AEPOINTER1   = "0b00000000000000"; | ||||
|     parameter AFPOINTER    = "0b00000000000000"; | ||||
|     parameter AFPOINTER1   = "0b00000000000000"; | ||||
|     parameter FULLPOINTER  = "0b00000000000000"; | ||||
|     parameter FULLPOINTER1 = "0b00000000000000"; | ||||
| endmodule | ||||
|  |  | |||
|  | @ -1,81 +1,430 @@ | |||
| (* blackbox *) | ||||
| module DP8KC( | ||||
|   input DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0, | ||||
|   input ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0, | ||||
|   input CEA, OCEA, CLKA, WEA, RSTA, | ||||
|   input CSA2, CSA1, CSA0, | ||||
|   output DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0, | ||||
| // Created by cells_xtra.py from Lattice models
 | ||||
| 
 | ||||
|   input DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0, | ||||
|   input ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0, | ||||
|   input CEB, OCEB, CLKB, WEB, RSTB, | ||||
|   input CSB2, CSB1, CSB0, | ||||
|   output DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0 | ||||
| ); | ||||
| 	parameter DATA_WIDTH_A = 9; | ||||
| 	parameter DATA_WIDTH_B = 9; | ||||
| (* blackbox *) (* keep *) | ||||
| module GSR (...); | ||||
|     input GSR; | ||||
| endmodule | ||||
| 
 | ||||
| 	parameter REGMODE_A = "NOREG"; | ||||
| 	parameter REGMODE_B = "NOREG"; | ||||
| 
 | ||||
| 	parameter RESETMODE = "SYNC"; | ||||
| 	parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
| 	parameter CSDECODE_A = "0b000"; | ||||
| 	parameter CSDECODE_B = "0b000"; | ||||
| 
 | ||||
| 	parameter WRITEMODE_A = "NORMAL"; | ||||
| 	parameter WRITEMODE_B = "NORMAL"; | ||||
| 
 | ||||
| 	parameter GSR = "ENABLED"; | ||||
| 	parameter INIT_DATA = "STATIC"; | ||||
| 
 | ||||
| 	parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| 	parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
| (* blackbox *) (* keep *) | ||||
| module SGSR (...); | ||||
|     input GSR; | ||||
|     input CLK; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module EHXPLLJ ( | ||||
|     input CLKI, CLKFB, | ||||
|     input PHASESEL1, PHASESEL0, PHASEDIR, PHASESTEP,  | ||||
|     input LOADREG, STDBY, PLLWAKESYNC, RST, RESETM, RESETC, RESETD,  | ||||
|     input ENCLKOP, ENCLKOS, ENCLKOS2, ENCLKOS3, PLLCLK, PLLRST, PLLSTB, PLLWE,  | ||||
|     input PLLDATI7, PLLDATI6, PLLDATI5, PLLDATI4, PLLDATI3, PLLDATI2, PLLDATI1, PLLDATI0,  | ||||
|     input PLLADDR4, PLLADDR3, PLLADDR2, PLLADDR1, PLLADDR0, | ||||
|     output CLKOP, CLKOS, CLKOS2, CLKOS3, LOCK, INTLOCK, REFCLK,  | ||||
|     output PLLDATO7, PLLDATO6, PLLDATO5, PLLDATO4, PLLDATO3, PLLDATO2, PLLDATO1, PLLDATO0, PLLACK,  | ||||
|     output DPHSRC, CLKINTFB | ||||
| ); | ||||
| module DP8KC (...); | ||||
|     parameter DATA_WIDTH_A = 9; | ||||
|     parameter DATA_WIDTH_B = 9; | ||||
|     parameter REGMODE_A = "NOREG"; | ||||
|     parameter REGMODE_B = "NOREG"; | ||||
|     parameter CSDECODE_A = "0b000"; | ||||
|     parameter CSDECODE_B = "0b000"; | ||||
|     parameter WRITEMODE_A = "NORMAL"; | ||||
|     parameter WRITEMODE_B = "NORMAL"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DIA8; | ||||
|     input DIA7; | ||||
|     input DIA6; | ||||
|     input DIA5; | ||||
|     input DIA4; | ||||
|     input DIA3; | ||||
|     input DIA2; | ||||
|     input DIA1; | ||||
|     input DIA0; | ||||
|     input ADA12; | ||||
|     input ADA11; | ||||
|     input ADA10; | ||||
|     input ADA9; | ||||
|     input ADA8; | ||||
|     input ADA7; | ||||
|     input ADA6; | ||||
|     input ADA5; | ||||
|     input ADA4; | ||||
|     input ADA3; | ||||
|     input ADA2; | ||||
|     input ADA1; | ||||
|     input ADA0; | ||||
|     input CEA; | ||||
|     input OCEA; | ||||
|     input CLKA; | ||||
|     input WEA; | ||||
|     input CSA2; | ||||
|     input CSA1; | ||||
|     input CSA0; | ||||
|     input RSTA; | ||||
|     input DIB8; | ||||
|     input DIB7; | ||||
|     input DIB6; | ||||
|     input DIB5; | ||||
|     input DIB4; | ||||
|     input DIB3; | ||||
|     input DIB2; | ||||
|     input DIB1; | ||||
|     input DIB0; | ||||
|     input ADB12; | ||||
|     input ADB11; | ||||
|     input ADB10; | ||||
|     input ADB9; | ||||
|     input ADB8; | ||||
|     input ADB7; | ||||
|     input ADB6; | ||||
|     input ADB5; | ||||
|     input ADB4; | ||||
|     input ADB3; | ||||
|     input ADB2; | ||||
|     input ADB1; | ||||
|     input ADB0; | ||||
|     input CEB; | ||||
|     input OCEB; | ||||
|     input CLKB; | ||||
|     input WEB; | ||||
|     input CSB2; | ||||
|     input CSB1; | ||||
|     input CSB0; | ||||
|     input RSTB; | ||||
|     output DOA8; | ||||
|     output DOA7; | ||||
|     output DOA6; | ||||
|     output DOA5; | ||||
|     output DOA4; | ||||
|     output DOA3; | ||||
|     output DOA2; | ||||
|     output DOA1; | ||||
|     output DOA0; | ||||
|     output DOB8; | ||||
|     output DOB7; | ||||
|     output DOB6; | ||||
|     output DOB5; | ||||
|     output DOB4; | ||||
|     output DOB3; | ||||
|     output DOB2; | ||||
|     output DOB1; | ||||
|     output DOB0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module PDPW8KC (...); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 9; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter CSDECODE_W = "0b000"; | ||||
|     parameter CSDECODE_R = "0b000"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DI17; | ||||
|     input DI16; | ||||
|     input DI15; | ||||
|     input DI14; | ||||
|     input DI13; | ||||
|     input DI12; | ||||
|     input DI11; | ||||
|     input DI10; | ||||
|     input DI9; | ||||
|     input DI8; | ||||
|     input DI7; | ||||
|     input DI6; | ||||
|     input DI5; | ||||
|     input DI4; | ||||
|     input DI3; | ||||
|     input DI2; | ||||
|     input DI1; | ||||
|     input DI0; | ||||
|     input ADW8; | ||||
|     input ADW7; | ||||
|     input ADW6; | ||||
|     input ADW5; | ||||
|     input ADW4; | ||||
|     input ADW3; | ||||
|     input ADW2; | ||||
|     input ADW1; | ||||
|     input ADW0; | ||||
|     input BE1; | ||||
|     input BE0; | ||||
|     input CEW; | ||||
|     input CLKW; | ||||
|     input CSW2; | ||||
|     input CSW1; | ||||
|     input CSW0; | ||||
|     input ADR12; | ||||
|     input ADR11; | ||||
|     input ADR10; | ||||
|     input ADR9; | ||||
|     input ADR8; | ||||
|     input ADR7; | ||||
|     input ADR6; | ||||
|     input ADR5; | ||||
|     input ADR4; | ||||
|     input ADR3; | ||||
|     input ADR2; | ||||
|     input ADR1; | ||||
|     input ADR0; | ||||
|     input CER; | ||||
|     input OCER; | ||||
|     input CLKR; | ||||
|     input CSR2; | ||||
|     input CSR1; | ||||
|     input CSR0; | ||||
|     input RST; | ||||
|     output DO17; | ||||
|     output DO16; | ||||
|     output DO15; | ||||
|     output DO14; | ||||
|     output DO13; | ||||
|     output DO12; | ||||
|     output DO11; | ||||
|     output DO10; | ||||
|     output DO9; | ||||
|     output DO8; | ||||
|     output DO7; | ||||
|     output DO6; | ||||
|     output DO5; | ||||
|     output DO4; | ||||
|     output DO3; | ||||
|     output DO2; | ||||
|     output DO1; | ||||
|     output DO0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SP8KC (...); | ||||
|     parameter DATA_WIDTH = 9; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter CSDECODE = "0b000"; | ||||
|     parameter WRITEMODE = "NORMAL"; | ||||
|     parameter GSR = "ENABLED"; | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     input DI8; | ||||
|     input DI7; | ||||
|     input DI6; | ||||
|     input DI5; | ||||
|     input DI4; | ||||
|     input DI3; | ||||
|     input DI2; | ||||
|     input DI1; | ||||
|     input DI0; | ||||
|     input AD12; | ||||
|     input AD11; | ||||
|     input AD10; | ||||
|     input AD9; | ||||
|     input AD8; | ||||
|     input AD7; | ||||
|     input AD6; | ||||
|     input AD5; | ||||
|     input AD4; | ||||
|     input AD3; | ||||
|     input AD2; | ||||
|     input AD1; | ||||
|     input AD0; | ||||
|     input CE; | ||||
|     input OCE; | ||||
|     input CLK; | ||||
|     input WE; | ||||
|     input CS2; | ||||
|     input CS1; | ||||
|     input CS0; | ||||
|     input RST; | ||||
|     output DO8; | ||||
|     output DO7; | ||||
|     output DO6; | ||||
|     output DO5; | ||||
|     output DO4; | ||||
|     output DO3; | ||||
|     output DO2; | ||||
|     output DO1; | ||||
|     output DO0; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module FIFO8KB (...); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 18; | ||||
|     parameter REGMODE = "NOREG"; | ||||
|     parameter RESETMODE = "ASYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
|     parameter CSDECODE_W = "0b00"; | ||||
|     parameter CSDECODE_R = "0b00"; | ||||
|     parameter AEPOINTER = "0b00000000000000"; | ||||
|     parameter AEPOINTER1 = "0b00000000000000"; | ||||
|     parameter AFPOINTER = "0b00000000000000"; | ||||
|     parameter AFPOINTER1 = "0b00000000000000"; | ||||
|     parameter FULLPOINTER = "0b00000000000000"; | ||||
|     parameter FULLPOINTER1 = "0b00000000000000"; | ||||
|     parameter GSR = "DISABLED"; | ||||
|     input DI0; | ||||
|     input DI1; | ||||
|     input DI2; | ||||
|     input DI3; | ||||
|     input DI4; | ||||
|     input DI5; | ||||
|     input DI6; | ||||
|     input DI7; | ||||
|     input DI8; | ||||
|     input DI9; | ||||
|     input DI10; | ||||
|     input DI11; | ||||
|     input DI12; | ||||
|     input DI13; | ||||
|     input DI14; | ||||
|     input DI15; | ||||
|     input DI16; | ||||
|     input DI17; | ||||
|     input CSW0; | ||||
|     input CSW1; | ||||
|     input CSR0; | ||||
|     input CSR1; | ||||
|     input WE; | ||||
|     input RE; | ||||
|     input ORE; | ||||
|     input CLKW; | ||||
|     input CLKR; | ||||
|     input RST; | ||||
|     input RPRST; | ||||
|     input FULLI; | ||||
|     input EMPTYI; | ||||
|     output DO0; | ||||
|     output DO1; | ||||
|     output DO2; | ||||
|     output DO3; | ||||
|     output DO4; | ||||
|     output DO5; | ||||
|     output DO6; | ||||
|     output DO7; | ||||
|     output DO8; | ||||
|     output DO9; | ||||
|     output DO10; | ||||
|     output DO11; | ||||
|     output DO12; | ||||
|     output DO13; | ||||
|     output DO14; | ||||
|     output DO15; | ||||
|     output DO16; | ||||
|     output DO17; | ||||
|     output EF; | ||||
|     output AEF; | ||||
|     output AFF; | ||||
|     output FF; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCMA (...); | ||||
|     input CLK0; | ||||
|     input CLK1; | ||||
|     input SEL; | ||||
|     output DCMOUT; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCCA (...); | ||||
|     input CLKI; | ||||
|     input CE; | ||||
|     output CLKO; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module EHXPLLJ (...); | ||||
|     parameter CLKI_DIV = 1; | ||||
|     parameter CLKFB_DIV = 1; | ||||
|     parameter CLKOP_DIV = 8; | ||||
|  | @ -122,172 +471,66 @@ module EHXPLLJ ( | |||
|     parameter DCRST_ENA = "DISABLED"; | ||||
|     parameter DDRST_ENA = "DISABLED"; | ||||
|     parameter INTFB_WAKE = "DISABLED"; | ||||
|     input CLKI; | ||||
|     input CLKFB; | ||||
|     input PHASESEL1; | ||||
|     input PHASESEL0; | ||||
|     input PHASEDIR; | ||||
|     input PHASESTEP; | ||||
|     input LOADREG; | ||||
|     input STDBY; | ||||
|     input PLLWAKESYNC; | ||||
|     input RST; | ||||
|     input RESETM; | ||||
|     input RESETC; | ||||
|     input RESETD; | ||||
|     input ENCLKOP; | ||||
|     input ENCLKOS; | ||||
|     input ENCLKOS2; | ||||
|     input ENCLKOS3; | ||||
|     input PLLCLK; | ||||
|     input PLLRST; | ||||
|     input PLLSTB; | ||||
|     input PLLWE; | ||||
|     input PLLDATI7; | ||||
|     input PLLDATI6; | ||||
|     input PLLDATI5; | ||||
|     input PLLDATI4; | ||||
|     input PLLDATI3; | ||||
|     input PLLDATI2; | ||||
|     input PLLDATI1; | ||||
|     input PLLDATI0; | ||||
|     input PLLADDR4; | ||||
|     input PLLADDR3; | ||||
|     input PLLADDR2; | ||||
|     input PLLADDR1; | ||||
|     input PLLADDR0; | ||||
|     output CLKOP; | ||||
|     output CLKOS; | ||||
|     output CLKOS2; | ||||
|     output CLKOS3; | ||||
|     output LOCK; | ||||
|     output INTLOCK; | ||||
|     output REFCLK; | ||||
|     output PLLDATO7; | ||||
|     output PLLDATO6; | ||||
|     output PLLDATO5; | ||||
|     output PLLDATO4; | ||||
|     output PLLDATO3; | ||||
|     output PLLDATO2; | ||||
|     output PLLDATO1; | ||||
|     output PLLDATO0; | ||||
|     output PLLACK; | ||||
|     output DPHSRC; | ||||
|     output CLKINTFB; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module OSCH #( | ||||
| 	parameter NOM_FREQ = "2.08" | ||||
| ) ( | ||||
| 	input STDBY, | ||||
| 	output OSC, | ||||
| 	output SEDSTDBY | ||||
| ); | ||||
| module OSCJ (...); | ||||
|     parameter NOM_FREQ = "2.08"; | ||||
|     input STDBY; | ||||
|     output OSC; | ||||
|     output SEDSTDBY; | ||||
|     output OSCESB; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCCA ( | ||||
| 	input CLKI, | ||||
| 	input CE, | ||||
| 	output CLKO | ||||
| ); | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module DCMA ( | ||||
| 	input CLK0, | ||||
| 	input CLK1, | ||||
| 	input SEL, | ||||
| 	output DCMOUT | ||||
| ); | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module PDPW8KC ( | ||||
|     input DI17, DI16, DI15, DI14, DI13, DI12, DI11, DI10, DI9, DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0, | ||||
|     input ADW8, ADW7, ADW6, ADW5, ADW4, ADW3, ADW2, ADW1, ADW0, | ||||
|     input BE1, BE0, | ||||
|     input CEW, CLKW, CSW2, CSW1, CSW0, | ||||
|     input ADR12, ADR11, ADR10, ADR9, ADR8, ADR7, ADR6, ADR5, ADR4,  ADR3,  ADR2, ADR1, ADR0, | ||||
|     input CER, OCER, CLKR, CSR2, CSR1, CSR0, RST, | ||||
|     output DO17, DO16, DO15, DO14, DO13, DO12, DO11, DO10, DO9, DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 | ||||
| ); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 9; | ||||
| 
 | ||||
|     parameter GSR = "ENABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE_W = "0b000"; | ||||
|     parameter CSDECODE_R = "0b000"; | ||||
| 
 | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
| 
 | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module SP8KC ( | ||||
|     input DI8, DI7, DI6, DI5, DI4, DI3, DI2, DI1, DI0, | ||||
|     input AD12, AD11, AD10, AD9, AD8, AD7, AD6, AD5, AD4, AD3, AD2, AD1, AD0, | ||||
|     input CE, OCE, CLK, WE, CS2, CS1, CS0, RST, | ||||
|     output DO8, DO7, DO6, DO5, DO4, DO3, DO2, DO1, DO0 | ||||
| ); | ||||
|     parameter DATA_WIDTH = 9; | ||||
|     parameter GSR = "ENABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "SYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE = "0b000"; | ||||
| 
 | ||||
|     parameter WRITEMODE = "NORMAL"; | ||||
| 
 | ||||
|     parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000; | ||||
|     parameter INIT_DATA = "STATIC"; | ||||
| endmodule | ||||
| 
 | ||||
| (* blackbox *) | ||||
| module FIFO8KB ( | ||||
|     input DI0, DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, DI9, DI10, DI11, DI12, DI13, DI14, DI15, DI16, DI17, | ||||
|     input CSW0, CSW1, CSR0, CSR1, WE, RE, ORE, CLKW, CLKR, RST, RPRST, FULLI, EMPTYI, | ||||
|     output DO0, DO1, DO2, DO3, DO4, DO5, DO6, DO7, DO8, DO9, DO10, DO11, DO12, DO13, DO14, DO15, DO16, DO17, | ||||
|     input EF, AEF, AFF, FF | ||||
| ); | ||||
|     parameter DATA_WIDTH_W = 18; | ||||
|     parameter DATA_WIDTH_R = 18; | ||||
| 
 | ||||
|     parameter GSR = "DISABLED"; | ||||
| 
 | ||||
|     parameter REGMODE = "NOREG"; | ||||
| 
 | ||||
|     parameter RESETMODE = "ASYNC"; | ||||
|     parameter ASYNC_RESET_RELEASE = "SYNC"; | ||||
| 
 | ||||
|     parameter CSDECODE_W = "0b00"; | ||||
|     parameter CSDECODE_R = "0b00"; | ||||
| 
 | ||||
|     parameter AEPOINTER    = "0b00000000000000"; | ||||
|     parameter AEPOINTER1   = "0b00000000000000"; | ||||
|     parameter AFPOINTER    = "0b00000000000000"; | ||||
|     parameter AFPOINTER1   = "0b00000000000000"; | ||||
|     parameter FULLPOINTER  = "0b00000000000000"; | ||||
|     parameter FULLPOINTER1 = "0b00000000000000"; | ||||
| endmodule | ||||
|  |  | |||
							
								
								
									
										854
									
								
								techlibs/lattice/cells_xtra.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										854
									
								
								techlibs/lattice/cells_xtra.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,854 @@ | |||
| #!/usr/bin/env python3 | ||||
| 
 | ||||
| # Based on Xilinx cells_xtra.py; modified for Lattice's structure | ||||
| 
 | ||||
| from argparse import ArgumentParser | ||||
| from io import StringIO | ||||
| from enum import Enum, auto | ||||
| import os.path | ||||
| import sys | ||||
| import re | ||||
| 
 | ||||
| 
 | ||||
| class Cell: | ||||
|     def __init__(self, name, keep=False, port_attrs={}): | ||||
|         self.name = name | ||||
|         self.keep = keep | ||||
|         self.port_attrs = port_attrs | ||||
|         self.found = False | ||||
| 
 | ||||
| class State(Enum): | ||||
|     OUTSIDE = auto() | ||||
|     IN_MODULE = auto() | ||||
|     IN_OTHER_MODULE = auto() | ||||
|     IN_FUNCTION = auto() | ||||
|     IN_TASK = auto() | ||||
| 
 | ||||
| devices = [ | ||||
|     ("cells_bb_ecp5.v", "ecp5u", [ | ||||
|         #Cell("AND2"), | ||||
|         #Cell("AND3"), | ||||
|         #Cell("AND4"), | ||||
|         #Cell("AND5"), | ||||
|         #Cell("BB"), | ||||
|         #Cell("BBPD"), | ||||
|         #Cell("BBPU"), | ||||
|         #Cell("CCU2C"), | ||||
|         #Cell("FD1P3AX"), | ||||
|         #Cell("FD1P3AY"), | ||||
|         #Cell("FD1P3BX"), | ||||
|         #Cell("FD1P3DX"), | ||||
|         #Cell("FD1P3IX"), | ||||
|         #Cell("FD1P3JX"), | ||||
|         #Cell("FD1S3AX"), | ||||
|         #Cell("FD1S3AY"), | ||||
|         #Cell("FD1S3BX"), | ||||
|         #Cell("FD1S3DX"), | ||||
|         #Cell("FD1S3IX"), | ||||
|         #Cell("FD1S3JX"), | ||||
|         #Cell("FL1P3AY"), | ||||
|         #Cell("FL1P3AZ"), | ||||
|         #Cell("FL1P3BX"), | ||||
|         #Cell("FL1P3DX"), | ||||
|         #Cell("FL1P3IY"), | ||||
|         #Cell("FL1P3JY"), | ||||
|         #Cell("FL1S3AX"), | ||||
|         #Cell("FL1S3AY"), | ||||
|         Cell("GSR", True), | ||||
|         #Cell("IB"), | ||||
|         #Cell("IBPD"), | ||||
|         #Cell("IBPU"), | ||||
|         #Cell("IFS1P3BX"), | ||||
|         #Cell("IFS1P3DX"), | ||||
|         #Cell("IFS1P3IX"), | ||||
|         #Cell("IFS1P3JX"), | ||||
|         #Cell("IFS1S1B"), | ||||
|         #Cell("IFS1S1D"), | ||||
|         #Cell("IFS1S1I"), | ||||
|         #Cell("IFS1S1J"), | ||||
|         #Cell("ILVDS"), | ||||
|         #Cell("INV"), | ||||
|         #Cell("L6MUX21"), | ||||
|         #Cell("LUT4"), | ||||
|         #Cell("LUT5"), | ||||
|         #Cell("LUT6"), | ||||
|         #Cell("LUT7"), | ||||
|         #Cell("LUT8"), | ||||
|         #Cell("MUX161"), | ||||
|         #Cell("MUX21"), | ||||
|         #Cell("MUX321"), | ||||
|         #Cell("MUX41"), | ||||
|         #Cell("MUX81"), | ||||
|         #Cell("ND2"), | ||||
|         #Cell("ND3"), | ||||
|         #Cell("ND4"), | ||||
|         #Cell("ND5"), | ||||
|         #Cell("NR2"), | ||||
|         #Cell("NR3"), | ||||
|         #Cell("NR4"), | ||||
|         #Cell("NR5"), | ||||
|         #Cell("OB"), | ||||
|         #Cell("OBCO"), | ||||
|         #Cell("OBZ"), | ||||
|         #Cell("OBZPU"), | ||||
|         #Cell("OFS1P3BX"), | ||||
|         #Cell("OFS1P3DX"), | ||||
|         #Cell("OFS1P3IX"), | ||||
|         #Cell("OFS1P3JX"), | ||||
|         #Cell("OLVDS"), | ||||
|         #Cell("OR2"), | ||||
|         #Cell("OR3"), | ||||
|         #Cell("OR4"), | ||||
|         #Cell("OR5"), | ||||
|         #Cell("PFUMX"), | ||||
|         Cell("PUR"), | ||||
|         #Cell("ROM128X1A"), | ||||
|         #Cell("ROM16X1A"), | ||||
|         #Cell("ROM256X1A"), | ||||
|         #Cell("ROM32X1A"), | ||||
|         #Cell("ROM64X1A"), | ||||
|         Cell("SGSR", True), | ||||
|         #Cell("VHI"), | ||||
|         #Cell("VLO"), | ||||
|         #Cell("XNOR2"), | ||||
|         #Cell("XNOR3"), | ||||
|         #Cell("XNOR4"), | ||||
|         #Cell("XNOR5"), | ||||
|         #Cell("XOR11"), | ||||
|         #Cell("XOR2"), | ||||
|         #Cell("XOR21"), | ||||
|         #Cell("XOR3"), | ||||
|         #Cell("XOR4"), | ||||
|         #Cell("XOR5"), | ||||
|         Cell("DP16KD"), | ||||
|         Cell("PDPW16KD"), | ||||
|         #Cell("DPR16X4C"), | ||||
|         #Cell("SPR16X4C"), | ||||
|         #Cell("LVDSOB"), | ||||
|         #Cell("IMIPI"), | ||||
|         #Cell("MULT9X9C"), | ||||
|         #Cell("MULT9X9D"), | ||||
|         #Cell("MULT18X18C"), | ||||
|         Cell("MULT18X18D"), | ||||
|         #Cell("ALU24A"), | ||||
|         #Cell("ALU54A"), | ||||
|         #Cell("ALU24B"), | ||||
|         Cell("ALU54B"), | ||||
|         #Cell("PRADD9A"), | ||||
|         #Cell("PRADD18A"), | ||||
|         #Cell("BCINRD"), | ||||
|         #Cell("BCLVDSOB"), | ||||
|         #Cell("INRDB"), | ||||
|         Cell("CLKDIVF"), | ||||
|         Cell("PCSCLKDIV"), | ||||
|         Cell("DCSC"), | ||||
|         Cell("DCCA"), | ||||
|         Cell("ECLKSYNCB"), | ||||
|         Cell("ECLKBRIDGECS"), | ||||
|         #Cell("PLLREFCS"), | ||||
|         Cell("DELAYF"), | ||||
|         Cell("DELAYG"), | ||||
|         #Cell("START"), | ||||
|         Cell("USRMCLK", True), | ||||
|         Cell("DQSBUFM"), | ||||
|         Cell("DDRDLLA"), | ||||
|         Cell("DLLDELD"), | ||||
|         Cell("IDDRX1F"), | ||||
|         Cell("IDDRX2F"), | ||||
|         Cell("IDDR71B"), | ||||
|         Cell("IDDRX2DQA"), | ||||
|         Cell("ODDRX1F"), | ||||
|         Cell("ODDRX2F"), | ||||
|         Cell("ODDR71B"), | ||||
|         Cell("OSHX2A"), | ||||
|         Cell("TSHX2DQA"), | ||||
|         Cell("TSHX2DQSA"), | ||||
|         Cell("ODDRX2DQA"), | ||||
|         Cell("ODDRX2DQSB"), | ||||
|         Cell("EHXPLLL"), | ||||
|         Cell("DTR"), | ||||
|         Cell("OSCG"), | ||||
|         Cell("EXTREFB"), | ||||
|         Cell("JTAGG", True, port_attrs={'TCK': ['iopad_external_pin'], 'TMS': ['iopad_external_pin'], 'TDO': ['iopad_external_pin'], 'TDI': ['iopad_external_pin']}), | ||||
|         #Cell("SEDGA"), | ||||
|         Cell("DCUA", True, port_attrs={'CH0_HDINP': ['iopad_external_pin'], 'CH1_HDINP': ['iopad_external_pin'], 'CH0_HDINN': ['iopad_external_pin'], 'CH1_HDINN': ['iopad_external_pin']}), | ||||
|     ]), | ||||
|     ("cells_bb_xo2.v", "machxo2", [ | ||||
|         #Cell("AGEB2"), | ||||
|         #Cell("ALEB2"), | ||||
|         #Cell("AND2"), | ||||
|         #Cell("AND3"), | ||||
|         #Cell("AND4"), | ||||
|         #Cell("AND5"), | ||||
|         #Cell("ANEB2"), | ||||
|         #Cell("BB"), | ||||
|         #Cell("BBPD"), | ||||
|         #Cell("BBPU"), | ||||
|         #Cell("BBW"), | ||||
|         #Cell("CB2"), | ||||
|         #Cell("CD2"), | ||||
|         #Cell("CU2"), | ||||
|         #Cell("FADD2B"), | ||||
|         #Cell("FADSU2"), | ||||
|         #Cell("FD1P3AX"), | ||||
|         #Cell("FD1P3AY"), | ||||
|         #Cell("FD1P3BX"), | ||||
|         #Cell("FD1P3DX"), | ||||
|         #Cell("FD1P3IX"), | ||||
|         #Cell("FD1P3JX"), | ||||
|         #Cell("FD1S1A"), | ||||
|         #Cell("FD1S1AY"), | ||||
|         #Cell("FD1S1B"), | ||||
|         #Cell("FD1S1D"), | ||||
|         #Cell("FD1S1I"), | ||||
|         #Cell("FD1S1J"), | ||||
|         #Cell("FD1S3AX"), | ||||
|         #Cell("FD1S3AY"), | ||||
|         #Cell("FD1S3BX"), | ||||
|         #Cell("FD1S3DX"), | ||||
|         #Cell("FD1S3IX"), | ||||
|         #Cell("FD1S3JX"), | ||||
|         #Cell("FL1P3AY"), | ||||
|         #Cell("FL1P3AZ"), | ||||
|         #Cell("FL1P3BX"), | ||||
|         #Cell("FL1P3DX"), | ||||
|         #Cell("FL1P3IY"), | ||||
|         #Cell("FL1P3JY"), | ||||
|         #Cell("FL1S1A"), | ||||
|         #Cell("FL1S1AY"), | ||||
|         #Cell("FL1S1B"), | ||||
|         #Cell("FL1S1D"), | ||||
|         #Cell("FL1S1I"), | ||||
|         #Cell("FL1S1J"), | ||||
|         #Cell("FL1S3AX"), | ||||
|         #Cell("FL1S3AY"), | ||||
|         #Cell("FSUB2B"), | ||||
|         Cell("GSR", True), | ||||
|         #Cell("IB"), | ||||
|         #Cell("IBPD"), | ||||
|         #Cell("IBPU"), | ||||
|         #Cell("IFS1P3BX"), | ||||
|         #Cell("IFS1P3DX"), | ||||
|         #Cell("IFS1P3IX"), | ||||
|         #Cell("IFS1P3JX"), | ||||
|         #Cell("ILVDS"), | ||||
|         #Cell("INV"), | ||||
|         #Cell("L6MUX21"), | ||||
|         #Cell("LB2P3AX"), | ||||
|         #Cell("LB2P3AY"), | ||||
|         #Cell("LB2P3BX"), | ||||
|         #Cell("LB2P3DX"), | ||||
|         #Cell("LB2P3IX"), | ||||
|         #Cell("LB2P3JX"), | ||||
|         #Cell("LD2P3AX"), | ||||
|         #Cell("LD2P3AY"), | ||||
|         #Cell("LD2P3BX"), | ||||
|         #Cell("LD2P3DX"), | ||||
|         #Cell("LD2P3IX"), | ||||
|         #Cell("LD2P3JX"), | ||||
|         #Cell("LU2P3AX"), | ||||
|         #Cell("LU2P3AY"), | ||||
|         #Cell("LU2P3BX"), | ||||
|         #Cell("LU2P3DX"), | ||||
|         #Cell("LU2P3IX"), | ||||
|         #Cell("LU2P3JX"), | ||||
|         #Cell("MULT2"), | ||||
|         #Cell("MUX161"), | ||||
|         #Cell("MUX21"), | ||||
|         #Cell("MUX321"), | ||||
|         #Cell("MUX41"), | ||||
|         #Cell("MUX81"), | ||||
|         #Cell("ND2"), | ||||
|         #Cell("ND3"), | ||||
|         #Cell("ND4"), | ||||
|         #Cell("ND5"), | ||||
|         #Cell("NR2"), | ||||
|         #Cell("NR3"), | ||||
|         #Cell("NR4"), | ||||
|         #Cell("NR5"), | ||||
|         #Cell("OB"), | ||||
|         #Cell("OBCO"), | ||||
|         #Cell("OBZ"), | ||||
|         #Cell("OBZPU"), | ||||
|         #Cell("OFS1P3BX"), | ||||
|         #Cell("OFS1P3DX"), | ||||
|         #Cell("OFS1P3IX"), | ||||
|         #Cell("OFS1P3JX"), | ||||
|         #Cell("OLVDS"), | ||||
|         #Cell("OR2"), | ||||
|         #Cell("OR3"), | ||||
|         #Cell("OR4"), | ||||
|         #Cell("OR5"), | ||||
|         #Cell("LUT4"), | ||||
|         #Cell("LUT5"), | ||||
|         #Cell("LUT6"), | ||||
|         #Cell("LUT7"), | ||||
|         #Cell("LUT8"), | ||||
|         #Cell("PFUMX"), | ||||
|         #Cell("PUR"), | ||||
|         #Cell("ROM128X1A"), | ||||
|         #Cell("ROM16X1A"), | ||||
|         #Cell("ROM256X1A"), | ||||
|         #Cell("ROM32X1A"), | ||||
|         #Cell("ROM64X1A"), | ||||
|         #Cell("CCU2D"), | ||||
|         #Cell("VHI"), | ||||
|         #Cell("VLO"), | ||||
|         #Cell("XNOR2"), | ||||
|         #Cell("XNOR3"), | ||||
|         #Cell("XNOR4"), | ||||
|         #Cell("XNOR5"), | ||||
|         #Cell("XOR11"), | ||||
|         #Cell("XOR2"), | ||||
|         #Cell("XOR21"), | ||||
|         #Cell("XOR3"), | ||||
|         #Cell("XOR4"), | ||||
|         #Cell("XOR5"), | ||||
|         #Cell("IFS1S1B"), | ||||
|         #Cell("IFS1S1D"), | ||||
|         #Cell("IFS1S1I"), | ||||
|         #Cell("IFS1S1J"), | ||||
|         #Cell("DPR16X4C"), | ||||
|         #Cell("SPR16X4C"), | ||||
|         Cell("SGSR", True), | ||||
|         Cell("DP8KC"), | ||||
|         Cell("PDPW8KC"), | ||||
|         Cell("SP8KC"), | ||||
|         Cell("FIFO8KB"), | ||||
|         #Cell("CLKDIVC"), | ||||
|         Cell("DCMA"), | ||||
|         #Cell("ECLKSYNCA"), | ||||
|         #Cell("ECLKBRIDGECS"), | ||||
|         Cell("DCCA"), | ||||
|         #Cell("JTAGF"), | ||||
|         #Cell("START"), | ||||
|         #Cell("SEDFA"), | ||||
|         #Cell("SEDFB"), | ||||
|         #Cell("IDDRXE"), | ||||
|         #Cell("IDDRX2E"), | ||||
|         #Cell("IDDRX4B"), | ||||
|         #Cell("IDDRDQSX1A"), | ||||
|         #Cell("IDDRX71A"), | ||||
|         #Cell("ODDRXE"), | ||||
|         #Cell("ODDRX2E"), | ||||
|         #Cell("ODDRX4B"), | ||||
|         #Cell("ODDRDQSX1A"), | ||||
|         #Cell("ODDRX71A"), | ||||
|         #Cell("TDDRA"), | ||||
|         #Cell("DQSBUFH"), | ||||
|         #Cell("DQSDLLC"), | ||||
|         #Cell("DELAYE"), | ||||
|         #Cell("DELAYD"), | ||||
|         #Cell("DLLDELC"), | ||||
|         #Cell("CLKFBBUFA"), | ||||
|         #Cell("PCNTR"), | ||||
|         #Cell("BCINRD"), | ||||
|         #Cell("BCLVDSO"), | ||||
|         #Cell("INRDB"), | ||||
|         #Cell("LVDSOB"), | ||||
|         #Cell("PG"), | ||||
|         Cell("EHXPLLJ"), | ||||
|         #Cell("PLLREFCS"), | ||||
|         Cell("OSCH"), | ||||
|         #Cell("EFB"), | ||||
|         #Cell("TSALL"), | ||||
|     ]), | ||||
|     ("cells_bb_xo3.v", "machxo3lf", [ | ||||
|         #Cell("AGEB2"), | ||||
|         #Cell("ALEB2"), | ||||
|         #Cell("AND2"), | ||||
|         #Cell("AND3"), | ||||
|         #Cell("AND4"), | ||||
|         #Cell("AND5"), | ||||
|         #Cell("ANEB2"), | ||||
|         #Cell("BB"), | ||||
|         #Cell("BBPD"), | ||||
|         #Cell("BBPU"), | ||||
|         #Cell("BBW"), | ||||
|         #Cell("CB2"), | ||||
|         #Cell("CD2"), | ||||
|         #Cell("CU2"), | ||||
|         #Cell("FADD2B"), | ||||
|         #Cell("FADSU2"), | ||||
|         #Cell("FD1P3AX"), | ||||
|         #Cell("FD1P3AY"), | ||||
|         #Cell("FD1P3BX"), | ||||
|         #Cell("FD1P3DX"), | ||||
|         #Cell("FD1P3IX"), | ||||
|         #Cell("FD1P3JX"), | ||||
|         #Cell("FD1S1A"), | ||||
|         #Cell("FD1S1AY"), | ||||
|         #Cell("FD1S1B"), | ||||
|         #Cell("FD1S1D"), | ||||
|         #Cell("FD1S1I"), | ||||
|         #Cell("FD1S1J"), | ||||
|         #Cell("FD1S3AX"), | ||||
|         #Cell("FD1S3AY"), | ||||
|         #Cell("FD1S3BX"), | ||||
|         #Cell("FD1S3DX"), | ||||
|         #Cell("FD1S3IX"), | ||||
|         #Cell("FD1S3JX"), | ||||
|         #Cell("FL1P3AY"), | ||||
|         #Cell("FL1P3AZ"), | ||||
|         #Cell("FL1P3BX"), | ||||
|         #Cell("FL1P3DX"), | ||||
|         #Cell("FL1P3IY"), | ||||
|         #Cell("FL1P3JY"), | ||||
|         #Cell("FL1S1A"), | ||||
|         #Cell("FL1S1AY"), | ||||
|         #Cell("FL1S1B"), | ||||
|         #Cell("FL1S1D"), | ||||
|         #Cell("FL1S1I"), | ||||
|         #Cell("FL1S1J"), | ||||
|         #Cell("FL1S3AX"), | ||||
|         #Cell("FL1S3AY"), | ||||
|         #Cell("FSUB2B"), | ||||
|         Cell("GSR", True), | ||||
|         #Cell("IB"), | ||||
|         #Cell("IBPD"), | ||||
|         #Cell("IBPU"), | ||||
|         #Cell("IFS1P3BX"), | ||||
|         #Cell("IFS1P3DX"), | ||||
|         #Cell("IFS1P3IX"), | ||||
|         #Cell("IFS1P3JX"), | ||||
|         #Cell("ILVDS"), | ||||
|         #Cell("INV"), | ||||
|         #Cell("L6MUX21"), | ||||
|         #Cell("LB2P3AX"), | ||||
|         #Cell("LB2P3AY"), | ||||
|         #Cell("LB2P3BX"), | ||||
|         #Cell("LB2P3DX"), | ||||
|         #Cell("LB2P3IX"), | ||||
|         #Cell("LB2P3JX"), | ||||
|         #Cell("LD2P3AX"), | ||||
|         #Cell("LD2P3AY"), | ||||
|         #Cell("LD2P3BX"), | ||||
|         #Cell("LD2P3DX"), | ||||
|         #Cell("LD2P3IX"), | ||||
|         #Cell("LD2P3JX"), | ||||
|         #Cell("LU2P3AX"), | ||||
|         #Cell("LU2P3AY"), | ||||
|         #Cell("LU2P3BX"), | ||||
|         #Cell("LU2P3DX"), | ||||
|         #Cell("LU2P3IX"), | ||||
|         #Cell("LU2P3JX"), | ||||
|         #Cell("MULT2"), | ||||
|         #Cell("MUX161"), | ||||
|         #Cell("MUX21"), | ||||
|         #Cell("MUX321"), | ||||
|         #Cell("MUX41"), | ||||
|         #Cell("MUX81"), | ||||
|         #Cell("ND2"), | ||||
|         #Cell("ND3"), | ||||
|         #Cell("ND4"), | ||||
|         #Cell("ND5"), | ||||
|         #Cell("NR2"), | ||||
|         #Cell("NR3"), | ||||
|         #Cell("NR4"), | ||||
|         #Cell("NR5"), | ||||
|         #Cell("OB"), | ||||
|         #Cell("OBCO"), | ||||
|         #Cell("OBZ"), | ||||
|         #Cell("OBZPU"), | ||||
|         #Cell("OFS1P3BX"), | ||||
|         #Cell("OFS1P3DX"), | ||||
|         #Cell("OFS1P3IX"), | ||||
|         #Cell("OFS1P3JX"), | ||||
|         #Cell("OLVDS"), | ||||
|         #Cell("OR2"), | ||||
|         #Cell("OR3"), | ||||
|         #Cell("OR4"), | ||||
|         #Cell("OR5"), | ||||
|         #Cell("LUT4"), | ||||
|         #Cell("LUT5"), | ||||
|         #Cell("LUT6"), | ||||
|         #Cell("LUT7"), | ||||
|         #Cell("LUT8"), | ||||
|         #Cell("PFUMX"), | ||||
|         #Cell("PUR"), | ||||
|         #Cell("ROM128X1A"), | ||||
|         #Cell("ROM16X1A"), | ||||
|         #Cell("ROM256X1A"), | ||||
|         #Cell("ROM32X1A"), | ||||
|         #Cell("ROM64X1A"), | ||||
|         #Cell("CCU2D"), | ||||
|         #Cell("VHI"), | ||||
|         #Cell("VLO"), | ||||
|         #Cell("XNOR2"), | ||||
|         #Cell("XNOR3"), | ||||
|         #Cell("XNOR4"), | ||||
|         #Cell("XNOR5"), | ||||
|         #Cell("XOR11"), | ||||
|         #Cell("XOR2"), | ||||
|         #Cell("XOR21"), | ||||
|         #Cell("XOR3"), | ||||
|         #Cell("XOR4"), | ||||
|         #Cell("XOR5"), | ||||
|         #Cell("IFS1S1B"), | ||||
|         #Cell("IFS1S1D"), | ||||
|         #Cell("IFS1S1I"), | ||||
|         #Cell("IFS1S1J"), | ||||
|         #Cell("DPR16X4C"), | ||||
|         #Cell("SPR16X4C"), | ||||
|         Cell("SGSR", True), | ||||
|         Cell("DP8KC"), | ||||
|         Cell("PDPW8KC"), | ||||
|         Cell("SP8KC"), | ||||
|         Cell("FIFO8KB"), | ||||
|         #Cell("CLKDIVC"), | ||||
|         Cell("DCMA"), | ||||
|         #Cell("ECLKSYNCA"), | ||||
|         #Cell("ECLKBRIDGECS"), | ||||
|         Cell("DCCA"), | ||||
|         #Cell("JTAGF"), | ||||
|         #Cell("START"), | ||||
|         #Cell("SEDFA"), | ||||
|         #Cell("SEDFB"), | ||||
|         #Cell("IDDRXE"), | ||||
|         #Cell("IDDRX2E"), | ||||
|         #Cell("IDDRX4B"), | ||||
|         #Cell("IDDRX71A"), | ||||
|         #Cell("ODDRXE"), | ||||
|         #Cell("ODDRX2E"), | ||||
|         #Cell("ODDRX4B"), | ||||
|         #Cell("ODDRX71A"), | ||||
|         #Cell("DQSDLLC"), | ||||
|         #Cell("DELAYE"), | ||||
|         #Cell("DELAYD"), | ||||
|         #Cell("DLLDELC"), | ||||
|         #Cell("CLKFBBUFA"), | ||||
|         #Cell("PCNTR"), | ||||
|         #Cell("BCINRD"), | ||||
|         #Cell("BCLVDSO"), | ||||
|         #Cell("INRDB"), | ||||
|         #Cell("LVDSOB"), | ||||
|         #Cell("PG"), | ||||
|         Cell("EHXPLLJ"), | ||||
|         #Cell("PLLREFCS"), | ||||
|         Cell("OSCH"), | ||||
|         #Cell("EFB"), | ||||
|         #Cell("TSALL"), | ||||
|     ]), | ||||
|     ("cells_bb_xo3d.v", "machxo3d", [ | ||||
|         #Cell("AGEB2"), | ||||
|         #Cell("ALEB2"), | ||||
|         #Cell("AND2"), | ||||
|         #Cell("AND3"), | ||||
|         #Cell("AND4"), | ||||
|         #Cell("AND5"), | ||||
|         #Cell("ANEB2"), | ||||
|         #Cell("BB"), | ||||
|         #Cell("BBPD"), | ||||
|         #Cell("BBPU"), | ||||
|         #Cell("BBI3C"), | ||||
|         #Cell("BBW"), | ||||
|         #Cell("CB2"), | ||||
|         #Cell("CD2"), | ||||
|         #Cell("CU2"), | ||||
|         #Cell("FADD2B"), | ||||
|         #Cell("FADSU2"), | ||||
|         #Cell("FD1P3AX"), | ||||
|         #Cell("FD1P3AY"), | ||||
|         #Cell("FD1P3BX"), | ||||
|         #Cell("FD1P3DX"), | ||||
|         #Cell("FD1P3IX"), | ||||
|         #Cell("FD1P3JX"), | ||||
|         #Cell("FD1S1A"), | ||||
|         #Cell("FD1S1AY"), | ||||
|         #Cell("FD1S1B"), | ||||
|         #Cell("FD1S1D"), | ||||
|         #Cell("FD1S1I"), | ||||
|         #Cell("FD1S1J"), | ||||
|         #Cell("FD1S3AX"), | ||||
|         #Cell("FD1S3AY"), | ||||
|         #Cell("FD1S3BX"), | ||||
|         #Cell("FD1S3DX"), | ||||
|         #Cell("FD1S3IX"), | ||||
|         #Cell("FD1S3JX"), | ||||
|         #Cell("FL1P3AY"), | ||||
|         #Cell("FL1P3AZ"), | ||||
|         #Cell("FL1P3BX"), | ||||
|         #Cell("FL1P3DX"), | ||||
|         #Cell("FL1P3IY"), | ||||
|         #Cell("FL1P3JY"), | ||||
|         #Cell("FL1S1A"), | ||||
|         #Cell("FL1S1AY"), | ||||
|         #Cell("FL1S1B"), | ||||
|         #Cell("FL1S1D"), | ||||
|         #Cell("FL1S1I"), | ||||
|         #Cell("FL1S1J"), | ||||
|         #Cell("FL1S3AX"), | ||||
|         #Cell("FL1S3AY"), | ||||
|         #Cell("FSUB2B"), | ||||
|         Cell("GSR", True), | ||||
|         #Cell("IB"), | ||||
|         #Cell("IBPD"), | ||||
|         #Cell("IBPU"), | ||||
|         #Cell("IFS1P3BX"), | ||||
|         #Cell("IFS1P3DX"), | ||||
|         #Cell("IFS1P3IX"), | ||||
|         #Cell("IFS1P3JX"), | ||||
|         #Cell("ILVDS"), | ||||
|         #Cell("INV"), | ||||
|         #Cell("L6MUX21"), | ||||
|         #Cell("LB2P3AX"), | ||||
|         #Cell("LB2P3AY"), | ||||
|         #Cell("LB2P3BX"), | ||||
|         #Cell("LB2P3DX"), | ||||
|         #Cell("LB2P3IX"), | ||||
|         #Cell("LB2P3JX"), | ||||
|         #Cell("LD2P3AX"), | ||||
|         #Cell("LD2P3AY"), | ||||
|         #Cell("LD2P3BX"), | ||||
|         #Cell("LD2P3DX"), | ||||
|         #Cell("LD2P3IX"), | ||||
|         #Cell("LD2P3JX"), | ||||
|         #Cell("LU2P3AX"), | ||||
|         #Cell("LU2P3AY"), | ||||
|         #Cell("LU2P3BX"), | ||||
|         #Cell("LU2P3DX"), | ||||
|         #Cell("LU2P3IX"), | ||||
|         #Cell("LU2P3JX"), | ||||
|         #Cell("MULT2"), | ||||
|         #Cell("MUX161"), | ||||
|         #Cell("MUX21"), | ||||
|         #Cell("MUX321"), | ||||
|         #Cell("MUX41"), | ||||
|         #Cell("MUX81"), | ||||
|         #Cell("ND2"), | ||||
|         #Cell("ND3"), | ||||
|         #Cell("ND4"), | ||||
|         #Cell("ND5"), | ||||
|         #Cell("NR2"), | ||||
|         #Cell("NR3"), | ||||
|         #Cell("NR4"), | ||||
|         #Cell("NR5"), | ||||
|         #Cell("OB"), | ||||
|         #Cell("OBCO"), | ||||
|         #Cell("OBZ"), | ||||
|         #Cell("OBZPU"), | ||||
|         #Cell("OFS1P3BX"), | ||||
|         #Cell("OFS1P3DX"), | ||||
|         #Cell("OFS1P3IX"), | ||||
|         #Cell("OFS1P3JX"), | ||||
|         #Cell("OLVDS"), | ||||
|         #Cell("OR2"), | ||||
|         #Cell("OR3"), | ||||
|         #Cell("OR4"), | ||||
|         #Cell("OR5"), | ||||
|         #Cell("LUT4"), | ||||
|         #Cell("LUT5"), | ||||
|         #Cell("LUT6"), | ||||
|         #Cell("LUT7"), | ||||
|         #Cell("LUT8"), | ||||
|         #Cell("PFUMX"), | ||||
|         #Cell("PUR"), | ||||
|         #Cell("ROM128X1A"), | ||||
|         #Cell("ROM16X1A"), | ||||
|         #Cell("ROM256X1A"), | ||||
|         #Cell("ROM32X1A"), | ||||
|         #Cell("ROM64X1A"), | ||||
|         #Cell("CCU2D"), | ||||
|         #Cell("VHI"), | ||||
|         #Cell("VLO"), | ||||
|         #Cell("XNOR2"), | ||||
|         #Cell("XNOR3"), | ||||
|         #Cell("XNOR4"), | ||||
|         #Cell("XNOR5"), | ||||
|         #Cell("XOR11"), | ||||
|         #Cell("XOR2"), | ||||
|         #Cell("XOR21"), | ||||
|         #Cell("XOR3"), | ||||
|         #Cell("XOR4"), | ||||
|         #Cell("XOR5"), | ||||
|         #Cell("IFS1S1B"), | ||||
|         #Cell("IFS1S1D"), | ||||
|         #Cell("IFS1S1I"), | ||||
|         #Cell("IFS1S1J"), | ||||
|         #Cell("DPR16X4C"), | ||||
|         #Cell("SPR16X4C"), | ||||
|         Cell("SGSR", True), | ||||
|         Cell("DP8KC"), | ||||
|         Cell("PDPW8KC"), | ||||
|         Cell("SP8KC"), | ||||
|         Cell("FIFO8KB"), | ||||
|         #Cell("CLKDIVC"), | ||||
|         Cell("DCMA"), | ||||
|         #Cell("ECLKSYNCA"), | ||||
|         #Cell("ECLKBRIDGECS"), | ||||
|         Cell("DCCA"), | ||||
|         #Cell("JTAGF"), | ||||
|         #Cell("START"), | ||||
|         #Cell("SEDFA"), | ||||
|         #Cell("SEDFB"), | ||||
|         #Cell("IDDRXE"), | ||||
|         #Cell("IDDRX2E"), | ||||
|         #Cell("IDDRX4B"), | ||||
|         #Cell("IDDRX71A"), | ||||
|         #Cell("ODDRXE"), | ||||
|         #Cell("ODDRX2E"), | ||||
|         #Cell("ODDRX4B"), | ||||
|         #Cell("ODDRX71A"), | ||||
|         #Cell("DQSDLLC"), | ||||
|         #Cell("DELAYE"), | ||||
|         #Cell("DELAYD"), | ||||
|         #Cell("DLLDELC"), | ||||
|         #Cell("CLKFBBUFA"), | ||||
|         #Cell("PCNTR"), | ||||
|         #Cell("BCINRD"), | ||||
|         #Cell("BCLVDSO"), | ||||
|         #Cell("INRDB"), | ||||
|         #Cell("LVDSOB"), | ||||
|         #Cell("PG"), | ||||
|         Cell("EHXPLLJ"), | ||||
|         #Cell("PLLREFCS"), | ||||
|         Cell("OSCJ"), | ||||
|         #Cell("EFBB"), | ||||
|         #Cell("TSALL"), | ||||
|         #Cell("ESBA"), | ||||
|         #Cell("BCSLEWRATEA"), | ||||
|     ]) | ||||
| ] | ||||
| 
 | ||||
| def xtract_cells_decl(device, cells, dirs, outf): | ||||
|     fname = os.path.join(dir, device + '.v') | ||||
|     with open(fname) as f: | ||||
|         state = State.OUTSIDE | ||||
|         # Probably the most horrible Verilog "parser" ever written. | ||||
|         cell = None | ||||
|         kind = None | ||||
|         for l in f: | ||||
|             l, _, comment = l.partition('//') | ||||
|             l = l.strip() | ||||
|             m = re.search(r'synthesis .*black_box_pad_pin="([^"]*)"', comment) | ||||
|             if m: | ||||
|                 iopad_pin = set(m.group(1).split(",")) | ||||
| 
 | ||||
|             if l.startswith("module "): | ||||
|                 cell_name = l[7:l.find('(')].strip() | ||||
|                 cell = None | ||||
|                 kind = None | ||||
|                 module_ports = [] | ||||
|                 iopad_pin = set() | ||||
|                 if state != State.OUTSIDE: | ||||
|                     print('Nested modules in {}.'.format(fname)) | ||||
|                     sys.exit(1) | ||||
|                 for c in cells: | ||||
|                     if c.name != cell_name: | ||||
|                         continue | ||||
|                     cell = c | ||||
|                     state = State.IN_MODULE | ||||
|                     outf.write('(* blackbox *)') | ||||
|                     if cell.keep: | ||||
|                         outf.write(' (* keep *)\n') | ||||
|                     else: | ||||
|                         outf.write('\n') | ||||
|                     outf.write('module {} (...);\n'.format(cell.name)) | ||||
|                     cell.found = True | ||||
|                 if cell is None: | ||||
|                     state = State.IN_OTHER_MODULE | ||||
|             elif l.startswith('task '): | ||||
|                 if state == State.IN_MODULE: | ||||
|                     state = State.IN_TASK | ||||
|             elif l.startswith('function '): | ||||
|                 if state == State.IN_MODULE: | ||||
|                     state = State.IN_FUNCTION | ||||
|             elif l == 'endtask': | ||||
|                 if state == State.IN_TASK: | ||||
|                     state = State.IN_MODULE | ||||
|             elif l == 'endfunction': | ||||
|                 if state == State.IN_FUNCTION: | ||||
|                     state = State.IN_MODULE | ||||
|             elif l == 'endmodule': | ||||
|                 if state == State.IN_MODULE: | ||||
|                     for kind, rng, port in module_ports: | ||||
|                         for attr in cell.port_attrs.get(port, []): | ||||
|                             outf.write('    (* {} *)\n'.format(attr)) | ||||
|                         if port in iopad_pin: | ||||
|                             outf.write('    (* iopad_external_pin *)\n') | ||||
|                         if rng is None: | ||||
|                             outf.write('    {} {};\n'.format(kind, port)) | ||||
|                         else: | ||||
|                             outf.write('    {} {} {};\n'.format(kind, rng, port)) | ||||
|                     outf.write(l + '\n') | ||||
|                     outf.write('\n') | ||||
|                 elif state != State.IN_OTHER_MODULE: | ||||
|                     print('endmodule in weird place in {}.'.format(cell.name, fname)) | ||||
|                     sys.exit(1) | ||||
|                 state = State.OUTSIDE | ||||
|             elif l.startswith(('input ', 'output ', 'inout ')) and state == State.IN_MODULE: | ||||
|                 l = l.strip() | ||||
|                 if l == "": | ||||
|                     continue | ||||
|                 if l.endswith((';', ',', ")")): | ||||
|                     l = l[:-1] | ||||
|                 l = l.replace(")","") | ||||
|                 if ';' in l: | ||||
|                     print('Weird port line in {} [{}].'.format(fname, l)) | ||||
|                     sys.exit(1) | ||||
|                 kind, _, ports = l.partition(' ') | ||||
|                 for port in ports.split(','): | ||||
|                     port = port.strip() | ||||
|                     if port.startswith('['): | ||||
|                         rng, port = port.split() | ||||
|                     else: | ||||
|                         rng = None | ||||
|                     module_ports.append((kind, rng, port)) | ||||
|             elif l.startswith('parameter ') and state == State.IN_MODULE: | ||||
|                 l = l.strip() | ||||
|                 if l.endswith((';', ',')): | ||||
|                     l = l[:-1] | ||||
|                 while '  ' in l: | ||||
|                     l = l.replace('  ', ' ') | ||||
| 
 | ||||
|                 if "INITVAL" in l: | ||||
|                     l = l.replace('"0x', "320'h") | ||||
|                     l = l.replace('"', '') | ||||
|                 if ';' in l: | ||||
|                     print('Weird parameter line in {} [{}].'.format(fname, l)) | ||||
|                     sys.exit(1) | ||||
|                 outf.write('    {};\n'.format(l)) | ||||
|             elif kind is not None and state == State.IN_MODULE: | ||||
|                 l = l.strip() | ||||
|                 if l == "": | ||||
|                     continue | ||||
|                 if l.endswith((';', ',', ")")): | ||||
|                     l = l[:-1] | ||||
|                 l = l.replace(")","") | ||||
|                 if ';' in l: | ||||
|                     print('Weird port line in {} [{}].'.format(fname, l)) | ||||
|                     sys.exit(1) | ||||
|                 ports = l | ||||
|                 for port in ports.split(','): | ||||
|                     port = port.strip() | ||||
|                     if port.startswith('['): | ||||
|                         rng, port = port.split() | ||||
|                     else: | ||||
|                         rng = None | ||||
|                     module_ports.append((kind, rng, port)) | ||||
| 
 | ||||
|         if state != State.OUTSIDE: | ||||
|             print('endmodule not found in {}.'.format(fname)) | ||||
|             sys.exit(1) | ||||
|         for cell in cells: | ||||
|             if not cell.found: | ||||
|                 print('cell {} not found in {}.'.format(cell.name, fname)) | ||||
| if __name__ == '__main__': | ||||
|     parser = ArgumentParser(description='Extract Lattice blackbox cell definitions from Lattice Diamond.') | ||||
|     parser.add_argument('diamond_dir', nargs='?', default='/usr/local/diamond/3.12/') | ||||
|     args = parser.parse_args() | ||||
| 
 | ||||
|     dirs = [ | ||||
|         os.path.join(args.diamond_dir, 'cae_library/synthesis/verilog/'), | ||||
|     ] | ||||
|     for dir in dirs: | ||||
|         if not os.path.isdir(dir): | ||||
|             print('{} is not a directory'.format(dir)) | ||||
| 
 | ||||
|     for fn, device, cells in devices: | ||||
|         out = StringIO() | ||||
|         xtract_cells_decl(device, cells, dirs, out) | ||||
|         with open(fn, 'w') as f: | ||||
|             f.write('// Created by cells_xtra.py from Lattice models\n') | ||||
|             f.write('\n') | ||||
|             f.write(out.getvalue()) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue