diff --git a/app/resources/boards/ColorLight-5A-75B-V61/info.json b/app/resources/boards/ColorLight-5A-75B-V61/info.json new file mode 100644 index 000000000..63eb2e164 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V61/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75B-V61","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75b/hardware_V6.1.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75B-V61/pinout.json b/app/resources/boards/ColorLight-5A-75B-V61/pinout.json new file mode 100644 index 000000000..560a9e4cf --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V61/pinout.json @@ -0,0 +1,113 @@ +[{"type":"input","name":"CLK","value":"P6"}, +{"type":"output","name":"LED D2","value":"U16","pullmode":"UP"}, +{"type":"input","name":"Button J28","value":"R16","pullmode":"NONE"}, +{"type":"inout","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a11","value":"B11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d0","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d1","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d2","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d3","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d4","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d5","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d6","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d7","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d8","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d9","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d10","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d11","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d12","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d13","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d14","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d15","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"J1_R0","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"J1_G0","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"J1_B0","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"J1_R1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"J1_G1","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"J1_B1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"J2_R0","value":"D2","pullmode":"NONE"}, +{"type":"inout","name":"J2_G0","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"J2_B0","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"J2_R1","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"J2_G1","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"J2_B1","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"J3_R0","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"J3_G0","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"J3_B0","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"J3_R1","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"J3_G1","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"J3_B1","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"J4_R0","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"J4_G0","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"J4_B0","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"J4_R1","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"J4_G1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"J4_B1","value":"T1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R0","value":"U17","pullmode":"NONE"}, +{"type":"inout","name":"J5_G0","value":"U18","pullmode":"NONE"}, +{"type":"inout","name":"J5_B0","value":"T17","pullmode":"NONE"}, +{"type":"inout","name":"J5_R1","value":"T18","pullmode":"NONE"}, +{"type":"inout","name":"J5_G1","value":"K20","pullmode":"NONE"}, +{"type":"inout","name":"J5_B1","value":"L20","pullmode":"NONE"}, +{"type":"inout","name":"J6_R0","value":"J20","pullmode":"NONE"}, +{"type":"inout","name":"J6_G0","value":"K19","pullmode":"NONE"}, +{"type":"inout","name":"J6_B0","value":"J19","pullmode":"NONE"}, +{"type":"inout","name":"J6_R1","value":"G20","pullmode":"NONE"}, +{"type":"inout","name":"J6_G1","value":"H20","pullmode":"NONE"}, +{"type":"inout","name":"J6_B1","value":"G19","pullmode":"NONE"}, +{"type":"inout","name":"J7_R0","value":"F19","pullmode":"NONE"}, +{"type":"inout","name":"J7_G0","value":"F20","pullmode":"NONE"}, +{"type":"inout","name":"J7_B0","value":"E20","pullmode":"NONE"}, +{"type":"inout","name":"J7_R1","value":"D20","pullmode":"NONE"}, +{"type":"inout","name":"J7_G1","value":"E19","pullmode":"NONE"}, +{"type":"inout","name":"J7_B1","value":"D19","pullmode":"NONE"}, +{"type":"inout","name":"J8_R0","value":"B20","pullmode":"NONE"}, +{"type":"inout","name":"J8_G0","value":"C20","pullmode":"NONE"}, +{"type":"inout","name":"J8_B0","value":"B19","pullmode":"NONE"}, +{"type":"inout","name":"J8_R1","value":"B18","pullmode":"NONE"}, +{"type":"inout","name":"J8_G1","value":"A19","pullmode":"NONE"}, +{"type":"inout","name":"J8_B1","value":"A18","pullmode":"NONE"}, +{"type":"inout","name":"Shared_A","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_B","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_C","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_D","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_E","value":"J17","pullmode":"NONE"}, +{"type":"inout","name":"Shared_CLK","value":"C18","pullmode":"NONE"}, +{"type":"inout","name":"Shared_STB","value":"J18","pullmode":"NONE"}, +{"type":"inout","name":"Shared_OE","value":"H16","pullmode":"NONE"}] + + + + + + diff --git a/app/resources/boards/ColorLight-5A-75B-V61/rules.json b/app/resources/boards/ColorLight-5A-75B-V61/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V61/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75B-V7/info.json b/app/resources/boards/ColorLight-5A-75B-V7/info.json new file mode 100644 index 000000000..a0ea419d4 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V7/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75B-V7","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75b/hardware_V7.0.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75B-V7/pinout.json b/app/resources/boards/ColorLight-5A-75B-V7/pinout.json new file mode 100644 index 000000000..3f2408b55 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V7/pinout.json @@ -0,0 +1,140 @@ +[{"type":"input","name":"CLK","value":"P6"}, +{"type":"output","name":"LED","value":"P11","pullmode":"UP"}, +{"type":"input","name":"Button","value":"M13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_clk","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_wen","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_rasn","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_casn","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a0","value":"A9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a1","value":"E10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a2","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a3","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a4","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a5","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a6","value":"D10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a7","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a8","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a9","value":"B7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a10","value":"C8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_ba0","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"B9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d0","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d1","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d2","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d3","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d4","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d5","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d6","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d7","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d8","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d9","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d10","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d11","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d12","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d13","value":"B10","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d14","value":"B11","pullmode":"NONE"}, +{"type":"inout","name":"bsdram_d15","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"AGTXCLK","value":"M2","pullmode":"NONE"}, +{"type":"inout","name":"ATXD_0","value":"L1","pullmode":"NONE"}, +{"type":"inout","name":"ATXD_1","value":"L3","pullmode":"NONE"}, +{"type":"inout","name":"ATXD_2","value":"P2","pullmode":"NONE"}, +{"type":"inout","name":"ATXD_3","value":"L4","pullmode":"NONE"}, +{"type":"inout","name":"ATX_EN","value":"M3","pullmode":"NONE"}, +{"type":"inout","name":"ARXC","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"ARDX_0","value":"N1","pullmode":"NONE"}, +{"type":"inout","name":"ARDX_1","value":"M5","pullmode":"NONE"}, +{"type":"inout","name":"ARDX_2","value":"N5","pullmode":"NONE"}, +{"type":"inout","name":"ARDX_3","value":"M3","pullmode":"NONE"}, +{"type":"inout","name":"ARXD_DV","value":"N6","pullmode":"NONE"}, +{"type":"inout","name":"ABMDC","value":"P3","pullmode":"NONE"}, +{"type":"inout","name":"ABMDIO","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"ABRESET_N","value":"P5","pullmode":"NONE"}, +{"type":"inout","name":"BGTXCLK","value":"M12","pullmode":"NONE"}, +{"type":"inout","name":"BTXD_0","value":"T14","pullmode":"NONE"}, +{"type":"inout","name":"BTXD_1","value":"R12","pullmode":"NONE"}, +{"type":"inout","name":"BTXD_2","value":"R13","pullmode":"NONE"}, +{"type":"inout","name":"BTXD_3","value":"R14","pullmode":"NONE"}, +{"type":"inout","name":"BTX_EN","value":"R15","pullmode":"NONE"}, +{"type":"inout","name":"BRXC","value":"M16","pullmode":"NONE"}, +{"type":"inout","name":"BRDX_0","value":"P13","pullmode":"NONE"}, +{"type":"inout","name":"BRDX_1","value":"N13","pullmode":"NONE"}, +{"type":"inout","name":"BRDX_2","value":"P14","pullmode":"NONE"}, +{"type":"inout","name":"BRDX_3","value":"M15","pullmode":"NONE"}, +{"type":"inout","name":"BRXD_DV","value":"L15","pullmode":"NONE"}, +{"type":"inout","name":"J1_R0","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"J1_G0","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"J1_B0","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"J1_R1","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"J1_G1","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"J1_B1","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"J2_R0","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"J2_G0","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"J2_B0","value":"G1","pullmode":"NONE"}, +{"type":"inout","name":"J2_R1","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"J2_G1","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"J2_B1","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"J3_R0","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G0","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"J3_B0","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"J3_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"J3_G1","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"J3_B1","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"J4_R0","value":"P4","pullmode":"NONE"}, +{"type":"inout","name":"J4_G0","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"J4_B0","value":"M8","pullmode":"NONE"}, +{"type":"inout","name":"J4_R1","value":"M9","pullmode":"NONE"}, +{"type":"inout","name":"J4_G1","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"J4_B1","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"J5_R0","value":"M11","pullmode":"NONE"}, +{"type":"inout","name":"J5_G0","value":"N11","pullmode":"NONE"}, +{"type":"inout","name":"J5_B0","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"J5_R1","value":"K15","pullmode":"NONE"}, +{"type":"inout","name":"J5_G1","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"J5_B1","value":"L16","pullmode":"NONE"}, +{"type":"inout","name":"J6_R0","value":"K16","pullmode":"NONE"}, +{"type":"inout","name":"J6_G0","value":"J15","pullmode":"NONE"}, +{"type":"inout","name":"J6_B0","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"J6_R1","value":"J12","pullmode":"NONE"}, +{"type":"inout","name":"J6_G1","value":"H15","pullmode":"NONE"}, +{"type":"inout","name":"J6_B1","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"J7_R0","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"J7_G0","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"J7_B0","value":"H12","pullmode":"NONE"}, +{"type":"inout","name":"J7_R1","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"J7_G1","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"J7_B1","value":"G15","pullmode":"NONE"}, +{"type":"inout","name":"J8_R0","value":"A15","pullmode":"NONE"}, +{"type":"inout","name":"J8_G0","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"J8_B0","value":"A14","pullmode":"NONE"}, +{"type":"inout","name":"J8_R1","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"J8_G1","value":"B14","pullmode":"NONE"}, +{"type":"inout","name":"J8_B1","value":"A13","pullmode":"NONE"}, +{"type":"inout","name":"Shared_E","value":"F15","pullmode":"NONE"}, +{"type":"inout","name":"Shared_A","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_B","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_C","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"Shared_D","value":"K2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_CLK","value":"B16","pullmode":"NONE"}, +{"type":"inout","name":"Shared_STB","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"Shared_OE","value":"F12","pullmode":"NONE"}] + + + + + + diff --git a/app/resources/boards/ColorLight-5A-75B-V7/rules.json b/app/resources/boards/ColorLight-5A-75B-V7/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V7/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75B-V8/info.json b/app/resources/boards/ColorLight-5A-75B-V8/info.json new file mode 100644 index 000000000..dcf41f2a5 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V8/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75B-V8","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75b/hardware_V8.0.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75B-V8/pinout.json b/app/resources/boards/ColorLight-5A-75B-V8/pinout.json new file mode 100644 index 000000000..d093a251e --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V8/pinout.json @@ -0,0 +1,113 @@ +[{"type":"input","name":"CLK","value":"P6"}, +{"type":"output","name":"LED","value":"T6","pullmode":"UP"}, +{"type":"input","name":"Button","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_clk","value":"C8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_wen","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_rasn","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_casn","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a0","value":"A9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a1","value":"B9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a2","value":"B10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a3","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a4","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a5","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a6","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a7","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a8","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_a9","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_ba0","value":"B7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_ba1","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"A11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"B11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"A13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"B13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"A14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"B14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"E10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D10","pullmode":"NONE"}, +{"type":"inout","name":"J1_R0","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"J1_G0","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"J1_B0","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"J1_R1","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"J1_G1","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"J1_B1","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"J2_R0","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"J2_G0","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"J2_B0","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"J2_R1","value":"G1","pullmode":"NONE"}, +{"type":"inout","name":"J2_G1","value":"H2","pullmode":"NONE"}, +{"type":"inout","name":"J2_B1","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"J3_R0","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"J3_G0","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"J3_B0","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"J3_R1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"J3_G1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"J3_B1","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"J4_R0","value":"P5","pullmode":"NONE"}, +{"type":"inout","name":"J4_G0","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"J4_B0","value":"P2","pullmode":"NONE"}, +{"type":"inout","name":"J4_R1","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"J4_G1","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"J4_B1","value":"N6","pullmode":"NONE"}, +{"type":"inout","name":"J5_R0","value":"T13","pullmode":"NONE"}, +{"type":"inout","name":"J5_G0","value":"R12","pullmode":"NONE"}, +{"type":"inout","name":"J5_B0","value":"R13","pullmode":"NONE"}, +{"type":"inout","name":"J5_R1","value":"R14","pullmode":"NONE"}, +{"type":"inout","name":"J5_G1","value":"T14","pullmode":"NONE"}, +{"type":"inout","name":"J5_B1","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"J6_R0","value":"R15","pullmode":"NONE"}, +{"type":"inout","name":"J6_G0","value":"T15","pullmode":"NONE"}, +{"type":"inout","name":"J6_B0","value":"P13","pullmode":"NONE"}, +{"type":"inout","name":"J6_R1","value":"P14","pullmode":"NONE"}, +{"type":"inout","name":"J6_G1","value":"N14","pullmode":"NONE"}, +{"type":"inout","name":"J6_B1","value":"H15","pullmode":"NONE"}, +{"type":"inout","name":"J7_R0","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"J7_G0","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"J7_B0","value":"G15","pullmode":"NONE"}, +{"type":"inout","name":"J7_R1","value":"F15","pullmode":"NONE"}, +{"type":"inout","name":"J7_G1","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"J7_B1","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"J8_R0","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"J8_G0","value":"E15","pullmode":"NONE"}, +{"type":"inout","name":"J8_B0","value":"C16","pullmode":"NONE"}, +{"type":"inout","name":"J8_R1","value":"B16","pullmode":"NONE"}, +{"type":"inout","name":"J8_G1","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"J8_B1","value":"B15","pullmode":"NONE"}, +{"type":"inout","name":"Shared_A","value":"N5","pullmode":"NONE"}, +{"type":"inout","name":"Shared_B","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"Shared_C","value":"P3","pullmode":"NONE"}, +{"type":"inout","name":"Shared_D","value":"P4","pullmode":"NONE"}, +{"type":"inout","name":"Shared_E","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"Shared_CLK","value":"M3","pullmode":"NONE"}, +{"type":"inout","name":"Shared_STB","value":"N1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_OE","value":"M4","pullmode":"NONE"}] + + + + + + diff --git a/app/resources/boards/ColorLight-5A-75B-V8/rules.json b/app/resources/boards/ColorLight-5A-75B-V8/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75B-V8/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V6/info.json b/app/resources/boards/ColorLight-5A-75E-V6/info.json new file mode 100644 index 000000000..e3bedbd60 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V6/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75E-V6","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75e/hardware_V6.0.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V6/pinout.json b/app/resources/boards/ColorLight-5A-75E-V6/pinout.json new file mode 100644 index 000000000..b7611bb9c --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V6/pinout.json @@ -0,0 +1,937 @@ +[ + { + "type":"input", + "name":"CLK", + "value":"P6" + }, + { + "type":"output", + "name":"LED", + "value":"T6", + "pullmode":"UP" + }, + { + "type":"input", + "name":"Button", + "value":"R7", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_clk", + "value":"C8", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_wen", + "value":"B5", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_rasn", + "value":"B6", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_casn", + "value":"A6", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a0", + "value":"A9", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a1", + "value":"B9", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a2", + "value":"B10", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a3", + "value":"C10", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a4", + "value":"D9", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a5", + "value":"C9", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a6", + "value":"E9", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a7", + "value":"D8", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a8", + "value":"E8", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a9", + "value":"C7", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_a10", + "value":"B8", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_ba0", + "value":"B7", + "pullmode":"NONE" + }, + { + "type":"output", + "name":"sdram_ba1", + "value":"A8", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d0", + "value":"D5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d1", + "value":"C5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d2", + "value":"E5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d3", + "value":"C6", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d4", + "value":"D6", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d5", + "value":"E6", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d6", + "value":"D7", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d7", + "value":"E7", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d8", + "value":"D10", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d9", + "value":"C11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d10", + "value":"D11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d11", + "value":"C12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d12", + "value":"E10", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d13", + "value":"C13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d14", + "value":"D13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d15", + "value":"E11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d16", + "value":"A5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d17", + "value":"B4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d18", + "value":"A4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d19", + "value":"B3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d20", + "value":"A3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d21", + "value":"C3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d22", + "value":"A2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d23", + "value":"B2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d24", + "value":"D14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d25", + "value":"B14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d26", + "value":"A14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d27", + "value":"B13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d28", + "value":"A13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d29", + "value":"B12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d30", + "value":"B11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"sdram_d31", + "value":"A11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J1_R0", + "value":"C4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J1_G0", + "value":"D4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J1_B0", + "value":"E4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J1_R1", + "value":"D3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J1_G1", + "value":"E3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J1_B1", + "value":"F4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J2_R0", + "value":"F3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J2_G0", + "value":"F5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J2_B0", + "value":"G3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J2_R1", + "value":"G4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J2_G1", + "value":"H3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J2_B1", + "value":"H4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J3_R0", + "value":"G5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J3_G0", + "value":"H5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J3_B0", + "value":"J5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J3_R1", + "value":"J4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J3_G1", + "value":"B1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J3_B1", + "value":"C2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J4_R0", + "value":"C1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J4_G0", + "value":"D1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J4_B0", + "value":"E2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J4_R1", + "value":"E1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J4_G1", + "value":"F2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J4_B1", + "value":"F1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J5_R0", + "value":"G2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J5_G0", + "value":"G1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J5_B0", + "value":"H2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J5_R1", + "value":"K5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J5_G1", + "value":"K4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J5_B1", + "value":"L3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J6_R0", + "value":"L4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J6_G0", + "value":"L5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J6_B0", + "value":"P2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J6_R1", + "value":"R2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J6_G1", + "value":"T2", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J6_B1", + "value":"R3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J7_R0", + "value":"T3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J7_G0", + "value":"R4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J7_B0", + "value":"M5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J7_R1", + "value":"P5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J7_G1", + "value":"N6", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J7_B1", + "value":"N7", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J8_R0", + "value":"P7", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J8_G0", + "value":"M7", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J8_B0", + "value":"P8", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J8_R1", + "value":"R8", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J8_G1", + "value":"M8", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J8_B1", + "value":"M9", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J9_R0", + "value":"P11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J9_G0", + "value":"N11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J9_B0", + "value":"M11", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J9_R1", + "value":"T13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J9_G1", + "value":"R12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J9_B1", + "value":"R13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J10_R0", + "value":"R14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J10_G0", + "value":"T14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J10_B0", + "value":"D16", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J10_R1", + "value":"C15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J10_G1", + "value":"C16", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J10_B1", + "value":"B16", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J11_R0", + "value":"B15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J11_G0", + "value":"C14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J11_B0", + "value":"T15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J11_R1", + "value":"P15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J11_G1", + "value":"R15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J11_B1", + "value":"P12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J12_R0", + "value":"P13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J12_G0", + "value":"N12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J12_B0", + "value":"N13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J12_R1", + "value":"M12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J12_G1", + "value":"P14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J12_B1", + "value":"N14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J13_R0", + "value":"H15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J13_G0", + "value":"H14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J13_B0", + "value":"G16", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J13_R1", + "value":"F16", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J13_G1", + "value":"G15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J13_B1", + "value":"F15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J14_R0", + "value":"E15", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J14_G0", + "value":"E16", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J14_B0", + "value":"L12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J14_R1", + "value":"L13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J14_G1", + "value":"M14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J14_B1", + "value":"L14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J15_R0", + "value":"J13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J15_G0", + "value":"K13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J15_B0", + "value":"J12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J15_R1", + "value":"H13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J15_G1", + "value":"H12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J15_B1", + "value":"G12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J16_R0", + "value":"F14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J16_G0", + "value":"G13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J16_B0", + "value":"F12", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J16_R1", + "value":"F13", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J16_G1", + "value":"F14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"J16_B1", + "value":"E14", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_A", + "value":"N5", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_B", + "value":"N3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_C", + "value":"P3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_D", + "value":"P4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_E", + "value":"N4", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_CLK", + "value":"M3", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_STB", + "value":"N1", + "pullmode":"NONE" + }, + { + "type":"inout", + "name":"Shared_OE", + "value":"M4", + "pullmode":"NONE" + } +] \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V6/pinout.lpf b/app/resources/boards/ColorLight-5A-75E-V6/pinout.lpf new file mode 100644 index 000000000..b67b94e65 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V6/pinout.lpf @@ -0,0 +1,456 @@ +BLOCK RESETPATHS; +BLOCK ASYNCPATHS; +## ColorLight-5A-75B v2.0 and v2.1 + +# The clock "usb" and "gpdi" sheet +LOCATE COMP "clk_25mhz" SITE "P6"; +IOBUF PORT "clk_25mhz" PULLMODE=NONE IO_TYPE=LVCMOS33; +FREQUENCY PORT "clk_25mhz" 25 MHZ; + +# JTAG and SPI FLASH voltage 3.3V and options to boot from SPI flash +# write to FLASH possible any time from JTAG: +#SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=ENABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; +# write to FLASH possible from user bitstream: +# SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=DISABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; + +## USBSERIAL FTDI-FPGA serial port "usb" sheet +#LOCATE COMP "ftdi_rxd" SITE "L4"; # FPGA transmits to ftdi +#LOCATE COMP "ftdi_txd" SITE "M1"; # FPGA receives from ftdi +#LOCATE COMP "ftdi_nrts" SITE "M3"; # FPGA receives +#LOCATE COMP "ftdi_ndtr" SITE "N1"; # FPGA receives +#LOCATE COMP "ftdi_txden" SITE "L3"; # FPGA receives +#IOBUF PORT "ftdi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "ftdi_txd" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_nrts" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_ndtr" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_txden" PULLMODE=UP IO_TYPE=LVCMOS33; + +## LED indicators "blinkey" and "gpio" sheet +#LOCATE COMP "led[7]" SITE "H3"; +#LOCATE COMP "led[6]" SITE "E1"; +#LOCATE COMP "led[5]" SITE "E2"; +#LOCATE COMP "led[4]" SITE "D1"; +#LOCATE COMP "led[3]" SITE "D2"; +#LOCATE COMP "led[2]" SITE "C1"; +#LOCATE COMP "led[1]" SITE "C2"; +#LOCATE COMP "led[0]" SITE "B2"; +#IOBUF PORT "led[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Pushbuttons "blinkey", "flash", "power", "gpdi" sheet +#LOCATE COMP "btn[0]" SITE "D6"; # BTN_PWRn (inverted logic) +#LOCATE COMP "btn[1]" SITE "R1"; # FIRE1 +#LOCATE COMP "btn[2]" SITE "T1"; # FIRE2 +#LOCATE COMP "btn[3]" SITE "R18"; # UP W1->R18 +#LOCATE COMP "btn[4]" SITE "V1"; # DOWN +#LOCATE COMP "btn[5]" SITE "U1"; # LEFT +#LOCATE COMP "btn[6]" SITE "H16"; # RIGHT Y2->H16 +#IOBUF PORT "btn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[4]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[5]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[6]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## DIP switch "blinkey", "gpio" sheet +#LOCATE COMP "sw[0]" SITE "E8"; # SW1 +#LOCATE COMP "sw[1]" SITE "D8"; # SW2 +#LOCATE COMP "sw[2]" SITE "D7"; # SW3 +#LOCATE COMP "sw[3]" SITE "E7"; # SW4 +#IOBUF PORT "sw[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI OLED DISPLAY SSD1331 (Color) or SSD1306 (B/W) "blinkey", "usb" sheet +#LOCATE COMP "oled_clk" SITE "P4"; +#LOCATE COMP "oled_mosi" SITE "P3"; +#LOCATE COMP "oled_dc" SITE "P1"; +#LOCATE COMP "oled_resn" SITE "P2"; +#LOCATE COMP "oled_csn" SITE "N2"; +#IOBUF PORT "oled_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_dc" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_resn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI Flash chip "flash" sheet +LOCATE COMP "flash_csn" SITE "R2"; +LOCATE COMP "flash_clk" SITE "U3"; +LOCATE COMP "flash_mosi" SITE "W2"; +LOCATE COMP "flash_miso" SITE "V2"; +LOCATE COMP "flash_holdn" SITE "W1"; +LOCATE COMP "flash_wpn" SITE "Y2"; +#LOCATE COMP "flash_csspin" SITE "AJ3"; +#LOCATE COMP "flash_initn" SITE "AG4"; +#LOCATE COMP "flash_done" SITE "AJ4"; +#LOCATE COMP "flash_programn" SITE "AH4"; +#LOCATE COMP "flash_cfg_select[0]" SITE "AM4"; +#LOCATE COMP "flash_cfg_select[1]" SITE "AL4"; +#LOCATE COMP "flash_cfg_select[2]" SITE "AK4"; +IOBUF PORT "flash_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_clk" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_holdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_wpn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_csspin" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_initn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SD card "sdcard", "usb" sheet +#LOCATE COMP "sd_clk" SITE "H2"; # sd_clk WiFi_GPIO14 +#LOCATE COMP "sd_cmd" SITE "J1"; # sd_cmd_di (MOSI) WiFi GPIO15 +#LOCATE COMP "sd_d[0]" SITE "J3"; # sd_dat0_do (MISO) WiFi GPIO2 +#LOCATE COMP "sd_d[1]" SITE "H1"; # sd_dat1_irq WiFi GPIO4 +#LOCATE COMP "sd_d[2]" SITE "K1"; # sd_dat2 WiFi_GPIO12 +#LOCATE COMP "sd_d[3]" SITE "K2"; # sd_dat3_csn WiFi_GPIO13 +#LOCATE COMP "sd_wp" SITE "P5"; # not connected +#LOCATE COMP "sd_cdn" SITE "N5"; # not connected +#IOBUF PORT "sd_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cmd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; # WiFi GPIO12 pulldown bootstrapping requirement +#IOBUF PORT "sd_d[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_wp" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## ADC SPI (MAX11123) "analog", "ram" sheet +#LOCATE COMP "adc_csn" SITE "R17"; +#LOCATE COMP "adc_mosi" SITE "R16"; +#LOCATE COMP "adc_miso" SITE "U16"; +#LOCATE COMP "adc_sclk" SITE "P17"; +#IOBUF PORT "adc_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_sclk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## Audio 4-bit DAC "analog", "gpio" sheet +# 4-bit mode can drive down to 75 ohm load impedance. +# Lower impedance leads to IO overload, +# FPGA will stop working and need reboot. +# For standard 17 ohm earphones on PCB v1.7: +# use bits 2,3 as input (High-Z) and drive only bits 0,1. +# PCB v2.1.2 can use full 4 bits and 16mA drive for 17 ohm earphones. +#LOCATE COMP "audio_l[3]" SITE "B3"; # JACK TIP (left audio) +#LOCATE COMP "audio_l[2]" SITE "C3"; +#LOCATE COMP "audio_l[1]" SITE "D3"; +#LOCATE COMP "audio_l[0]" SITE "E4"; +#LOCATE COMP "audio_r[3]" SITE "C5"; # JACK RING1 (right audio) +#LOCATE COMP "audio_r[2]" SITE "D5"; +#LOCATE COMP "audio_r[1]" SITE "B5"; +#LOCATE COMP "audio_r[0]" SITE "A3"; +#LOCATE COMP "audio_v[3]" SITE "E5"; # JACK RING2 (video or digital audio) +#LOCATE COMP "audio_v[2]" SITE "F5"; +#LOCATE COMP "audio_v[1]" SITE "F2"; +#LOCATE COMP "audio_v[0]" SITE "H5"; +#IOBUF PORT "audio_l[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## WiFi ESP-32 "wifi", "usb", "flash" sheet +# other pins are shared with GP/GN, SD card and JTAG +#LOCATE COMP "wifi_en" SITE "F1"; # enable/reset WiFi +#LOCATE COMP "wifi_rxd" SITE "K3"; # FPGA transmits to WiFi +#LOCATE COMP "wifi_txd" SITE "K4"; # FPGA receives from WiFi +#LOCATE COMP "wifi_gpio0" SITE "L2"; +#LOCATE COMP "wifi_gpio5" SITE "N4"; # WIFI LED +#LOCATE COMP "wifi_gpio16" SITE "L1"; # Serial1 RX +#LOCATE COMP "wifi_gpio17" SITE "N3"; # Serial1 TX +# LOCATE COMP "prog_done" SITE "Y3"; # not GPIO, always active +#IOBUF PORT "wifi_en" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio0" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio16" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio17" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +# IOBUF PORT "prog_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PCB antenna 433 MHz (may be also used for FM) "usb" sheet +#LOCATE COMP "ant_433mhz" SITE "G1"; +#IOBUF PORT "ant_433mhz" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Second USB port "US2" going directly into FPGA "usb", "ram" sheet +#LOCATE COMP "usb_fpga_dp" SITE "E16"; # single ended or differential input only +#LOCATE COMP "usb_fpga_dn" SITE "F16"; +#IOBUF PORT "usb_fpga_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#LOCATE COMP "usb_fpga_bd_dp" SITE "D15"; # differential bidirectional +#LOCATE COMP "usb_fpga_bd_dn" SITE "E15"; +#IOBUF PORT "usb_fpga_bd_dp" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#IOBUF PORT "usb_fpga_bd_dn" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#LOCATE COMP "usb_fpga_pu_dp" SITE "B12"; # pull up/down control +#LOCATE COMP "usb_fpga_pu_dn" SITE "C12"; +#IOBUF PORT "usb_fpga_pu_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_pu_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## JTAG ESP-32 "usb" sheet +# connected to FT231X and ESP-32 +# commented out because those are dedicated pins, not directly useable as GPIO +# but could be used by some vendor-specific JTAG bridging (boundary scan) module +#LOCATE COMP "jtag_tdi" SITE "R5"; # FTDI_nRI FPGA receives +#LOCATE COMP "jtag_tdo" SITE "V4"; # FTDI_nCTS FPGA transmits +#LOCATE COMP "jtag_tck" SITE "T5"; # FTDI_nDSR FPGA receives +#LOCATE COMP "jtag_tms" SITE "U5"; # FTDI_nDCD FPGA receives +#IOBUF PORT "jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SDRAM "ram" sheet +LOCATE COMP "sdram_clk" SITE "F19"; +LOCATE COMP "sdram_cke" SITE "F20"; +LOCATE COMP "sdram_csn" SITE "P20"; +LOCATE COMP "sdram_wen" SITE "T20"; +LOCATE COMP "sdram_rasn" SITE "R20"; +LOCATE COMP "sdram_casn" SITE "T19"; +LOCATE COMP "sdram_a[0]" SITE "M20"; +LOCATE COMP "sdram_a[1]" SITE "M19"; +LOCATE COMP "sdram_a[2]" SITE "L20"; +LOCATE COMP "sdram_a[3]" SITE "L19"; +LOCATE COMP "sdram_a[4]" SITE "K20"; +LOCATE COMP "sdram_a[5]" SITE "K19"; +LOCATE COMP "sdram_a[6]" SITE "K18"; +LOCATE COMP "sdram_a[7]" SITE "J20"; +LOCATE COMP "sdram_a[8]" SITE "J19"; +LOCATE COMP "sdram_a[9]" SITE "H20"; +LOCATE COMP "sdram_a[10]" SITE "N19"; +LOCATE COMP "sdram_a[11]" SITE "G20"; +LOCATE COMP "sdram_a[12]" SITE "G19"; +LOCATE COMP "sdram_ba[0]" SITE "P19"; +LOCATE COMP "sdram_ba[1]" SITE "N20"; +LOCATE COMP "sdram_dqm[0]" SITE "U19"; +LOCATE COMP "sdram_dqm[1]" SITE "E20"; +LOCATE COMP "sdram_d[0]" SITE "J16"; +LOCATE COMP "sdram_d[1]" SITE "L18"; +LOCATE COMP "sdram_d[2]" SITE "M18"; +LOCATE COMP "sdram_d[3]" SITE "N18"; +LOCATE COMP "sdram_d[4]" SITE "P18"; +LOCATE COMP "sdram_d[5]" SITE "T18"; +LOCATE COMP "sdram_d[6]" SITE "T17"; +LOCATE COMP "sdram_d[7]" SITE "U20"; +LOCATE COMP "sdram_d[8]" SITE "E19"; +LOCATE COMP "sdram_d[9]" SITE "D20"; +LOCATE COMP "sdram_d[10]" SITE "D19"; +LOCATE COMP "sdram_d[11]" SITE "C20"; +LOCATE COMP "sdram_d[12]" SITE "E18"; +LOCATE COMP "sdram_d[13]" SITE "F18"; +LOCATE COMP "sdram_d[14]" SITE "J18"; +LOCATE COMP "sdram_d[15]" SITE "J17"; +IOBUF PORT "sdram_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_cke" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_wen" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_rasn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_casn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[13]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[14]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[15]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +# GPDI differential interface (Video) "gpdi" sheet +#LOCATE COMP "gpdi_dp[0]" SITE "A16"; # Blue + +#LOCATE COMP "gpdi_dn[0]" SITE "B16"; # Blue - +#LOCATE COMP "gpdi_dp[1]" SITE "A14"; # Green + +#LOCATE COMP "gpdi_dn[1]" SITE "C14"; # Green - +#LOCATE COMP "gpdi_dp[2]" SITE "A12"; # Red + +#LOCATE COMP "gpdi_dn[2]" SITE "A13"; # Red - +#LOCATE COMP "gpdi_dp[3]" SITE "A17"; # Clock + +#LOCATE COMP "gpdi_dn[3]" SITE "B18"; # Clock - +#LOCATE COMP "gpdi_ethp" SITE "A19"; # Ethernet + +#LOCATE COMP "gpdi_ethn" SITE "B20"; # Ethernet - +#LOCATE COMP "gpdi_cec" SITE "A18"; +#LOCATE COMP "gpdi_sda" SITE "B19"; # I2C shared with RTC +#LOCATE COMP "gpdi_scl" SITE "E12"; # I2C shared with RTC C12->E12 +#IOBUF PORT "gpdi_dp[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethp" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethn" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_cec" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_sda" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_scl" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +# GPIO (default single-ended) "gpio", "ram", "gpdi" sheet +# Pins enumerated gp[0-27], gn[0-27]. +# With differential mode enabled on Lattice, +# gp[] (+) are used, gn[] (-) are ignored from design +# as they handle inverted signal by default. +# To enable differential, rename LVCMOS33->LVCMOS33D +LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0 +LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0 +LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1 +LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1 +LOCATE COMP "gp[2]" SITE "A9"; # J1_9+ GP2 +LOCATE COMP "gn[2]" SITE "B10"; # J1_9- GN2 +LOCATE COMP "gp[3]" SITE "B9"; # J1_11+ GP3 +LOCATE COMP "gn[3]" SITE "C10"; # J1_11- GN3 +LOCATE COMP "gp[4]" SITE "A7"; # J1_13+ GP4 +LOCATE COMP "gn[4]" SITE "A8"; # J1_13- GN4 +LOCATE COMP "gp[5]" SITE "C8"; # J1_15+ GP5 +LOCATE COMP "gn[5]" SITE "B8"; # J1_15- GN5 +LOCATE COMP "gp[6]" SITE "C6"; # J1_17+ GP6 +LOCATE COMP "gn[6]" SITE "C7"; # J1_17- GN6 +IOBUF PORT "gp[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[7]" SITE "A6"; # J1_23+ GP7 +LOCATE COMP "gn[7]" SITE "B6"; # J1_23- GN7 +LOCATE COMP "gp[8]" SITE "A4"; # J1_25+ GP8 +LOCATE COMP "gn[8]" SITE "A5"; # J1_25- GN8 +LOCATE COMP "gp[9]" SITE "A2"; # J1_27+ GP9 +LOCATE COMP "gn[9]" SITE "B1"; # J1_27- GN9 +LOCATE COMP "gp[10]" SITE "C4"; # J1_29+ GP10 WIFI_GPIO27 +LOCATE COMP "gn[10]" SITE "B4"; # J1_29- GN10 +LOCATE COMP "gp[11]" SITE "F4"; # J1_31+ GP11 WIFI_GPIO25 +LOCATE COMP "gn[11]" SITE "E3"; # J1_31- GN11 WIFI_GPIO26 +LOCATE COMP "gp[12]" SITE "G3"; # J1_33+ GP12 WIFI_GPIO32 +LOCATE COMP "gn[12]" SITE "F3"; # J1_33- GN12 WIFI_GPIO33 +LOCATE COMP "gp[13]" SITE "H4"; # J1_35+ GP13 WIFI_GPIO34 +LOCATE COMP "gn[13]" SITE "G5"; # J1_35- GN13 WIFI_GPIO35 +IOBUF PORT "gp[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[14]" SITE "U18"; # J2_5+ GP14 +LOCATE COMP "gn[14]" SITE "U17"; # J2_5- GN14 +LOCATE COMP "gp[15]" SITE "N17"; # J2_7+ GP15 +LOCATE COMP "gn[15]" SITE "P16"; # J2_7- GN15 +LOCATE COMP "gp[16]" SITE "N16"; # J2_9+ GP16 +LOCATE COMP "gn[16]" SITE "M17"; # J2_9- GN16 +LOCATE COMP "gp[17]" SITE "L16"; # J2_11+ GP17 +LOCATE COMP "gn[17]" SITE "L17"; # J2_11- GN17 +LOCATE COMP "gp[18]" SITE "H18"; # J2_13+ GP18 +LOCATE COMP "gn[18]" SITE "H17"; # J2_13- GN18 +LOCATE COMP "gp[19]" SITE "F17"; # J2_15+ GP19 +LOCATE COMP "gn[19]" SITE "G18"; # J2_15- GN19 +LOCATE COMP "gp[20]" SITE "D18"; # J2_17+ GP20 +LOCATE COMP "gn[20]" SITE "E17"; # J2_17- GN20 +IOBUF PORT "gp[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[21]" SITE "C18"; # J2_23+ GP21 +LOCATE COMP "gn[21]" SITE "D17"; # J2_23- GN21 +LOCATE COMP "gp[22]" SITE "B15"; # J2_25+ GP22 D15->B15 +LOCATE COMP "gn[22]" SITE "C15"; # J2_25- GN22 E15->C15 +LOCATE COMP "gp[23]" SITE "B17"; # J2_27+ GP23 +LOCATE COMP "gn[23]" SITE "C17"; # J2_27- GN23 +LOCATE COMP "gp[24]" SITE "C16"; # J2_29+ GP24 +LOCATE COMP "gn[24]" SITE "D16"; # J2_29- GN24 +LOCATE COMP "gp[25]" SITE "D14"; # J2_31+ GP25 B15->D14 +LOCATE COMP "gn[25]" SITE "E14"; # J2_31- GN25 C15->E14 +LOCATE COMP "gp[26]" SITE "B13"; # J2_33+ GP26 +LOCATE COMP "gn[26]" SITE "C13"; # J2_33- GN26 +LOCATE COMP "gp[27]" SITE "D13"; # J2_35+ GP27 +LOCATE COMP "gn[27]" SITE "E13"; # J2_35- GN27 +IOBUF PORT "gp[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PROGRAMN (reload bitstream from FLASH, exit from bootloader) +# PCB v2.0.5 and higher +LOCATE COMP "user_programn" SITE "M4"; +IOBUF PORT "user_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SHUTDOWN "power", "ram" sheet (connected from PCB v1.7.5) +# on PCB v1.7 shutdown is not connected to FPGA +LOCATE COMP "shutdown" SITE "G16"; # FPGA receives +IOBUF PORT "shutdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; diff --git a/app/resources/boards/ColorLight-5A-75E-V6/rules.json b/app/resources/boards/ColorLight-5A-75E-V6/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V6/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/HUB75.jpg b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/HUB75.jpg new file mode 100644 index 000000000..4b1bd06c3 Binary files /dev/null and b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/HUB75.jpg differ diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/_____pinout.lpf b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/_____pinout.lpf new file mode 100644 index 000000000..b67b94e65 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/_____pinout.lpf @@ -0,0 +1,456 @@ +BLOCK RESETPATHS; +BLOCK ASYNCPATHS; +## ColorLight-5A-75B v2.0 and v2.1 + +# The clock "usb" and "gpdi" sheet +LOCATE COMP "clk_25mhz" SITE "P6"; +IOBUF PORT "clk_25mhz" PULLMODE=NONE IO_TYPE=LVCMOS33; +FREQUENCY PORT "clk_25mhz" 25 MHZ; + +# JTAG and SPI FLASH voltage 3.3V and options to boot from SPI flash +# write to FLASH possible any time from JTAG: +#SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=ENABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; +# write to FLASH possible from user bitstream: +# SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=DISABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; + +## USBSERIAL FTDI-FPGA serial port "usb" sheet +#LOCATE COMP "ftdi_rxd" SITE "L4"; # FPGA transmits to ftdi +#LOCATE COMP "ftdi_txd" SITE "M1"; # FPGA receives from ftdi +#LOCATE COMP "ftdi_nrts" SITE "M3"; # FPGA receives +#LOCATE COMP "ftdi_ndtr" SITE "N1"; # FPGA receives +#LOCATE COMP "ftdi_txden" SITE "L3"; # FPGA receives +#IOBUF PORT "ftdi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "ftdi_txd" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_nrts" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_ndtr" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_txden" PULLMODE=UP IO_TYPE=LVCMOS33; + +## LED indicators "blinkey" and "gpio" sheet +#LOCATE COMP "led[7]" SITE "H3"; +#LOCATE COMP "led[6]" SITE "E1"; +#LOCATE COMP "led[5]" SITE "E2"; +#LOCATE COMP "led[4]" SITE "D1"; +#LOCATE COMP "led[3]" SITE "D2"; +#LOCATE COMP "led[2]" SITE "C1"; +#LOCATE COMP "led[1]" SITE "C2"; +#LOCATE COMP "led[0]" SITE "B2"; +#IOBUF PORT "led[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Pushbuttons "blinkey", "flash", "power", "gpdi" sheet +#LOCATE COMP "btn[0]" SITE "D6"; # BTN_PWRn (inverted logic) +#LOCATE COMP "btn[1]" SITE "R1"; # FIRE1 +#LOCATE COMP "btn[2]" SITE "T1"; # FIRE2 +#LOCATE COMP "btn[3]" SITE "R18"; # UP W1->R18 +#LOCATE COMP "btn[4]" SITE "V1"; # DOWN +#LOCATE COMP "btn[5]" SITE "U1"; # LEFT +#LOCATE COMP "btn[6]" SITE "H16"; # RIGHT Y2->H16 +#IOBUF PORT "btn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[4]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[5]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[6]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## DIP switch "blinkey", "gpio" sheet +#LOCATE COMP "sw[0]" SITE "E8"; # SW1 +#LOCATE COMP "sw[1]" SITE "D8"; # SW2 +#LOCATE COMP "sw[2]" SITE "D7"; # SW3 +#LOCATE COMP "sw[3]" SITE "E7"; # SW4 +#IOBUF PORT "sw[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI OLED DISPLAY SSD1331 (Color) or SSD1306 (B/W) "blinkey", "usb" sheet +#LOCATE COMP "oled_clk" SITE "P4"; +#LOCATE COMP "oled_mosi" SITE "P3"; +#LOCATE COMP "oled_dc" SITE "P1"; +#LOCATE COMP "oled_resn" SITE "P2"; +#LOCATE COMP "oled_csn" SITE "N2"; +#IOBUF PORT "oled_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_dc" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_resn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI Flash chip "flash" sheet +LOCATE COMP "flash_csn" SITE "R2"; +LOCATE COMP "flash_clk" SITE "U3"; +LOCATE COMP "flash_mosi" SITE "W2"; +LOCATE COMP "flash_miso" SITE "V2"; +LOCATE COMP "flash_holdn" SITE "W1"; +LOCATE COMP "flash_wpn" SITE "Y2"; +#LOCATE COMP "flash_csspin" SITE "AJ3"; +#LOCATE COMP "flash_initn" SITE "AG4"; +#LOCATE COMP "flash_done" SITE "AJ4"; +#LOCATE COMP "flash_programn" SITE "AH4"; +#LOCATE COMP "flash_cfg_select[0]" SITE "AM4"; +#LOCATE COMP "flash_cfg_select[1]" SITE "AL4"; +#LOCATE COMP "flash_cfg_select[2]" SITE "AK4"; +IOBUF PORT "flash_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_clk" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_holdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_wpn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_csspin" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_initn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SD card "sdcard", "usb" sheet +#LOCATE COMP "sd_clk" SITE "H2"; # sd_clk WiFi_GPIO14 +#LOCATE COMP "sd_cmd" SITE "J1"; # sd_cmd_di (MOSI) WiFi GPIO15 +#LOCATE COMP "sd_d[0]" SITE "J3"; # sd_dat0_do (MISO) WiFi GPIO2 +#LOCATE COMP "sd_d[1]" SITE "H1"; # sd_dat1_irq WiFi GPIO4 +#LOCATE COMP "sd_d[2]" SITE "K1"; # sd_dat2 WiFi_GPIO12 +#LOCATE COMP "sd_d[3]" SITE "K2"; # sd_dat3_csn WiFi_GPIO13 +#LOCATE COMP "sd_wp" SITE "P5"; # not connected +#LOCATE COMP "sd_cdn" SITE "N5"; # not connected +#IOBUF PORT "sd_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cmd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; # WiFi GPIO12 pulldown bootstrapping requirement +#IOBUF PORT "sd_d[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_wp" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## ADC SPI (MAX11123) "analog", "ram" sheet +#LOCATE COMP "adc_csn" SITE "R17"; +#LOCATE COMP "adc_mosi" SITE "R16"; +#LOCATE COMP "adc_miso" SITE "U16"; +#LOCATE COMP "adc_sclk" SITE "P17"; +#IOBUF PORT "adc_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_sclk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## Audio 4-bit DAC "analog", "gpio" sheet +# 4-bit mode can drive down to 75 ohm load impedance. +# Lower impedance leads to IO overload, +# FPGA will stop working and need reboot. +# For standard 17 ohm earphones on PCB v1.7: +# use bits 2,3 as input (High-Z) and drive only bits 0,1. +# PCB v2.1.2 can use full 4 bits and 16mA drive for 17 ohm earphones. +#LOCATE COMP "audio_l[3]" SITE "B3"; # JACK TIP (left audio) +#LOCATE COMP "audio_l[2]" SITE "C3"; +#LOCATE COMP "audio_l[1]" SITE "D3"; +#LOCATE COMP "audio_l[0]" SITE "E4"; +#LOCATE COMP "audio_r[3]" SITE "C5"; # JACK RING1 (right audio) +#LOCATE COMP "audio_r[2]" SITE "D5"; +#LOCATE COMP "audio_r[1]" SITE "B5"; +#LOCATE COMP "audio_r[0]" SITE "A3"; +#LOCATE COMP "audio_v[3]" SITE "E5"; # JACK RING2 (video or digital audio) +#LOCATE COMP "audio_v[2]" SITE "F5"; +#LOCATE COMP "audio_v[1]" SITE "F2"; +#LOCATE COMP "audio_v[0]" SITE "H5"; +#IOBUF PORT "audio_l[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## WiFi ESP-32 "wifi", "usb", "flash" sheet +# other pins are shared with GP/GN, SD card and JTAG +#LOCATE COMP "wifi_en" SITE "F1"; # enable/reset WiFi +#LOCATE COMP "wifi_rxd" SITE "K3"; # FPGA transmits to WiFi +#LOCATE COMP "wifi_txd" SITE "K4"; # FPGA receives from WiFi +#LOCATE COMP "wifi_gpio0" SITE "L2"; +#LOCATE COMP "wifi_gpio5" SITE "N4"; # WIFI LED +#LOCATE COMP "wifi_gpio16" SITE "L1"; # Serial1 RX +#LOCATE COMP "wifi_gpio17" SITE "N3"; # Serial1 TX +# LOCATE COMP "prog_done" SITE "Y3"; # not GPIO, always active +#IOBUF PORT "wifi_en" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio0" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio16" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio17" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +# IOBUF PORT "prog_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PCB antenna 433 MHz (may be also used for FM) "usb" sheet +#LOCATE COMP "ant_433mhz" SITE "G1"; +#IOBUF PORT "ant_433mhz" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Second USB port "US2" going directly into FPGA "usb", "ram" sheet +#LOCATE COMP "usb_fpga_dp" SITE "E16"; # single ended or differential input only +#LOCATE COMP "usb_fpga_dn" SITE "F16"; +#IOBUF PORT "usb_fpga_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#LOCATE COMP "usb_fpga_bd_dp" SITE "D15"; # differential bidirectional +#LOCATE COMP "usb_fpga_bd_dn" SITE "E15"; +#IOBUF PORT "usb_fpga_bd_dp" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#IOBUF PORT "usb_fpga_bd_dn" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#LOCATE COMP "usb_fpga_pu_dp" SITE "B12"; # pull up/down control +#LOCATE COMP "usb_fpga_pu_dn" SITE "C12"; +#IOBUF PORT "usb_fpga_pu_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_pu_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## JTAG ESP-32 "usb" sheet +# connected to FT231X and ESP-32 +# commented out because those are dedicated pins, not directly useable as GPIO +# but could be used by some vendor-specific JTAG bridging (boundary scan) module +#LOCATE COMP "jtag_tdi" SITE "R5"; # FTDI_nRI FPGA receives +#LOCATE COMP "jtag_tdo" SITE "V4"; # FTDI_nCTS FPGA transmits +#LOCATE COMP "jtag_tck" SITE "T5"; # FTDI_nDSR FPGA receives +#LOCATE COMP "jtag_tms" SITE "U5"; # FTDI_nDCD FPGA receives +#IOBUF PORT "jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SDRAM "ram" sheet +LOCATE COMP "sdram_clk" SITE "F19"; +LOCATE COMP "sdram_cke" SITE "F20"; +LOCATE COMP "sdram_csn" SITE "P20"; +LOCATE COMP "sdram_wen" SITE "T20"; +LOCATE COMP "sdram_rasn" SITE "R20"; +LOCATE COMP "sdram_casn" SITE "T19"; +LOCATE COMP "sdram_a[0]" SITE "M20"; +LOCATE COMP "sdram_a[1]" SITE "M19"; +LOCATE COMP "sdram_a[2]" SITE "L20"; +LOCATE COMP "sdram_a[3]" SITE "L19"; +LOCATE COMP "sdram_a[4]" SITE "K20"; +LOCATE COMP "sdram_a[5]" SITE "K19"; +LOCATE COMP "sdram_a[6]" SITE "K18"; +LOCATE COMP "sdram_a[7]" SITE "J20"; +LOCATE COMP "sdram_a[8]" SITE "J19"; +LOCATE COMP "sdram_a[9]" SITE "H20"; +LOCATE COMP "sdram_a[10]" SITE "N19"; +LOCATE COMP "sdram_a[11]" SITE "G20"; +LOCATE COMP "sdram_a[12]" SITE "G19"; +LOCATE COMP "sdram_ba[0]" SITE "P19"; +LOCATE COMP "sdram_ba[1]" SITE "N20"; +LOCATE COMP "sdram_dqm[0]" SITE "U19"; +LOCATE COMP "sdram_dqm[1]" SITE "E20"; +LOCATE COMP "sdram_d[0]" SITE "J16"; +LOCATE COMP "sdram_d[1]" SITE "L18"; +LOCATE COMP "sdram_d[2]" SITE "M18"; +LOCATE COMP "sdram_d[3]" SITE "N18"; +LOCATE COMP "sdram_d[4]" SITE "P18"; +LOCATE COMP "sdram_d[5]" SITE "T18"; +LOCATE COMP "sdram_d[6]" SITE "T17"; +LOCATE COMP "sdram_d[7]" SITE "U20"; +LOCATE COMP "sdram_d[8]" SITE "E19"; +LOCATE COMP "sdram_d[9]" SITE "D20"; +LOCATE COMP "sdram_d[10]" SITE "D19"; +LOCATE COMP "sdram_d[11]" SITE "C20"; +LOCATE COMP "sdram_d[12]" SITE "E18"; +LOCATE COMP "sdram_d[13]" SITE "F18"; +LOCATE COMP "sdram_d[14]" SITE "J18"; +LOCATE COMP "sdram_d[15]" SITE "J17"; +IOBUF PORT "sdram_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_cke" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_wen" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_rasn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_casn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[13]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[14]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[15]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +# GPDI differential interface (Video) "gpdi" sheet +#LOCATE COMP "gpdi_dp[0]" SITE "A16"; # Blue + +#LOCATE COMP "gpdi_dn[0]" SITE "B16"; # Blue - +#LOCATE COMP "gpdi_dp[1]" SITE "A14"; # Green + +#LOCATE COMP "gpdi_dn[1]" SITE "C14"; # Green - +#LOCATE COMP "gpdi_dp[2]" SITE "A12"; # Red + +#LOCATE COMP "gpdi_dn[2]" SITE "A13"; # Red - +#LOCATE COMP "gpdi_dp[3]" SITE "A17"; # Clock + +#LOCATE COMP "gpdi_dn[3]" SITE "B18"; # Clock - +#LOCATE COMP "gpdi_ethp" SITE "A19"; # Ethernet + +#LOCATE COMP "gpdi_ethn" SITE "B20"; # Ethernet - +#LOCATE COMP "gpdi_cec" SITE "A18"; +#LOCATE COMP "gpdi_sda" SITE "B19"; # I2C shared with RTC +#LOCATE COMP "gpdi_scl" SITE "E12"; # I2C shared with RTC C12->E12 +#IOBUF PORT "gpdi_dp[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethp" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethn" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_cec" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_sda" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_scl" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +# GPIO (default single-ended) "gpio", "ram", "gpdi" sheet +# Pins enumerated gp[0-27], gn[0-27]. +# With differential mode enabled on Lattice, +# gp[] (+) are used, gn[] (-) are ignored from design +# as they handle inverted signal by default. +# To enable differential, rename LVCMOS33->LVCMOS33D +LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0 +LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0 +LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1 +LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1 +LOCATE COMP "gp[2]" SITE "A9"; # J1_9+ GP2 +LOCATE COMP "gn[2]" SITE "B10"; # J1_9- GN2 +LOCATE COMP "gp[3]" SITE "B9"; # J1_11+ GP3 +LOCATE COMP "gn[3]" SITE "C10"; # J1_11- GN3 +LOCATE COMP "gp[4]" SITE "A7"; # J1_13+ GP4 +LOCATE COMP "gn[4]" SITE "A8"; # J1_13- GN4 +LOCATE COMP "gp[5]" SITE "C8"; # J1_15+ GP5 +LOCATE COMP "gn[5]" SITE "B8"; # J1_15- GN5 +LOCATE COMP "gp[6]" SITE "C6"; # J1_17+ GP6 +LOCATE COMP "gn[6]" SITE "C7"; # J1_17- GN6 +IOBUF PORT "gp[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[7]" SITE "A6"; # J1_23+ GP7 +LOCATE COMP "gn[7]" SITE "B6"; # J1_23- GN7 +LOCATE COMP "gp[8]" SITE "A4"; # J1_25+ GP8 +LOCATE COMP "gn[8]" SITE "A5"; # J1_25- GN8 +LOCATE COMP "gp[9]" SITE "A2"; # J1_27+ GP9 +LOCATE COMP "gn[9]" SITE "B1"; # J1_27- GN9 +LOCATE COMP "gp[10]" SITE "C4"; # J1_29+ GP10 WIFI_GPIO27 +LOCATE COMP "gn[10]" SITE "B4"; # J1_29- GN10 +LOCATE COMP "gp[11]" SITE "F4"; # J1_31+ GP11 WIFI_GPIO25 +LOCATE COMP "gn[11]" SITE "E3"; # J1_31- GN11 WIFI_GPIO26 +LOCATE COMP "gp[12]" SITE "G3"; # J1_33+ GP12 WIFI_GPIO32 +LOCATE COMP "gn[12]" SITE "F3"; # J1_33- GN12 WIFI_GPIO33 +LOCATE COMP "gp[13]" SITE "H4"; # J1_35+ GP13 WIFI_GPIO34 +LOCATE COMP "gn[13]" SITE "G5"; # J1_35- GN13 WIFI_GPIO35 +IOBUF PORT "gp[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[14]" SITE "U18"; # J2_5+ GP14 +LOCATE COMP "gn[14]" SITE "U17"; # J2_5- GN14 +LOCATE COMP "gp[15]" SITE "N17"; # J2_7+ GP15 +LOCATE COMP "gn[15]" SITE "P16"; # J2_7- GN15 +LOCATE COMP "gp[16]" SITE "N16"; # J2_9+ GP16 +LOCATE COMP "gn[16]" SITE "M17"; # J2_9- GN16 +LOCATE COMP "gp[17]" SITE "L16"; # J2_11+ GP17 +LOCATE COMP "gn[17]" SITE "L17"; # J2_11- GN17 +LOCATE COMP "gp[18]" SITE "H18"; # J2_13+ GP18 +LOCATE COMP "gn[18]" SITE "H17"; # J2_13- GN18 +LOCATE COMP "gp[19]" SITE "F17"; # J2_15+ GP19 +LOCATE COMP "gn[19]" SITE "G18"; # J2_15- GN19 +LOCATE COMP "gp[20]" SITE "D18"; # J2_17+ GP20 +LOCATE COMP "gn[20]" SITE "E17"; # J2_17- GN20 +IOBUF PORT "gp[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[21]" SITE "C18"; # J2_23+ GP21 +LOCATE COMP "gn[21]" SITE "D17"; # J2_23- GN21 +LOCATE COMP "gp[22]" SITE "B15"; # J2_25+ GP22 D15->B15 +LOCATE COMP "gn[22]" SITE "C15"; # J2_25- GN22 E15->C15 +LOCATE COMP "gp[23]" SITE "B17"; # J2_27+ GP23 +LOCATE COMP "gn[23]" SITE "C17"; # J2_27- GN23 +LOCATE COMP "gp[24]" SITE "C16"; # J2_29+ GP24 +LOCATE COMP "gn[24]" SITE "D16"; # J2_29- GN24 +LOCATE COMP "gp[25]" SITE "D14"; # J2_31+ GP25 B15->D14 +LOCATE COMP "gn[25]" SITE "E14"; # J2_31- GN25 C15->E14 +LOCATE COMP "gp[26]" SITE "B13"; # J2_33+ GP26 +LOCATE COMP "gn[26]" SITE "C13"; # J2_33- GN26 +LOCATE COMP "gp[27]" SITE "D13"; # J2_35+ GP27 +LOCATE COMP "gn[27]" SITE "E13"; # J2_35- GN27 +IOBUF PORT "gp[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PROGRAMN (reload bitstream from FLASH, exit from bootloader) +# PCB v2.0.5 and higher +LOCATE COMP "user_programn" SITE "M4"; +IOBUF PORT "user_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SHUTDOWN "power", "ram" sheet (connected from PCB v1.7.5) +# on PCB v1.7 shutdown is not connected to FPGA +LOCATE COMP "shutdown" SITE "G16"; # FPGA receives +IOBUF PORT "shutdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/info.json b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/info.json new file mode 100644 index 000000000..2230d3954 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75E-V71_(FT2232H)","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75e/hardware_V7.1.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":24288,"luts":24288,"pios":96,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/pinout.json b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/pinout.json new file mode 100644 index 000000000..3bf091665 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/pinout.json @@ -0,0 +1,160 @@ +[{"type":"input","name":"CLK","value":"P6"}, +{"type":"output","name":"LED","value":"P11","pullmode":"UP"}, +{"type":"input","name":"Button","value":"M13","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"C6","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"C7","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"D7","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"E7","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"E10","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"B12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"D13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"C12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"D11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"D10","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"E9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"D9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9/AP","value":"B7","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"B9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d0","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d1","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d2","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d3","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d4","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d5","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d6","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d7","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d8","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d9","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d10","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d11","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d12","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d13","value":"B10","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d14","value":"B11","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d15","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"J1_R0","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"J1_G0","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"J1_B0","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"J1_R1","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"J1_G1","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"J1_B1","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"J2_R0","value":"G4","pullmode":"NONE"}, +{"type":"inout","name":"J2_G0","value":"G5","pullmode":"NONE"}, +{"type":"inout","name":"J2_B0","value":"J2","pullmode":"NONE"}, +{"type":"inout","name":"J2_R1","value":"H2","pullmode":"NONE"}, +{"type":"inout","name":"J2_G1","value":"J1","pullmode":"NONE"}, +{"type":"inout","name":"J2_B1","value":"J3","pullmode":"NONE"}, +{"type":"inout","name":"J3_R0","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G0","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"J3_B0","value":"G1","pullmode":"NONE"}, +{"type":"inout","name":"J3_R1","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G1","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"J3_B1","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"J4_R0","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"J4_G0","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"J4_B0","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"J4_R1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"J4_G1","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"J4_B1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R0","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"J5_G0","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"J5_B0","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"J5_G1","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"J5_B1","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"J6_R0","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"J6_G0","value":"M4","pullmode":"NONE"}, +{"type":"inout","name":"J6_B0","value":"T4","pullmode":"NONE"}, +{"type":"inout","name":"J6_R1","value":"R5","pullmode":"NONE"}, +{"type":"inout","name":"J6_G1","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"J6_B1","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"J7_R0","value":"P4","pullmode":"NONE"}, +{"type":"inout","name":"J7_G0","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"J7_B0","value":"M8","pullmode":"NONE"}, +{"type":"inout","name":"J7_R1","value":"M9","pullmode":"NONE"}, +{"type":"inout","name":"J7_G1","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"J7_B1","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"J8_R0","value":"R8","pullmode":"NONE"}, +{"type":"inout","name":"J8_G0","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"J8_B0","value":"P8","pullmode":"NONE"}, +{"type":"inout","name":"J8_R1","value":"P7","pullmode":"NONE"}, +{"type":"inout","name":"J8_G1","value":"N7","pullmode":"NONE"}, +{"type":"inout","name":"J8_B1","value":"M7","pullmode":"NONE"}, +{"type":"inout","name":"J9_R0","value":"M11","pullmode":"NONE"}, +{"type":"inout","name":"J9_G0","value":"N11","pullmode":"NONE"}, +{"type":"inout","name":"J9_B0","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"J9_R1","value":"K15","pullmode":"NONE"}, +{"type":"inout","name":"J9_G1","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"J9_B1","value":"L16","pullmode":"NONE"}, +{"type":"inout","name":"J10_R0","value":"T13","pullmode":"NONE"}, +{"type":"inout","name":"J10_G0","value":"N14","pullmode":"NONE"}, +{"type":"inout","name":"J10_B0","value":"M14","pullmode":"NONE"}, +{"type":"inout","name":"J10_R1","value":"P16","pullmode":"NONE"}, +{"type":"inout","name":"J10_G1","value":"T15","pullmode":"NONE"}, +{"type":"inout","name":"J10_B1","value":"L14","pullmode":"NONE"}, +{"type":"inout","name":"J11_R0","value":"K16","pullmode":"NONE"}, +{"type":"inout","name":"J11_G0","value":"J15","pullmode":"NONE"}, +{"type":"inout","name":"J11_B0","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"J11_R1","value":"J12","pullmode":"NONE"}, +{"type":"inout","name":"J11_G1","value":"H15","pullmode":"NONE"}, +{"type":"inout","name":"J11_B1","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"J12_R0","value":"P15","pullmode":"NONE"}, +{"type":"inout","name":"J12_G0","value":"L12","pullmode":"NONE"}, +{"type":"inout","name":"J12_B0","value":"L13","pullmode":"NONE"}, +{"type":"inout","name":"J12_R1","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"J12_G1","value":"R16","pullmode":"NONE"}, +{"type":"inout","name":"J12_B1","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"J13_R0","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"J13_G0","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"J13_B0","value":"H12","pullmode":"NONE"}, +{"type":"inout","name":"J13_R1","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"J13_G1","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"J13_B1","value":"G15","pullmode":"NONE"}, +{"type":"inout","name":"J14_R0","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"J14_G0","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"J14_B0","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"J14_R1","value":"B15","pullmode":"NONE"}, +{"type":"inout","name":"J14_G1","value":"C16","pullmode":"NONE"}, +{"type":"inout","name":"J14_B1","value":"C14","pullmode":"NONE"}, +{"type":"inout","name":"J15_R0","value":"A15","pullmode":"NONE"}, +{"type":"inout","name":"J15_G0","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"J15_B0","value":"A14","pullmode":"NONE"}, +{"type":"inout","name":"J15_R1","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"J15_G1","value":"B14","pullmode":"NONE"}, +{"type":"inout","name":"J15_B1","value":"A13","pullmode":"NONE"}, +{"type":"inout","name":"J16_R0","value":"G13","pullmode":"NONE"}, +{"type":"inout","name":"J16_G0","value":"G12","pullmode":"NONE"}, +{"type":"inout","name":"J16_B0","value":"E15","pullmode":"NONE"}, +{"type":"inout","name":"J16_R1","value":"F14","pullmode":"NONE"}, +{"type":"inout","name":"J16_G1","value":"F13","pullmode":"NONE"}, +{"type":"inout","name":"J16_B1","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"Shared_A","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_B","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_C","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"Shared_D","value":"K2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_E","value":"F15","pullmode":"NONE"}, +{"type":"inout","name":"Shared_CLK","value":"B16","pullmode":"NONE"}, +{"type":"inout","name":"Shared_STB","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"Shared_OE","value":"F12","pullmode":"NONE"}] + + + + + + diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/rules.json b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT2232H)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/info.json b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/info.json new file mode 100644 index 000000000..0c200cdce --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75E-V71_(FT232H)","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75e/hardware_V7.1.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/pinout.json b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/pinout.json new file mode 100644 index 000000000..3bf091665 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/pinout.json @@ -0,0 +1,160 @@ +[{"type":"input","name":"CLK","value":"P6"}, +{"type":"output","name":"LED","value":"P11","pullmode":"UP"}, +{"type":"input","name":"Button","value":"M13","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"C6","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"C7","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"D7","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"E7","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"E10","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"B12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"D13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"C12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"D11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"D10","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"E9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"D9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9/AP","value":"B7","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"B9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d0","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d1","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d2","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d3","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d4","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d5","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d6","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d7","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d8","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d9","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d10","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d11","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d12","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d13","value":"B10","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d14","value":"B11","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d15","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"J1_R0","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"J1_G0","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"J1_B0","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"J1_R1","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"J1_G1","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"J1_B1","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"J2_R0","value":"G4","pullmode":"NONE"}, +{"type":"inout","name":"J2_G0","value":"G5","pullmode":"NONE"}, +{"type":"inout","name":"J2_B0","value":"J2","pullmode":"NONE"}, +{"type":"inout","name":"J2_R1","value":"H2","pullmode":"NONE"}, +{"type":"inout","name":"J2_G1","value":"J1","pullmode":"NONE"}, +{"type":"inout","name":"J2_B1","value":"J3","pullmode":"NONE"}, +{"type":"inout","name":"J3_R0","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G0","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"J3_B0","value":"G1","pullmode":"NONE"}, +{"type":"inout","name":"J3_R1","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G1","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"J3_B1","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"J4_R0","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"J4_G0","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"J4_B0","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"J4_R1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"J4_G1","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"J4_B1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R0","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"J5_G0","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"J5_B0","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"J5_G1","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"J5_B1","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"J6_R0","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"J6_G0","value":"M4","pullmode":"NONE"}, +{"type":"inout","name":"J6_B0","value":"T4","pullmode":"NONE"}, +{"type":"inout","name":"J6_R1","value":"R5","pullmode":"NONE"}, +{"type":"inout","name":"J6_G1","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"J6_B1","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"J7_R0","value":"P4","pullmode":"NONE"}, +{"type":"inout","name":"J7_G0","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"J7_B0","value":"M8","pullmode":"NONE"}, +{"type":"inout","name":"J7_R1","value":"M9","pullmode":"NONE"}, +{"type":"inout","name":"J7_G1","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"J7_B1","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"J8_R0","value":"R8","pullmode":"NONE"}, +{"type":"inout","name":"J8_G0","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"J8_B0","value":"P8","pullmode":"NONE"}, +{"type":"inout","name":"J8_R1","value":"P7","pullmode":"NONE"}, +{"type":"inout","name":"J8_G1","value":"N7","pullmode":"NONE"}, +{"type":"inout","name":"J8_B1","value":"M7","pullmode":"NONE"}, +{"type":"inout","name":"J9_R0","value":"M11","pullmode":"NONE"}, +{"type":"inout","name":"J9_G0","value":"N11","pullmode":"NONE"}, +{"type":"inout","name":"J9_B0","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"J9_R1","value":"K15","pullmode":"NONE"}, +{"type":"inout","name":"J9_G1","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"J9_B1","value":"L16","pullmode":"NONE"}, +{"type":"inout","name":"J10_R0","value":"T13","pullmode":"NONE"}, +{"type":"inout","name":"J10_G0","value":"N14","pullmode":"NONE"}, +{"type":"inout","name":"J10_B0","value":"M14","pullmode":"NONE"}, +{"type":"inout","name":"J10_R1","value":"P16","pullmode":"NONE"}, +{"type":"inout","name":"J10_G1","value":"T15","pullmode":"NONE"}, +{"type":"inout","name":"J10_B1","value":"L14","pullmode":"NONE"}, +{"type":"inout","name":"J11_R0","value":"K16","pullmode":"NONE"}, +{"type":"inout","name":"J11_G0","value":"J15","pullmode":"NONE"}, +{"type":"inout","name":"J11_B0","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"J11_R1","value":"J12","pullmode":"NONE"}, +{"type":"inout","name":"J11_G1","value":"H15","pullmode":"NONE"}, +{"type":"inout","name":"J11_B1","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"J12_R0","value":"P15","pullmode":"NONE"}, +{"type":"inout","name":"J12_G0","value":"L12","pullmode":"NONE"}, +{"type":"inout","name":"J12_B0","value":"L13","pullmode":"NONE"}, +{"type":"inout","name":"J12_R1","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"J12_G1","value":"R16","pullmode":"NONE"}, +{"type":"inout","name":"J12_B1","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"J13_R0","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"J13_G0","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"J13_B0","value":"H12","pullmode":"NONE"}, +{"type":"inout","name":"J13_R1","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"J13_G1","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"J13_B1","value":"G15","pullmode":"NONE"}, +{"type":"inout","name":"J14_R0","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"J14_G0","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"J14_B0","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"J14_R1","value":"B15","pullmode":"NONE"}, +{"type":"inout","name":"J14_G1","value":"C16","pullmode":"NONE"}, +{"type":"inout","name":"J14_B1","value":"C14","pullmode":"NONE"}, +{"type":"inout","name":"J15_R0","value":"A15","pullmode":"NONE"}, +{"type":"inout","name":"J15_G0","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"J15_B0","value":"A14","pullmode":"NONE"}, +{"type":"inout","name":"J15_R1","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"J15_G1","value":"B14","pullmode":"NONE"}, +{"type":"inout","name":"J15_B1","value":"A13","pullmode":"NONE"}, +{"type":"inout","name":"J16_R0","value":"G13","pullmode":"NONE"}, +{"type":"inout","name":"J16_G0","value":"G12","pullmode":"NONE"}, +{"type":"inout","name":"J16_B0","value":"E15","pullmode":"NONE"}, +{"type":"inout","name":"J16_R1","value":"F14","pullmode":"NONE"}, +{"type":"inout","name":"J16_G1","value":"F13","pullmode":"NONE"}, +{"type":"inout","name":"J16_B1","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"Shared_A","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_B","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_C","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"Shared_D","value":"K2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_E","value":"F15","pullmode":"NONE"}, +{"type":"inout","name":"Shared_CLK","value":"B16","pullmode":"NONE"}, +{"type":"inout","name":"Shared_STB","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"Shared_OE","value":"F12","pullmode":"NONE"}] + + + + + + diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/pinout.lpf b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/pinout.lpf new file mode 100644 index 000000000..b67b94e65 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/pinout.lpf @@ -0,0 +1,456 @@ +BLOCK RESETPATHS; +BLOCK ASYNCPATHS; +## ColorLight-5A-75B v2.0 and v2.1 + +# The clock "usb" and "gpdi" sheet +LOCATE COMP "clk_25mhz" SITE "P6"; +IOBUF PORT "clk_25mhz" PULLMODE=NONE IO_TYPE=LVCMOS33; +FREQUENCY PORT "clk_25mhz" 25 MHZ; + +# JTAG and SPI FLASH voltage 3.3V and options to boot from SPI flash +# write to FLASH possible any time from JTAG: +#SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=ENABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; +# write to FLASH possible from user bitstream: +# SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=DISABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; + +## USBSERIAL FTDI-FPGA serial port "usb" sheet +#LOCATE COMP "ftdi_rxd" SITE "L4"; # FPGA transmits to ftdi +#LOCATE COMP "ftdi_txd" SITE "M1"; # FPGA receives from ftdi +#LOCATE COMP "ftdi_nrts" SITE "M3"; # FPGA receives +#LOCATE COMP "ftdi_ndtr" SITE "N1"; # FPGA receives +#LOCATE COMP "ftdi_txden" SITE "L3"; # FPGA receives +#IOBUF PORT "ftdi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "ftdi_txd" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_nrts" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_ndtr" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_txden" PULLMODE=UP IO_TYPE=LVCMOS33; + +## LED indicators "blinkey" and "gpio" sheet +#LOCATE COMP "led[7]" SITE "H3"; +#LOCATE COMP "led[6]" SITE "E1"; +#LOCATE COMP "led[5]" SITE "E2"; +#LOCATE COMP "led[4]" SITE "D1"; +#LOCATE COMP "led[3]" SITE "D2"; +#LOCATE COMP "led[2]" SITE "C1"; +#LOCATE COMP "led[1]" SITE "C2"; +#LOCATE COMP "led[0]" SITE "B2"; +#IOBUF PORT "led[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Pushbuttons "blinkey", "flash", "power", "gpdi" sheet +#LOCATE COMP "btn[0]" SITE "D6"; # BTN_PWRn (inverted logic) +#LOCATE COMP "btn[1]" SITE "R1"; # FIRE1 +#LOCATE COMP "btn[2]" SITE "T1"; # FIRE2 +#LOCATE COMP "btn[3]" SITE "R18"; # UP W1->R18 +#LOCATE COMP "btn[4]" SITE "V1"; # DOWN +#LOCATE COMP "btn[5]" SITE "U1"; # LEFT +#LOCATE COMP "btn[6]" SITE "H16"; # RIGHT Y2->H16 +#IOBUF PORT "btn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[4]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[5]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[6]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## DIP switch "blinkey", "gpio" sheet +#LOCATE COMP "sw[0]" SITE "E8"; # SW1 +#LOCATE COMP "sw[1]" SITE "D8"; # SW2 +#LOCATE COMP "sw[2]" SITE "D7"; # SW3 +#LOCATE COMP "sw[3]" SITE "E7"; # SW4 +#IOBUF PORT "sw[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI OLED DISPLAY SSD1331 (Color) or SSD1306 (B/W) "blinkey", "usb" sheet +#LOCATE COMP "oled_clk" SITE "P4"; +#LOCATE COMP "oled_mosi" SITE "P3"; +#LOCATE COMP "oled_dc" SITE "P1"; +#LOCATE COMP "oled_resn" SITE "P2"; +#LOCATE COMP "oled_csn" SITE "N2"; +#IOBUF PORT "oled_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_dc" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_resn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI Flash chip "flash" sheet +LOCATE COMP "flash_csn" SITE "R2"; +LOCATE COMP "flash_clk" SITE "U3"; +LOCATE COMP "flash_mosi" SITE "W2"; +LOCATE COMP "flash_miso" SITE "V2"; +LOCATE COMP "flash_holdn" SITE "W1"; +LOCATE COMP "flash_wpn" SITE "Y2"; +#LOCATE COMP "flash_csspin" SITE "AJ3"; +#LOCATE COMP "flash_initn" SITE "AG4"; +#LOCATE COMP "flash_done" SITE "AJ4"; +#LOCATE COMP "flash_programn" SITE "AH4"; +#LOCATE COMP "flash_cfg_select[0]" SITE "AM4"; +#LOCATE COMP "flash_cfg_select[1]" SITE "AL4"; +#LOCATE COMP "flash_cfg_select[2]" SITE "AK4"; +IOBUF PORT "flash_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_clk" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_holdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_wpn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_csspin" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_initn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SD card "sdcard", "usb" sheet +#LOCATE COMP "sd_clk" SITE "H2"; # sd_clk WiFi_GPIO14 +#LOCATE COMP "sd_cmd" SITE "J1"; # sd_cmd_di (MOSI) WiFi GPIO15 +#LOCATE COMP "sd_d[0]" SITE "J3"; # sd_dat0_do (MISO) WiFi GPIO2 +#LOCATE COMP "sd_d[1]" SITE "H1"; # sd_dat1_irq WiFi GPIO4 +#LOCATE COMP "sd_d[2]" SITE "K1"; # sd_dat2 WiFi_GPIO12 +#LOCATE COMP "sd_d[3]" SITE "K2"; # sd_dat3_csn WiFi_GPIO13 +#LOCATE COMP "sd_wp" SITE "P5"; # not connected +#LOCATE COMP "sd_cdn" SITE "N5"; # not connected +#IOBUF PORT "sd_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cmd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; # WiFi GPIO12 pulldown bootstrapping requirement +#IOBUF PORT "sd_d[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_wp" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## ADC SPI (MAX11123) "analog", "ram" sheet +#LOCATE COMP "adc_csn" SITE "R17"; +#LOCATE COMP "adc_mosi" SITE "R16"; +#LOCATE COMP "adc_miso" SITE "U16"; +#LOCATE COMP "adc_sclk" SITE "P17"; +#IOBUF PORT "adc_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_sclk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## Audio 4-bit DAC "analog", "gpio" sheet +# 4-bit mode can drive down to 75 ohm load impedance. +# Lower impedance leads to IO overload, +# FPGA will stop working and need reboot. +# For standard 17 ohm earphones on PCB v1.7: +# use bits 2,3 as input (High-Z) and drive only bits 0,1. +# PCB v2.1.2 can use full 4 bits and 16mA drive for 17 ohm earphones. +#LOCATE COMP "audio_l[3]" SITE "B3"; # JACK TIP (left audio) +#LOCATE COMP "audio_l[2]" SITE "C3"; +#LOCATE COMP "audio_l[1]" SITE "D3"; +#LOCATE COMP "audio_l[0]" SITE "E4"; +#LOCATE COMP "audio_r[3]" SITE "C5"; # JACK RING1 (right audio) +#LOCATE COMP "audio_r[2]" SITE "D5"; +#LOCATE COMP "audio_r[1]" SITE "B5"; +#LOCATE COMP "audio_r[0]" SITE "A3"; +#LOCATE COMP "audio_v[3]" SITE "E5"; # JACK RING2 (video or digital audio) +#LOCATE COMP "audio_v[2]" SITE "F5"; +#LOCATE COMP "audio_v[1]" SITE "F2"; +#LOCATE COMP "audio_v[0]" SITE "H5"; +#IOBUF PORT "audio_l[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## WiFi ESP-32 "wifi", "usb", "flash" sheet +# other pins are shared with GP/GN, SD card and JTAG +#LOCATE COMP "wifi_en" SITE "F1"; # enable/reset WiFi +#LOCATE COMP "wifi_rxd" SITE "K3"; # FPGA transmits to WiFi +#LOCATE COMP "wifi_txd" SITE "K4"; # FPGA receives from WiFi +#LOCATE COMP "wifi_gpio0" SITE "L2"; +#LOCATE COMP "wifi_gpio5" SITE "N4"; # WIFI LED +#LOCATE COMP "wifi_gpio16" SITE "L1"; # Serial1 RX +#LOCATE COMP "wifi_gpio17" SITE "N3"; # Serial1 TX +# LOCATE COMP "prog_done" SITE "Y3"; # not GPIO, always active +#IOBUF PORT "wifi_en" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio0" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio16" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio17" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +# IOBUF PORT "prog_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PCB antenna 433 MHz (may be also used for FM) "usb" sheet +#LOCATE COMP "ant_433mhz" SITE "G1"; +#IOBUF PORT "ant_433mhz" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Second USB port "US2" going directly into FPGA "usb", "ram" sheet +#LOCATE COMP "usb_fpga_dp" SITE "E16"; # single ended or differential input only +#LOCATE COMP "usb_fpga_dn" SITE "F16"; +#IOBUF PORT "usb_fpga_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#LOCATE COMP "usb_fpga_bd_dp" SITE "D15"; # differential bidirectional +#LOCATE COMP "usb_fpga_bd_dn" SITE "E15"; +#IOBUF PORT "usb_fpga_bd_dp" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#IOBUF PORT "usb_fpga_bd_dn" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#LOCATE COMP "usb_fpga_pu_dp" SITE "B12"; # pull up/down control +#LOCATE COMP "usb_fpga_pu_dn" SITE "C12"; +#IOBUF PORT "usb_fpga_pu_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_pu_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## JTAG ESP-32 "usb" sheet +# connected to FT231X and ESP-32 +# commented out because those are dedicated pins, not directly useable as GPIO +# but could be used by some vendor-specific JTAG bridging (boundary scan) module +#LOCATE COMP "jtag_tdi" SITE "R5"; # FTDI_nRI FPGA receives +#LOCATE COMP "jtag_tdo" SITE "V4"; # FTDI_nCTS FPGA transmits +#LOCATE COMP "jtag_tck" SITE "T5"; # FTDI_nDSR FPGA receives +#LOCATE COMP "jtag_tms" SITE "U5"; # FTDI_nDCD FPGA receives +#IOBUF PORT "jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SDRAM "ram" sheet +LOCATE COMP "sdram_clk" SITE "F19"; +LOCATE COMP "sdram_cke" SITE "F20"; +LOCATE COMP "sdram_csn" SITE "P20"; +LOCATE COMP "sdram_wen" SITE "T20"; +LOCATE COMP "sdram_rasn" SITE "R20"; +LOCATE COMP "sdram_casn" SITE "T19"; +LOCATE COMP "sdram_a[0]" SITE "M20"; +LOCATE COMP "sdram_a[1]" SITE "M19"; +LOCATE COMP "sdram_a[2]" SITE "L20"; +LOCATE COMP "sdram_a[3]" SITE "L19"; +LOCATE COMP "sdram_a[4]" SITE "K20"; +LOCATE COMP "sdram_a[5]" SITE "K19"; +LOCATE COMP "sdram_a[6]" SITE "K18"; +LOCATE COMP "sdram_a[7]" SITE "J20"; +LOCATE COMP "sdram_a[8]" SITE "J19"; +LOCATE COMP "sdram_a[9]" SITE "H20"; +LOCATE COMP "sdram_a[10]" SITE "N19"; +LOCATE COMP "sdram_a[11]" SITE "G20"; +LOCATE COMP "sdram_a[12]" SITE "G19"; +LOCATE COMP "sdram_ba[0]" SITE "P19"; +LOCATE COMP "sdram_ba[1]" SITE "N20"; +LOCATE COMP "sdram_dqm[0]" SITE "U19"; +LOCATE COMP "sdram_dqm[1]" SITE "E20"; +LOCATE COMP "sdram_d[0]" SITE "J16"; +LOCATE COMP "sdram_d[1]" SITE "L18"; +LOCATE COMP "sdram_d[2]" SITE "M18"; +LOCATE COMP "sdram_d[3]" SITE "N18"; +LOCATE COMP "sdram_d[4]" SITE "P18"; +LOCATE COMP "sdram_d[5]" SITE "T18"; +LOCATE COMP "sdram_d[6]" SITE "T17"; +LOCATE COMP "sdram_d[7]" SITE "U20"; +LOCATE COMP "sdram_d[8]" SITE "E19"; +LOCATE COMP "sdram_d[9]" SITE "D20"; +LOCATE COMP "sdram_d[10]" SITE "D19"; +LOCATE COMP "sdram_d[11]" SITE "C20"; +LOCATE COMP "sdram_d[12]" SITE "E18"; +LOCATE COMP "sdram_d[13]" SITE "F18"; +LOCATE COMP "sdram_d[14]" SITE "J18"; +LOCATE COMP "sdram_d[15]" SITE "J17"; +IOBUF PORT "sdram_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_cke" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_wen" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_rasn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_casn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[13]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[14]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[15]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +# GPDI differential interface (Video) "gpdi" sheet +#LOCATE COMP "gpdi_dp[0]" SITE "A16"; # Blue + +#LOCATE COMP "gpdi_dn[0]" SITE "B16"; # Blue - +#LOCATE COMP "gpdi_dp[1]" SITE "A14"; # Green + +#LOCATE COMP "gpdi_dn[1]" SITE "C14"; # Green - +#LOCATE COMP "gpdi_dp[2]" SITE "A12"; # Red + +#LOCATE COMP "gpdi_dn[2]" SITE "A13"; # Red - +#LOCATE COMP "gpdi_dp[3]" SITE "A17"; # Clock + +#LOCATE COMP "gpdi_dn[3]" SITE "B18"; # Clock - +#LOCATE COMP "gpdi_ethp" SITE "A19"; # Ethernet + +#LOCATE COMP "gpdi_ethn" SITE "B20"; # Ethernet - +#LOCATE COMP "gpdi_cec" SITE "A18"; +#LOCATE COMP "gpdi_sda" SITE "B19"; # I2C shared with RTC +#LOCATE COMP "gpdi_scl" SITE "E12"; # I2C shared with RTC C12->E12 +#IOBUF PORT "gpdi_dp[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethp" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethn" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_cec" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_sda" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_scl" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +# GPIO (default single-ended) "gpio", "ram", "gpdi" sheet +# Pins enumerated gp[0-27], gn[0-27]. +# With differential mode enabled on Lattice, +# gp[] (+) are used, gn[] (-) are ignored from design +# as they handle inverted signal by default. +# To enable differential, rename LVCMOS33->LVCMOS33D +LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0 +LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0 +LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1 +LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1 +LOCATE COMP "gp[2]" SITE "A9"; # J1_9+ GP2 +LOCATE COMP "gn[2]" SITE "B10"; # J1_9- GN2 +LOCATE COMP "gp[3]" SITE "B9"; # J1_11+ GP3 +LOCATE COMP "gn[3]" SITE "C10"; # J1_11- GN3 +LOCATE COMP "gp[4]" SITE "A7"; # J1_13+ GP4 +LOCATE COMP "gn[4]" SITE "A8"; # J1_13- GN4 +LOCATE COMP "gp[5]" SITE "C8"; # J1_15+ GP5 +LOCATE COMP "gn[5]" SITE "B8"; # J1_15- GN5 +LOCATE COMP "gp[6]" SITE "C6"; # J1_17+ GP6 +LOCATE COMP "gn[6]" SITE "C7"; # J1_17- GN6 +IOBUF PORT "gp[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[7]" SITE "A6"; # J1_23+ GP7 +LOCATE COMP "gn[7]" SITE "B6"; # J1_23- GN7 +LOCATE COMP "gp[8]" SITE "A4"; # J1_25+ GP8 +LOCATE COMP "gn[8]" SITE "A5"; # J1_25- GN8 +LOCATE COMP "gp[9]" SITE "A2"; # J1_27+ GP9 +LOCATE COMP "gn[9]" SITE "B1"; # J1_27- GN9 +LOCATE COMP "gp[10]" SITE "C4"; # J1_29+ GP10 WIFI_GPIO27 +LOCATE COMP "gn[10]" SITE "B4"; # J1_29- GN10 +LOCATE COMP "gp[11]" SITE "F4"; # J1_31+ GP11 WIFI_GPIO25 +LOCATE COMP "gn[11]" SITE "E3"; # J1_31- GN11 WIFI_GPIO26 +LOCATE COMP "gp[12]" SITE "G3"; # J1_33+ GP12 WIFI_GPIO32 +LOCATE COMP "gn[12]" SITE "F3"; # J1_33- GN12 WIFI_GPIO33 +LOCATE COMP "gp[13]" SITE "H4"; # J1_35+ GP13 WIFI_GPIO34 +LOCATE COMP "gn[13]" SITE "G5"; # J1_35- GN13 WIFI_GPIO35 +IOBUF PORT "gp[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[14]" SITE "U18"; # J2_5+ GP14 +LOCATE COMP "gn[14]" SITE "U17"; # J2_5- GN14 +LOCATE COMP "gp[15]" SITE "N17"; # J2_7+ GP15 +LOCATE COMP "gn[15]" SITE "P16"; # J2_7- GN15 +LOCATE COMP "gp[16]" SITE "N16"; # J2_9+ GP16 +LOCATE COMP "gn[16]" SITE "M17"; # J2_9- GN16 +LOCATE COMP "gp[17]" SITE "L16"; # J2_11+ GP17 +LOCATE COMP "gn[17]" SITE "L17"; # J2_11- GN17 +LOCATE COMP "gp[18]" SITE "H18"; # J2_13+ GP18 +LOCATE COMP "gn[18]" SITE "H17"; # J2_13- GN18 +LOCATE COMP "gp[19]" SITE "F17"; # J2_15+ GP19 +LOCATE COMP "gn[19]" SITE "G18"; # J2_15- GN19 +LOCATE COMP "gp[20]" SITE "D18"; # J2_17+ GP20 +LOCATE COMP "gn[20]" SITE "E17"; # J2_17- GN20 +IOBUF PORT "gp[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[21]" SITE "C18"; # J2_23+ GP21 +LOCATE COMP "gn[21]" SITE "D17"; # J2_23- GN21 +LOCATE COMP "gp[22]" SITE "B15"; # J2_25+ GP22 D15->B15 +LOCATE COMP "gn[22]" SITE "C15"; # J2_25- GN22 E15->C15 +LOCATE COMP "gp[23]" SITE "B17"; # J2_27+ GP23 +LOCATE COMP "gn[23]" SITE "C17"; # J2_27- GN23 +LOCATE COMP "gp[24]" SITE "C16"; # J2_29+ GP24 +LOCATE COMP "gn[24]" SITE "D16"; # J2_29- GN24 +LOCATE COMP "gp[25]" SITE "D14"; # J2_31+ GP25 B15->D14 +LOCATE COMP "gn[25]" SITE "E14"; # J2_31- GN25 C15->E14 +LOCATE COMP "gp[26]" SITE "B13"; # J2_33+ GP26 +LOCATE COMP "gn[26]" SITE "C13"; # J2_33- GN26 +LOCATE COMP "gp[27]" SITE "D13"; # J2_35+ GP27 +LOCATE COMP "gn[27]" SITE "E13"; # J2_35- GN27 +IOBUF PORT "gp[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PROGRAMN (reload bitstream from FLASH, exit from bootloader) +# PCB v2.0.5 and higher +LOCATE COMP "user_programn" SITE "M4"; +IOBUF PORT "user_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SHUTDOWN "power", "ram" sheet (connected from PCB v1.7.5) +# on PCB v1.7 shutdown is not connected to FPGA +LOCATE COMP "shutdown" SITE "G16"; # FPGA receives +IOBUF PORT "shutdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/rules.json b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(FT232H)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/info.json b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/info.json new file mode 100644 index 000000000..c053206b3 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-5A-75E-V71_(USB-Blaster)","datasheet":"https://github.com/q3k/chubby75/blob/master/5a-75e/hardware_V7.1.md","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/pinout.json b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/pinout.json new file mode 100644 index 000000000..3bf091665 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/pinout.json @@ -0,0 +1,160 @@ +[{"type":"input","name":"CLK","value":"P6"}, +{"type":"output","name":"LED","value":"P11","pullmode":"UP"}, +{"type":"input","name":"Button","value":"M13","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"C6","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"C7","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"D7","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"E7","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"E10","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"B12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"D13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"C12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"D11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"D10","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"E9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"D9","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9/AP","value":"B7","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"B9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d0","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d1","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d2","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d3","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d4","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d5","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d6","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d7","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d8","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d9","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d10","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d11","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d12","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d13","value":"B10","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d14","value":"B11","pullmode":"NONE"}, +{"type":"inout","name":"sdram2_d15","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"J1_R0","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"J1_G0","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"J1_B0","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"J1_R1","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"J1_G1","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"J1_B1","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"J2_R0","value":"G4","pullmode":"NONE"}, +{"type":"inout","name":"J2_G0","value":"G5","pullmode":"NONE"}, +{"type":"inout","name":"J2_B0","value":"J2","pullmode":"NONE"}, +{"type":"inout","name":"J2_R1","value":"H2","pullmode":"NONE"}, +{"type":"inout","name":"J2_G1","value":"J1","pullmode":"NONE"}, +{"type":"inout","name":"J2_B1","value":"J3","pullmode":"NONE"}, +{"type":"inout","name":"J3_R0","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G0","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"J3_B0","value":"G1","pullmode":"NONE"}, +{"type":"inout","name":"J3_R1","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"J3_G1","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"J3_B1","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"J4_R0","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"J4_G0","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"J4_B0","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"J4_R1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"J4_G1","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"J4_B1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R0","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"J5_G0","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"J5_B0","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"J5_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"J5_G1","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"J5_B1","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"J6_R0","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"J6_G0","value":"M4","pullmode":"NONE"}, +{"type":"inout","name":"J6_B0","value":"T4","pullmode":"NONE"}, +{"type":"inout","name":"J6_R1","value":"R5","pullmode":"NONE"}, +{"type":"inout","name":"J6_G1","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"J6_B1","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"J7_R0","value":"P4","pullmode":"NONE"}, +{"type":"inout","name":"J7_G0","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"J7_B0","value":"M8","pullmode":"NONE"}, +{"type":"inout","name":"J7_R1","value":"M9","pullmode":"NONE"}, +{"type":"inout","name":"J7_G1","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"J7_B1","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"J8_R0","value":"R8","pullmode":"NONE"}, +{"type":"inout","name":"J8_G0","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"J8_B0","value":"P8","pullmode":"NONE"}, +{"type":"inout","name":"J8_R1","value":"P7","pullmode":"NONE"}, +{"type":"inout","name":"J8_G1","value":"N7","pullmode":"NONE"}, +{"type":"inout","name":"J8_B1","value":"M7","pullmode":"NONE"}, +{"type":"inout","name":"J9_R0","value":"M11","pullmode":"NONE"}, +{"type":"inout","name":"J9_G0","value":"N11","pullmode":"NONE"}, +{"type":"inout","name":"J9_B0","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"J9_R1","value":"K15","pullmode":"NONE"}, +{"type":"inout","name":"J9_G1","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"J9_B1","value":"L16","pullmode":"NONE"}, +{"type":"inout","name":"J10_R0","value":"T13","pullmode":"NONE"}, +{"type":"inout","name":"J10_G0","value":"N14","pullmode":"NONE"}, +{"type":"inout","name":"J10_B0","value":"M14","pullmode":"NONE"}, +{"type":"inout","name":"J10_R1","value":"P16","pullmode":"NONE"}, +{"type":"inout","name":"J10_G1","value":"T15","pullmode":"NONE"}, +{"type":"inout","name":"J10_B1","value":"L14","pullmode":"NONE"}, +{"type":"inout","name":"J11_R0","value":"K16","pullmode":"NONE"}, +{"type":"inout","name":"J11_G0","value":"J15","pullmode":"NONE"}, +{"type":"inout","name":"J11_B0","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"J11_R1","value":"J12","pullmode":"NONE"}, +{"type":"inout","name":"J11_G1","value":"H15","pullmode":"NONE"}, +{"type":"inout","name":"J11_B1","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"J12_R0","value":"P15","pullmode":"NONE"}, +{"type":"inout","name":"J12_G0","value":"L12","pullmode":"NONE"}, +{"type":"inout","name":"J12_B0","value":"L13","pullmode":"NONE"}, +{"type":"inout","name":"J12_R1","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"J12_G1","value":"R16","pullmode":"NONE"}, +{"type":"inout","name":"J12_B1","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"J13_R0","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"J13_G0","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"J13_B0","value":"H12","pullmode":"NONE"}, +{"type":"inout","name":"J13_R1","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"J13_G1","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"J13_B1","value":"G15","pullmode":"NONE"}, +{"type":"inout","name":"J14_R0","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"J14_G0","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"J14_B0","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"J14_R1","value":"B15","pullmode":"NONE"}, +{"type":"inout","name":"J14_G1","value":"C16","pullmode":"NONE"}, +{"type":"inout","name":"J14_B1","value":"C14","pullmode":"NONE"}, +{"type":"inout","name":"J15_R0","value":"A15","pullmode":"NONE"}, +{"type":"inout","name":"J15_G0","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"J15_B0","value":"A14","pullmode":"NONE"}, +{"type":"inout","name":"J15_R1","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"J15_G1","value":"B14","pullmode":"NONE"}, +{"type":"inout","name":"J15_B1","value":"A13","pullmode":"NONE"}, +{"type":"inout","name":"J16_R0","value":"G13","pullmode":"NONE"}, +{"type":"inout","name":"J16_G0","value":"G12","pullmode":"NONE"}, +{"type":"inout","name":"J16_B0","value":"E15","pullmode":"NONE"}, +{"type":"inout","name":"J16_R1","value":"F14","pullmode":"NONE"}, +{"type":"inout","name":"J16_G1","value":"F13","pullmode":"NONE"}, +{"type":"inout","name":"J16_B1","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"Shared_A","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_B","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"Shared_C","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"Shared_D","value":"K2","pullmode":"NONE"}, +{"type":"inout","name":"Shared_E","value":"F15","pullmode":"NONE"}, +{"type":"inout","name":"Shared_CLK","value":"B16","pullmode":"NONE"}, +{"type":"inout","name":"Shared_STB","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"Shared_OE","value":"F12","pullmode":"NONE"}] + + + + + + diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/pinout.lpf b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/pinout.lpf new file mode 100644 index 000000000..b67b94e65 --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/pinout.lpf @@ -0,0 +1,456 @@ +BLOCK RESETPATHS; +BLOCK ASYNCPATHS; +## ColorLight-5A-75B v2.0 and v2.1 + +# The clock "usb" and "gpdi" sheet +LOCATE COMP "clk_25mhz" SITE "P6"; +IOBUF PORT "clk_25mhz" PULLMODE=NONE IO_TYPE=LVCMOS33; +FREQUENCY PORT "clk_25mhz" 25 MHZ; + +# JTAG and SPI FLASH voltage 3.3V and options to boot from SPI flash +# write to FLASH possible any time from JTAG: +#SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=ENABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; +# write to FLASH possible from user bitstream: +# SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=DISABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE; + +## USBSERIAL FTDI-FPGA serial port "usb" sheet +#LOCATE COMP "ftdi_rxd" SITE "L4"; # FPGA transmits to ftdi +#LOCATE COMP "ftdi_txd" SITE "M1"; # FPGA receives from ftdi +#LOCATE COMP "ftdi_nrts" SITE "M3"; # FPGA receives +#LOCATE COMP "ftdi_ndtr" SITE "N1"; # FPGA receives +#LOCATE COMP "ftdi_txden" SITE "L3"; # FPGA receives +#IOBUF PORT "ftdi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "ftdi_txd" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_nrts" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_ndtr" PULLMODE=UP IO_TYPE=LVCMOS33; +#IOBUF PORT "ftdi_txden" PULLMODE=UP IO_TYPE=LVCMOS33; + +## LED indicators "blinkey" and "gpio" sheet +#LOCATE COMP "led[7]" SITE "H3"; +#LOCATE COMP "led[6]" SITE "E1"; +#LOCATE COMP "led[5]" SITE "E2"; +#LOCATE COMP "led[4]" SITE "D1"; +#LOCATE COMP "led[3]" SITE "D2"; +#LOCATE COMP "led[2]" SITE "C1"; +#LOCATE COMP "led[1]" SITE "C2"; +#LOCATE COMP "led[0]" SITE "B2"; +#IOBUF PORT "led[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "led[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Pushbuttons "blinkey", "flash", "power", "gpdi" sheet +#LOCATE COMP "btn[0]" SITE "D6"; # BTN_PWRn (inverted logic) +#LOCATE COMP "btn[1]" SITE "R1"; # FIRE1 +#LOCATE COMP "btn[2]" SITE "T1"; # FIRE2 +#LOCATE COMP "btn[3]" SITE "R18"; # UP W1->R18 +#LOCATE COMP "btn[4]" SITE "V1"; # DOWN +#LOCATE COMP "btn[5]" SITE "U1"; # LEFT +#LOCATE COMP "btn[6]" SITE "H16"; # RIGHT Y2->H16 +#IOBUF PORT "btn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[4]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[5]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "btn[6]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## DIP switch "blinkey", "gpio" sheet +#LOCATE COMP "sw[0]" SITE "E8"; # SW1 +#LOCATE COMP "sw[1]" SITE "D8"; # SW2 +#LOCATE COMP "sw[2]" SITE "D7"; # SW3 +#LOCATE COMP "sw[3]" SITE "E7"; # SW4 +#IOBUF PORT "sw[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sw[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI OLED DISPLAY SSD1331 (Color) or SSD1306 (B/W) "blinkey", "usb" sheet +#LOCATE COMP "oled_clk" SITE "P4"; +#LOCATE COMP "oled_mosi" SITE "P3"; +#LOCATE COMP "oled_dc" SITE "P1"; +#LOCATE COMP "oled_resn" SITE "P2"; +#LOCATE COMP "oled_csn" SITE "N2"; +#IOBUF PORT "oled_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_dc" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_resn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "oled_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SPI Flash chip "flash" sheet +LOCATE COMP "flash_csn" SITE "R2"; +LOCATE COMP "flash_clk" SITE "U3"; +LOCATE COMP "flash_mosi" SITE "W2"; +LOCATE COMP "flash_miso" SITE "V2"; +LOCATE COMP "flash_holdn" SITE "W1"; +LOCATE COMP "flash_wpn" SITE "Y2"; +#LOCATE COMP "flash_csspin" SITE "AJ3"; +#LOCATE COMP "flash_initn" SITE "AG4"; +#LOCATE COMP "flash_done" SITE "AJ4"; +#LOCATE COMP "flash_programn" SITE "AH4"; +#LOCATE COMP "flash_cfg_select[0]" SITE "AM4"; +#LOCATE COMP "flash_cfg_select[1]" SITE "AL4"; +#LOCATE COMP "flash_cfg_select[2]" SITE "AK4"; +IOBUF PORT "flash_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_clk" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_holdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "flash_wpn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_csspin" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_initn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "flash_cfg_select[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; + +## SD card "sdcard", "usb" sheet +#LOCATE COMP "sd_clk" SITE "H2"; # sd_clk WiFi_GPIO14 +#LOCATE COMP "sd_cmd" SITE "J1"; # sd_cmd_di (MOSI) WiFi GPIO15 +#LOCATE COMP "sd_d[0]" SITE "J3"; # sd_dat0_do (MISO) WiFi GPIO2 +#LOCATE COMP "sd_d[1]" SITE "H1"; # sd_dat1_irq WiFi GPIO4 +#LOCATE COMP "sd_d[2]" SITE "K1"; # sd_dat2 WiFi_GPIO12 +#LOCATE COMP "sd_d[3]" SITE "K2"; # sd_dat3_csn WiFi_GPIO13 +#LOCATE COMP "sd_wp" SITE "P5"; # not connected +#LOCATE COMP "sd_cdn" SITE "N5"; # not connected +#IOBUF PORT "sd_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cmd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; # WiFi GPIO12 pulldown bootstrapping requirement +#IOBUF PORT "sd_d[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_wp" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "sd_cdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## ADC SPI (MAX11123) "analog", "ram" sheet +#LOCATE COMP "adc_csn" SITE "R17"; +#LOCATE COMP "adc_mosi" SITE "R16"; +#LOCATE COMP "adc_miso" SITE "U16"; +#LOCATE COMP "adc_sclk" SITE "P17"; +#IOBUF PORT "adc_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "adc_sclk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## Audio 4-bit DAC "analog", "gpio" sheet +# 4-bit mode can drive down to 75 ohm load impedance. +# Lower impedance leads to IO overload, +# FPGA will stop working and need reboot. +# For standard 17 ohm earphones on PCB v1.7: +# use bits 2,3 as input (High-Z) and drive only bits 0,1. +# PCB v2.1.2 can use full 4 bits and 16mA drive for 17 ohm earphones. +#LOCATE COMP "audio_l[3]" SITE "B3"; # JACK TIP (left audio) +#LOCATE COMP "audio_l[2]" SITE "C3"; +#LOCATE COMP "audio_l[1]" SITE "D3"; +#LOCATE COMP "audio_l[0]" SITE "E4"; +#LOCATE COMP "audio_r[3]" SITE "C5"; # JACK RING1 (right audio) +#LOCATE COMP "audio_r[2]" SITE "D5"; +#LOCATE COMP "audio_r[1]" SITE "B5"; +#LOCATE COMP "audio_r[0]" SITE "A3"; +#LOCATE COMP "audio_v[3]" SITE "E5"; # JACK RING2 (video or digital audio) +#LOCATE COMP "audio_v[2]" SITE "F5"; +#LOCATE COMP "audio_v[1]" SITE "F2"; +#LOCATE COMP "audio_v[0]" SITE "H5"; +#IOBUF PORT "audio_l[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_l[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_r[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "audio_v[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## WiFi ESP-32 "wifi", "usb", "flash" sheet +# other pins are shared with GP/GN, SD card and JTAG +#LOCATE COMP "wifi_en" SITE "F1"; # enable/reset WiFi +#LOCATE COMP "wifi_rxd" SITE "K3"; # FPGA transmits to WiFi +#LOCATE COMP "wifi_txd" SITE "K4"; # FPGA receives from WiFi +#LOCATE COMP "wifi_gpio0" SITE "L2"; +#LOCATE COMP "wifi_gpio5" SITE "N4"; # WIFI LED +#LOCATE COMP "wifi_gpio16" SITE "L1"; # Serial1 RX +#LOCATE COMP "wifi_gpio17" SITE "N3"; # Serial1 TX +# LOCATE COMP "prog_done" SITE "Y3"; # not GPIO, always active +#IOBUF PORT "wifi_en" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio0" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio16" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "wifi_gpio17" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +# IOBUF PORT "prog_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PCB antenna 433 MHz (may be also used for FM) "usb" sheet +#LOCATE COMP "ant_433mhz" SITE "G1"; +#IOBUF PORT "ant_433mhz" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +## Second USB port "US2" going directly into FPGA "usb", "ram" sheet +#LOCATE COMP "usb_fpga_dp" SITE "E16"; # single ended or differential input only +#LOCATE COMP "usb_fpga_dn" SITE "F16"; +#IOBUF PORT "usb_fpga_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#LOCATE COMP "usb_fpga_bd_dp" SITE "D15"; # differential bidirectional +#LOCATE COMP "usb_fpga_bd_dn" SITE "E15"; +#IOBUF PORT "usb_fpga_bd_dp" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#IOBUF PORT "usb_fpga_bd_dn" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4; +#LOCATE COMP "usb_fpga_pu_dp" SITE "B12"; # pull up/down control +#LOCATE COMP "usb_fpga_pu_dn" SITE "C12"; +#IOBUF PORT "usb_fpga_pu_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; +#IOBUF PORT "usb_fpga_pu_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16; + +## JTAG ESP-32 "usb" sheet +# connected to FT231X and ESP-32 +# commented out because those are dedicated pins, not directly useable as GPIO +# but could be used by some vendor-specific JTAG bridging (boundary scan) module +#LOCATE COMP "jtag_tdi" SITE "R5"; # FTDI_nRI FPGA receives +#LOCATE COMP "jtag_tdo" SITE "V4"; # FTDI_nCTS FPGA transmits +#LOCATE COMP "jtag_tck" SITE "T5"; # FTDI_nDSR FPGA receives +#LOCATE COMP "jtag_tms" SITE "U5"; # FTDI_nDCD FPGA receives +#IOBUF PORT "jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SDRAM "ram" sheet +LOCATE COMP "sdram_clk" SITE "F19"; +LOCATE COMP "sdram_cke" SITE "F20"; +LOCATE COMP "sdram_csn" SITE "P20"; +LOCATE COMP "sdram_wen" SITE "T20"; +LOCATE COMP "sdram_rasn" SITE "R20"; +LOCATE COMP "sdram_casn" SITE "T19"; +LOCATE COMP "sdram_a[0]" SITE "M20"; +LOCATE COMP "sdram_a[1]" SITE "M19"; +LOCATE COMP "sdram_a[2]" SITE "L20"; +LOCATE COMP "sdram_a[3]" SITE "L19"; +LOCATE COMP "sdram_a[4]" SITE "K20"; +LOCATE COMP "sdram_a[5]" SITE "K19"; +LOCATE COMP "sdram_a[6]" SITE "K18"; +LOCATE COMP "sdram_a[7]" SITE "J20"; +LOCATE COMP "sdram_a[8]" SITE "J19"; +LOCATE COMP "sdram_a[9]" SITE "H20"; +LOCATE COMP "sdram_a[10]" SITE "N19"; +LOCATE COMP "sdram_a[11]" SITE "G20"; +LOCATE COMP "sdram_a[12]" SITE "G19"; +LOCATE COMP "sdram_ba[0]" SITE "P19"; +LOCATE COMP "sdram_ba[1]" SITE "N20"; +LOCATE COMP "sdram_dqm[0]" SITE "U19"; +LOCATE COMP "sdram_dqm[1]" SITE "E20"; +LOCATE COMP "sdram_d[0]" SITE "J16"; +LOCATE COMP "sdram_d[1]" SITE "L18"; +LOCATE COMP "sdram_d[2]" SITE "M18"; +LOCATE COMP "sdram_d[3]" SITE "N18"; +LOCATE COMP "sdram_d[4]" SITE "P18"; +LOCATE COMP "sdram_d[5]" SITE "T18"; +LOCATE COMP "sdram_d[6]" SITE "T17"; +LOCATE COMP "sdram_d[7]" SITE "U20"; +LOCATE COMP "sdram_d[8]" SITE "E19"; +LOCATE COMP "sdram_d[9]" SITE "D20"; +LOCATE COMP "sdram_d[10]" SITE "D19"; +LOCATE COMP "sdram_d[11]" SITE "C20"; +LOCATE COMP "sdram_d[12]" SITE "E18"; +LOCATE COMP "sdram_d[13]" SITE "F18"; +LOCATE COMP "sdram_d[14]" SITE "J18"; +LOCATE COMP "sdram_d[15]" SITE "J17"; +IOBUF PORT "sdram_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_cke" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_wen" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_rasn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_casn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_a[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_ba[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_dqm[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[13]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[14]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "sdram_d[15]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; + +# GPDI differential interface (Video) "gpdi" sheet +#LOCATE COMP "gpdi_dp[0]" SITE "A16"; # Blue + +#LOCATE COMP "gpdi_dn[0]" SITE "B16"; # Blue - +#LOCATE COMP "gpdi_dp[1]" SITE "A14"; # Green + +#LOCATE COMP "gpdi_dn[1]" SITE "C14"; # Green - +#LOCATE COMP "gpdi_dp[2]" SITE "A12"; # Red + +#LOCATE COMP "gpdi_dn[2]" SITE "A13"; # Red - +#LOCATE COMP "gpdi_dp[3]" SITE "A17"; # Clock + +#LOCATE COMP "gpdi_dn[3]" SITE "B18"; # Clock - +#LOCATE COMP "gpdi_ethp" SITE "A19"; # Ethernet + +#LOCATE COMP "gpdi_ethn" SITE "B20"; # Ethernet - +#LOCATE COMP "gpdi_cec" SITE "A18"; +#LOCATE COMP "gpdi_sda" SITE "B19"; # I2C shared with RTC +#LOCATE COMP "gpdi_scl" SITE "E12"; # I2C shared with RTC C12->E12 +#IOBUF PORT "gpdi_dp[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[0]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[1]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[2]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dp[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_dn[3]" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethp" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_ethn" IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_cec" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_sda" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +#IOBUF PORT "gpdi_scl" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +# GPIO (default single-ended) "gpio", "ram", "gpdi" sheet +# Pins enumerated gp[0-27], gn[0-27]. +# With differential mode enabled on Lattice, +# gp[] (+) are used, gn[] (-) are ignored from design +# as they handle inverted signal by default. +# To enable differential, rename LVCMOS33->LVCMOS33D +LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0 +LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0 +LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1 +LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1 +LOCATE COMP "gp[2]" SITE "A9"; # J1_9+ GP2 +LOCATE COMP "gn[2]" SITE "B10"; # J1_9- GN2 +LOCATE COMP "gp[3]" SITE "B9"; # J1_11+ GP3 +LOCATE COMP "gn[3]" SITE "C10"; # J1_11- GN3 +LOCATE COMP "gp[4]" SITE "A7"; # J1_13+ GP4 +LOCATE COMP "gn[4]" SITE "A8"; # J1_13- GN4 +LOCATE COMP "gp[5]" SITE "C8"; # J1_15+ GP5 +LOCATE COMP "gn[5]" SITE "B8"; # J1_15- GN5 +LOCATE COMP "gp[6]" SITE "C6"; # J1_17+ GP6 +LOCATE COMP "gn[6]" SITE "C7"; # J1_17- GN6 +IOBUF PORT "gp[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[7]" SITE "A6"; # J1_23+ GP7 +LOCATE COMP "gn[7]" SITE "B6"; # J1_23- GN7 +LOCATE COMP "gp[8]" SITE "A4"; # J1_25+ GP8 +LOCATE COMP "gn[8]" SITE "A5"; # J1_25- GN8 +LOCATE COMP "gp[9]" SITE "A2"; # J1_27+ GP9 +LOCATE COMP "gn[9]" SITE "B1"; # J1_27- GN9 +LOCATE COMP "gp[10]" SITE "C4"; # J1_29+ GP10 WIFI_GPIO27 +LOCATE COMP "gn[10]" SITE "B4"; # J1_29- GN10 +LOCATE COMP "gp[11]" SITE "F4"; # J1_31+ GP11 WIFI_GPIO25 +LOCATE COMP "gn[11]" SITE "E3"; # J1_31- GN11 WIFI_GPIO26 +LOCATE COMP "gp[12]" SITE "G3"; # J1_33+ GP12 WIFI_GPIO32 +LOCATE COMP "gn[12]" SITE "F3"; # J1_33- GN12 WIFI_GPIO33 +LOCATE COMP "gp[13]" SITE "H4"; # J1_35+ GP13 WIFI_GPIO34 +LOCATE COMP "gn[13]" SITE "G5"; # J1_35- GN13 WIFI_GPIO35 +IOBUF PORT "gp[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[14]" SITE "U18"; # J2_5+ GP14 +LOCATE COMP "gn[14]" SITE "U17"; # J2_5- GN14 +LOCATE COMP "gp[15]" SITE "N17"; # J2_7+ GP15 +LOCATE COMP "gn[15]" SITE "P16"; # J2_7- GN15 +LOCATE COMP "gp[16]" SITE "N16"; # J2_9+ GP16 +LOCATE COMP "gn[16]" SITE "M17"; # J2_9- GN16 +LOCATE COMP "gp[17]" SITE "L16"; # J2_11+ GP17 +LOCATE COMP "gn[17]" SITE "L17"; # J2_11- GN17 +LOCATE COMP "gp[18]" SITE "H18"; # J2_13+ GP18 +LOCATE COMP "gn[18]" SITE "H17"; # J2_13- GN18 +LOCATE COMP "gp[19]" SITE "F17"; # J2_15+ GP19 +LOCATE COMP "gn[19]" SITE "G18"; # J2_15- GN19 +LOCATE COMP "gp[20]" SITE "D18"; # J2_17+ GP20 +LOCATE COMP "gn[20]" SITE "E17"; # J2_17- GN20 +IOBUF PORT "gp[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +LOCATE COMP "gp[21]" SITE "C18"; # J2_23+ GP21 +LOCATE COMP "gn[21]" SITE "D17"; # J2_23- GN21 +LOCATE COMP "gp[22]" SITE "B15"; # J2_25+ GP22 D15->B15 +LOCATE COMP "gn[22]" SITE "C15"; # J2_25- GN22 E15->C15 +LOCATE COMP "gp[23]" SITE "B17"; # J2_27+ GP23 +LOCATE COMP "gn[23]" SITE "C17"; # J2_27- GN23 +LOCATE COMP "gp[24]" SITE "C16"; # J2_29+ GP24 +LOCATE COMP "gn[24]" SITE "D16"; # J2_29- GN24 +LOCATE COMP "gp[25]" SITE "D14"; # J2_31+ GP25 B15->D14 +LOCATE COMP "gn[25]" SITE "E14"; # J2_31- GN25 C15->E14 +LOCATE COMP "gp[26]" SITE "B13"; # J2_33+ GP26 +LOCATE COMP "gn[26]" SITE "C13"; # J2_33- GN26 +LOCATE COMP "gp[27]" SITE "D13"; # J2_35+ GP27 +LOCATE COMP "gn[27]" SITE "E13"; # J2_35- GN27 +IOBUF PORT "gp[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gp[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; +IOBUF PORT "gn[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## PROGRAMN (reload bitstream from FLASH, exit from bootloader) +# PCB v2.0.5 and higher +LOCATE COMP "user_programn" SITE "M4"; +IOBUF PORT "user_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4; + +## SHUTDOWN "power", "ram" sheet (connected from PCB v1.7.5) +# on PCB v1.7 shutdown is not connected to FPGA +LOCATE COMP "shutdown" SITE "G16"; # FPGA receives +IOBUF PORT "shutdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4; diff --git a/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/rules.json b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/rules.json new file mode 100644 index 000000000..6d7de123a --- /dev/null +++ b/app/resources/boards/ColorLight-5A-75E-V71_(USB-Blaster)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P6"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/i5_extboard_v1.2_pinout.png b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/i5_extboard_v1.2_pinout.png new file mode 100644 index 000000000..bd30c9063 Binary files /dev/null and b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/i5_extboard_v1.2_pinout.png differ diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/info.json b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/info.json new file mode 100644 index 000000000..2c67e7859 --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-i5-v7.0_(FT2232H)","datasheet":"https://github.com/wuxx/Colorlight-FPGA-Projects","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/pinout.json b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/pinout.json new file mode 100644 index 000000000..c442d408d --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/pinout.json @@ -0,0 +1,153 @@ +[{"type":"input","name":"CLK","value":"P3"}, +{"type":"output","name":"LED","value":"U16","pullmode":"UP"}, +{"type":"input","name":"SPI_CS","value":"R2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MISO","value":"V2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MOSI","value":"W2","pullmode":"NONE"}, +{"type":"input","name":"SPI_SCK","value":"U3","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA0","value":"B11","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA1","value":"C8","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P2_J20","value":"J20","pullmode":"NONE"}, +{"type":"inout","name":"P2_G20","value":"G20","pullmode":"NONE"}, +{"type":"inout","name":"P2_L18","value":"L18","pullmode":"NONE"}, +{"type":"inout","name":"P2_K20","value":"K20","pullmode":"NONE"}, +{"type":"inout","name":"P2_M18","value":"M18","pullmode":"NONE"}, +{"type":"inout","name":"P2_L20","value":"L20","pullmode":"NONE"}, +{"type":"inout","name":"P2_N17","value":"N17","pullmode":"NONE"}, +{"type":"inout","name":"P2_N18","value":"N18","pullmode":"NONE"}, +{"type":"inout","name":"P2_U17","value":"U17","pullmode":"NONE"}, +{"type":"inout","name":"P2_P18","value":"P18","pullmode":"NONE"}, +{"type":"inout","name":"P2_T17","value":"T17","pullmode":"NONE"}, +{"type":"inout","name":"P2_U18","value":"U18","pullmode":"NONE"}, +{"type":"inout","name":"P2_P17","value":"P17","pullmode":"NONE"}, +{"type":"inout","name":"P2_M17","value":"M17","pullmode":"NONE"}, +{"type":"inout","name":"P2_R18","value":"R18","pullmode":"NONE"}, +{"type":"inout","name":"P2_R17","value":"R17","pullmode":"NONE"}, +{"type":"inout","name":"P2_C18","value":"C18","pullmode":"NONE"}, +{"type":"inout","name":"P2_T18","value":"T18","pullmode":"NONE"}, +{"type":"inout","name":"P2_U16","value":"U16","pullmode":"NONE"}, +{"type":"inout","name":"P2_K18","value":"K18","pullmode":"NONE"}, +{"type":"inout","name":"P3_D1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"P3_E2","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"P3_C1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"P3_D2","value":"D2","pullmode":"NONE"}, +{"type":"inout","name":"P3_C2","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"P3_B1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"P3_E3","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"P3_A3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"P3_B4","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"P3_C3","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"P3_D3","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"P3_C4","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"P3_C17","value":"C17","pullmode":"NONE"}, +{"type":"inout","name":"P3_A18","value":"A18","pullmode":"NONE"}, +{"type":"inout","name":"P3_B18","value":"B18","pullmode":"NONE"}, +{"type":"inout","name":"P3_A19","value":"A19","pullmode":"NONE"}, +{"type":"inout","name":"P3_B20","value":"B20","pullmode":"NONE"}, +{"type":"inout","name":"P3_B19","value":"B19","pullmode":"NONE"}, +{"type":"inout","name":"P3_F20","value":"F20","pullmode":"NONE"}, +{"type":"inout","name":"P3_D20","value":"D20","pullmode":"NONE"}, +{"type":"inout","name":"P4_E1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"P4_F2","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"P4_E4","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"P4_F1","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"P4_F3","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"P4_G3","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"P4_H3","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"P4_H4","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"P4_H5","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"P4_J4","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"P4_J5","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"P4_K3","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"P4_A2","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"P4_K5","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"P4_K4","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"P4_B3","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"P4_B2","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"P4_E19","value":"E19","pullmode":"NONE"}, +{"type":"inout","name":"P5_J17","value":"J17","pullmode":"NONE"}, +{"type":"inout","name":"P5_H18","value":"H18","pullmode":"NONE"}, +{"type":"inout","name":"P5_H17","value":"H17","pullmode":"NONE"}, +{"type":"inout","name":"P5_G18","value":"G18","pullmode":"NONE"}, +{"type":"inout","name":"P5_H16","value":"H16","pullmode":"NONE"}, +{"type":"inout","name":"P5_F18","value":"F18","pullmode":"NONE"}, +{"type":"inout","name":"P5_G16","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E18","value":"E18","pullmode":"NONE"}, +{"type":"inout","name":"P5_F17","value":"F17","pullmode":"NONE"}, +{"type":"inout","name":"P5_F16","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E16","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E17","value":"E17","pullmode":"NONE"}, +{"type":"inout","name":"P5_D18","value":"D18","pullmode":"NONE"}, +{"type":"inout","name":"P5_D17","value":"D17","pullmode":"NONE"}, +{"type":"inout","name":"P5_G5","value":"G5","pullmode":"NONE"}, +{"type":"inout","name":"P5_D16","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"P5_F5","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"P5_E6","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"P5_E5","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"P5_F4","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"P6_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"P6_T1","value":"T1","pullmode":"NONE"}, +{"type":"inout","name":"P6_U1","value":"U1","pullmode":"NONE"}, +{"type":"inout","name":"P6_Y2","value":"Y2","pullmode":"NONE"}, +{"type":"inout","name":"P6_W1","value":"W1","pullmode":"NONE"}, +{"type":"inout","name":"P6_V1","value":"V1","pullmode":"NONE"}, +{"type":"inout","name":"P6_M1","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"P6_N2","value":"N2","pullmode":"NONE"}, +{"type":"inout","name":"P6_N3","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"P6_T2","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"P6_M3","value":"M3","pullmode":"NONE"}, +{"type":"inout","name":"P6_T3","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"P6_R3","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"P6_N4","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"P6_M4","value":"M4","pullmode":"NONE"}, +{"type":"inout","name":"P6_L4","value":"L4","pullmode":"NONE"}, +{"type":"inout","name":"P6_L5","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"P6_P16","value":"P16","pullmode":"NONE"}, +{"type":"inout","name":"P6_J16","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"P6_J18","value":"J18","pullmode":"NONE"}] diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/pinout.png b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/pinout.png new file mode 100644 index 000000000..ba80d8989 Binary files /dev/null and b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/pinout.png differ diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/rules.json b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/rules.json new file mode 100644 index 000000000..387a311dc --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(FT2232H)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P3"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/i5_extboard_v1.2_pinout.png b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/i5_extboard_v1.2_pinout.png new file mode 100644 index 000000000..bd30c9063 Binary files /dev/null and b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/i5_extboard_v1.2_pinout.png differ diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/info.json b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/info.json new file mode 100644 index 000000000..28af2eac9 --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-i5-v7.0_(FT232H)","datasheet":"https://github.com/wuxx/Colorlight-FPGA-Projects","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/pinout.json b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/pinout.json new file mode 100644 index 000000000..c442d408d --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/pinout.json @@ -0,0 +1,153 @@ +[{"type":"input","name":"CLK","value":"P3"}, +{"type":"output","name":"LED","value":"U16","pullmode":"UP"}, +{"type":"input","name":"SPI_CS","value":"R2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MISO","value":"V2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MOSI","value":"W2","pullmode":"NONE"}, +{"type":"input","name":"SPI_SCK","value":"U3","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA0","value":"B11","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA1","value":"C8","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P2_J20","value":"J20","pullmode":"NONE"}, +{"type":"inout","name":"P2_G20","value":"G20","pullmode":"NONE"}, +{"type":"inout","name":"P2_L18","value":"L18","pullmode":"NONE"}, +{"type":"inout","name":"P2_K20","value":"K20","pullmode":"NONE"}, +{"type":"inout","name":"P2_M18","value":"M18","pullmode":"NONE"}, +{"type":"inout","name":"P2_L20","value":"L20","pullmode":"NONE"}, +{"type":"inout","name":"P2_N17","value":"N17","pullmode":"NONE"}, +{"type":"inout","name":"P2_N18","value":"N18","pullmode":"NONE"}, +{"type":"inout","name":"P2_U17","value":"U17","pullmode":"NONE"}, +{"type":"inout","name":"P2_P18","value":"P18","pullmode":"NONE"}, +{"type":"inout","name":"P2_T17","value":"T17","pullmode":"NONE"}, +{"type":"inout","name":"P2_U18","value":"U18","pullmode":"NONE"}, +{"type":"inout","name":"P2_P17","value":"P17","pullmode":"NONE"}, +{"type":"inout","name":"P2_M17","value":"M17","pullmode":"NONE"}, +{"type":"inout","name":"P2_R18","value":"R18","pullmode":"NONE"}, +{"type":"inout","name":"P2_R17","value":"R17","pullmode":"NONE"}, +{"type":"inout","name":"P2_C18","value":"C18","pullmode":"NONE"}, +{"type":"inout","name":"P2_T18","value":"T18","pullmode":"NONE"}, +{"type":"inout","name":"P2_U16","value":"U16","pullmode":"NONE"}, +{"type":"inout","name":"P2_K18","value":"K18","pullmode":"NONE"}, +{"type":"inout","name":"P3_D1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"P3_E2","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"P3_C1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"P3_D2","value":"D2","pullmode":"NONE"}, +{"type":"inout","name":"P3_C2","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"P3_B1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"P3_E3","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"P3_A3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"P3_B4","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"P3_C3","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"P3_D3","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"P3_C4","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"P3_C17","value":"C17","pullmode":"NONE"}, +{"type":"inout","name":"P3_A18","value":"A18","pullmode":"NONE"}, +{"type":"inout","name":"P3_B18","value":"B18","pullmode":"NONE"}, +{"type":"inout","name":"P3_A19","value":"A19","pullmode":"NONE"}, +{"type":"inout","name":"P3_B20","value":"B20","pullmode":"NONE"}, +{"type":"inout","name":"P3_B19","value":"B19","pullmode":"NONE"}, +{"type":"inout","name":"P3_F20","value":"F20","pullmode":"NONE"}, +{"type":"inout","name":"P3_D20","value":"D20","pullmode":"NONE"}, +{"type":"inout","name":"P4_E1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"P4_F2","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"P4_E4","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"P4_F1","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"P4_F3","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"P4_G3","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"P4_H3","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"P4_H4","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"P4_H5","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"P4_J4","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"P4_J5","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"P4_K3","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"P4_A2","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"P4_K5","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"P4_K4","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"P4_B3","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"P4_B2","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"P4_E19","value":"E19","pullmode":"NONE"}, +{"type":"inout","name":"P5_J17","value":"J17","pullmode":"NONE"}, +{"type":"inout","name":"P5_H18","value":"H18","pullmode":"NONE"}, +{"type":"inout","name":"P5_H17","value":"H17","pullmode":"NONE"}, +{"type":"inout","name":"P5_G18","value":"G18","pullmode":"NONE"}, +{"type":"inout","name":"P5_H16","value":"H16","pullmode":"NONE"}, +{"type":"inout","name":"P5_F18","value":"F18","pullmode":"NONE"}, +{"type":"inout","name":"P5_G16","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E18","value":"E18","pullmode":"NONE"}, +{"type":"inout","name":"P5_F17","value":"F17","pullmode":"NONE"}, +{"type":"inout","name":"P5_F16","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E16","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E17","value":"E17","pullmode":"NONE"}, +{"type":"inout","name":"P5_D18","value":"D18","pullmode":"NONE"}, +{"type":"inout","name":"P5_D17","value":"D17","pullmode":"NONE"}, +{"type":"inout","name":"P5_G5","value":"G5","pullmode":"NONE"}, +{"type":"inout","name":"P5_D16","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"P5_F5","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"P5_E6","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"P5_E5","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"P5_F4","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"P6_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"P6_T1","value":"T1","pullmode":"NONE"}, +{"type":"inout","name":"P6_U1","value":"U1","pullmode":"NONE"}, +{"type":"inout","name":"P6_Y2","value":"Y2","pullmode":"NONE"}, +{"type":"inout","name":"P6_W1","value":"W1","pullmode":"NONE"}, +{"type":"inout","name":"P6_V1","value":"V1","pullmode":"NONE"}, +{"type":"inout","name":"P6_M1","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"P6_N2","value":"N2","pullmode":"NONE"}, +{"type":"inout","name":"P6_N3","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"P6_T2","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"P6_M3","value":"M3","pullmode":"NONE"}, +{"type":"inout","name":"P6_T3","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"P6_R3","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"P6_N4","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"P6_M4","value":"M4","pullmode":"NONE"}, +{"type":"inout","name":"P6_L4","value":"L4","pullmode":"NONE"}, +{"type":"inout","name":"P6_L5","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"P6_P16","value":"P16","pullmode":"NONE"}, +{"type":"inout","name":"P6_J16","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"P6_J18","value":"J18","pullmode":"NONE"}] diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/pinout.png b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/pinout.png new file mode 100644 index 000000000..ba80d8989 Binary files /dev/null and b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/pinout.png differ diff --git a/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/rules.json b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/rules.json new file mode 100644 index 000000000..387a311dc --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(FT232H)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P3"}]} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/i5_extboard_v1.2_pinout.png b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/i5_extboard_v1.2_pinout.png new file mode 100644 index 000000000..bd30c9063 Binary files /dev/null and b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/i5_extboard_v1.2_pinout.png differ diff --git a/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/info.json b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/info.json new file mode 100644 index 000000000..7613a1565 --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/info.json @@ -0,0 +1 @@ +{"label":"ColorLight-i5-v7.0_(USB-Blaster)","datasheet":"https://github.com/wuxx/Colorlight-FPGA-Projects","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/pinout.json b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/pinout.json new file mode 100644 index 000000000..c442d408d --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/pinout.json @@ -0,0 +1,153 @@ +[{"type":"input","name":"CLK","value":"P3"}, +{"type":"output","name":"LED","value":"U16","pullmode":"UP"}, +{"type":"input","name":"SPI_CS","value":"R2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MISO","value":"V2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MOSI","value":"W2","pullmode":"NONE"}, +{"type":"input","name":"SPI_SCK","value":"U3","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA0","value":"B11","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA1","value":"C8","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P2_J20","value":"J20","pullmode":"NONE"}, +{"type":"inout","name":"P2_G20","value":"G20","pullmode":"NONE"}, +{"type":"inout","name":"P2_L18","value":"L18","pullmode":"NONE"}, +{"type":"inout","name":"P2_K20","value":"K20","pullmode":"NONE"}, +{"type":"inout","name":"P2_M18","value":"M18","pullmode":"NONE"}, +{"type":"inout","name":"P2_L20","value":"L20","pullmode":"NONE"}, +{"type":"inout","name":"P2_N17","value":"N17","pullmode":"NONE"}, +{"type":"inout","name":"P2_N18","value":"N18","pullmode":"NONE"}, +{"type":"inout","name":"P2_U17","value":"U17","pullmode":"NONE"}, +{"type":"inout","name":"P2_P18","value":"P18","pullmode":"NONE"}, +{"type":"inout","name":"P2_T17","value":"T17","pullmode":"NONE"}, +{"type":"inout","name":"P2_U18","value":"U18","pullmode":"NONE"}, +{"type":"inout","name":"P2_P17","value":"P17","pullmode":"NONE"}, +{"type":"inout","name":"P2_M17","value":"M17","pullmode":"NONE"}, +{"type":"inout","name":"P2_R18","value":"R18","pullmode":"NONE"}, +{"type":"inout","name":"P2_R17","value":"R17","pullmode":"NONE"}, +{"type":"inout","name":"P2_C18","value":"C18","pullmode":"NONE"}, +{"type":"inout","name":"P2_T18","value":"T18","pullmode":"NONE"}, +{"type":"inout","name":"P2_U16","value":"U16","pullmode":"NONE"}, +{"type":"inout","name":"P2_K18","value":"K18","pullmode":"NONE"}, +{"type":"inout","name":"P3_D1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"P3_E2","value":"E2","pullmode":"NONE"}, +{"type":"inout","name":"P3_C1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"P3_D2","value":"D2","pullmode":"NONE"}, +{"type":"inout","name":"P3_C2","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"P3_B1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"P3_E3","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"P3_A3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"P3_B4","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"P3_C3","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"P3_D3","value":"D3","pullmode":"NONE"}, +{"type":"inout","name":"P3_C4","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"P3_C17","value":"C17","pullmode":"NONE"}, +{"type":"inout","name":"P3_A18","value":"A18","pullmode":"NONE"}, +{"type":"inout","name":"P3_B18","value":"B18","pullmode":"NONE"}, +{"type":"inout","name":"P3_A19","value":"A19","pullmode":"NONE"}, +{"type":"inout","name":"P3_B20","value":"B20","pullmode":"NONE"}, +{"type":"inout","name":"P3_B19","value":"B19","pullmode":"NONE"}, +{"type":"inout","name":"P3_F20","value":"F20","pullmode":"NONE"}, +{"type":"inout","name":"P3_D20","value":"D20","pullmode":"NONE"}, +{"type":"inout","name":"P4_E1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"P4_F2","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"P4_E4","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"P4_F1","value":"F1","pullmode":"NONE"}, +{"type":"inout","name":"P4_F3","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"P4_G3","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"P4_H3","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"P4_H4","value":"H4","pullmode":"NONE"}, +{"type":"inout","name":"P4_H5","value":"H5","pullmode":"NONE"}, +{"type":"inout","name":"P4_J4","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"P4_J5","value":"J5","pullmode":"NONE"}, +{"type":"inout","name":"P4_K3","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"P4_A2","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"P4_K5","value":"K5","pullmode":"NONE"}, +{"type":"inout","name":"P4_K4","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"P4_B3","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"P4_B2","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"P4_E19","value":"E19","pullmode":"NONE"}, +{"type":"inout","name":"P5_J17","value":"J17","pullmode":"NONE"}, +{"type":"inout","name":"P5_H18","value":"H18","pullmode":"NONE"}, +{"type":"inout","name":"P5_H17","value":"H17","pullmode":"NONE"}, +{"type":"inout","name":"P5_G18","value":"G18","pullmode":"NONE"}, +{"type":"inout","name":"P5_H16","value":"H16","pullmode":"NONE"}, +{"type":"inout","name":"P5_F18","value":"F18","pullmode":"NONE"}, +{"type":"inout","name":"P5_G16","value":"G16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E18","value":"E18","pullmode":"NONE"}, +{"type":"inout","name":"P5_F17","value":"F17","pullmode":"NONE"}, +{"type":"inout","name":"P5_F16","value":"F16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E16","value":"E16","pullmode":"NONE"}, +{"type":"inout","name":"P5_E17","value":"E17","pullmode":"NONE"}, +{"type":"inout","name":"P5_D18","value":"D18","pullmode":"NONE"}, +{"type":"inout","name":"P5_D17","value":"D17","pullmode":"NONE"}, +{"type":"inout","name":"P5_G5","value":"G5","pullmode":"NONE"}, +{"type":"inout","name":"P5_D16","value":"D16","pullmode":"NONE"}, +{"type":"inout","name":"P5_F5","value":"F5","pullmode":"NONE"}, +{"type":"inout","name":"P5_E6","value":"E6","pullmode":"NONE"}, +{"type":"inout","name":"P5_E5","value":"E5","pullmode":"NONE"}, +{"type":"inout","name":"P5_F4","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"P6_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"P6_T1","value":"T1","pullmode":"NONE"}, +{"type":"inout","name":"P6_U1","value":"U1","pullmode":"NONE"}, +{"type":"inout","name":"P6_Y2","value":"Y2","pullmode":"NONE"}, +{"type":"inout","name":"P6_W1","value":"W1","pullmode":"NONE"}, +{"type":"inout","name":"P6_V1","value":"V1","pullmode":"NONE"}, +{"type":"inout","name":"P6_M1","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"P6_N2","value":"N2","pullmode":"NONE"}, +{"type":"inout","name":"P6_N3","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"P6_T2","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"P6_M3","value":"M3","pullmode":"NONE"}, +{"type":"inout","name":"P6_T3","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"P6_R3","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"P6_N4","value":"N4","pullmode":"NONE"}, +{"type":"inout","name":"P6_M4","value":"M4","pullmode":"NONE"}, +{"type":"inout","name":"P6_L4","value":"L4","pullmode":"NONE"}, +{"type":"inout","name":"P6_L5","value":"L5","pullmode":"NONE"}, +{"type":"inout","name":"P6_P16","value":"P16","pullmode":"NONE"}, +{"type":"inout","name":"P6_J16","value":"J16","pullmode":"NONE"}, +{"type":"inout","name":"P6_J18","value":"J18","pullmode":"NONE"}] diff --git a/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/pinout.png b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/pinout.png new file mode 100644 index 000000000..ba80d8989 Binary files /dev/null and b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/pinout.png differ diff --git a/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/rules.json b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/rules.json new file mode 100644 index 000000000..387a311dc --- /dev/null +++ b/app/resources/boards/ColorLight-i5-v7.0_(USB-Blaster)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P3"}]} \ No newline at end of file diff --git a/app/resources/boards/iCESugar-Pro_(FT2232H)/iCESugar-pro-pinmap.png b/app/resources/boards/iCESugar-Pro_(FT2232H)/iCESugar-pro-pinmap.png new file mode 100644 index 000000000..3dd06a91c Binary files /dev/null and b/app/resources/boards/iCESugar-Pro_(FT2232H)/iCESugar-pro-pinmap.png differ diff --git a/app/resources/boards/iCESugar-Pro_(FT2232H)/info.json b/app/resources/boards/iCESugar-Pro_(FT2232H)/info.json new file mode 100644 index 000000000..89a414a23 --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(FT2232H)/info.json @@ -0,0 +1 @@ +{"label":"iCESugar-pro_(FT2232H)","datasheet":"https://github.com/wuxx/icesugar-pro","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/iCESugar-Pro_(FT2232H)/pinout.json b/app/resources/boards/iCESugar-Pro_(FT2232H)/pinout.json new file mode 100644 index 000000000..5f94afefd --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(FT2232H)/pinout.json @@ -0,0 +1,153 @@ +[{"type":"input","name":"CLK","value":"P3"}, +{"type":"output","name":"LED","value":"U16","pullmode":"UP"}, +{"type":"input","name":"SPI_CS","value":"R2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MISO","value":"V2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MOSI","value":"W2","pullmode":"NONE"}, +{"type":"input","name":"SPI_SCK","value":"U3","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA0","value":"B11","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA1","value":"C8","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P2_E1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"P2_F2","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"P2_C2","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"P2_D1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"P2_B2","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"P2_C1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"P2_A2","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"P2_B1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"P2_A3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"P2_B3","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"P2_A4","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"P2_B4","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"P2_A5","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"P2_B5","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"P2_A6","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"P2_B6","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"P2_A7","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"P2_B7","value":"B7","pullmode":"NONE"}, +{"type":"inout","name":"P2_A8","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"P2_B8","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"P3_T6","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"P3_P7","value":"P7","pullmode":"NONE"}, +{"type":"inout","name":"P3_R5","value":"R5","pullmode":"NONE"}, +{"type":"inout","name":"P3_R6","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"P3_R4","value":"R4","pullmode":"NONE"}, +{"type":"inout","name":"P3_T4","value":"T4","pullmode":"NONE"}, +{"type":"inout","name":"P3_R3","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"P3_T3","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"P3_R2","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"P3_T2","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"P3_P2","value":"P2","pullmode":"NONE"}, +{"type":"inout","name":"P3_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"P3_N3","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"P3_P1","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"P3_M2","value":"M2","pullmode":"NONE"}, +{"type":"inout","name":"P3_N1","value":"N1","pullmode":"NONE"}, +{"type":"inout","name":"P3_L2","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"P3_M1","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"P3_G2","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"P3_K1","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"P4_R7","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"P4_R8","value":"R8","pullmode":"NONE"}, +{"type":"inout","name":"P4_D5","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"P4_C4","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"P4_D4","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"P4_C3","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"P4_E4","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"P4_E3","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"P4_F4","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"P4_F3","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"P4_G4","value":"G4","pullmode":"NONE"}, +{"type":"inout","name":"P4_G3","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"P4_K4","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"P4_J4","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"P4_H3","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"P4_J3","value":"J3","pullmode":"NONE"}, +{"type":"inout","name":"P4_K3","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"P4_J2","value":"J2","pullmode":"NONE"}, +{"type":"inout","name":"P5_E14","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"P5_E13","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"P5_E12","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"P5_C13","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"P5_D13","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P5_C12","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"P5_D12","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"P5_C11","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"P5_D11","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"P5_C10","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"P5_D10","value":"D10","pullmode":"NONE"}, +{"type":"inout","name":"P5_C9","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"P5_D9","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"P5_C8","value":"C8","pullmode":"NONE"}, +{"type":"inout","name":"P5_D8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"P5_C7","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"P5_D7","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"P5_C6","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"P5_D6","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"P5_C5","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"P6_P11","value":"P11","pullmode":"NONE"}, +{"type":"inout","name":"P6_P12","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"P6_N12","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"P6_P13","value":"P13","pullmode":"NONE"}, +{"type":"inout","name":"P6_N13","value":"N13","pullmode":"NONE"}, +{"type":"inout","name":"P6_P14","value":"P14","pullmode":"NONE"}, +{"type":"inout","name":"P6_M12","value":"M12","pullmode":"NONE"}, +{"type":"inout","name":"P6_M13","value":"M13","pullmode":"NONE"}, +{"type":"inout","name":"P6_L14","value":"L14","pullmode":"NONE"}, +{"type":"inout","name":"P6_L13","value":"L13","pullmode":"NONE"}, +{"type":"inout","name":"P6_K14","value":"K14","pullmode":"NONE"}, +{"type":"inout","name":"P6_K13","value":"K13","pullmode":"NONE"}, +{"type":"inout","name":"P6_J14","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"P6_J13","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"P6_H14","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"P6_H13","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"P6_G14","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"P6_G13","value":"G13","pullmode":"NONE"}, +{"type":"inout","name":"P6_F14","value":"F14","pullmode":"NONE"}, +{"type":"inout","name":"P6_F13","value":"F13","pullmode":"NONE"}] diff --git a/app/resources/boards/iCESugar-Pro_(FT2232H)/pinout.png b/app/resources/boards/iCESugar-Pro_(FT2232H)/pinout.png new file mode 100644 index 000000000..ba80d8989 Binary files /dev/null and b/app/resources/boards/iCESugar-Pro_(FT2232H)/pinout.png differ diff --git a/app/resources/boards/iCESugar-Pro_(FT2232H)/rules.json b/app/resources/boards/iCESugar-Pro_(FT2232H)/rules.json new file mode 100644 index 000000000..387a311dc --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(FT2232H)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P3"}]} \ No newline at end of file diff --git a/app/resources/boards/iCESugar-Pro_(FT232H)/iCESugar-pro-pinmap.png b/app/resources/boards/iCESugar-Pro_(FT232H)/iCESugar-pro-pinmap.png new file mode 100644 index 000000000..3dd06a91c Binary files /dev/null and b/app/resources/boards/iCESugar-Pro_(FT232H)/iCESugar-pro-pinmap.png differ diff --git a/app/resources/boards/iCESugar-Pro_(FT232H)/info.json b/app/resources/boards/iCESugar-Pro_(FT232H)/info.json new file mode 100644 index 000000000..25b7a7072 --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(FT232H)/info.json @@ -0,0 +1 @@ +{"label":"iCESugar-pro_(FT232H)","datasheet":"https://github.com/wuxx/icesugar-pro","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/iCESugar-Pro_(FT232H)/pinout.json b/app/resources/boards/iCESugar-Pro_(FT232H)/pinout.json new file mode 100644 index 000000000..5f94afefd --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(FT232H)/pinout.json @@ -0,0 +1,153 @@ +[{"type":"input","name":"CLK","value":"P3"}, +{"type":"output","name":"LED","value":"U16","pullmode":"UP"}, +{"type":"input","name":"SPI_CS","value":"R2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MISO","value":"V2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MOSI","value":"W2","pullmode":"NONE"}, +{"type":"input","name":"SPI_SCK","value":"U3","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA0","value":"B11","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA1","value":"C8","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P2_E1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"P2_F2","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"P2_C2","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"P2_D1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"P2_B2","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"P2_C1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"P2_A2","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"P2_B1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"P2_A3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"P2_B3","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"P2_A4","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"P2_B4","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"P2_A5","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"P2_B5","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"P2_A6","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"P2_B6","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"P2_A7","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"P2_B7","value":"B7","pullmode":"NONE"}, +{"type":"inout","name":"P2_A8","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"P2_B8","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"P3_T6","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"P3_P7","value":"P7","pullmode":"NONE"}, +{"type":"inout","name":"P3_R5","value":"R5","pullmode":"NONE"}, +{"type":"inout","name":"P3_R6","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"P3_R4","value":"R4","pullmode":"NONE"}, +{"type":"inout","name":"P3_T4","value":"T4","pullmode":"NONE"}, +{"type":"inout","name":"P3_R3","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"P3_T3","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"P3_R2","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"P3_T2","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"P3_P2","value":"P2","pullmode":"NONE"}, +{"type":"inout","name":"P3_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"P3_N3","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"P3_P1","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"P3_M2","value":"M2","pullmode":"NONE"}, +{"type":"inout","name":"P3_N1","value":"N1","pullmode":"NONE"}, +{"type":"inout","name":"P3_L2","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"P3_M1","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"P3_G2","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"P3_K1","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"P4_R7","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"P4_R8","value":"R8","pullmode":"NONE"}, +{"type":"inout","name":"P4_D5","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"P4_C4","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"P4_D4","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"P4_C3","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"P4_E4","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"P4_E3","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"P4_F4","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"P4_F3","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"P4_G4","value":"G4","pullmode":"NONE"}, +{"type":"inout","name":"P4_G3","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"P4_K4","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"P4_J4","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"P4_H3","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"P4_J3","value":"J3","pullmode":"NONE"}, +{"type":"inout","name":"P4_K3","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"P4_J2","value":"J2","pullmode":"NONE"}, +{"type":"inout","name":"P5_E14","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"P5_E13","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"P5_E12","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"P5_C13","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"P5_D13","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P5_C12","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"P5_D12","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"P5_C11","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"P5_D11","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"P5_C10","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"P5_D10","value":"D10","pullmode":"NONE"}, +{"type":"inout","name":"P5_C9","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"P5_D9","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"P5_C8","value":"C8","pullmode":"NONE"}, +{"type":"inout","name":"P5_D8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"P5_C7","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"P5_D7","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"P5_C6","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"P5_D6","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"P5_C5","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"P6_P11","value":"P11","pullmode":"NONE"}, +{"type":"inout","name":"P6_P12","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"P6_N12","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"P6_P13","value":"P13","pullmode":"NONE"}, +{"type":"inout","name":"P6_N13","value":"N13","pullmode":"NONE"}, +{"type":"inout","name":"P6_P14","value":"P14","pullmode":"NONE"}, +{"type":"inout","name":"P6_M12","value":"M12","pullmode":"NONE"}, +{"type":"inout","name":"P6_M13","value":"M13","pullmode":"NONE"}, +{"type":"inout","name":"P6_L14","value":"L14","pullmode":"NONE"}, +{"type":"inout","name":"P6_L13","value":"L13","pullmode":"NONE"}, +{"type":"inout","name":"P6_K14","value":"K14","pullmode":"NONE"}, +{"type":"inout","name":"P6_K13","value":"K13","pullmode":"NONE"}, +{"type":"inout","name":"P6_J14","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"P6_J13","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"P6_H14","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"P6_H13","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"P6_G14","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"P6_G13","value":"G13","pullmode":"NONE"}, +{"type":"inout","name":"P6_F14","value":"F14","pullmode":"NONE"}, +{"type":"inout","name":"P6_F13","value":"F13","pullmode":"NONE"}] diff --git a/app/resources/boards/iCESugar-Pro_(FT232H)/pinout.png b/app/resources/boards/iCESugar-Pro_(FT232H)/pinout.png new file mode 100644 index 000000000..ba80d8989 Binary files /dev/null and b/app/resources/boards/iCESugar-Pro_(FT232H)/pinout.png differ diff --git a/app/resources/boards/iCESugar-Pro_(FT232H)/rules.json b/app/resources/boards/iCESugar-Pro_(FT232H)/rules.json new file mode 100644 index 000000000..387a311dc --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(FT232H)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P3"}]} \ No newline at end of file diff --git a/app/resources/boards/iCESugar-Pro_(USB-Blaster)/iCESugar-pro-pinmap.png b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/iCESugar-pro-pinmap.png new file mode 100644 index 000000000..3dd06a91c Binary files /dev/null and b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/iCESugar-pro-pinmap.png differ diff --git a/app/resources/boards/iCESugar-Pro_(USB-Blaster)/info.json b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/info.json new file mode 100644 index 000000000..2b0975583 --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/info.json @@ -0,0 +1 @@ +{"label":"iCESugar-Pro_(USB-Blaster)","datasheet":"https://github.com/wuxx/icesugar-pro","interface":"FTDI","arch":"ecp5","FPGAResources":{"ffs":5280,"luts":5280,"pios":39,"plbs":660,"brams":30}} \ No newline at end of file diff --git a/app/resources/boards/iCESugar-Pro_(USB-Blaster)/pinout.json b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/pinout.json new file mode 100644 index 000000000..5f94afefd --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/pinout.json @@ -0,0 +1,153 @@ +[{"type":"input","name":"CLK","value":"P3"}, +{"type":"output","name":"LED","value":"U16","pullmode":"UP"}, +{"type":"input","name":"SPI_CS","value":"R2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MISO","value":"V2","pullmode":"NONE"}, +{"type":"input","name":"SPI_MOSI","value":"W2","pullmode":"NONE"}, +{"type":"input","name":"SPI_SCK","value":"U3","pullmode":"NONE"}, +{"type":"out","name":"sdram_clk","value":"B9","pullmode":"NONE"}, +{"type":"out","name":"sdram_wen","value":"A10","pullmode":"NONE"}, +{"type":"out","name":"sdram_rasn","value":"B10","pullmode":"NONE"}, +{"type":"out","name":"sdram_casn","value":"A9","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA0","value":"B11","pullmode":"NONE"}, +{"type":"out","name":"sdram_BA1","value":"C8","pullmode":"NONE"}, +{"type":"out","name":"sdram_a0","value":"B13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a1","value":"C14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a2","value":"A16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a3","value":"A17","pullmode":"NONE"}, +{"type":"out","name":"sdram_a4","value":"B16","pullmode":"NONE"}, +{"type":"out","name":"sdram_a5","value":"B15","pullmode":"NONE"}, +{"type":"out","name":"sdram_a6","value":"A14","pullmode":"NONE"}, +{"type":"out","name":"sdram_a7","value":"A13","pullmode":"NONE"}, +{"type":"out","name":"sdram_a8","value":"A12","pullmode":"NONE"}, +{"type":"out","name":"sdram_a9","value":"A11","pullmode":"NONE"}, +{"type":"out","name":"sdram_a10","value":"B12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d0","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d1","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d2","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d3","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d4","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d5","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d6","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d7","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d9","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d10","value":"E8","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d11","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d12","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d13","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d14","value":"E7","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d15","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d16","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d17","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d18","value":"E11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d19","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d20","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d21","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d22","value":"E9","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d23","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d24","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d25","value":"C15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d26","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d27","value":"D15","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d28","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d29","value":"B17","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d30","value":"D14","pullmode":"NONE"}, +{"type":"inout","name":"sdram_d31","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P2_E1","value":"E1","pullmode":"NONE"}, +{"type":"inout","name":"P2_F2","value":"F2","pullmode":"NONE"}, +{"type":"inout","name":"P2_C2","value":"C2","pullmode":"NONE"}, +{"type":"inout","name":"P2_D1","value":"D1","pullmode":"NONE"}, +{"type":"inout","name":"P2_B2","value":"B2","pullmode":"NONE"}, +{"type":"inout","name":"P2_C1","value":"C1","pullmode":"NONE"}, +{"type":"inout","name":"P2_A2","value":"A2","pullmode":"NONE"}, +{"type":"inout","name":"P2_B1","value":"B1","pullmode":"NONE"}, +{"type":"inout","name":"P2_A3","value":"A3","pullmode":"NONE"}, +{"type":"inout","name":"P2_B3","value":"B3","pullmode":"NONE"}, +{"type":"inout","name":"P2_A4","value":"A4","pullmode":"NONE"}, +{"type":"inout","name":"P2_B4","value":"B4","pullmode":"NONE"}, +{"type":"inout","name":"P2_A5","value":"A5","pullmode":"NONE"}, +{"type":"inout","name":"P2_B5","value":"B5","pullmode":"NONE"}, +{"type":"inout","name":"P2_A6","value":"A6","pullmode":"NONE"}, +{"type":"inout","name":"P2_B6","value":"B6","pullmode":"NONE"}, +{"type":"inout","name":"P2_A7","value":"A7","pullmode":"NONE"}, +{"type":"inout","name":"P2_B7","value":"B7","pullmode":"NONE"}, +{"type":"inout","name":"P2_A8","value":"A8","pullmode":"NONE"}, +{"type":"inout","name":"P2_B8","value":"B8","pullmode":"NONE"}, +{"type":"inout","name":"P3_T6","value":"T6","pullmode":"NONE"}, +{"type":"inout","name":"P3_P7","value":"P7","pullmode":"NONE"}, +{"type":"inout","name":"P3_R5","value":"R5","pullmode":"NONE"}, +{"type":"inout","name":"P3_R6","value":"R6","pullmode":"NONE"}, +{"type":"inout","name":"P3_R4","value":"R4","pullmode":"NONE"}, +{"type":"inout","name":"P3_T4","value":"T4","pullmode":"NONE"}, +{"type":"inout","name":"P3_R3","value":"R3","pullmode":"NONE"}, +{"type":"inout","name":"P3_T3","value":"T3","pullmode":"NONE"}, +{"type":"inout","name":"P3_R2","value":"R2","pullmode":"NONE"}, +{"type":"inout","name":"P3_T2","value":"T2","pullmode":"NONE"}, +{"type":"inout","name":"P3_P2","value":"P2","pullmode":"NONE"}, +{"type":"inout","name":"P3_R1","value":"R1","pullmode":"NONE"}, +{"type":"inout","name":"P3_N3","value":"N3","pullmode":"NONE"}, +{"type":"inout","name":"P3_P1","value":"P1","pullmode":"NONE"}, +{"type":"inout","name":"P3_M2","value":"M2","pullmode":"NONE"}, +{"type":"inout","name":"P3_N1","value":"N1","pullmode":"NONE"}, +{"type":"inout","name":"P3_L2","value":"L2","pullmode":"NONE"}, +{"type":"inout","name":"P3_M1","value":"M1","pullmode":"NONE"}, +{"type":"inout","name":"P3_G2","value":"G2","pullmode":"NONE"}, +{"type":"inout","name":"P3_K1","value":"K1","pullmode":"NONE"}, +{"type":"inout","name":"P4_R7","value":"R7","pullmode":"NONE"}, +{"type":"inout","name":"P4_R8","value":"R8","pullmode":"NONE"}, +{"type":"inout","name":"P4_D5","value":"D5","pullmode":"NONE"}, +{"type":"inout","name":"P4_C4","value":"C4","pullmode":"NONE"}, +{"type":"inout","name":"P4_D4","value":"D4","pullmode":"NONE"}, +{"type":"inout","name":"P4_C3","value":"C3","pullmode":"NONE"}, +{"type":"inout","name":"P4_E4","value":"E4","pullmode":"NONE"}, +{"type":"inout","name":"P4_E3","value":"E3","pullmode":"NONE"}, +{"type":"inout","name":"P4_F4","value":"F4","pullmode":"NONE"}, +{"type":"inout","name":"P4_F3","value":"F3","pullmode":"NONE"}, +{"type":"inout","name":"P4_G4","value":"G4","pullmode":"NONE"}, +{"type":"inout","name":"P4_G3","value":"G3","pullmode":"NONE"}, +{"type":"inout","name":"P4_K4","value":"K4","pullmode":"NONE"}, +{"type":"inout","name":"P4_J4","value":"J4","pullmode":"NONE"}, +{"type":"inout","name":"P4_H3","value":"H3","pullmode":"NONE"}, +{"type":"inout","name":"P4_J3","value":"J3","pullmode":"NONE"}, +{"type":"inout","name":"P4_K3","value":"K3","pullmode":"NONE"}, +{"type":"inout","name":"P4_J2","value":"J2","pullmode":"NONE"}, +{"type":"inout","name":"P5_E14","value":"E14","pullmode":"NONE"}, +{"type":"inout","name":"P5_E13","value":"E13","pullmode":"NONE"}, +{"type":"inout","name":"P5_E12","value":"E12","pullmode":"NONE"}, +{"type":"inout","name":"P5_C13","value":"C13","pullmode":"NONE"}, +{"type":"inout","name":"P5_D13","value":"D13","pullmode":"NONE"}, +{"type":"inout","name":"P5_C12","value":"C12","pullmode":"NONE"}, +{"type":"inout","name":"P5_D12","value":"D12","pullmode":"NONE"}, +{"type":"inout","name":"P5_C11","value":"C11","pullmode":"NONE"}, +{"type":"inout","name":"P5_D11","value":"D11","pullmode":"NONE"}, +{"type":"inout","name":"P5_C10","value":"C10","pullmode":"NONE"}, +{"type":"inout","name":"P5_D10","value":"D10","pullmode":"NONE"}, +{"type":"inout","name":"P5_C9","value":"C9","pullmode":"NONE"}, +{"type":"inout","name":"P5_D9","value":"D9","pullmode":"NONE"}, +{"type":"inout","name":"P5_C8","value":"C8","pullmode":"NONE"}, +{"type":"inout","name":"P5_D8","value":"D8","pullmode":"NONE"}, +{"type":"inout","name":"P5_C7","value":"C7","pullmode":"NONE"}, +{"type":"inout","name":"P5_D7","value":"D7","pullmode":"NONE"}, +{"type":"inout","name":"P5_C6","value":"C6","pullmode":"NONE"}, +{"type":"inout","name":"P5_D6","value":"D6","pullmode":"NONE"}, +{"type":"inout","name":"P5_C5","value":"C5","pullmode":"NONE"}, +{"type":"inout","name":"P6_P11","value":"P11","pullmode":"NONE"}, +{"type":"inout","name":"P6_P12","value":"P12","pullmode":"NONE"}, +{"type":"inout","name":"P6_N12","value":"N12","pullmode":"NONE"}, +{"type":"inout","name":"P6_P13","value":"P13","pullmode":"NONE"}, +{"type":"inout","name":"P6_N13","value":"N13","pullmode":"NONE"}, +{"type":"inout","name":"P6_P14","value":"P14","pullmode":"NONE"}, +{"type":"inout","name":"P6_M12","value":"M12","pullmode":"NONE"}, +{"type":"inout","name":"P6_M13","value":"M13","pullmode":"NONE"}, +{"type":"inout","name":"P6_L14","value":"L14","pullmode":"NONE"}, +{"type":"inout","name":"P6_L13","value":"L13","pullmode":"NONE"}, +{"type":"inout","name":"P6_K14","value":"K14","pullmode":"NONE"}, +{"type":"inout","name":"P6_K13","value":"K13","pullmode":"NONE"}, +{"type":"inout","name":"P6_J14","value":"J14","pullmode":"NONE"}, +{"type":"inout","name":"P6_J13","value":"J13","pullmode":"NONE"}, +{"type":"inout","name":"P6_H14","value":"H14","pullmode":"NONE"}, +{"type":"inout","name":"P6_H13","value":"H13","pullmode":"NONE"}, +{"type":"inout","name":"P6_G14","value":"G14","pullmode":"NONE"}, +{"type":"inout","name":"P6_G13","value":"G13","pullmode":"NONE"}, +{"type":"inout","name":"P6_F14","value":"F14","pullmode":"NONE"}, +{"type":"inout","name":"P6_F13","value":"F13","pullmode":"NONE"}] diff --git a/app/resources/boards/iCESugar-Pro_(USB-Blaster)/pinout.png b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/pinout.png new file mode 100644 index 000000000..ba80d8989 Binary files /dev/null and b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/pinout.png differ diff --git a/app/resources/boards/iCESugar-Pro_(USB-Blaster)/rules.json b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/rules.json new file mode 100644 index 000000000..387a311dc --- /dev/null +++ b/app/resources/boards/iCESugar-Pro_(USB-Blaster)/rules.json @@ -0,0 +1 @@ +{"input":[{"port":"clk","pin":"P3"}]} \ No newline at end of file diff --git a/app/resources/boards/menu.json b/app/resources/boards/menu.json index 1241ef31a..685bfbb99 100644 --- a/app/resources/boards/menu.json +++ b/app/resources/boards/menu.json @@ -52,7 +52,20 @@ "ulx3s-25f", "ulx3s-45f", "ulx3s-85f", - "orangecrab-r02-25f" + "orangecrab-r02-25f", + "ColorLight-5A-75B-V61", + "ColorLight-5A-75B-V7", + "ColorLight-5A-75B-V8", + "ColorLight-5A-75E-V6", + "ColorLight-5A-75E-V71_(FT2232H)", + "ColorLight-5A-75E-V71_(FT232H)", + "ColorLight-5A-75E-V71_(USB-Blaster)", + "ColorLight-i5-v7.0_(FT2232H)", + "ColorLight-i5-v7.0_(FT232H)", + "ColorLight-i5-v7.0_(USB-Blaster)", + "iCESugar-pro_(FT2232H)", + "iCESugar-pro_(FT232H)", + "iCESugar-pro_(USB-Blaster)" ] } ]