From b8c59f9f80bce0b168f1156e511a86a9180557f3 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 29 Aug 2025 14:47:59 +0200 Subject: [PATCH] Cleanup --- gatemate/die.py | 800 ++++++++++++++++-------------------------------- 1 file changed, 266 insertions(+), 534 deletions(-) diff --git a/gatemate/die.py b/gatemate/die.py index 483b3b1..4e07d2b 100644 --- a/gatemate/die.py +++ b/gatemate/die.py @@ -247,6 +247,269 @@ class TileInfo: tile_y : int prim_index : int + +RAM_HALF_PINS = [ + Pin("CLKA[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("CLKA[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("ENA[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ENA[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("GLWEA[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("GLWEA[1]", PinType.INPUT,"RAM_WIRE", True), + + Pin("CLKB[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("CLKB[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("ENB[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ENB[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("GLWEB[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("GLWEB[1]", PinType.INPUT,"RAM_WIRE", True), + + Pin("WEA[0]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[2]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[3]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[4]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[5]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[6]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[7]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[8]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[9]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[10]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[11]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[12]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[13]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[14]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[15]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[16]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[17]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[18]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEA[19]", PinType.INPUT,"RAM_WIRE", True), + + Pin("WEB[0]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[2]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[3]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[4]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[5]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[6]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[7]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[8]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[9]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[10]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[11]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[12]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[13]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[14]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[15]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[16]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[17]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[18]", PinType.INPUT,"RAM_WIRE", True), + Pin("WEB[19]", PinType.INPUT,"RAM_WIRE", True), + + Pin("ADDRA0[0]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[2]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[3]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[4]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[5]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[6]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[7]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[8]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[9]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[10]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[11]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[12]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[13]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[14]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRA0[15]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[1]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[2]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[3]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[4]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[5]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[6]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[7]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[8]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[9]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[10]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[11]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[12]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[13]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[14]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRA0X[15]", PinType.INPUT,"RAM_WIRE", True), + + Pin("ADDRB0[0]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[2]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[3]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[4]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[5]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[6]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[7]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[8]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[9]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[10]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[11]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[12]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[13]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[14]", PinType.INPUT,"RAM_WIRE", True), + Pin("ADDRB0[15]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[0]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[1]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[2]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[3]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[4]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[5]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[6]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[7]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[8]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[9]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[10]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[11]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[12]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[13]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[14]", PinType.INPUT,"RAM_WIRE", True), + #Pin("ADDRB0X[15]", PinType.INPUT,"RAM_WIRE", True), + + Pin("DIA[0]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[2]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[3]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[4]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[5]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[6]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[7]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[8]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[9]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[10]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[11]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[12]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[13]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[14]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[15]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[16]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[17]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[18]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIA[19]", PinType.INPUT,"RAM_WIRE", True), + + Pin("DIB[0]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[1]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[2]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[3]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[4]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[5]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[6]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[7]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[8]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[9]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[10]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[11]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[12]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[13]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[14]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[15]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[16]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[17]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[18]", PinType.INPUT,"RAM_WIRE", True), + Pin("DIB[19]", PinType.INPUT,"RAM_WIRE", True), + + Pin("DOA[0]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[0]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[1]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[1]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[2]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[2]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[3]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[3]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[4]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[4]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[5]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[5]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[6]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[6]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[7]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[7]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[8]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[8]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[9]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[9]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[10]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[10]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[11]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[11]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[12]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[12]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[13]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[13]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[14]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[14]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[15]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[15]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[16]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[16]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[17]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[17]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOA[18]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[18]", PinType.OUTPUT,"RAM_WIRE, True), + Pin("DOA[19]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOAX[19]", PinType.OUTPUT,"RAM_WIRE", True), + + Pin("DOB[0]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[0]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[1]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[1]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[2]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[2]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[3]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[3]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[4]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[4]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[5]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[5]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[6]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[6]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[7]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[7]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[8]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[8]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[9]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[9]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[10]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[10]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[11]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[11]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[12]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[12]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[13]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[13]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[14]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[14]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[15]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[15]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[16]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[16]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[17]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[17]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[18]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[18]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("DOB[19]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("DOBX[19]", PinType.OUTPUT,"RAM_WIRE", True), + + Pin("ECC1B_ERRA[0]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("ECC1B_ERRA[2]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("ECC1B_ERRB[0]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("ECC1B_ERRB[2]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("ECC2B_ERRA[0]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("ECC2B_ERRA[2]", PinType.OUTPUT,"RAM_WIRE", True), + Pin("ECC2B_ERRB[0]", PinType.OUTPUT,"RAM_WIRE", True), + #Pin("ECC2B_ERRB[2]", PinType.OUTPUT,"RAM_WIRE", True), + + Pin("CLOCK1", PinType.INPUT,"RAM_WIRE", True), + Pin("CLOCK2", PinType.INPUT,"RAM_WIRE", True), + Pin("CLOCK3", PinType.INPUT,"RAM_WIRE", True), + Pin("CLOCK4", PinType.INPUT,"RAM_WIRE", True), +] + PRIMITIVES_PINS = { "CPE_LT_U": [ Pin("IN1" ,PinType.INPUT, "CPE_WIRE", True), @@ -1072,528 +1335,8 @@ PRIMITIVES_PINS = { Pin("CLOCK3", PinType.INPUT,"RAM_WIRE"), Pin("CLOCK4", PinType.INPUT,"RAM_WIRE"), ], - "RAM_HALF_U" : [ - Pin("CLKA[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("CLKA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ENA[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ENA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("GLWEA[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("GLWEA[1]", PinType.INPUT,"RAM_WIRE", True), - - Pin("CLKB[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("CLKB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ENB[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ENB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("GLWEB[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("GLWEB[1]", PinType.INPUT,"RAM_WIRE", True), - - Pin("WEA[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("WEB[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("ADDRA0[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[15]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[1]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[2]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[3]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[4]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[5]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[6]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[7]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[8]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[9]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[10]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[11]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[12]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[13]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[14]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[15]", PinType.INPUT,"RAM_WIRE", True), - - Pin("ADDRB0[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[15]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[1]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[2]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[3]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[4]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[5]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[6]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[7]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[8]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[9]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[10]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[11]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[12]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[13]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[14]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[15]", PinType.INPUT,"RAM_WIRE", True), - - Pin("DIA[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("DIB[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("DOA[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[0]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[1]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[1]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[2]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[3]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[3]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[4]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[4]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[5]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[5]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[6]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[6]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[7]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[7]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[8]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[8]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[9]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[9]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[10]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[10]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[11]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[11]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[12]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[12]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[13]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[13]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[14]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[14]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[15]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[15]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[16]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[16]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[17]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[17]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[18]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[18]", PinType.OUTPUT,"RAM_WIRE, True), - Pin("DOA[19]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[19]", PinType.OUTPUT,"RAM_WIRE", True), - - Pin("DOB[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[0]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[1]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[1]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[2]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[3]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[3]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[4]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[4]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[5]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[5]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[6]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[6]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[7]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[7]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[8]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[8]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[9]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[9]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[10]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[10]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[11]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[11]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[12]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[12]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[13]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[13]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[14]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[14]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[15]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[15]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[16]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[16]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[17]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[17]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[18]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[18]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[19]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[19]", PinType.OUTPUT,"RAM_WIRE", True), - - Pin("ECC1B_ERRA[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC1B_ERRA[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("ECC1B_ERRB[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC1B_ERRB[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("ECC2B_ERRA[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC2B_ERRA[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("ECC2B_ERRB[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC2B_ERRB[2]", PinType.OUTPUT,"RAM_WIRE", True), - - Pin("CLOCK1", PinType.INPUT,"RAM_WIRE", True), - Pin("CLOCK2", PinType.INPUT,"RAM_WIRE", True), - Pin("CLOCK3", PinType.INPUT,"RAM_WIRE", True), - Pin("CLOCK4", PinType.INPUT,"RAM_WIRE", True), - ], - "RAM_HALF_L" : [ - Pin("CLKA[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("CLKA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ENA[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ENA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("GLWEA[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("GLWEA[1]", PinType.INPUT,"RAM_WIRE", True), - - Pin("CLKB[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("CLKB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ENB[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ENB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("GLWEB[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("GLWEB[1]", PinType.INPUT,"RAM_WIRE", True), - - Pin("WEA[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEA[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("WEB[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("WEB[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("ADDRA0[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRA0[15]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[1]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[2]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[3]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[4]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[5]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[6]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[7]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[8]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[9]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[10]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[11]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[12]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[13]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[14]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRA0X[15]", PinType.INPUT,"RAM_WIRE", True), - - Pin("ADDRB0[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("ADDRB0[15]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[0]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[1]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[2]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[3]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[4]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[5]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[6]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[7]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[8]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[9]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[10]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[11]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[12]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[13]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[14]", PinType.INPUT,"RAM_WIRE", True), - #Pin("ADDRB0X[15]", PinType.INPUT,"RAM_WIRE", True), - - Pin("DIA[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIA[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("DIB[0]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[1]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[2]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[3]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[4]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[5]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[6]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[7]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[8]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[9]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[10]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[11]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[12]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[13]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[14]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[15]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[16]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[17]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[18]", PinType.INPUT,"RAM_WIRE", True), - Pin("DIB[19]", PinType.INPUT,"RAM_WIRE", True), - - Pin("DOA[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[0]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[1]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[1]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[2]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[3]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[3]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[4]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[4]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[5]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[5]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[6]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[6]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[7]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[7]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[8]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[8]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[9]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[9]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[10]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[10]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[11]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[11]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[12]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[12]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[13]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[13]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[14]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[14]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[15]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[15]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[16]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[16]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[17]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[17]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOA[18]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[18]", PinType.OUTPUT,"RAM_WIRE, True), - Pin("DOA[19]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOAX[19]", PinType.OUTPUT,"RAM_WIRE", True), - - Pin("DOB[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[0]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[1]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[1]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[2]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[3]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[3]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[4]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[4]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[5]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[5]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[6]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[6]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[7]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[7]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[8]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[8]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[9]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[9]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[10]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[10]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[11]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[11]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[12]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[12]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[13]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[13]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[14]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[14]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[15]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[15]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[16]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[16]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[17]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[17]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[18]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[18]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("DOB[19]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("DOBX[19]", PinType.OUTPUT,"RAM_WIRE", True), - - Pin("ECC1B_ERRA[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC1B_ERRA[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("ECC1B_ERRB[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC1B_ERRB[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("ECC2B_ERRA[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC2B_ERRA[2]", PinType.OUTPUT,"RAM_WIRE", True), - Pin("ECC2B_ERRB[0]", PinType.OUTPUT,"RAM_WIRE", True), - #Pin("ECC2B_ERRB[2]", PinType.OUTPUT,"RAM_WIRE", True), - - Pin("CLOCK1", PinType.INPUT,"RAM_WIRE", True), - Pin("CLOCK2", PinType.INPUT,"RAM_WIRE", True), - Pin("CLOCK3", PinType.INPUT,"RAM_WIRE", True), - Pin("CLOCK4", PinType.INPUT,"RAM_WIRE", True), - ], + "RAM_HALF_U" : RAM_HALF_PINS, + "RAM_HALF_L" : RAM_HALF_PINS, "SERDES" : [ Pin("TX_DETECT_RX_I", PinType.INPUT,"SERDES_WIRE"), Pin("PLL_RESET_I", PinType.INPUT,"SERDES_WIRE"), @@ -4330,16 +4073,7 @@ class Die: def create_ram(self, x, y): self.create_ram_io_conn("RAM", "RAM", x, y) # No actuall need for connections to RAMI/O - # for halfs, they create conflicts and we - # later anyway merge to full RAM - self.create_conn(PLL_X_POS, PLL_Y_POS, "GLBOUT.GLB0", x, y, "RAM.CLOCK1") - self.create_conn(PLL_X_POS, PLL_Y_POS, "GLBOUT.GLB1", x, y, "RAM.CLOCK2") - self.create_conn(PLL_X_POS, PLL_Y_POS, "GLBOUT.GLB2", x, y, "RAM.CLOCK3") - self.create_conn(PLL_X_POS, PLL_Y_POS, "GLBOUT.GLB3", x, y, "RAM.CLOCK4") - - def create_ram_l(self, x, y): - # No actuall need for connections to RAMI/O - # for halfs, they create conflicts and we + # for halfs, they create conflicts and we # later anyway merge to full RAM self.create_conn(PLL_X_POS, PLL_Y_POS, "GLBOUT.GLB0", x, y, "RAM.CLOCK1") self.create_conn(PLL_X_POS, PLL_Y_POS, "GLBOUT.GLB1", x, y, "RAM.CLOCK2") @@ -4361,8 +4095,6 @@ class Die: self.create_io(x,y) if is_ram_u(x,y): self.create_ram(x,y) - if is_ram_l(x,y): - self.create_ram_l(x,y) if is_serdes(x,y): self.create_serdes(x,y) self.create_pll()