From 5129a5a5448012a53cb9ddae1349c2a2c8571339 Mon Sep 17 00:00:00 2001 From: Friedrich Beckmann Date: Sun, 8 Nov 2026 18:14:54 +0100 Subject: Add KiCad 9 schematic, project libraries and datasheets Schematic (kicad/), one sheet per function as on ULX3S: - power: TLV62569 bucks for +1V1 / +3V3, AP2112K LDO for +2V5 - usb: USB-C with PTC and TVS, CH347F for JTAG and UART - fpga_power, fpga_config, fpga_banks_01/23/67: ECP5 LFE5U-25F caBGA256 (pin compatible with the 45F), quad SPI flash, 50 MHz CLOCK_50, ball assignment as in PINPLAN.md - ethernet: RTL8211F gigabit PHY, HR911130A RJ45, shield via 1M || 1nF 2kV - sdram: 32 MB W9825G6KH-6 - hdmi: TMDS from the FPGA (LVCMOS33D), AC coupled, ESD protected - user_io: SW, KEY (debounced), LEDR, LEDG, HEX0-HEX3 with DE1 names - gpio: two DE1 compatible 2x20 headers (THDB-ADA on GPIO_0), Pmod A/B, ESD arrays - testpoints: bring-up pads, M3 mounting holes All parts have LCSC numbers, MPN and manufacturer for JLCPCB assembly; footprints are cross-checked against the EasyEDA data. Libraries: ECP5 symbols generated from the Lattice pinout CSVs (kipart), CH347F, RTL8211F, SM410561N symbols, HR911130A symbol and footprint from KiCad library merge requests, generator scripts in lib/tools/. Datasheets of all parts except resistors and capacitors in datasheets/ (manufacturer copyright, not covered by the project licenses). --- kicad/lib/eboard.kicad_sym | 3828 +++++++++++++++ .../7SegmentLED_0.56in_1Digit_SM410561N.kicad_mod | 277 ++ .../RJ45_Hanrun_HR911130A_Horizontal.kicad_mod | 473 ++ kicad/lib/eboard_fpga.kicad_sym | 5004 ++++++++++++++++++++ .../RJ45_Hanrun_HR911130A_Horizontal.kicad_sym | 2875 +++++++++++ kicad/lib/tools/ch347f.csv | 37 + kicad/lib/tools/derive_symbol.py | 74 + kicad/lib/tools/kicad_sym_grid.py | 44 + kicad/lib/tools/lattice2kipart.py | 107 + kicad/lib/tools/make_7seg_fp.py | 77 + kicad/lib/tools/make_eboard_lib.sh | 62 + kicad/lib/tools/make_ecp5_symbol.sh | 37 + kicad/lib/tools/rtl8211f.csv | 49 + kicad/lib/tools/sm410561n.csv | 18 + 14 files changed, 12962 insertions(+) create mode 100644 kicad/lib/eboard.kicad_sym create mode 100644 kicad/lib/eboard.pretty/7SegmentLED_0.56in_1Digit_SM410561N.kicad_mod create mode 100644 kicad/lib/eboard.pretty/RJ45_Hanrun_HR911130A_Horizontal.kicad_mod create mode 100644 kicad/lib/eboard_fpga.kicad_sym create mode 100644 kicad/lib/tools/RJ45_Hanrun_HR911130A_Horizontal.kicad_sym create mode 100644 kicad/lib/tools/ch347f.csv create mode 100755 kicad/lib/tools/derive_symbol.py create mode 100755 kicad/lib/tools/kicad_sym_grid.py create mode 100755 kicad/lib/tools/lattice2kipart.py create mode 100755 kicad/lib/tools/make_7seg_fp.py create mode 100755 kicad/lib/tools/make_eboard_lib.sh create mode 100755 kicad/lib/tools/make_ecp5_symbol.sh create mode 100644 kicad/lib/tools/rtl8211f.csv create mode 100644 kicad/lib/tools/sm410561n.csv (limited to 'kicad/lib') diff --git a/kicad/lib/eboard.kicad_sym b/kicad/lib/eboard.kicad_sym new file mode 100644 index 0000000..4384ad4 --- /dev/null +++ b/kicad/lib/eboard.kicad_sym @@ -0,0 +1,3828 @@ +(kicad_symbol_lib + (version 20241209) + (generator "kicad_symbol_editor") + (generator_version "8.0") + (symbol "CH347F" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at -22.86 33.02 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Value" "CH347F" + (at -22.86 30.480000000000004 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Footprint" "Package_DFN_QFN:QFN-28-1EP_4x4mm_P0.4mm_EP2.4x2.4mm_ThermalVias" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Datasheet" "https://www.wch-ic.com/downloads/CH347DS1_PDF.html" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Description" "High-speed USB 2.0 to dual UART, I2C, SPI, JTAG, SWD converter, VIO 1.8-3.3V, QFN-28 (datasheet pin 0 = EP = pad 29)" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_keywords" "USB UART JTAG SPI I2C SWD converter WCH" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_locked" "" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_fp_filters" "QFN*28*1EP*4x4mm*P0.4mm*" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "Source" "WCH CH347 datasheet V1.4 (CH347DS1): CH347F pins tables 4-1 to 4-7, pin names from the pinout figure (page 4); EP = datasheet pin 0 = pad 29" + (at -22.86 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (symbol "CH347F_1_1" + (rectangle + (start -22.86 -29.21) + (end 22.86 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin input line (at -27.94 7.62 0) (length 5.08) + (name "~{RST}" + (effects + (font + (size 1.27 1.27)))) + (number "3" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 5.08 0) (length 5.08) + (name "XI" + (effects + (font + (size 1.27 1.27)))) + (number "1" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 2.54 0) (length 5.08) + (name "XO" + (effects + (font + (size 1.27 1.27)))) + (number "2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -27.94 0 0) (length 5.08) + (name "UD+" + (effects + (font + (size 1.27 1.27)))) + (number "28" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -27.94 -2.54 0) (length 5.08) + (name "UD-" + (effects + (font + (size 1.27 1.27)))) + (number "27" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 -5.08 0) (length 5.08) + (name "ACT/SRST" + (effects + (font + (size 1.27 1.27)))) + (number "8" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 22.86 180) (length 5.08) + (name "TXD0" + (effects + (font + (size 1.27 1.27)))) + (number "19" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 27.94 20.32 180) (length 5.08) + (name "RXD0" + (effects + (font + (size 1.27 1.27)))) + (number "22" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 17.78 180) (length 5.08) + (name "RTS0/GPIO1" + (effects + (font + (size 1.27 1.27)))) + (number "18" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 15.24 180) (length 5.08) + (name "CTS0/GPIO0" + (effects + (font + (size 1.27 1.27)))) + (number "17" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 12.7 180) (length 5.08) + (name "DTR0/TNOW0/GPIO2" + (effects + (font + (size 1.27 1.27)))) + (number "10" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 10.16 180) (length 5.08) + (name "TXD1" + (effects + (font + (size 1.27 1.27)))) + (number "4" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 27.94 7.62 180) (length 5.08) + (name "RXD1" + (effects + (font + (size 1.27 1.27)))) + (number "5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 5.08 180) (length 5.08) + (name "CTS1/SCL" + (effects + (font + (size 1.27 1.27)))) + (number "11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 2.54 180) (length 5.08) + (name "RTS1/SDA" + (effects + (font + (size 1.27 1.27)))) + (number "12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 0 180) (length 5.08) + (name "DTR1/TNOW1/SCS1" + (effects + (font + (size 1.27 1.27)))) + (number "7" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 -2.54 180) (length 5.08) + (name "SCK" + (effects + (font + (size 1.27 1.27)))) + (number "14" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 -5.08 180) (length 5.08) + (name "SCS0" + (effects + (font + (size 1.27 1.27)))) + (number "13" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 -7.62 180) (length 5.08) + (name "MOSI" + (effects + (font + (size 1.27 1.27)))) + (number "16" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 27.94 -10.16 180) (length 5.08) + (name "MISO" + (effects + (font + (size 1.27 1.27)))) + (number "15" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 -12.7 180) (length 5.08) + (name "TCK/SWDCLK/GPIO4" + (effects + (font + (size 1.27 1.27)))) + (number "23" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 -15.24 180) (length 5.08) + (name "TMS/SWDIO/GPIO7" + (effects + (font + (size 1.27 1.27)))) + (number "26" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 -17.78 180) (length 5.08) + (name "TDI/GPIO6" + (effects + (font + (size 1.27 1.27)))) + (number "25" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 27.94 -20.32 180) (length 5.08) + (name "TDO/GPIO5" + (effects + (font + (size 1.27 1.27)))) + (number "24" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 -22.86 180) (length 5.08) + (name "TRST/GPIO3" + (effects + (font + (size 1.27 1.27)))) + (number "9" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "21" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 2.54 35.56 270) (length 6.35) + (name "VIO" + (effects + (font + (size 1.27 1.27)))) + (number "6" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 -35.56 90) (length 6.35) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "20" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 2.54 -35.56 90) (length 6.35) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "29" + (effects + (font + (size 1.27 1.27)))))) + (embedded_fonts no)) + (symbol "RTL8211F-CG" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at -22.86 34.29 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Value" "RTL8211F-CG" + (at -22.86 31.750000000000004 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Footprint" "Package_DFN_QFN:QFN-40-1EP_5x5mm_P0.4mm_EP3.6x3.6mm_ThermalVias" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Datasheet" "https://www.realtek.com/Product/Index?id=3846" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Description" "Integrated 10/100/1000M Ethernet transceiver, RGMII, internal 1.0V switching regulator, QFN-40 5x5mm" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_keywords" "Ethernet PHY gigabit RGMII Realtek" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_locked" "" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_fp_filters" "QFN*40*1EP*5x5mm*P0.4mm*" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "Source" "Realtek RTL8211F(I)-CG/RTL8211FD(I)-CG datasheet Rev. 1.4: pins section 6 tables 1-9, strap functions table 10; EP = pad 41 (GND)" + (at -22.86 31.115000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (symbol "RTL8211F-CG_1_1" + (rectangle + (start -22.86 -30.48) + (end 22.86 30.48) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin input line (at -27.94 20.32 0) (length 5.08) + (name "TXC" + (effects + (font + (size 1.27 1.27)))) + (number "20" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 17.78 0) (length 5.08) + (name "TXCTL" + (effects + (font + (size 1.27 1.27)))) + (number "19" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 15.24 0) (length 5.08) + (name "TXD0" + (effects + (font + (size 1.27 1.27)))) + (number "18" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 12.7 0) (length 5.08) + (name "TXD1" + (effects + (font + (size 1.27 1.27)))) + (number "17" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 10.16 0) (length 5.08) + (name "TXD2" + (effects + (font + (size 1.27 1.27)))) + (number "16" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 7.62 0) (length 5.08) + (name "TXD3" + (effects + (font + (size 1.27 1.27)))) + (number "15" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 5.08 0) (length 5.08) + (name "RXC/PHYAD1" + (effects + (font + (size 1.27 1.27)))) + (number "27" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 2.54 0) (length 5.08) + (name "RXCTL/PHYAD2" + (effects + (font + (size 1.27 1.27)))) + (number "26" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 0 0) (length 5.08) + (name "RXD0/RXDLY" + (effects + (font + (size 1.27 1.27)))) + (number "25" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 -2.54 0) (length 5.08) + (name "RXD1/TXDLY" + (effects + (font + (size 1.27 1.27)))) + (number "24" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 -5.08 0) (length 5.08) + (name "RXD2/PLLOFF" + (effects + (font + (size 1.27 1.27)))) + (number "23" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 -7.62 0) (length 5.08) + (name "RXD3/PHYAD0" + (effects + (font + (size 1.27 1.27)))) + (number "22" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 -10.16 0) (length 5.08) + (name "MDC" + (effects + (font + (size 1.27 1.27)))) + (number "13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -27.94 -12.7 0) (length 5.08) + (name "MDIO" + (effects + (font + (size 1.27 1.27)))) + (number "14" + (effects + (font + (size 1.27 1.27))))) + (pin open_collector line (at -27.94 -15.24 0) (length 5.08) + (name "INTB/PMEB" + (effects + (font + (size 1.27 1.27)))) + (number "31" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -27.94 -17.78 0) (length 5.08) + (name "~{PHYRSTB}" + (effects + (font + (size 1.27 1.27)))) + (number "12" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at -27.94 -20.32 0) (length 5.08) + (name "CLKOUT" + (effects + (font + (size 1.27 1.27)))) + (number "35" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 17.78 180) (length 5.08) + (name "MDIP0" + (effects + (font + (size 1.27 1.27)))) + (number "1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 15.24 180) (length 5.08) + (name "MDIN0" + (effects + (font + (size 1.27 1.27)))) + (number "2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 12.7 180) (length 5.08) + (name "MDIP1" + (effects + (font + (size 1.27 1.27)))) + (number "4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 10.16 180) (length 5.08) + (name "MDIN1" + (effects + (font + (size 1.27 1.27)))) + (number "5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 7.62 180) (length 5.08) + (name "MDIP2" + (effects + (font + (size 1.27 1.27)))) + (number "6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 5.08 180) (length 5.08) + (name "MDIN2" + (effects + (font + (size 1.27 1.27)))) + (number "7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 2.54 180) (length 5.08) + (name "MDIP3" + (effects + (font + (size 1.27 1.27)))) + (number "9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 0 180) (length 5.08) + (name "MDIN3" + (effects + (font + (size 1.27 1.27)))) + (number "10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 -2.54 180) (length 5.08) + (name "LED0/CFG_EXT" + (effects + (font + (size 1.27 1.27)))) + (number "32" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 -5.08 180) (length 5.08) + (name "LED1/CFG_LDO0" + (effects + (font + (size 1.27 1.27)))) + (number "33" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 27.94 -7.62 180) (length 5.08) + (name "LED2/CFG_LDO1" + (effects + (font + (size 1.27 1.27)))) + (number "34" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 27.94 -10.16 180) (length 5.08) + (name "XTAL_IN" + (effects + (font + (size 1.27 1.27)))) + (number "36" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 27.94 -12.7 180) (length 5.08) + (name "XTAL_OUT" + (effects + (font + (size 1.27 1.27)))) + (number "37" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 27.94 -15.24 180) (length 5.08) + (name "RSET" + (effects + (font + (size 1.27 1.27)))) + (number "39" + (effects + (font + (size 1.27 1.27))))) + (pin power_out line (at 27.94 -17.78 180) (length 5.08) + (name "REG_OUT" + (effects + (font + (size 1.27 1.27)))) + (number "30" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at -5.08 35.56 270) (length 5.08) + (name "DVDD33" + (effects + (font + (size 1.27 1.27)))) + (number "29" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at -2.54 35.56 270) (length 5.08) + (name "DVDD_RG" + (effects + (font + (size 1.27 1.27)))) + (number "28" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 5.08) + (name "AVDD33" + (effects + (font + (size 1.27 1.27)))) + (number "11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 5.08) + (hide yes) + (name "AVDD33" + (effects + (font + (size 1.27 1.27)))) + (number "40" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 2.54 35.56 270) (length 5.08) + (name "DVDD10" + (effects + (font + (size 1.27 1.27)))) + (number "21" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 5.08 35.56 270) (length 5.08) + (name "AVDD10" + (effects + (font + (size 1.27 1.27)))) + (number "3" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 5.08 35.56 270) (length 5.08) + (hide yes) + (name "AVDD10" + (effects + (font + (size 1.27 1.27)))) + (number "8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 5.08 35.56 270) (length 5.08) + (hide yes) + (name "AVDD10" + (effects + (font + (size 1.27 1.27)))) + (number "38" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 -35.56 90) (length 5.08) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "41" + (effects + (font + (size 1.27 1.27)))))) + (embedded_fonts no)) + (symbol "SM410561N" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at -6.35 17.78 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Value" "SM410561N" + (at -6.35 15.24 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Footprint" "eboard:7SegmentLED_0.56in_1Digit_SM410561N" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Datasheet" "https://www.lcsc.com/product-detail/C141368.html" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Description" "0.56 inch single digit 7-segment LED display, common anode, red, through hole" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_keywords" "7 segment display LED common anode" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_locked" "" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_fp_filters" "7SegmentLED*0.56in*" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "Source" "ARKLED SM410561N specification (2011-12-08), page 4/4: segment pinout and dimensions" + (at -6.35 14.605 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (symbol "SM410561N_1_1" + (rectangle + (start -6.35 -13.97) + (end 6.35 13.97) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin passive line (at -12.7 10.16 0) (length 6.35) + (name "A" + (effects + (font + (size 1.27 1.27)))) + (number "7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 7.62 0) (length 6.35) + (name "B" + (effects + (font + (size 1.27 1.27)))) + (number "6" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 5.08 0) (length 6.35) + (name "C" + (effects + (font + (size 1.27 1.27)))) + (number "4" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 2.54 0) (length 6.35) + (name "D" + (effects + (font + (size 1.27 1.27)))) + (number "2" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 0 0) (length 6.35) + (name "E" + (effects + (font + (size 1.27 1.27)))) + (number "1" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 -2.54 0) (length 6.35) + (name "F" + (effects + (font + (size 1.27 1.27)))) + (number "9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 -5.08 0) (length 6.35) + (name "G" + (effects + (font + (size 1.27 1.27)))) + (number "10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at -12.7 -7.62 0) (length 6.35) + (name "DP" + (effects + (font + (size 1.27 1.27)))) + (number "5" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 20.32 270) (length 6.35) + (name "CA" + (effects + (font + (size 1.27 1.27)))) + (number "3" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 2.54 20.32 270) (length 6.35) + (name "CA" + (effects + (font + (size 1.27 1.27)))) + (number "8" + (effects + (font + (size 1.27 1.27)))))) + (embedded_fonts no)) (symbol "RJ45_Hanrun_HR911130A_Horizontal" + (pin_names + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "J" + (at -8.89 19.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "RJ45_Hanrun_HR911130A_Horizontal" + (at 13.97 19.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "eboard:RJ45_Hanrun_HR911130A_Horizontal" + (at 0 1.27 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://hrdzen.oss-cn-beijing.aliyuncs.com/202601/1ba07be89265140.pdf" + (at -7.366 -1.397 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (property "Description" "LAN Transformer Jack, RJ45, 10/100/1000 BaseT" + (at 0 -1.27 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "lan jack socket transformer ethernet gigabit 10 100 1000 baset" + (at 0 0 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "RJ45*Hanrun*HR911130A*" + (at 0 0 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_0_0" + (circle + (center -5.08 0.762) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -5.08 -6.858) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -5.08 -14.478) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.794 -14.478) (xy -5.08 -14.478) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 10.922) (xy -6.35 10.922) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 9.398) (xy -6.35 9.398) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 3.302) (xy -6.35 3.302) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 1.778) (xy -6.35 1.778) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -4.318) (xy -6.35 -4.318) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -5.842) (xy -6.35 -5.842) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -11.938) (xy -6.35 -11.938) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -13.462) (xy -6.35 -13.462) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 8.382) (xy 2.54 8.382) (xy 2.54 10.16) (xy 3.81 10.16) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 0.762) (xy 2.54 0.762) (xy 2.54 2.54) (xy 3.81 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -6.858) (xy 2.54 -6.858) (xy 2.54 -5.08) (xy 3.81 -5.08) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -14.478) (xy 2.54 -14.478) (xy 2.54 -12.7) (xy 3.81 -12.7) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 2.54) (xy 6.35 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 6.35 10.16) (xy 5.08 10.16) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 6.35 10.16) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 6.35 2.54) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 6.35 -5.08) (xy 5.08 -5.08) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 6.35 -5.08) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (text "C1" + (at -7.62 11.43 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C2" + (at -7.62 9.144 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C3" + (at -7.62 3.556 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C6" + (at -7.62 1.524 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C4" + (at -7.62 -4.064 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C5" + (at -7.62 -6.096 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C7" + (at -7.62 -11.684 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C8" + (at -7.62 -13.716 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "G" + (at -5.08 15.24 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_0_1" + (rectangle + (start -10.16 17.78) + (end 10.16 -17.78) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (rectangle + (start -8.89 12.446) + (end -6.35 -14.732) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.842 -16.002) (xy -4.318 -16.002) + ) + (stroke + (width 0.3048) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.842 -16.51) (xy -4.318 -16.51) + ) + (stroke + (width 0.3302) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 17.78) (xy -5.08 16.51) (xy -4.318 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 0.762) (xy -2.794 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 -16.002) (xy -5.08 8.382) (xy -2.794 8.382) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 -17.78) (xy -5.08 -15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.556 15.494) (xy -3.556 15.24) (xy -3.81 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.556 15.24) (xy -4.064 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.302 17.018) (xy -3.302 16.002) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.302 16.51) (xy -4.318 17.018) (xy -4.318 16.002) (xy -3.302 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.048 15.494) (xy -3.048 15.24) (xy -3.302 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.048 15.24) (xy -3.556 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 7.874) + (end -0.254 8.89) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 0.254) + (end -0.254 1.27) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.794 -6.858) (xy -5.08 -6.858) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 -7.366) + (end -0.254 -6.35) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 -14.986) + (end -0.254 -13.97) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.54 17.78) (xy -2.54 16.51) (xy -3.302 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 9.906) (xy -0.254 9.906) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 2.286) (xy -0.254 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -5.334) (xy -0.254 -5.334) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -12.954) (xy -0.254 -12.954) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 10.922) + (mid -2.032 10.6691) + (end -2.286 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 9.398) + (mid -2.032 9.6509) + (end -1.778 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 3.302) + (mid -2.032 3.0491) + (end -2.286 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 1.778) + (mid -2.032 2.0309) + (end -1.778 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -4.318) + (mid -2.032 -4.5709) + (end -2.286 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 -5.842) + (mid -2.032 -5.5891) + (end -1.778 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -11.938) + (mid -2.032 -12.1909) + (end -2.286 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 -13.462) + (mid -2.032 -13.2091) + (end -1.778 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 10.922) + (mid -1.524 10.6691) + (end -1.778 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 9.398) + (mid -1.524 9.6509) + (end -1.27 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 3.302) + (mid -1.524 3.0491) + (end -1.778 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 1.778) + (mid -1.524 2.0309) + (end -1.27 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -4.318) + (mid -1.524 -4.5709) + (end -1.778 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -5.842) + (mid -1.524 -5.5891) + (end -1.27 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -11.938) + (mid -1.524 -12.1909) + (end -1.778 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -13.462) + (mid -1.524 -13.2091) + (end -1.27 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 10.922) + (mid -1.016 10.6691) + (end -1.27 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 9.398) + (mid -1.016 9.6509) + (end -0.762 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 3.302) + (mid -1.016 3.0491) + (end -1.27 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 1.778) + (mid -1.016 2.0309) + (end -0.762 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -4.318) + (mid -1.016 -4.5709) + (end -1.27 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -5.842) + (mid -1.016 -5.5891) + (end -0.762 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -11.938) + (mid -1.016 -12.1909) + (end -1.27 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -13.462) + (mid -1.016 -13.2091) + (end -0.762 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 10.9474) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 10.922) + (mid -0.508 10.6691) + (end -0.762 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 9.398) + (mid -0.508 9.6509) + (end -0.254 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 9.3726) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.508 3.3274) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 3.302) + (mid -0.508 3.0491) + (end -0.762 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 1.778) + (mid -0.508 2.0309) + (end -0.254 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 1.7526) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.508 -4.2926) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 -4.318) + (mid -0.508 -4.5709) + (end -0.762 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -5.842) + (mid -0.508 -5.5891) + (end -0.254 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 -5.8674) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.508 -11.9126) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 -11.938) + (mid -0.508 -12.1909) + (end -0.762 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -13.462) + (mid -0.508 -13.2091) + (end -0.254 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 -13.4874) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy -0.254 10.922) (xy 1.27 10.922) (xy 1.27 12.7) (xy 3.81 12.7) (xy 3.81 12.192) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 10.414) (xy -2.286 10.414) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 3.302) (xy 1.27 3.302) (xy 1.27 5.08) (xy 3.81 5.08) (xy 3.81 4.572) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 2.794) (xy -2.286 2.794) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -4.318) (xy 1.27 -4.318) (xy 1.27 -2.54) (xy 3.81 -2.54) (xy 3.81 -3.048) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -4.826) (xy -2.286 -4.826) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -11.938) (xy 1.27 -11.938) (xy 1.27 -10.16) (xy 3.81 -10.16) (xy 3.81 -10.668) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -12.446) (xy -2.286 -12.446) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 2.54 17.78) (xy 2.54 16.51) (xy 3.302 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 3.7846 11.938) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 9.906) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 4.318) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 2.286) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -3.302) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -5.334) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -10.922) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -12.954) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start 3.81 12.192) + (mid 4.063 11.938) + (end 3.81 11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 11.176) + (mid 4.063 10.922) + (end 3.81 10.668) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 10.668) + (mid 4.063 10.414) + (end 3.81 10.16) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 10.16) + (mid 4.063 9.906) + (end 3.81 9.652) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 9.652) + (mid 4.063 9.398) + (end 3.81 9.144) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 8.636) + (mid 4.063 8.382) + (end 3.81 8.128) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 4.572) + (mid 4.063 4.318) + (end 3.81 4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 3.556) + (mid 4.063 3.302) + (end 3.81 3.048) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 3.048) + (mid 4.063 2.794) + (end 3.81 2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 2.54) + (mid 4.063 2.286) + (end 3.81 2.032) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 2.032) + (mid 4.063 1.778) + (end 3.81 1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 1.016) + (mid 4.063 0.762) + (end 3.81 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -3.048) + (mid 4.063 -3.302) + (end 3.81 -3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -4.064) + (mid 4.063 -4.318) + (end 3.81 -4.572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -4.572) + (mid 4.063 -4.826) + (end 3.81 -5.08) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -5.08) + (mid 4.063 -5.334) + (end 3.81 -5.588) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -5.588) + (mid 4.063 -5.842) + (end 3.81 -6.096) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -6.604) + (mid 4.063 -6.858) + (end 3.81 -7.112) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -10.668) + (mid 4.063 -10.922) + (end 3.81 -11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -11.684) + (mid 4.063 -11.938) + (end 3.81 -12.192) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -12.192) + (mid 4.063 -12.446) + (end 3.81 -12.7) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -12.7) + (mid 4.063 -12.954) + (end 3.81 -13.208) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -13.208) + (mid 4.063 -13.462) + (end 3.81 -13.716) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -14.224) + (mid 4.063 -14.478) + (end 3.81 -14.732) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 11.684) + (mid 4.064 11.43) + (end 3.81 11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 9.144) + (mid 4.064 8.89) + (end 3.81 8.636) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 8.128) (xy 3.81 7.62) (xy 1.27 7.62) (xy 1.27 9.398) (xy -0.254 9.398) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 4.064) + (mid 4.064 3.81) + (end 3.81 3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 1.524) + (mid 4.064 1.27) + (end 3.81 1.016) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 0.508) (xy 3.81 0) (xy 1.27 0) (xy 1.27 1.778) (xy -0.254 1.778) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -3.556) + (mid 4.064 -3.81) + (end 3.81 -4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -6.096) + (mid 4.064 -6.35) + (end 3.81 -6.604) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 -7.112) (xy 3.81 -7.62) (xy 1.27 -7.62) (xy 1.27 -5.842) (xy -0.254 -5.842) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -11.176) + (mid 4.064 -11.43) + (end 3.81 -11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -13.716) + (mid 4.064 -13.97) + (end 3.81 -14.224) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 -14.732) (xy 3.81 -15.24) (xy 1.27 -15.24) (xy 1.27 -13.462) (xy -0.254 -13.462) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.064 15.494) (xy 4.064 15.24) (xy 3.81 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.064 15.24) (xy 3.556 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 17.018) (xy 4.318 16.002) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 16.51) (xy 3.302 17.018) (xy 3.302 16.002) (xy 4.318 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 12.192) (xy 4.318 8.128) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 4.572) (xy 4.318 0.508) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 -3.048) (xy 4.318 -7.112) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 -10.668) (xy 4.318 -14.732) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 15.494) (xy 4.572 15.24) (xy 4.318 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 15.24) (xy 4.064 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 8.128) (xy 4.572 12.192) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 0.508) (xy 4.572 4.572) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 -7.112) (xy 4.572 -3.048) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 -14.732) (xy 4.572 -10.668) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 17.78) (xy 5.08 16.51) (xy 4.318 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 12.192) (xy 5.08 12.7) (xy 10.16 12.7) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 11.176) + (mid 4.826 11.43) + (end 5.08 11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 8.636) + (mid 4.826 8.89) + (end 5.08 9.144) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 8.128) (xy 5.08 7.62) (xy 10.16 7.62) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 4.572) (xy 5.08 5.08) (xy 10.16 5.08) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 3.556) + (mid 4.826 3.81) + (end 5.08 4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 1.016) + (mid 4.826 1.27) + (end 5.08 1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 0.508) (xy 5.08 0) (xy 10.16 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -3.048) (xy 5.08 -2.54) (xy 10.16 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -4.064) + (mid 4.826 -3.81) + (end 5.08 -3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -6.604) + (mid 4.826 -6.35) + (end 5.08 -6.096) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -7.112) (xy 5.08 -7.62) (xy 10.16 -7.62) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -10.668) (xy 5.08 -10.16) (xy 10.16 -10.16) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -11.684) + (mid 4.826 -11.43) + (end 5.08 -11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -14.224) + (mid 4.826 -13.97) + (end 5.08 -13.716) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -14.732) (xy 5.08 -15.24) (xy 10.16 -15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 11.684) + (mid 4.827 11.938) + (end 5.08 12.192) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 10.668) + (mid 4.827 10.922) + (end 5.08 11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 10.16) + (mid 4.827 10.414) + (end 5.08 10.668) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 9.652) + (mid 4.827 9.906) + (end 5.08 10.16) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 9.144) + (mid 4.827 9.398) + (end 5.08 9.652) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 8.128) + (mid 4.827 8.382) + (end 5.08 8.636) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 4.064) + (mid 4.827 4.318) + (end 5.08 4.572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 3.048) + (mid 4.827 3.302) + (end 5.08 3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 2.54) + (mid 4.827 2.794) + (end 5.08 3.048) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 2.032) + (mid 4.827 2.286) + (end 5.08 2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 1.524) + (mid 4.827 1.778) + (end 5.08 2.032) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 0.508) + (mid 4.827 0.762) + (end 5.08 1.016) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -3.556) + (mid 4.827 -3.302) + (end 5.08 -3.048) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -4.572) + (mid 4.827 -4.318) + (end 5.08 -4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -5.08) + (mid 4.827 -4.826) + (end 5.08 -4.572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -5.588) + (mid 4.827 -5.334) + (end 5.08 -5.08) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -6.096) + (mid 4.827 -5.842) + (end 5.08 -5.588) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -7.112) + (mid 4.827 -6.858) + (end 5.08 -6.604) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -11.176) + (mid 4.827 -10.922) + (end 5.08 -10.668) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -12.192) + (mid 4.827 -11.938) + (end 5.08 -11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -12.7) + (mid 4.827 -12.446) + (end 5.08 -12.192) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -13.208) + (mid 4.827 -12.954) + (end 5.08 -12.7) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -13.716) + (mid 4.827 -13.462) + (end 5.08 -13.208) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -14.732) + (mid 4.827 -14.478) + (end 5.08 -14.224) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 5.1054 11.938) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 9.906) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 4.318) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 2.286) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -3.302) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -5.334) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -10.922) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -12.954) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 10.16 15.24) (xy 6.35 15.24) (xy 6.35 -12.7) (xy 5.08 -12.7) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (pin power_in line + (at -5.08 -20.32 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_1_0" + (text "75" + (at -1.524 8.382 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + (text "75" + (at -1.524 0.762 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + (text "75" + (at -1.524 -6.858 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + (text "75" + (at -1.524 -14.478 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_1_1" + (text "1000pF 2kV" + (at -3.81 -16.256 0) + (effects + (font + (size 0.635 0.635) + ) + (justify left) + ) + ) + (text "Y" + (at 2.54 15.24 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin passive line + (at 12.7 15.24 180) + (length 2.54) + (name "CT" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 12.7 180) + (length 2.54) + (name "MDI0+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 7.62 180) + (length 2.54) + (name "MDI0-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 5.08 180) + (length 2.54) + (name "MDI1+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -2.54 180) + (length 2.54) + (name "MDI2+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -7.62 180) + (length 2.54) + (name "MDI2-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 0 180) + (length 2.54) + (name "MDI1-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -10.16 180) + (length 2.54) + (name "MDI3+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -15.24 180) + (length 2.54) + (name "MDI3-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 20.32 270) + (length 2.54) + (name "LGA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -2.54 20.32 270) + (length 2.54) + (name "LGK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 20.32 270) + (length 2.54) + (name "LYK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 2.54 20.32 270) + (length 2.54) + (name "LYA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -20.32 90) + (length 2.54) + (name "SH" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "SH" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) +) diff --git a/kicad/lib/eboard.pretty/7SegmentLED_0.56in_1Digit_SM410561N.kicad_mod b/kicad/lib/eboard.pretty/7SegmentLED_0.56in_1Digit_SM410561N.kicad_mod new file mode 100644 index 0000000..501f3b5 --- /dev/null +++ b/kicad/lib/eboard.pretty/7SegmentLED_0.56in_1Digit_SM410561N.kicad_mod @@ -0,0 +1,277 @@ +(footprint "7SegmentLED_0.56in_1Digit_SM410561N" + (version 20241229) + (generator "eboard") + (generator_version "9.0") + (layer "F.Cu") + (descr "0.56 inch single digit 7-segment display, ARKLED SM410561N, https://www.lcsc.com/product-detail/C141368.html") + (tags "7 segment LED display 0.56 inch") + (property "Reference" "REF**" + (at 5.08 -18.62 0) + (layer "F.SilkS") + (uuid "8ce3d41b-d84b-5c76-ae43-f2a0aa6c50fb") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "SM410561N" + (at 5.08 3.38 0) + (layer "F.Fab") + (uuid "7f886b57-f39f-54fa-b342-8be9cf63ee34") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "https://www.lcsc.com/product-detail/C141368.html" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "83cb9ebf-f05e-52cc-8d4f-b7fcaf4e021c") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "0.56 inch single digit 7-segment display" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "59401c16-c13d-5c06-9f4c-6976d4c03e5a") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (attr through_hole) + (fp_line + (start -1.22 -17.12) + (end 11.38 -17.12) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "c0705a44-532b-5f4b-a292-d242883bf755") + ) + (fp_line + (start 11.38 -17.12) + (end 11.38 1.88) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "178ec1e2-19b6-54d6-9c48-e7971c680a7d") + ) + (fp_line + (start 11.38 1.88) + (end -1.22 1.88) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "7adbab43-55e2-519e-82e7-ce84ec02df33") + ) + (fp_line + (start -1.22 1.88) + (end -1.22 -17.12) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "e28736cf-204c-5062-bc2d-c6e924835b38") + ) + (fp_line + (start -1.34 -17.24) + (end 11.5 -17.24) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "ea95c5e9-f5b0-5eda-a08a-abb677e11e81") + ) + (fp_line + (start 11.5 -17.24) + (end 11.5 2) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "05f19e0c-3362-5af8-a8d6-a3c72ffbeb83") + ) + (fp_line + (start 11.5 2) + (end -1.34 2) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "cf4c624a-4546-5ff2-9cb5-de1894445d15") + ) + (fp_line + (start -1.34 2) + (end -1.34 -17.24) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "bc7d7a28-6b25-5979-9b18-5234709c6de4") + ) + (fp_line + (start -1.72 -17.62) + (end 11.88 -17.62) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "4db338a0-dbb7-5c52-b654-11085e4474ae") + ) + (fp_line + (start 11.88 -17.62) + (end 11.88 2.38) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a7312840-b706-5197-a623-fbb8698a431d") + ) + (fp_line + (start 11.88 2.38) + (end -1.72 2.38) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "31af84cc-e1fb-59b3-a507-2598e8226ac6") + ) + (fp_line + (start -1.72 2.38) + (end -1.72 -17.62) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "fdaa1a90-4695-5464-91e2-af984b0bde9f") + ) + (fp_line + (start -1.72 1.2) + (end -1.72 -1.2) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "6a55988c-7548-5725-8480-b3b95553d53e") + ) + (fp_text user "${REFERENCE}" + (at 5.08 -7.62 0) + (layer "F.Fab") + (uuid "b2ee2a03-1420-55fa-b4e1-e20c5e3d1685") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "1745bbd1-c720-5ef1-8588-4cfac14a94e3") + ) + (pad "2" thru_hole circle + (at 2.54 0) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "6cf38e85-065b-58d1-98fb-3fc7bd463fc0") + ) + (pad "3" thru_hole circle + (at 5.08 0) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "15bb46c6-4528-5edd-96c5-f0cad25bc81e") + ) + (pad "4" thru_hole circle + (at 7.62 0) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "ed2d24c6-f701-5833-aa1e-e9ddedc690b9") + ) + (pad "5" thru_hole circle + (at 10.16 0) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "b6740354-ddbf-5b2e-8244-793025c107d8") + ) + (pad "6" thru_hole circle + (at 10.16 -15.24) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "bd605ca4-94dc-5a4f-b52c-228190fea917") + ) + (pad "7" thru_hole circle + (at 7.62 -15.24) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "e9aac7f9-1268-5fd0-b2b5-0fa11c85edec") + ) + (pad "8" thru_hole circle + (at 5.08 -15.24) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "3a65ad2c-0ee9-5358-a3fc-d365560c9e9b") + ) + (pad "9" thru_hole circle + (at 2.54 -15.24) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "3f51e25a-665c-56e5-9e4e-f5a1c6118c88") + ) + (pad "10" thru_hole circle + (at 0 -15.24) + (size 1.5 1.5) + (drill 0.8) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "f72fae02-b12d-51ac-80e5-e21718edfa2a") + ) + (embedded_fonts no) +) diff --git a/kicad/lib/eboard.pretty/RJ45_Hanrun_HR911130A_Horizontal.kicad_mod b/kicad/lib/eboard.pretty/RJ45_Hanrun_HR911130A_Horizontal.kicad_mod new file mode 100644 index 0000000..d7f28f8 --- /dev/null +++ b/kicad/lib/eboard.pretty/RJ45_Hanrun_HR911130A_Horizontal.kicad_mod @@ -0,0 +1,473 @@ +(footprint "RJ45_Hanrun_HR911130A_Horizontal" + (version 20241229) + (generator "pcbnew") + (generator_version "9.0") + (layer "F.Cu") + (descr "1 Port RJ45 8P8C receptacle, shielded, with magnetics, through hole, 2 LEDs, tab down, https://hrdzen.oss-cn-beijing.aliyuncs.com/202601/1ba07be89265140.pdf") + (tags "RJ45 Magjack ethernet") + (property "Reference" "REF**" + (at 5.71 -2.47 0) + (layer "F.SilkS") + (uuid "2e4a9758-a3a3-41a3-827c-756c58057ffc") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "RJ45_Hanrun_HR911130A_Horizontal" + (at 5.71 21.03 0) + (layer "F.Fab") + (uuid "5f3d738e-372b-4d8d-8aeb-b4273f8c1ced") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 1.27 2.53 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "5628f8ee-738e-4ba7-aebc-ac0fec9774a1") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 1.27 2.53 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "25565bec-838c-4588-a010-b7cbc095c36b") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (attr through_hole) + (fp_line + (start -2.62 -1.82) + (end -2.62 -0.82) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "7b8fdedb-8470-4953-b1fa-74226c07fce2") + ) + (fp_line + (start -2.62 -1.82) + (end -1.62 -1.82) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "a66d0629-ba9d-4cc3-944a-bf60618fe752") + ) + (fp_line + (start -2.42 -1.62) + (end -2.42 4.18) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "84f0d4b7-79cb-4ccb-b3fc-7a0018f83bcf") + ) + (fp_line + (start -2.42 -1.62) + (end 13.84 -1.62) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "eafa3301-54d4-4317-8030-aea6daf0cd58") + ) + (fp_line + (start -2.42 7.46) + (end -2.42 14.48) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0eda2ec6-307b-4a5c-8ba5-1254767e8496") + ) + (fp_line + (start 13.84 -1.62) + (end 13.84 4.18) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e99f9873-cd16-4374-b815-0d9acdd35d50") + ) + (fp_line + (start 13.84 7.46) + (end 13.84 14.48) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "6af733fc-1f4c-4033-b1d2-df5410e654e1") + ) + (fp_line + (start -3.79 5.1) + (end -3.79 6.58) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "549a91b8-cc33-40b8-95fd-2f36ae50b439") + ) + (fp_line + (start -3.79 5.1) + (end -2.81 4.12) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "af502654-0c05-4497-a865-e6ecd762fd3c") + ) + (fp_line + (start -3.79 6.58) + (end -2.81 7.56) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "47ee2f0d-c43b-4ea3-aad8-628d5b058600") + ) + (fp_line + (start -2.81 -2.01) + (end -2.81 4.12) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "d7f62001-6d74-45d0-8988-081fc3691357") + ) + (fp_line + (start -2.81 -2.01) + (end 14.23 -2.01) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "2d95525b-1b26-411d-9d7d-83fe73889602") + ) + (fp_line + (start -2.81 7.56) + (end -2.81 20.29) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "360f63b6-1c1f-4ceb-bc85-49fd72e2aaf0") + ) + (fp_line + (start -2.81 20.29) + (end 14.23 20.29) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "f15f4153-884b-4663-b10d-a3ac70ed44c9") + ) + (fp_line + (start 14.23 -2.01) + (end 14.23 4.12) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "12e0493d-910e-4af9-ad8a-2c4e3a065df5") + ) + (fp_line + (start 14.23 7.56) + (end 14.23 20.29) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "65532e78-da79-413c-b493-d1b38f4cf480") + ) + (fp_line + (start 15.21 5.1) + (end 14.23 4.12) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "61516218-edc7-4a50-aebd-71076d03d447") + ) + (fp_line + (start 15.21 6.58) + (end 14.23 7.56) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "601dd081-5465-474d-b942-dae5568c5434") + ) + (fp_line + (start 15.21 6.58) + (end 15.21 5.1) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a16562ac-4fdb-4dd2-be55-394189a3fb26") + ) + (fp_line + (start -2.31 -1.51) + (end -2.31 19.79) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b7f63649-cdae-40a4-aaed-402e4faf7e44") + ) + (fp_line + (start -2.31 -1.51) + (end 13.73 -1.51) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "a630c185-1db2-48ed-9e90-d44d9ac49a40") + ) + (fp_line + (start -2.31 19.79) + (end 13.73 19.79) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "0a906913-4677-4e0d-a5a1-856a005d4fcb") + ) + (fp_line + (start -2.06 -1.26) + (end -2.06 -0.26) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "937c7beb-fd1f-46e6-bb71-cb97cf2cf96e") + ) + (fp_line + (start -2.06 -1.26) + (end -1.06 -1.26) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "d347ad60-6956-4742-b3fd-c2d617ec54c4") + ) + (fp_line + (start 13.73 -1.51) + (end 13.73 19.79) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "266934a4-ec86-4124-a3f4-d985a88012da") + ) + (fp_text user "${REFERENCE}" + (at 5.71 8.89 0) + (layer "F.Fab") + (uuid "a8e2ebe7-8415-4346-a97a-a4210776495e") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "" np_thru_hole circle + (at -0.005 8.89) + (size 3.25 3.25) + (drill 3.25) + (layers "*.Cu" "*.Mask") + (uuid "b2210034-484e-42b0-b2ef-88e2ce1fc530") + ) + (pad "" np_thru_hole circle + (at 11.425 8.89) + (size 3.25 3.25) + (drill 3.25) + (layers "*.Cu" "*.Mask") + (uuid "70bc3787-4214-4c70-9c9b-822dd80743d6") + ) + (pad "1" thru_hole roundrect + (at 0 0) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.167) + (uuid "a88c96eb-87c9-40ec-afc4-732e1b1ff41c") + ) + (pad "2" thru_hole circle + (at 1.27 2.54) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "6fe94122-2daf-4aaa-ada0-7ac5354ee8ae") + ) + (pad "3" thru_hole circle + (at 2.54 0) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "9b23dba1-cd3f-4bce-be29-06a595273a9d") + ) + (pad "4" thru_hole circle + (at 3.81 2.54) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "89dcf036-7923-44dd-97e3-242976a6e67e") + ) + (pad "5" thru_hole circle + (at 5.08 0) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "7a049575-9b61-4fff-90be-7847c1842a3b") + ) + (pad "6" thru_hole circle + (at 6.35 2.54) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "44e052d7-c5af-4185-82f8-a45684d62d0f") + ) + (pad "7" thru_hole circle + (at 7.62 0) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "9bb42f79-0644-47d7-bb03-b1fdc659f1da") + ) + (pad "8" thru_hole circle + (at 8.89 2.54) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "c85ffe9e-b104-4076-b067-a2d8253bb137") + ) + (pad "9" thru_hole circle + (at 10.16 0) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "036c2b9a-5dfa-4b3e-a8bc-76b00db322e8") + ) + (pad "10" thru_hole circle + (at 11.43 2.54) + (size 1.5 1.5) + (drill 0.89) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "f1ef5e68-a00f-4d7c-bd44-a5698934e307") + ) + (pad "11" thru_hole circle + (at -0.915 13.79) + (size 1.5 1.5) + (drill 1.02) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "6d7b9bc3-36ec-4b59-b317-956e5da23db3") + ) + (pad "12" thru_hole circle + (at 1.625 13.79) + (size 1.5 1.5) + (drill 1.02) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "e463569c-0a32-4d8f-a2d6-d3d31c7d7e89") + ) + (pad "13" thru_hole circle + (at 9.795 13.79) + (size 1.5 1.5) + (drill 1.02) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "02c859d5-ef38-44cf-bfe9-197d0de54b02") + ) + (pad "14" thru_hole circle + (at 12.335 13.79) + (size 1.5 1.5) + (drill 1.02) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "4244bd5c-8fab-4e31-bfc7-e90e6b70becc") + ) + (pad "SH" thru_hole circle + (at -2.035 5.84) + (size 2.5 2.5) + (drill 1.63) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "bf6a0d16-ca8c-4d06-81e6-6a8b8f214e11") + ) + (pad "SH" thru_hole circle + (at 13.455 5.84) + (size 2.5 2.5) + (drill 1.63) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "4a546bf3-7d67-4dd1-845c-471e85d81940") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_RJ.3dshapes/RJ45_Hanrun_HR911130A_Horizontal.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz -0 -0 -0) + ) + ) +) diff --git a/kicad/lib/eboard_fpga.kicad_sym b/kicad/lib/eboard_fpga.kicad_sym new file mode 100644 index 0000000..9060799 --- /dev/null +++ b/kicad/lib/eboard_fpga.kicad_sym @@ -0,0 +1,5004 @@ +(kicad_symbol_lib + (version 20241209) + (generator "kicad_symbol_editor") + (generator_version "8.0") + (symbol "LFE5U-45F-xBG256x" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at -36.83 33.02 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Value" "LFE5U-45F-xBG256x" + (at -36.83 30.480000000000004 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Footprint" "Package_BGA:BGA-256_14.0x14.0mm_Layout16x16_P0.8mm_Ball0.45mm_Pad0.32mm_NSMD" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Datasheet" "https://www.latticesemi.com/view_document?document_id=50461" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Description" "ECP5 FPGA, 44K LUTs, 1.1V core, CABGA256" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_keywords" "FPGA programmable logic Lattice ECP5" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_locked" "" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_fp_filters" "BGA*256*14.0x14.0mm*P0.8mm*" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "Source" "Lattice pinout CSV FPGA-SC-02034-3-0-ECP5U-45-Pinout.csv, package CABGA256" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (symbol "LFE5U-45F-xBG256x_1_1" + (unit_name Bank0) + (rectangle + (start -22.86 -24.13) + (end 22.86 24.13) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 15.24 0) (length 7.62) + (name "PT38B/PCLKC0_0" + (effects + (font + (size 1.27 1.27)))) + (number "A8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 7.62) + (name "PT36B/PCLKC0_1" + (effects + (font + (size 1.27 1.27)))) + (number "B7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 7.62) + (name "PT38A/PCLKT0_0" + (effects + (font + (size 1.27 1.27)))) + (number "A7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 7.62) + (name "PT36A/PCLKT0_1" + (effects + (font + (size 1.27 1.27)))) + (number "C7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 7.62) + (name "PT33B/GR_PCLK0_0" + (effects + (font + (size 1.27 1.27)))) + (number "D7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 7.62) + (name "PT31B" + (effects + (font + (size 1.27 1.27)))) + (number "B6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 7.62) + (name "PT33A/GR_PCLK0_1" + (effects + (font + (size 1.27 1.27)))) + (number "E7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 7.62) + (name "PT31A" + (effects + (font + (size 1.27 1.27)))) + (number "C6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 7.62) + (name "PT20B" + (effects + (font + (size 1.27 1.27)))) + (number "D6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 7.62) + (name "PT18B" + (effects + (font + (size 1.27 1.27)))) + (number "A6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 7.62) + (name "PT20A" + (effects + (font + (size 1.27 1.27)))) + (number "E6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 7.62) + (name "PT18A" + (effects + (font + (size 1.27 1.27)))) + (number "A5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 7.62) + (name "PT15B" + (effects + (font + (size 1.27 1.27)))) + (number "B5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 7.62) + (name "PT13B" + (effects + (font + (size 1.27 1.27)))) + (number "D5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 7.62) + (name "PT15A" + (effects + (font + (size 1.27 1.27)))) + (number "C5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 7.62) + (name "PT13A" + (effects + (font + (size 1.27 1.27)))) + (number "E5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 7.62) + (name "PT11B" + (effects + (font + (size 1.27 1.27)))) + (number "B4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 7.62) + (name "PT9B" + (effects + (font + (size 1.27 1.27)))) + (number "D4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 7.62) + (name "PT11A" + (effects + (font + (size 1.27 1.27)))) + (number "C4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 7.62) + (name "PT9A" + (effects + (font + (size 1.27 1.27)))) + (number "E4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 7.62) + (name "PT6B" + (effects + (font + (size 1.27 1.27)))) + (number "A4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 7.62) + (name "PT4B/ULC_GPLL1C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 7.62) + (name "PT6A" + (effects + (font + (size 1.27 1.27)))) + (number "A3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 7.62) + (name "PT4A/ULC_GPLL1T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "A2" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 30.48 270) (length 6.35) + (name "VCCIO0" + (effects + (font + (size 1.27 1.27)))) + (number "F7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 30.48 270) (length 6.35) + (hide yes) + (name "VCCIO0" + (effects + (font + (size 1.27 1.27)))) + (number "F6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_2_1" + (unit_name Bank1) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PT85B/URC_GPLL1C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "A15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PT83B" + (effects + (font + (size 1.27 1.27)))) + (number "A14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PT85A/URC_GPLL1T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PT83A" + (effects + (font + (size 1.27 1.27)))) + (number "A13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PT80B" + (effects + (font + (size 1.27 1.27)))) + (number "E13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PT78B" + (effects + (font + (size 1.27 1.27)))) + (number "C13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PT80A" + (effects + (font + (size 1.27 1.27)))) + (number "D13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PT78A" + (effects + (font + (size 1.27 1.27)))) + (number "B13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PT76B" + (effects + (font + (size 1.27 1.27)))) + (number "E12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PT74B" + (effects + (font + (size 1.27 1.27)))) + (number "C12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PT76A" + (effects + (font + (size 1.27 1.27)))) + (number "D12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PT74A" + (effects + (font + (size 1.27 1.27)))) + (number "B12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PT71B" + (effects + (font + (size 1.27 1.27)))) + (number "A12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PT69B" + (effects + (font + (size 1.27 1.27)))) + (number "E11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PT71A" + (effects + (font + (size 1.27 1.27)))) + (number "A11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PT69A" + (effects + (font + (size 1.27 1.27)))) + (number "D11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PT58B" + (effects + (font + (size 1.27 1.27)))) + (number "C11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PT56B" + (effects + (font + (size 1.27 1.27)))) + (number "E10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PT58A" + (effects + (font + (size 1.27 1.27)))) + (number "B11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PT56A" + (effects + (font + (size 1.27 1.27)))) + (number "D10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PT53B" + (effects + (font + (size 1.27 1.27)))) + (number "C10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PT51B" + (effects + (font + (size 1.27 1.27)))) + (number "A10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PT53A" + (effects + (font + (size 1.27 1.27)))) + (number "B10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PT51A" + (effects + (font + (size 1.27 1.27)))) + (number "A9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PT49B" + (effects + (font + (size 1.27 1.27)))) + (number "E9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PT47B/GR_PCLK1_1" + (effects + (font + (size 1.27 1.27)))) + (number "C9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PT49A" + (effects + (font + (size 1.27 1.27)))) + (number "D9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PT47A/GR_PCLK1_0" + (effects + (font + (size 1.27 1.27)))) + (number "B9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PT44B/PCLKC1_0" + (effects + (font + (size 1.27 1.27)))) + (number "B8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PT42B/PCLKC1_1" + (effects + (font + (size 1.27 1.27)))) + (number "D8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PT44A/PCLKT1_0" + (effects + (font + (size 1.27 1.27)))) + (number "C8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PT42A/PCLKT1_1" + (effects + (font + (size 1.27 1.27)))) + (number "E8" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO1" + (effects + (font + (size 1.27 1.27)))) + (number "F11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO1" + (effects + (font + (size 1.27 1.27)))) + (number "F10" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_3_1" + (unit_name Bank2) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PR32D/PCLKC2_0" + (effects + (font + (size 1.27 1.27)))) + (number "K15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PR32B/PCLKC2_1" + (effects + (font + (size 1.27 1.27)))) + (number "J15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PR32C/PCLKT2_0" + (effects + (font + (size 1.27 1.27)))) + (number "K16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PR32A/PCLKT2_1" + (effects + (font + (size 1.27 1.27)))) + (number "J16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PR29D" + (effects + (font + (size 1.27 1.27)))) + (number "K14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PR29B" + (effects + (font + (size 1.27 1.27)))) + (number "H15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PR29C/GR_PCLK2_0" + (effects + (font + (size 1.27 1.27)))) + (number "J14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PR29A/GR_PCLK2_1" + (effects + (font + (size 1.27 1.27)))) + (number "G16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PR26D" + (effects + (font + (size 1.27 1.27)))) + (number "J12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PR26B" + (effects + (font + (size 1.27 1.27)))) + (number "H13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PR26C" + (effects + (font + (size 1.27 1.27)))) + (number "J13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PR26A" + (effects + (font + (size 1.27 1.27)))) + (number "H12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PR23D" + (effects + (font + (size 1.27 1.27)))) + (number "H14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PR23B" + (effects + (font + (size 1.27 1.27)))) + (number "G15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PR23C/VREF1_2" + (effects + (font + (size 1.27 1.27)))) + (number "G14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PR23A" + (effects + (font + (size 1.27 1.27)))) + (number "F16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PR20D" + (effects + (font + (size 1.27 1.27)))) + (number "E16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PR20B" + (effects + (font + (size 1.27 1.27)))) + (number "G13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PR20C" + (effects + (font + (size 1.27 1.27)))) + (number "F15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PR20A" + (effects + (font + (size 1.27 1.27)))) + (number "G12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PR17D" + (effects + (font + (size 1.27 1.27)))) + (number "F12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PR17B" + (effects + (font + (size 1.27 1.27)))) + (number "E15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PR17C" + (effects + (font + (size 1.27 1.27)))) + (number "F13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PR17A" + (effects + (font + (size 1.27 1.27)))) + (number "D16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PR14D" + (effects + (font + (size 1.27 1.27)))) + (number "F14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PR14B" + (effects + (font + (size 1.27 1.27)))) + (number "C15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PR14C" + (effects + (font + (size 1.27 1.27)))) + (number "E14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PR14A" + (effects + (font + (size 1.27 1.27)))) + (number "C16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PR11D" + (effects + (font + (size 1.27 1.27)))) + (number "D14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PR11C" + (effects + (font + (size 1.27 1.27)))) + (number "C14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PR11B/URC_GPLL0C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PR11A/URC_GPLL0T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B16" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO2" + (effects + (font + (size 1.27 1.27)))) + (number "H11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO2" + (effects + (font + (size 1.27 1.27)))) + (number "J11" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_4_1" + (unit_name Bank3) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PR68D/LRC_GPLL0C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PR68C/LRC_GPLL0T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PR68B" + (effects + (font + (size 1.27 1.27)))) + (number "N11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PR68A" + (effects + (font + (size 1.27 1.27)))) + (number "M11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PR65D" + (effects + (font + (size 1.27 1.27)))) + (number "N12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PR65B" + (effects + (font + (size 1.27 1.27)))) + (number "T13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PR65C" + (effects + (font + (size 1.27 1.27)))) + (number "M12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PR65A" + (effects + (font + (size 1.27 1.27)))) + (number "R12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PR62D" + (effects + (font + (size 1.27 1.27)))) + (number "T14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PR62B" + (effects + (font + (size 1.27 1.27)))) + (number "R14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PR62C" + (effects + (font + (size 1.27 1.27)))) + (number "R13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PR62A" + (effects + (font + (size 1.27 1.27)))) + (number "P13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PR59D" + (effects + (font + (size 1.27 1.27)))) + (number "T15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PR59B" + (effects + (font + (size 1.27 1.27)))) + (number "P14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PR59C" + (effects + (font + (size 1.27 1.27)))) + (number "R15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PR59A" + (effects + (font + (size 1.27 1.27)))) + (number "N13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PR44D" + (effects + (font + (size 1.27 1.27)))) + (number "N14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PR44B/VREF1_3" + (effects + (font + (size 1.27 1.27)))) + (number "R16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PR44C" + (effects + (font + (size 1.27 1.27)))) + (number "M13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PR44A" + (effects + (font + (size 1.27 1.27)))) + (number "P16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PR41D" + (effects + (font + (size 1.27 1.27)))) + (number "M14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PR41B" + (effects + (font + (size 1.27 1.27)))) + (number "P15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PR41C" + (effects + (font + (size 1.27 1.27)))) + (number "L14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PR41A" + (effects + (font + (size 1.27 1.27)))) + (number "N16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PR38D" + (effects + (font + (size 1.27 1.27)))) + (number "L12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PR38B" + (effects + (font + (size 1.27 1.27)))) + (number "K12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PR38C/GR_PCLK3_1" + (effects + (font + (size 1.27 1.27)))) + (number "L13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PR38A/GR_PCLK3_0" + (effects + (font + (size 1.27 1.27)))) + (number "K13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PR35D/PCLKC3_0" + (effects + (font + (size 1.27 1.27)))) + (number "M15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PR35B/PCLKC3_1" + (effects + (font + (size 1.27 1.27)))) + (number "L15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PR35C/PCLKT3_0" + (effects + (font + (size 1.27 1.27)))) + (number "M16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PR35A/PCLKT3_1" + (effects + (font + (size 1.27 1.27)))) + (number "L16" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO3" + (effects + (font + (size 1.27 1.27)))) + (number "K11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO3" + (effects + (font + (size 1.27 1.27)))) + (number "L11" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_5_1" + (unit_name Bank6) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PL35A/PCLKT6_1" + (effects + (font + (size 1.27 1.27)))) + (number "L1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PL35C/PCLKT6_0" + (effects + (font + (size 1.27 1.27)))) + (number "M1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PL35B/PCLKC6_1" + (effects + (font + (size 1.27 1.27)))) + (number "L2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PL35D/PCLKC6_0" + (effects + (font + (size 1.27 1.27)))) + (number "M2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PL38A/GR_PCLK6_0" + (effects + (font + (size 1.27 1.27)))) + (number "K4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PL38C/GR_PCLK6_1" + (effects + (font + (size 1.27 1.27)))) + (number "L4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PL38B" + (effects + (font + (size 1.27 1.27)))) + (number "K5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PL38D" + (effects + (font + (size 1.27 1.27)))) + (number "L5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PL41A" + (effects + (font + (size 1.27 1.27)))) + (number "N1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PL41C" + (effects + (font + (size 1.27 1.27)))) + (number "L3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PL41B" + (effects + (font + (size 1.27 1.27)))) + (number "P2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PL41D" + (effects + (font + (size 1.27 1.27)))) + (number "M3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PL44A" + (effects + (font + (size 1.27 1.27)))) + (number "P1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PL44C" + (effects + (font + (size 1.27 1.27)))) + (number "M4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PL44B/VREF1_6" + (effects + (font + (size 1.27 1.27)))) + (number "R1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PL44D" + (effects + (font + (size 1.27 1.27)))) + (number "N3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PL59A" + (effects + (font + (size 1.27 1.27)))) + (number "N4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PL59C" + (effects + (font + (size 1.27 1.27)))) + (number "R2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PL59B" + (effects + (font + (size 1.27 1.27)))) + (number "P3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PL59D" + (effects + (font + (size 1.27 1.27)))) + (number "T2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PL62A" + (effects + (font + (size 1.27 1.27)))) + (number "P4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PL62C" + (effects + (font + (size 1.27 1.27)))) + (number "R4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PL62B" + (effects + (font + (size 1.27 1.27)))) + (number "R3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PL62D" + (effects + (font + (size 1.27 1.27)))) + (number "T3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PL65A" + (effects + (font + (size 1.27 1.27)))) + (number "R5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PL65C" + (effects + (font + (size 1.27 1.27)))) + (number "M5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PL65B" + (effects + (font + (size 1.27 1.27)))) + (number "T4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PL65D" + (effects + (font + (size 1.27 1.27)))) + (number "N5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PL68A" + (effects + (font + (size 1.27 1.27)))) + (number "M6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PL68B" + (effects + (font + (size 1.27 1.27)))) + (number "N6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PL68C/LLC_GPLL0T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PL68D/LLC_GPLL0C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P5" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO6" + (effects + (font + (size 1.27 1.27)))) + (number "J7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO6" + (effects + (font + (size 1.27 1.27)))) + (number "J6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_6_1" + (unit_name Bank7) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PL11A/ULC_GPLL0T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PL11B/ULC_GPLL0C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PL11C" + (effects + (font + (size 1.27 1.27)))) + (number "C3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PL11D" + (effects + (font + (size 1.27 1.27)))) + (number "D3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PL14A" + (effects + (font + (size 1.27 1.27)))) + (number "C1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PL14C" + (effects + (font + (size 1.27 1.27)))) + (number "E3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PL14B" + (effects + (font + (size 1.27 1.27)))) + (number "C2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PL14D" + (effects + (font + (size 1.27 1.27)))) + (number "F3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PL17A" + (effects + (font + (size 1.27 1.27)))) + (number "D1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PL17C" + (effects + (font + (size 1.27 1.27)))) + (number "F4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PL17B" + (effects + (font + (size 1.27 1.27)))) + (number "E2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PL17D" + (effects + (font + (size 1.27 1.27)))) + (number "F5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PL20A" + (effects + (font + (size 1.27 1.27)))) + (number "G5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PL20C" + (effects + (font + (size 1.27 1.27)))) + (number "F2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PL20B" + (effects + (font + (size 1.27 1.27)))) + (number "G4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PL20D" + (effects + (font + (size 1.27 1.27)))) + (number "E1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PL23A" + (effects + (font + (size 1.27 1.27)))) + (number "F1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PL23C/VREF1_7" + (effects + (font + (size 1.27 1.27)))) + (number "G3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PL23B" + (effects + (font + (size 1.27 1.27)))) + (number "G2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PL23D" + (effects + (font + (size 1.27 1.27)))) + (number "H3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PL26A" + (effects + (font + (size 1.27 1.27)))) + (number "H5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PL26C" + (effects + (font + (size 1.27 1.27)))) + (number "J4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PL26B" + (effects + (font + (size 1.27 1.27)))) + (number "H4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PL26D" + (effects + (font + (size 1.27 1.27)))) + (number "J5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PL29A/GR_PCLK7_1" + (effects + (font + (size 1.27 1.27)))) + (number "G1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PL29C/GR_PCLK7_0" + (effects + (font + (size 1.27 1.27)))) + (number "J3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PL29B" + (effects + (font + (size 1.27 1.27)))) + (number "H2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PL29D" + (effects + (font + (size 1.27 1.27)))) + (number "K3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PL32A/PCLKT7_1" + (effects + (font + (size 1.27 1.27)))) + (number "J1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PL32C/PCLKT7_0" + (effects + (font + (size 1.27 1.27)))) + (number "K1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PL32B/PCLKC7_1" + (effects + (font + (size 1.27 1.27)))) + (number "J2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PL32D/PCLKC7_0" + (effects + (font + (size 1.27 1.27)))) + (number "K2" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO7" + (effects + (font + (size 1.27 1.27)))) + (number "H7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO7" + (effects + (font + (size 1.27 1.27)))) + (number "H6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_7_1" + (unit_name Bank8) + (rectangle + (start -36.83 -17.78) + (end 36.83 17.78) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -43.18 7.62 0) (length 6.35) + (name "PB4A/D7/IO7" + (effects + (font + (size 1.27 1.27)))) + (number "T6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 5.08 0) (length 6.35) + (name "PB6A/D5/MISO2/IO5" + (effects + (font + (size 1.27 1.27)))) + (number "R7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 2.54 0) (length 6.35) + (name "PB4B/D6/IO6" + (effects + (font + (size 1.27 1.27)))) + (number "R6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 0 0) (length 6.35) + (name "PB6B/D4/MOSI2/IO4" + (effects + (font + (size 1.27 1.27)))) + (number "P7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 -2.54 0) (length 6.35) + (name "PB9A/D3/IO3" + (effects + (font + (size 1.27 1.27)))) + (number "N7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 -5.08 0) (length 6.35) + (name "PB11A/D1/MISO/IO1" + (effects + (font + (size 1.27 1.27)))) + (number "T7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 -7.62 0) (length 6.35) + (name "PB9B/D2/IO2" + (effects + (font + (size 1.27 1.27)))) + (number "M7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 7.62 180) (length 6.35) + (name "PB11B/D0/MOSI/IO0" + (effects + (font + (size 1.27 1.27)))) + (number "T8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 5.08 180) (length 6.35) + (name "PB13A/SN/CSN" + (effects + (font + (size 1.27 1.27)))) + (number "R8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 2.54 180) (length 6.35) + (name "PB15A/HOLDN/DI/BUSY/CSSPIN/CEN" + (effects + (font + (size 1.27 1.27)))) + (number "N8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 0 180) (length 6.35) + (name "PB13B/CS1N" + (effects + (font + (size 1.27 1.27)))) + (number "P8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 -2.54 180) (length 6.35) + (name "PB15B/DOUT/CSON" + (effects + (font + (size 1.27 1.27)))) + (number "M8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 -5.08 180) (length 6.35) + (name "PB18A/WRITEN" + (effects + (font + (size 1.27 1.27)))) + (number "M9" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 25.4 270) (length 7.62) + (name "VCCIO8" + (effects + (font + (size 1.27 1.27)))) + (number "L6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_8_1" + (unit_name Config) + (rectangle + (start -17.78 -10.16) + (end 17.78 10.16) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin open_collector line (at -25.4 7.62 0) (length 7.62) + (name "~{INITN}" + (effects + (font + (size 1.27 1.27)))) + (number "T9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -25.4 5.08 0) (length 7.62) + (name "CCLK/MCLK/SCK" + (effects + (font + (size 1.27 1.27)))) + (number "N9" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 2.54 0) (length 7.62) + (name "~{PROGRAMN}" + (effects + (font + (size 1.27 1.27)))) + (number "R9" + (effects + (font + (size 1.27 1.27))))) + (pin open_collector line (at -25.4 0 0) (length 7.62) + (name "DONE" + (effects + (font + (size 1.27 1.27)))) + (number "P9" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 -2.54 0) (length 7.62) + (name "CFG_1" + (effects + (font + (size 1.27 1.27)))) + (number "P10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 -5.08 0) (length 7.62) + (name "CFG_2" + (effects + (font + (size 1.27 1.27)))) + (number "R10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 -7.62 0) (length 7.62) + (name "CFG_0" + (effects + (font + (size 1.27 1.27)))) + (number "N10" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 25.4 5.08 180) (length 7.62) + (name "TDO" + (effects + (font + (size 1.27 1.27)))) + (number "M10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 25.4 2.54 180) (length 7.62) + (name "TCK" + (effects + (font + (size 1.27 1.27)))) + (number "T10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 25.4 0 180) (length 7.62) + (name "TDI" + (effects + (font + (size 1.27 1.27)))) + (number "R11" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 25.4 -2.54 180) (length 7.62) + (name "TMS" + (effects + (font + (size 1.27 1.27)))) + (number "T11" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-45F-xBG256x_9_1" + (unit_name Power) + (rectangle + (start -3.81 -10.16) + (end 3.81 10.16) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin power_in line (at 0 17.78 270) (length 7.62) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "L10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "G9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "L9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "L8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "G7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "G6" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 2.54 17.78 270) (length 7.62) + (name "VCCAUX" + (effects + (font + (size 1.27 1.27)))) + (number "G11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 2.54 17.78 270) (length 7.62) + (hide yes) + (name "VCCAUX" + (effects + (font + (size 1.27 1.27)))) + (number "L7" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 -17.78 90) (length 7.62) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "A16" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H16" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T16" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "D15" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "N15" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T12" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "G10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "J10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "F9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "J9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "F8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "G8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "J8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K6" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T5" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "D2" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "N2" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "A1" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H1" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T1" + (effects + (font + (size 1.27 1.27)))))) + (embedded_fonts no)) + (symbol "LFE5U-25F-xBG256x" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at -36.83 33.02 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Value" "LFE5U-25F-xBG256x" + (at -36.83 30.480000000000004 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide no))) + (property "Footprint" "Package_BGA:BGA-256_14.0x14.0mm_Layout16x16_P0.8mm_Ball0.45mm_Pad0.32mm_NSMD" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Datasheet" "https://www.latticesemi.com/view_document?document_id=50461" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (property "Description" "ECP5 FPGA, 24K LUTs, 1.1V core, CABGA256" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_keywords" "FPGA programmable logic Lattice ECP5" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_locked" "" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "ki_fp_filters" "BGA*256*14.0x14.0mm*P0.8mm*" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify left) + (hide yes))) + (property "Source" "Lattice pinout CSV FPGA-SC-02033-2-0-ECP5U-25-Pinout.csv, package CABGA256" + (at -36.83 29.845000000000002 0) + (effects + (font + (size 1.27 1.27)) + (justify right) + (hide yes))) + (symbol "LFE5U-25F-xBG256x_1_1" + (unit_name Bank0) + (rectangle + (start -22.86 -24.13) + (end 22.86 24.13) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 15.24 0) (length 7.62) + (name "PT29B/PCLKC0_0" + (effects + (font + (size 1.27 1.27)))) + (number "A8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 7.62) + (name "PT27B/PCLKC0_1" + (effects + (font + (size 1.27 1.27)))) + (number "B7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 7.62) + (name "PT29A/PCLKT0_0" + (effects + (font + (size 1.27 1.27)))) + (number "A7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 7.62) + (name "PT27A/PCLKT0_1" + (effects + (font + (size 1.27 1.27)))) + (number "C7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 7.62) + (name "PT24B/GR_PCLK0_0" + (effects + (font + (size 1.27 1.27)))) + (number "D7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 7.62) + (name "PT22B" + (effects + (font + (size 1.27 1.27)))) + (number "B6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 7.62) + (name "PT24A/GR_PCLK0_1" + (effects + (font + (size 1.27 1.27)))) + (number "E7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 7.62) + (name "PT22A" + (effects + (font + (size 1.27 1.27)))) + (number "C6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 7.62) + (name "PT20B" + (effects + (font + (size 1.27 1.27)))) + (number "D6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 7.62) + (name "PT18B" + (effects + (font + (size 1.27 1.27)))) + (number "A6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 7.62) + (name "PT20A" + (effects + (font + (size 1.27 1.27)))) + (number "E6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 7.62) + (name "PT18A" + (effects + (font + (size 1.27 1.27)))) + (number "A5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 7.62) + (name "PT15B" + (effects + (font + (size 1.27 1.27)))) + (number "B5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 7.62) + (name "PT13B" + (effects + (font + (size 1.27 1.27)))) + (number "D5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 7.62) + (name "PT15A" + (effects + (font + (size 1.27 1.27)))) + (number "C5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 7.62) + (name "PT13A" + (effects + (font + (size 1.27 1.27)))) + (number "E5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 7.62) + (name "PT11B" + (effects + (font + (size 1.27 1.27)))) + (number "B4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 7.62) + (name "PT9B" + (effects + (font + (size 1.27 1.27)))) + (number "D4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 7.62) + (name "PT11A" + (effects + (font + (size 1.27 1.27)))) + (number "C4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 7.62) + (name "PT9A" + (effects + (font + (size 1.27 1.27)))) + (number "E4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 7.62) + (name "PT6B" + (effects + (font + (size 1.27 1.27)))) + (number "A4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 7.62) + (name "PT4B" + (effects + (font + (size 1.27 1.27)))) + (number "B3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 7.62) + (name "PT6A" + (effects + (font + (size 1.27 1.27)))) + (number "A3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 7.62) + (name "PT4A" + (effects + (font + (size 1.27 1.27)))) + (number "A2" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 30.48 270) (length 6.35) + (name "VCCIO0" + (effects + (font + (size 1.27 1.27)))) + (number "F7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 30.48 270) (length 6.35) + (hide yes) + (name "VCCIO0" + (effects + (font + (size 1.27 1.27)))) + (number "F6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_2_1" + (unit_name Bank1) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PT67B" + (effects + (font + (size 1.27 1.27)))) + (number "A15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PT65B" + (effects + (font + (size 1.27 1.27)))) + (number "A14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PT67A" + (effects + (font + (size 1.27 1.27)))) + (number "B14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PT65A" + (effects + (font + (size 1.27 1.27)))) + (number "A13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PT62B" + (effects + (font + (size 1.27 1.27)))) + (number "E13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PT60B" + (effects + (font + (size 1.27 1.27)))) + (number "C13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PT62A" + (effects + (font + (size 1.27 1.27)))) + (number "D13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PT60A" + (effects + (font + (size 1.27 1.27)))) + (number "B13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PT58B" + (effects + (font + (size 1.27 1.27)))) + (number "E12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PT56B" + (effects + (font + (size 1.27 1.27)))) + (number "C12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PT58A" + (effects + (font + (size 1.27 1.27)))) + (number "D12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PT56A" + (effects + (font + (size 1.27 1.27)))) + (number "B12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PT53B" + (effects + (font + (size 1.27 1.27)))) + (number "A12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PT51B" + (effects + (font + (size 1.27 1.27)))) + (number "E11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PT53A" + (effects + (font + (size 1.27 1.27)))) + (number "A11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PT51A" + (effects + (font + (size 1.27 1.27)))) + (number "D11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PT49B" + (effects + (font + (size 1.27 1.27)))) + (number "C11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PT47B" + (effects + (font + (size 1.27 1.27)))) + (number "E10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PT49A" + (effects + (font + (size 1.27 1.27)))) + (number "B11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PT47A" + (effects + (font + (size 1.27 1.27)))) + (number "D10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PT44B" + (effects + (font + (size 1.27 1.27)))) + (number "C10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PT42B" + (effects + (font + (size 1.27 1.27)))) + (number "A10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PT44A" + (effects + (font + (size 1.27 1.27)))) + (number "B10" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PT42A" + (effects + (font + (size 1.27 1.27)))) + (number "A9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PT40B" + (effects + (font + (size 1.27 1.27)))) + (number "E9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PT38B/GR_PCLK1_1" + (effects + (font + (size 1.27 1.27)))) + (number "C9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PT40A" + (effects + (font + (size 1.27 1.27)))) + (number "D9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PT38A/GR_PCLK1_0" + (effects + (font + (size 1.27 1.27)))) + (number "B9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PT35B/PCLKC1_0" + (effects + (font + (size 1.27 1.27)))) + (number "B8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PT33B/PCLKC1_1" + (effects + (font + (size 1.27 1.27)))) + (number "D8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PT35A/PCLKT1_0" + (effects + (font + (size 1.27 1.27)))) + (number "C8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PT33A/PCLKT1_1" + (effects + (font + (size 1.27 1.27)))) + (number "E8" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO1" + (effects + (font + (size 1.27 1.27)))) + (number "F11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO1" + (effects + (font + (size 1.27 1.27)))) + (number "F10" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_3_1" + (unit_name Bank2) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PR23D/PCLKC2_0" + (effects + (font + (size 1.27 1.27)))) + (number "K15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PR23B/PCLKC2_1" + (effects + (font + (size 1.27 1.27)))) + (number "J15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PR23C/PCLKT2_0" + (effects + (font + (size 1.27 1.27)))) + (number "K16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PR23A/PCLKT2_1" + (effects + (font + (size 1.27 1.27)))) + (number "J16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PR20D" + (effects + (font + (size 1.27 1.27)))) + (number "K14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PR20B" + (effects + (font + (size 1.27 1.27)))) + (number "H15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PR20C/GR_PCLK2_0" + (effects + (font + (size 1.27 1.27)))) + (number "J14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PR20A/GR_PCLK2_1" + (effects + (font + (size 1.27 1.27)))) + (number "G16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PR17D" + (effects + (font + (size 1.27 1.27)))) + (number "J12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PR17B" + (effects + (font + (size 1.27 1.27)))) + (number "H13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PR17C" + (effects + (font + (size 1.27 1.27)))) + (number "J13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PR17A" + (effects + (font + (size 1.27 1.27)))) + (number "H12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PR14D" + (effects + (font + (size 1.27 1.27)))) + (number "H14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PR14B" + (effects + (font + (size 1.27 1.27)))) + (number "G15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PR14C/VREF1_2" + (effects + (font + (size 1.27 1.27)))) + (number "G14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PR14A" + (effects + (font + (size 1.27 1.27)))) + (number "F16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PR11D" + (effects + (font + (size 1.27 1.27)))) + (number "E16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PR11B" + (effects + (font + (size 1.27 1.27)))) + (number "G13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PR11C" + (effects + (font + (size 1.27 1.27)))) + (number "F15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PR11A" + (effects + (font + (size 1.27 1.27)))) + (number "G12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PR8D" + (effects + (font + (size 1.27 1.27)))) + (number "F12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PR8B" + (effects + (font + (size 1.27 1.27)))) + (number "E15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PR8C" + (effects + (font + (size 1.27 1.27)))) + (number "F13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PR8A" + (effects + (font + (size 1.27 1.27)))) + (number "D16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PR5D" + (effects + (font + (size 1.27 1.27)))) + (number "F14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PR5B" + (effects + (font + (size 1.27 1.27)))) + (number "C15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PR5C" + (effects + (font + (size 1.27 1.27)))) + (number "E14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PR5A" + (effects + (font + (size 1.27 1.27)))) + (number "C16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PR2D" + (effects + (font + (size 1.27 1.27)))) + (number "D14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PR2C" + (effects + (font + (size 1.27 1.27)))) + (number "C14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PR2B/S0_IN" + (effects + (font + (size 1.27 1.27)))) + (number "B15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PR2A" + (effects + (font + (size 1.27 1.27)))) + (number "B16" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO2" + (effects + (font + (size 1.27 1.27)))) + (number "H11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO2" + (effects + (font + (size 1.27 1.27)))) + (number "J11" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_4_1" + (unit_name Bank3) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PR47D/LRC_GPLL0C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PR47C/LRC_GPLL0T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PR47B" + (effects + (font + (size 1.27 1.27)))) + (number "N11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PR47A" + (effects + (font + (size 1.27 1.27)))) + (number "M11" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PR44D" + (effects + (font + (size 1.27 1.27)))) + (number "N12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PR44B" + (effects + (font + (size 1.27 1.27)))) + (number "T13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PR44C" + (effects + (font + (size 1.27 1.27)))) + (number "M12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PR44A" + (effects + (font + (size 1.27 1.27)))) + (number "R12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PR41D" + (effects + (font + (size 1.27 1.27)))) + (number "T14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PR41B" + (effects + (font + (size 1.27 1.27)))) + (number "R14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PR41C" + (effects + (font + (size 1.27 1.27)))) + (number "R13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PR41A" + (effects + (font + (size 1.27 1.27)))) + (number "P13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PR38D" + (effects + (font + (size 1.27 1.27)))) + (number "T15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PR38B" + (effects + (font + (size 1.27 1.27)))) + (number "P14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PR38C" + (effects + (font + (size 1.27 1.27)))) + (number "R15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PR38A" + (effects + (font + (size 1.27 1.27)))) + (number "N13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PR35D" + (effects + (font + (size 1.27 1.27)))) + (number "N14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PR35B/VREF1_3" + (effects + (font + (size 1.27 1.27)))) + (number "R16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PR35C" + (effects + (font + (size 1.27 1.27)))) + (number "M13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PR35A" + (effects + (font + (size 1.27 1.27)))) + (number "P16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PR32D" + (effects + (font + (size 1.27 1.27)))) + (number "M14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PR32B" + (effects + (font + (size 1.27 1.27)))) + (number "P15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PR32C" + (effects + (font + (size 1.27 1.27)))) + (number "L14" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PR32A" + (effects + (font + (size 1.27 1.27)))) + (number "N16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PR29D" + (effects + (font + (size 1.27 1.27)))) + (number "L12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PR29B" + (effects + (font + (size 1.27 1.27)))) + (number "K12" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PR29C/GR_PCLK3_1" + (effects + (font + (size 1.27 1.27)))) + (number "L13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PR29A/GR_PCLK3_0" + (effects + (font + (size 1.27 1.27)))) + (number "K13" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PR26D/PCLKC3_0" + (effects + (font + (size 1.27 1.27)))) + (number "M15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PR26B/PCLKC3_1" + (effects + (font + (size 1.27 1.27)))) + (number "L15" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PR26C/PCLKT3_0" + (effects + (font + (size 1.27 1.27)))) + (number "M16" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PR26A/PCLKT3_1" + (effects + (font + (size 1.27 1.27)))) + (number "L16" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO3" + (effects + (font + (size 1.27 1.27)))) + (number "K11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO3" + (effects + (font + (size 1.27 1.27)))) + (number "L11" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_5_1" + (unit_name Bank6) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PL26A/PCLKT6_1" + (effects + (font + (size 1.27 1.27)))) + (number "L1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PL26C/PCLKT6_0" + (effects + (font + (size 1.27 1.27)))) + (number "M1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PL26B/PCLKC6_1" + (effects + (font + (size 1.27 1.27)))) + (number "L2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PL26D/PCLKC6_0" + (effects + (font + (size 1.27 1.27)))) + (number "M2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PL29A/GR_PCLK6_0" + (effects + (font + (size 1.27 1.27)))) + (number "K4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PL29C/GR_PCLK6_1" + (effects + (font + (size 1.27 1.27)))) + (number "L4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PL29B" + (effects + (font + (size 1.27 1.27)))) + (number "K5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PL29D" + (effects + (font + (size 1.27 1.27)))) + (number "L5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PL32A" + (effects + (font + (size 1.27 1.27)))) + (number "N1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PL32C" + (effects + (font + (size 1.27 1.27)))) + (number "L3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PL32B" + (effects + (font + (size 1.27 1.27)))) + (number "P2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PL32D" + (effects + (font + (size 1.27 1.27)))) + (number "M3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PL35A" + (effects + (font + (size 1.27 1.27)))) + (number "P1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PL35C" + (effects + (font + (size 1.27 1.27)))) + (number "M4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PL35B/VREF1_6" + (effects + (font + (size 1.27 1.27)))) + (number "R1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PL35D" + (effects + (font + (size 1.27 1.27)))) + (number "N3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PL38A" + (effects + (font + (size 1.27 1.27)))) + (number "N4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PL38C" + (effects + (font + (size 1.27 1.27)))) + (number "R2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PL38B" + (effects + (font + (size 1.27 1.27)))) + (number "P3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PL38D" + (effects + (font + (size 1.27 1.27)))) + (number "T2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PL41A" + (effects + (font + (size 1.27 1.27)))) + (number "P4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PL41C" + (effects + (font + (size 1.27 1.27)))) + (number "R4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PL41B" + (effects + (font + (size 1.27 1.27)))) + (number "R3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PL41D" + (effects + (font + (size 1.27 1.27)))) + (number "T3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PL44A" + (effects + (font + (size 1.27 1.27)))) + (number "R5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PL44C" + (effects + (font + (size 1.27 1.27)))) + (number "M5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PL44B" + (effects + (font + (size 1.27 1.27)))) + (number "T4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PL44D" + (effects + (font + (size 1.27 1.27)))) + (number "N5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PL47A" + (effects + (font + (size 1.27 1.27)))) + (number "M6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PL47B" + (effects + (font + (size 1.27 1.27)))) + (number "N6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PL47C/LLC_GPLL0T_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PL47D/LLC_GPLL0C_IN" + (effects + (font + (size 1.27 1.27)))) + (number "P5" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO6" + (effects + (font + (size 1.27 1.27)))) + (number "J7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO6" + (effects + (font + (size 1.27 1.27)))) + (number "J6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_6_1" + (unit_name Bank7) + (rectangle + (start -24.13 -29.21) + (end 24.13 29.21) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -30.48 20.32 0) (length 6.35) + (name "PL2A" + (effects + (font + (size 1.27 1.27)))) + (number "B1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 17.78 0) (length 6.35) + (name "PL2B" + (effects + (font + (size 1.27 1.27)))) + (number "B2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 15.24 0) (length 6.35) + (name "PL2C" + (effects + (font + (size 1.27 1.27)))) + (number "C3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 12.7 0) (length 6.35) + (name "PL2D" + (effects + (font + (size 1.27 1.27)))) + (number "D3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 10.16 0) (length 6.35) + (name "PL5A" + (effects + (font + (size 1.27 1.27)))) + (number "C1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 7.62 0) (length 6.35) + (name "PL5C" + (effects + (font + (size 1.27 1.27)))) + (number "E3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 5.08 0) (length 6.35) + (name "PL5B" + (effects + (font + (size 1.27 1.27)))) + (number "C2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 2.54 0) (length 6.35) + (name "PL5D" + (effects + (font + (size 1.27 1.27)))) + (number "F3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 0 0) (length 6.35) + (name "PL8A" + (effects + (font + (size 1.27 1.27)))) + (number "D1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -2.54 0) (length 6.35) + (name "PL8C" + (effects + (font + (size 1.27 1.27)))) + (number "F4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -5.08 0) (length 6.35) + (name "PL8B" + (effects + (font + (size 1.27 1.27)))) + (number "E2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -7.62 0) (length 6.35) + (name "PL8D" + (effects + (font + (size 1.27 1.27)))) + (number "F5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -10.16 0) (length 6.35) + (name "PL11A" + (effects + (font + (size 1.27 1.27)))) + (number "G5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -12.7 0) (length 6.35) + (name "PL11C" + (effects + (font + (size 1.27 1.27)))) + (number "F2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -15.24 0) (length 6.35) + (name "PL11B" + (effects + (font + (size 1.27 1.27)))) + (number "G4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -30.48 -17.78 0) (length 6.35) + (name "PL11D" + (effects + (font + (size 1.27 1.27)))) + (number "E1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 20.32 180) (length 6.35) + (name "PL14A" + (effects + (font + (size 1.27 1.27)))) + (number "F1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 17.78 180) (length 6.35) + (name "PL14C/VREF1_7" + (effects + (font + (size 1.27 1.27)))) + (number "G3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 15.24 180) (length 6.35) + (name "PL14B" + (effects + (font + (size 1.27 1.27)))) + (number "G2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 12.7 180) (length 6.35) + (name "PL14D" + (effects + (font + (size 1.27 1.27)))) + (number "H3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 10.16 180) (length 6.35) + (name "PL17A" + (effects + (font + (size 1.27 1.27)))) + (number "H5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 7.62 180) (length 6.35) + (name "PL17C" + (effects + (font + (size 1.27 1.27)))) + (number "J4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 5.08 180) (length 6.35) + (name "PL17B" + (effects + (font + (size 1.27 1.27)))) + (number "H4" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 2.54 180) (length 6.35) + (name "PL17D" + (effects + (font + (size 1.27 1.27)))) + (number "J5" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 0 180) (length 6.35) + (name "PL20A/GR_PCLK7_1" + (effects + (font + (size 1.27 1.27)))) + (number "G1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -2.54 180) (length 6.35) + (name "PL20C/GR_PCLK7_0" + (effects + (font + (size 1.27 1.27)))) + (number "J3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -5.08 180) (length 6.35) + (name "PL20B" + (effects + (font + (size 1.27 1.27)))) + (number "H2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -7.62 180) (length 6.35) + (name "PL20D" + (effects + (font + (size 1.27 1.27)))) + (number "K3" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -10.16 180) (length 6.35) + (name "PL23A/PCLKT7_1" + (effects + (font + (size 1.27 1.27)))) + (number "J1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -12.7 180) (length 6.35) + (name "PL23C/PCLKT7_0" + (effects + (font + (size 1.27 1.27)))) + (number "K1" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -15.24 180) (length 6.35) + (name "PL23B/PCLKC7_1" + (effects + (font + (size 1.27 1.27)))) + (number "J2" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 30.48 -17.78 180) (length 6.35) + (name "PL23D/PCLKC7_0" + (effects + (font + (size 1.27 1.27)))) + (number "K2" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 35.56 270) (length 6.35) + (name "VCCIO7" + (effects + (font + (size 1.27 1.27)))) + (number "H7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 35.56 270) (length 6.35) + (hide yes) + (name "VCCIO7" + (effects + (font + (size 1.27 1.27)))) + (number "H6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_7_1" + (unit_name Bank8) + (rectangle + (start -36.83 -17.78) + (end 36.83 17.78) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin bidirectional line (at -43.18 7.62 0) (length 6.35) + (name "PB4A/D7/IO7" + (effects + (font + (size 1.27 1.27)))) + (number "T6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 5.08 0) (length 6.35) + (name "PB6A/D5/MISO2/IO5" + (effects + (font + (size 1.27 1.27)))) + (number "R7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 2.54 0) (length 6.35) + (name "PB4B/D6/IO6" + (effects + (font + (size 1.27 1.27)))) + (number "R6" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 0 0) (length 6.35) + (name "PB6B/D4/MOSI2/IO4" + (effects + (font + (size 1.27 1.27)))) + (number "P7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 -2.54 0) (length 6.35) + (name "PB9A/D3/IO3" + (effects + (font + (size 1.27 1.27)))) + (number "N7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 -5.08 0) (length 6.35) + (name "PB11A/D1/MISO/IO1" + (effects + (font + (size 1.27 1.27)))) + (number "T7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -43.18 -7.62 0) (length 6.35) + (name "PB9B/D2/IO2" + (effects + (font + (size 1.27 1.27)))) + (number "M7" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 7.62 180) (length 6.35) + (name "PB11B/D0/MOSI/IO0" + (effects + (font + (size 1.27 1.27)))) + (number "T8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 5.08 180) (length 6.35) + (name "PB13A/SN/CSN" + (effects + (font + (size 1.27 1.27)))) + (number "R8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 2.54 180) (length 6.35) + (name "PB15A/HOLDN/DI/BUSY/CSSPIN/CEN" + (effects + (font + (size 1.27 1.27)))) + (number "N8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 0 180) (length 6.35) + (name "PB13B/CS1N" + (effects + (font + (size 1.27 1.27)))) + (number "P8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 -2.54 180) (length 6.35) + (name "PB15B/DOUT/CSON" + (effects + (font + (size 1.27 1.27)))) + (number "M8" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at 43.18 -5.08 180) (length 6.35) + (name "PB18A/WRITEN" + (effects + (font + (size 1.27 1.27)))) + (number "M9" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 25.4 270) (length 7.62) + (name "VCCIO8" + (effects + (font + (size 1.27 1.27)))) + (number "L6" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_8_1" + (unit_name Config) + (rectangle + (start -17.78 -10.16) + (end 17.78 10.16) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin open_collector line (at -25.4 7.62 0) (length 7.62) + (name "~{INITN}" + (effects + (font + (size 1.27 1.27)))) + (number "T9" + (effects + (font + (size 1.27 1.27))))) + (pin bidirectional line (at -25.4 5.08 0) (length 7.62) + (name "CCLK/MCLK/SCK" + (effects + (font + (size 1.27 1.27)))) + (number "N9" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 2.54 0) (length 7.62) + (name "~{PROGRAMN}" + (effects + (font + (size 1.27 1.27)))) + (number "R9" + (effects + (font + (size 1.27 1.27))))) + (pin open_collector line (at -25.4 0 0) (length 7.62) + (name "DONE" + (effects + (font + (size 1.27 1.27)))) + (number "P9" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 -2.54 0) (length 7.62) + (name "CFG_1" + (effects + (font + (size 1.27 1.27)))) + (number "P10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 -5.08 0) (length 7.62) + (name "CFG_2" + (effects + (font + (size 1.27 1.27)))) + (number "R10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at -25.4 -7.62 0) (length 7.62) + (name "CFG_0" + (effects + (font + (size 1.27 1.27)))) + (number "N10" + (effects + (font + (size 1.27 1.27))))) + (pin output line (at 25.4 5.08 180) (length 7.62) + (name "TDO" + (effects + (font + (size 1.27 1.27)))) + (number "M10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 25.4 2.54 180) (length 7.62) + (name "TCK" + (effects + (font + (size 1.27 1.27)))) + (number "T10" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 25.4 0 180) (length 7.62) + (name "TDI" + (effects + (font + (size 1.27 1.27)))) + (number "R11" + (effects + (font + (size 1.27 1.27))))) + (pin input line (at 25.4 -2.54 180) (length 7.62) + (name "TMS" + (effects + (font + (size 1.27 1.27)))) + (number "T11" + (effects + (font + (size 1.27 1.27)))))) + (symbol "LFE5U-25F-xBG256x_9_1" + (unit_name Power) + (rectangle + (start -3.81 -10.16) + (end 3.81 10.16) + (stroke + (width 0.254) + (type solid)) + (fill + (type background))) + (pin power_in line (at 0 17.78 270) (length 7.62) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "L10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "G9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "L9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "L8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "G7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 17.78 270) (length 7.62) + (hide yes) + (name "VCC" + (effects + (font + (size 1.27 1.27)))) + (number "G6" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 2.54 17.78 270) (length 7.62) + (name "VCCAUX" + (effects + (font + (size 1.27 1.27)))) + (number "G11" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 2.54 17.78 270) (length 7.62) + (hide yes) + (name "VCCAUX" + (effects + (font + (size 1.27 1.27)))) + (number "L7" + (effects + (font + (size 1.27 1.27))))) + (pin power_in line (at 0 -17.78 90) (length 7.62) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "A16" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H16" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T16" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "D15" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "N15" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T12" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "G10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "J10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K10" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "F9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "J9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K9" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "F8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "G8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "J8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K8" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K7" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "K6" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T5" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "D2" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "N2" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "A1" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "H1" + (effects + (font + (size 1.27 1.27))))) + (pin passive line (at 0 -17.78 90) (length 7.62) + (hide yes) + (name "GND" + (effects + (font + (size 1.27 1.27)))) + (number "T1" + (effects + (font + (size 1.27 1.27)))))) + (embedded_fonts no))) \ No newline at end of file diff --git a/kicad/lib/tools/RJ45_Hanrun_HR911130A_Horizontal.kicad_sym b/kicad/lib/tools/RJ45_Hanrun_HR911130A_Horizontal.kicad_sym new file mode 100644 index 0000000..4d25812 --- /dev/null +++ b/kicad/lib/tools/RJ45_Hanrun_HR911130A_Horizontal.kicad_sym @@ -0,0 +1,2875 @@ +(kicad_symbol_lib + (version 20241209) + (generator "kicad_symbol_editor") + (generator_version "9.0") + (symbol "RJ45_Hanrun_HR911130A_Horizontal" + (pin_names + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "J" + (at -8.89 19.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "RJ45_Hanrun_HR911130A_Horizontal" + (at 13.97 19.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "eboard:RJ45_Hanrun_HR911130A_Horizontal" + (at 0 1.27 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://hrdzen.oss-cn-beijing.aliyuncs.com/202601/1ba07be89265140.pdf" + (at -7.366 -1.397 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (property "Description" "LAN Transformer Jack, RJ45, 10/100/1000 BaseT" + (at 0 -1.27 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "lan jack socket transformer ethernet gigabit 10 100 1000 baset" + (at 0 0 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "RJ45*Hanrun*HR911130A*" + (at 0 0 0) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_0_0" + (circle + (center -5.08 0.762) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -5.08 -6.858) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -5.08 -14.478) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.794 -14.478) (xy -5.08 -14.478) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 10.922) (xy -6.35 10.922) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 9.398) (xy -6.35 9.398) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 3.302) (xy -6.35 3.302) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 1.778) (xy -6.35 1.778) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -4.318) (xy -6.35 -4.318) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -5.842) (xy -6.35 -5.842) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -11.938) (xy -6.35 -11.938) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -13.462) (xy -6.35 -13.462) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 8.382) (xy 2.54 8.382) (xy 2.54 10.16) (xy 3.81 10.16) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 0.762) (xy 2.54 0.762) (xy 2.54 2.54) (xy 3.81 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -6.858) (xy 2.54 -6.858) (xy 2.54 -5.08) (xy 3.81 -5.08) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -14.478) (xy 2.54 -14.478) (xy 2.54 -12.7) (xy 3.81 -12.7) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 2.54) (xy 6.35 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 6.35 10.16) (xy 5.08 10.16) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 6.35 10.16) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 6.35 2.54) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 6.35 -5.08) (xy 5.08 -5.08) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 6.35 -5.08) + (radius 0.0001) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (text "C1" + (at -7.62 11.43 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C2" + (at -7.62 9.144 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C3" + (at -7.62 3.556 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C6" + (at -7.62 1.524 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C4" + (at -7.62 -4.064 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C5" + (at -7.62 -6.096 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C7" + (at -7.62 -11.684 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "C8" + (at -7.62 -13.716 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (text "G" + (at -5.08 15.24 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_0_1" + (rectangle + (start -10.16 17.78) + (end 10.16 -17.78) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (rectangle + (start -8.89 12.446) + (end -6.35 -14.732) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.842 -16.002) (xy -4.318 -16.002) + ) + (stroke + (width 0.3048) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.842 -16.51) (xy -4.318 -16.51) + ) + (stroke + (width 0.3302) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 17.78) (xy -5.08 16.51) (xy -4.318 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 0.762) (xy -2.794 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 -16.002) (xy -5.08 8.382) (xy -2.794 8.382) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 -17.78) (xy -5.08 -15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.556 15.494) (xy -3.556 15.24) (xy -3.81 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.556 15.24) (xy -4.064 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.302 17.018) (xy -3.302 16.002) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.302 16.51) (xy -4.318 17.018) (xy -4.318 16.002) (xy -3.302 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.048 15.494) (xy -3.048 15.24) (xy -3.302 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -3.048 15.24) (xy -3.556 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 7.874) + (end -0.254 8.89) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 0.254) + (end -0.254 1.27) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.794 -6.858) (xy -5.08 -6.858) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 -7.366) + (end -0.254 -6.35) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start -2.794 -14.986) + (end -0.254 -13.97) + (stroke + (width 0.2032) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.54 17.78) (xy -2.54 16.51) (xy -3.302 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 9.906) (xy -0.254 9.906) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 2.286) (xy -0.254 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -5.334) (xy -0.254 -5.334) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.286 -12.954) (xy -0.254 -12.954) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 10.922) + (mid -2.032 10.6691) + (end -2.286 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 9.398) + (mid -2.032 9.6509) + (end -1.778 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 3.302) + (mid -2.032 3.0491) + (end -2.286 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 1.778) + (mid -2.032 2.0309) + (end -1.778 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -4.318) + (mid -2.032 -4.5709) + (end -2.286 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 -5.842) + (mid -2.032 -5.5891) + (end -1.778 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -11.938) + (mid -2.032 -12.1909) + (end -2.286 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -2.286 -13.462) + (mid -2.032 -13.2091) + (end -1.778 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 10.922) + (mid -1.524 10.6691) + (end -1.778 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 9.398) + (mid -1.524 9.6509) + (end -1.27 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 3.302) + (mid -1.524 3.0491) + (end -1.778 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 1.778) + (mid -1.524 2.0309) + (end -1.27 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -4.318) + (mid -1.524 -4.5709) + (end -1.778 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -5.842) + (mid -1.524 -5.5891) + (end -1.27 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -11.938) + (mid -1.524 -12.1909) + (end -1.778 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.778 -13.462) + (mid -1.524 -13.2091) + (end -1.27 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 10.922) + (mid -1.016 10.6691) + (end -1.27 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 9.398) + (mid -1.016 9.6509) + (end -0.762 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 3.302) + (mid -1.016 3.0491) + (end -1.27 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 1.778) + (mid -1.016 2.0309) + (end -0.762 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -4.318) + (mid -1.016 -4.5709) + (end -1.27 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -5.842) + (mid -1.016 -5.5891) + (end -0.762 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -11.938) + (mid -1.016 -12.1909) + (end -1.27 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -1.27 -13.462) + (mid -1.016 -13.2091) + (end -0.762 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 10.9474) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 10.922) + (mid -0.508 10.6691) + (end -0.762 10.922) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 9.398) + (mid -0.508 9.6509) + (end -0.254 9.398) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 9.3726) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.508 3.3274) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 3.302) + (mid -0.508 3.0491) + (end -0.762 3.302) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 1.778) + (mid -0.508 2.0309) + (end -0.254 1.778) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 1.7526) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.508 -4.2926) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 -4.318) + (mid -0.508 -4.5709) + (end -0.762 -4.318) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -5.842) + (mid -0.508 -5.5891) + (end -0.254 -5.842) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 -5.8674) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.508 -11.9126) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start -0.254 -11.938) + (mid -0.508 -12.1909) + (end -0.762 -11.938) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.762 -13.462) + (mid -0.508 -13.2091) + (end -0.254 -13.462) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center -0.508 -13.4874) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy -0.254 10.922) (xy 1.27 10.922) (xy 1.27 12.7) (xy 3.81 12.7) (xy 3.81 12.192) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 10.414) (xy -2.286 10.414) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 3.302) (xy 1.27 3.302) (xy 1.27 5.08) (xy 3.81 5.08) (xy 3.81 4.572) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 2.794) (xy -2.286 2.794) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -4.318) (xy 1.27 -4.318) (xy 1.27 -2.54) (xy 3.81 -2.54) (xy 3.81 -3.048) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -4.826) (xy -2.286 -4.826) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -11.938) (xy 1.27 -11.938) (xy 1.27 -10.16) (xy 3.81 -10.16) (xy 3.81 -10.668) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.254 -12.446) (xy -2.286 -12.446) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 2.54 17.78) (xy 2.54 16.51) (xy 3.302 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 3.7846 11.938) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 9.906) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 4.318) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 2.286) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -3.302) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -5.334) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -10.922) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 3.7846 -12.954) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (arc + (start 3.81 12.192) + (mid 4.063 11.938) + (end 3.81 11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 11.176) + (mid 4.063 10.922) + (end 3.81 10.668) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 10.668) + (mid 4.063 10.414) + (end 3.81 10.16) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 10.16) + (mid 4.063 9.906) + (end 3.81 9.652) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 9.652) + (mid 4.063 9.398) + (end 3.81 9.144) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 8.636) + (mid 4.063 8.382) + (end 3.81 8.128) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 4.572) + (mid 4.063 4.318) + (end 3.81 4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 3.556) + (mid 4.063 3.302) + (end 3.81 3.048) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 3.048) + (mid 4.063 2.794) + (end 3.81 2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 2.54) + (mid 4.063 2.286) + (end 3.81 2.032) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 2.032) + (mid 4.063 1.778) + (end 3.81 1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 1.016) + (mid 4.063 0.762) + (end 3.81 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -3.048) + (mid 4.063 -3.302) + (end 3.81 -3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -4.064) + (mid 4.063 -4.318) + (end 3.81 -4.572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -4.572) + (mid 4.063 -4.826) + (end 3.81 -5.08) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -5.08) + (mid 4.063 -5.334) + (end 3.81 -5.588) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -5.588) + (mid 4.063 -5.842) + (end 3.81 -6.096) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -6.604) + (mid 4.063 -6.858) + (end 3.81 -7.112) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -10.668) + (mid 4.063 -10.922) + (end 3.81 -11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -11.684) + (mid 4.063 -11.938) + (end 3.81 -12.192) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -12.192) + (mid 4.063 -12.446) + (end 3.81 -12.7) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -12.7) + (mid 4.063 -12.954) + (end 3.81 -13.208) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -13.208) + (mid 4.063 -13.462) + (end 3.81 -13.716) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -14.224) + (mid 4.063 -14.478) + (end 3.81 -14.732) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 11.684) + (mid 4.064 11.43) + (end 3.81 11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 9.144) + (mid 4.064 8.89) + (end 3.81 8.636) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 8.128) (xy 3.81 7.62) (xy 1.27 7.62) (xy 1.27 9.398) (xy -0.254 9.398) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 4.064) + (mid 4.064 3.81) + (end 3.81 3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 1.524) + (mid 4.064 1.27) + (end 3.81 1.016) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 0.508) (xy 3.81 0) (xy 1.27 0) (xy 1.27 1.778) (xy -0.254 1.778) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -3.556) + (mid 4.064 -3.81) + (end 3.81 -4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -6.096) + (mid 4.064 -6.35) + (end 3.81 -6.604) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 -7.112) (xy 3.81 -7.62) (xy 1.27 -7.62) (xy 1.27 -5.842) (xy -0.254 -5.842) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -11.176) + (mid 4.064 -11.43) + (end 3.81 -11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 3.81 -13.716) + (mid 4.064 -13.97) + (end 3.81 -14.224) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 -14.732) (xy 3.81 -15.24) (xy 1.27 -15.24) (xy 1.27 -13.462) (xy -0.254 -13.462) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.064 15.494) (xy 4.064 15.24) (xy 3.81 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.064 15.24) (xy 3.556 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 17.018) (xy 4.318 16.002) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 16.51) (xy 3.302 17.018) (xy 3.302 16.002) (xy 4.318 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 12.192) (xy 4.318 8.128) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 4.572) (xy 4.318 0.508) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 -3.048) (xy 4.318 -7.112) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.318 -10.668) (xy 4.318 -14.732) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 15.494) (xy 4.572 15.24) (xy 4.318 15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 15.24) (xy 4.064 15.748) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 8.128) (xy 4.572 12.192) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 0.508) (xy 4.572 4.572) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 -7.112) (xy 4.572 -3.048) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.572 -14.732) (xy 4.572 -10.668) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 17.78) (xy 5.08 16.51) (xy 4.318 16.51) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 12.192) (xy 5.08 12.7) (xy 10.16 12.7) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 11.176) + (mid 4.826 11.43) + (end 5.08 11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 8.636) + (mid 4.826 8.89) + (end 5.08 9.144) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 8.128) (xy 5.08 7.62) (xy 10.16 7.62) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 4.572) (xy 5.08 5.08) (xy 10.16 5.08) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 3.556) + (mid 4.826 3.81) + (end 5.08 4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 1.016) + (mid 4.826 1.27) + (end 5.08 1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 0.508) (xy 5.08 0) (xy 10.16 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -3.048) (xy 5.08 -2.54) (xy 10.16 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -4.064) + (mid 4.826 -3.81) + (end 5.08 -3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -6.604) + (mid 4.826 -6.35) + (end 5.08 -6.096) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -7.112) (xy 5.08 -7.62) (xy 10.16 -7.62) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -10.668) (xy 5.08 -10.16) (xy 10.16 -10.16) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -11.684) + (mid 4.826 -11.43) + (end 5.08 -11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -14.224) + (mid 4.826 -13.97) + (end 5.08 -13.716) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -14.732) (xy 5.08 -15.24) (xy 10.16 -15.24) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 11.684) + (mid 4.827 11.938) + (end 5.08 12.192) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 10.668) + (mid 4.827 10.922) + (end 5.08 11.176) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 10.16) + (mid 4.827 10.414) + (end 5.08 10.668) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 9.652) + (mid 4.827 9.906) + (end 5.08 10.16) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 9.144) + (mid 4.827 9.398) + (end 5.08 9.652) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 8.128) + (mid 4.827 8.382) + (end 5.08 8.636) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 4.064) + (mid 4.827 4.318) + (end 5.08 4.572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 3.048) + (mid 4.827 3.302) + (end 5.08 3.556) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 2.54) + (mid 4.827 2.794) + (end 5.08 3.048) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 2.032) + (mid 4.827 2.286) + (end 5.08 2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 1.524) + (mid 4.827 1.778) + (end 5.08 2.032) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 0.508) + (mid 4.827 0.762) + (end 5.08 1.016) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -3.556) + (mid 4.827 -3.302) + (end 5.08 -3.048) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -4.572) + (mid 4.827 -4.318) + (end 5.08 -4.064) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -5.08) + (mid 4.827 -4.826) + (end 5.08 -4.572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -5.588) + (mid 4.827 -5.334) + (end 5.08 -5.08) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -6.096) + (mid 4.827 -5.842) + (end 5.08 -5.588) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -7.112) + (mid 4.827 -6.858) + (end 5.08 -6.604) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -11.176) + (mid 4.827 -10.922) + (end 5.08 -10.668) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -12.192) + (mid 4.827 -11.938) + (end 5.08 -11.684) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -12.7) + (mid 4.827 -12.446) + (end 5.08 -12.192) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -13.208) + (mid 4.827 -12.954) + (end 5.08 -12.7) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -13.716) + (mid 4.827 -13.462) + (end 5.08 -13.208) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 5.08 -14.732) + (mid 4.827 -14.478) + (end 5.08 -14.224) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 5.1054 11.938) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 9.906) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 4.318) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 2.286) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -3.302) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -5.334) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -10.922) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center 5.1054 -12.954) + (radius 0.0762) + (stroke + (width 0.0254) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 10.16 15.24) (xy 6.35 15.24) (xy 6.35 -12.7) (xy 5.08 -12.7) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (pin power_in line + (at -5.08 -20.32 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_1_0" + (text "75" + (at -1.524 8.382 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + (text "75" + (at -1.524 0.762 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + (text "75" + (at -1.524 -6.858 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + (text "75" + (at -1.524 -14.478 0) + (effects + (font + (size 0.508 0.508) + ) + ) + ) + ) + (symbol "RJ45_Hanrun_HR911130A_Horizontal_1_1" + (text "1000pF 2kV" + (at -3.81 -16.256 0) + (effects + (font + (size 0.635 0.635) + ) + (justify left) + ) + ) + (text "Y" + (at 2.54 15.24 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin passive line + (at 12.7 15.24 180) + (length 2.54) + (name "CT" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 12.7 180) + (length 2.54) + (name "MDI0+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 7.62 180) + (length 2.54) + (name "MDI0-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 5.08 180) + (length 2.54) + (name "MDI1+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -2.54 180) + (length 2.54) + (name "MDI2+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -7.62 180) + (length 2.54) + (name "MDI2-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 0 180) + (length 2.54) + (name "MDI1-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -10.16 180) + (length 2.54) + (name "MDI3+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 12.7 -15.24 180) + (length 2.54) + (name "MDI3-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 20.32 270) + (length 2.54) + (name "LGA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -2.54 20.32 270) + (length 2.54) + (name "LGK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 20.32 270) + (length 2.54) + (name "LYK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 2.54 20.32 270) + (length 2.54) + (name "LYA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -20.32 90) + (length 2.54) + (name "SH" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "SH" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) +) diff --git a/kicad/lib/tools/ch347f.csv b/kicad/lib/tools/ch347f.csv new file mode 100644 index 0000000..ad27b48 --- /dev/null +++ b/kicad/lib/tools/ch347f.csv @@ -0,0 +1,37 @@ +CH347F +Footprint:,Package_DFN_QFN:QFN-28-1EP_4x4mm_P0.4mm_EP2.4x2.4mm_ThermalVias +Datasheet:,https://www.wch-ic.com/downloads/CH347DS1_PDF.html +Description:,"High-speed USB 2.0 to dual UART, I2C, SPI, JTAG, SWD converter, VIO 1.8-3.3V, QFN-28 (datasheet pin 0 = EP = pad 29)" +Source*:,"WCH CH347 datasheet V1.4 (CH347DS1): CH347F pins tables 4-1 to 4-7, pin names from the pinout figure (page 4); EP = datasheet pin 0 = pad 29" +Keywords:,USB UART JTAG SPI I2C SWD converter WCH +Filters:,QFN*28*1EP*4x4mm*P0.4mm* +pin,name,type,side +21,VCC,power_in,top +6,VIO,power_in,top +3,~{RST},input,left +1,XI,input,left +2,XO,output,left +28,UD+,bidirectional,left +27,UD-,bidirectional,left +8,ACT/SRST,output,left +20,GND,power_in,bottom +29,GND,passive,bottom +19,TXD0,output,right +22,RXD0,input,right +18,RTS0/GPIO1,bidirectional,right +17,CTS0/GPIO0,bidirectional,right +10,DTR0/TNOW0/GPIO2,bidirectional,right +4,TXD1,output,right +5,RXD1,input,right +11,CTS1/SCL,bidirectional,right +12,RTS1/SDA,bidirectional,right +7,DTR1/TNOW1/SCS1,bidirectional,right +14,SCK,output,right +13,SCS0,output,right +16,MOSI,output,right +15,MISO,input,right +23,TCK/SWDCLK/GPIO4,output,right +26,TMS/SWDIO/GPIO7,bidirectional,right +25,TDI/GPIO6,output,right +24,TDO/GPIO5,input,right +9,TRST/GPIO3,bidirectional,right diff --git a/kicad/lib/tools/derive_symbol.py b/kicad/lib/tools/derive_symbol.py new file mode 100755 index 0000000..1278128 --- /dev/null +++ b/kicad/lib/tools/derive_symbol.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Add a pin-compatible variant of a symbol to a KiCad symbol library. + +The variant keeps the geometry of the base symbol (every pin number at the +same position), so "Change symbol" in the schematic swaps the two without +breaking wires. Pin names and the description come from the variant's kipart +CSV (as written by lattice2kipart.py). + + derive_symbol.py LIB.kicad_sym BASE_NAME VARIANT.csv > OUT.kicad_sym +""" +import csv +import re +import sys + + +def match_paren(t, i): + depth = 0 + j = i + while True: + c = t[j] + if c == '"': + j += 1 + while t[j] != '"': + j += 2 if t[j] == "\\" else 1 + elif c == "(": + depth += 1 + elif c == ")": + depth -= 1 + if depth == 0: + return j + 1 + j += 1 + + +lib_path, base, var_csv = sys.argv[1:4] +lib = open(lib_path).read() + +rows = list(csv.reader(open(var_csv, newline=""))) +variant = rows[0][0] +props = {r[0][:-1].replace("*", ""): r[1] for r in rows[1:] if r and r[0].endswith(":")} +hdr = next(i for i, r in enumerate(rows) if r and r[0] == "pin") +cols = rows[hdr] +pins = {r[cols.index("pin")]: (r[cols.index("name")], r[cols.index("type")]) + for r in rows[hdr + 1:] if r and r[0]} + +m = re.search(r'\(symbol "' + re.escape(base) + r'"', lib) +start = m.start() +block = lib[start:match_paren(lib, start)] +base_types = {n: t for t, n in re.findall(r'\(pin (\w+) \w+ .*?\(number "([^"]+)"', block, re.S)} + +new = block.replace(f'(symbol "{base}"', f'(symbol "{variant}"', 1) +new = new.replace(f'(symbol "{base}_', f'(symbol "{variant}_') +new = re.sub(r'(\(property "Value" )"[^"]*"', rf'\1"{variant}"', new, count=1) +for key in ("Description", "Source"): + if key in props: + new = re.sub(r'(\(property "' + key + r'" )"[^"]*"', lambda mm: f'{mm.group(1)}"{props[key]}"', + new, count=1) + + +def rename(mm): + num = mm.group(3) + name, typ = pins[num] + if typ != base_types[num] and not (base_types[num] == "passive"): # stacked pins are passive + sys.exit(f"pin {num}: type {typ} differs from {base_types[num]}") + return f'{mm.group(1)}(name "{name}"{mm.group(2)}(number "{num}"' + + +new, n = re.subn(r'(\(pin [^\n]*\n(?:(?!\(pin ).)*?)\(name "[^"]*"(.*?)\(number "([^"]+)"', + rename, new, flags=re.S) +if n != len(pins): + sys.exit(f"renamed {n} pins, variant has {len(pins)}") + +end = match_paren(lib, start) +sys.stdout.write(lib[:end] + "\n " + new + lib[end:]) diff --git a/kicad/lib/tools/kicad_sym_grid.py b/kicad/lib/tools/kicad_sym_grid.py new file mode 100755 index 0000000..de52a8e --- /dev/null +++ b/kicad/lib/tools/kicad_sym_grid.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Snap kipart symbol pins onto the 2.54 mm grid. + +kipart centres each pin column, which puts columns with an even pin count +(and box edges) on a 1.27 mm half grid; it also writes float noise such as +3.55e-15. Pins are moved by half a grid step along their column, and pins +whose end point is off grid are lengthened so the symbol body stays put. + + kicad_sym_grid.py IN.kicad_sym > OUT.kicad_sym +""" +import re +import sys + + +def on_grid(v): + return abs(v / 2.54 - round(v / 2.54)) < 0.004 + + +def fix(m): + kind, x, y, a = m.group(1), float(m.group(2)), float(m.group(3)), m.group(4) + length = float(m.group(5)) + vertical = a in ("90", "270") + if vertical and not on_grid(x): + x += 1.27 + if not vertical and not on_grid(y): + y += 1.27 + if vertical and not on_grid(y): + y += 1.27 if y > 0 else -1.27 + length += 1.27 + if not vertical and not on_grid(x): + x += 1.27 if x > 0 else -1.27 + length += 1.27 + + def f(v): + v = round(v, 4) + return "0" if v == 0 else f"{v:g}" + return f"(pin {kind} (at {f(x)} {f(y)} {a}) (length {f(length)})" + + +text = open(sys.argv[1]).read() +text = re.sub(r"\(pin ([\w ]+?)\s*\(at ([-\d.e+]+) ([-\d.e+]+) (\d+)\)\s*\(length ([\d.]+)\)", + fix, text) +sys.stdout.write(text) diff --git a/kicad/lib/tools/lattice2kipart.py b/kicad/lib/tools/lattice2kipart.py new file mode 100755 index 0000000..3e10074 --- /dev/null +++ b/kicad/lib/tools/lattice2kipart.py @@ -0,0 +1,107 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Convert a Lattice ECP5 pinout CSV into a kipart input CSV. + +Usage: + lattice2kipart.py PINOUT.csv PACKAGE PARTNAME FOOTPRINT LUTS > part.csv + kipart -b -o out.kicad_sym part.csv + +One unit per I/O bank, one unit for configuration/JTAG, one unit for +core/aux power and ground. Dual functions are appended to the pin name +(e.g. PL32A/PCLKT7_1) so clock and config pins are visible in the schematic. +""" +import csv +import os +import re +import sys + +IO_RE = re.compile(r"P[TBLR]\d+[A-D]$") + +# Dedicated pins: name -> (kicad name, type, side, unit) +DEDICATED = { + "PROGRAMN": ("~{PROGRAMN}", "input", "left", "Config"), + "INITN": ("~{INITN}", "open_collector", "left", "Config"), + "DONE": ("DONE", "open_collector", "left", "Config"), + "CCLK": ("CCLK", "bidirectional", "left", "Config"), + "CFG_0": ("CFG_0", "input", "left", "Config"), + "CFG_1": ("CFG_1", "input", "left", "Config"), + "CFG_2": ("CFG_2", "input", "left", "Config"), + "TCK": ("TCK", "input", "right", "Config"), + "TMS": ("TMS", "input", "right", "Config"), + "TDI": ("TDI", "input", "right", "Config"), + "TDO": ("TDO", "output", "right", "Config"), + "VCC": ("VCC", "power_in", "top", "Power"), + "VCCAUX": ("VCCAUX", "power_in", "top", "Power"), + "GND": ("GND", "power_in", "bottom", "Power"), +} + + +def main(): + src, package, part, footprint, luts = sys.argv[1:6] + rows = [r for r in csv.reader(open(src, newline="")) + if r and any(c.strip() for c in r) and not r[0].startswith("#")] + header = rows[0] + pins = [dict(zip(header, r)) for r in rows[1:]] + if package not in header: + sys.exit(f"package {package} not in {header}") + pins = [p for p in pins if p[package].strip() not in ("", "-")] + + # Split each bank's IOs: first half left side, second half right side. + banks = {} + for p in pins: + if IO_RE.match(p["Pin/Ball Function"]): + banks.setdefault(p["Bank"], []).append(p) + side_of = {} + for b, lst in banks.items(): + half = (len(lst) + 1) // 2 + for i, p in enumerate(lst): + side_of[id(p)] = "left" if i < half else "right" + + out = csv.writer(sys.stdout) + out.writerow([part]) + out.writerow(["Footprint:", footprint]) + out.writerow(["Datasheet:", + "https://www.latticesemi.com/view_document?document_id=50461"]) + out.writerow(["Description:", + f"ECP5 FPGA, {luts} LUTs, 1.1V core, {package}"]) + out.writerow(["Source*:", f"Lattice pinout CSV {os.path.basename(src)}, package {package}"]) + out.writerow(["Keywords:", "FPGA programmable logic Lattice ECP5"]) + out.writerow(["Filters:", "BGA*256*14.0x14.0mm*P0.8mm*"]) + out.writerow(["pin", "name", "type", "side", "unit"]) + + rows_out = [] + seen = set() + for p in pins: + ball = p[package].strip() + if ball in seen: + sys.exit(f"duplicate ball {ball}") + seen.add(ball) + func = p["Pin/Ball Function"].strip() + dual = p["Dual Function"].strip() + bank = p["Bank"].strip() + if IO_RE.match(func): + name = func if dual in ("", "-") else f"{func}/{dual}" + rows_out.append([ball, name, "bidirectional", side_of[id(p)], + f"Bank{bank}"]) + elif func.startswith("VCCIO"): + rows_out.append([ball, func, "power_in", "top", f"Bank{bank}"]) + elif func in DEDICATED: + name, typ, side, unit = DEDICATED[func] + if func == "CCLK" and dual not in ("", "-"): + name = f"CCLK/{dual}" + rows_out.append([ball, name, typ, side, unit]) + else: + sys.exit(f"unhandled pin {func} ({ball})") + + # kipart numbers units in order of first appearance: banks ascending, + # then Config, then Power. Pin order inside a unit stays as in the CSV. + def unit_key(unit): + if unit.startswith("Bank"): + return (0, int(unit[4:])) + return (1, ["Config", "Power"].index(unit)) + rows_out.sort(key=lambda r: unit_key(r[4])) + out.writerows(rows_out) + + +if __name__ == "__main__": + main() diff --git a/kicad/lib/tools/make_7seg_fp.py b/kicad/lib/tools/make_7seg_fp.py new file mode 100755 index 0000000..197bdc1 --- /dev/null +++ b/kicad/lib/tools/make_7seg_fp.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: GPL-3.0-or-later +"""Write the footprint for the ARKLED SM410561N 0.56" single digit display. + +Dimensions from the ARKLED specification, page 4/4: body 12.60 x 19.0 mm, +2 x 5 pins on a 2.54 mm pitch, rows 15.24 mm apart, pin diameter 0.51 mm, +pin 1 bottom left (digit upright), numbering counter-clockwise. +Footprint origin = pin 1. + + make_7seg_fp.py OUT.kicad_mod +""" +import sys +import uuid + +NS = uuid.UUID("2f1b6f2e-9a77-4b8e-8f0e-5a3c7e1d2b44") +OUT = sys.argv[1] +W, H, PITCH, ROW = 12.60, 19.0, 2.54, 15.24 +CX, CY = 2 * PITCH, -ROW / 2 # body centre relative to pin 1 + + +def u(*a): + return str(uuid.uuid5(NS, "/".join(map(str, a)))) + + +def f(v): + v = round(v, 4) + return "0" if v == 0 else f"{v:g}" + + +o = ['(footprint "7SegmentLED_0.56in_1Digit_SM410561N"\n\t(version 20241229)\n\t(generator "eboard")\n' + '\t(generator_version "9.0")\n\t(layer "F.Cu")\n' + '\t(descr "0.56 inch single digit 7-segment display, ARKLED SM410561N, ' + 'https://www.lcsc.com/product-detail/C141368.html")\n' + '\t(tags "7 segment LED display 0.56 inch")\n'] + + +def prop(name, val, x, y, layer, hide=False): + o.append(f'\t(property "{name}" "{val}"\n\t\t(at {f(x)} {f(y)} 0)\n\t\t(layer "{layer}")\n' + + ('\t\t(hide yes)\n' if hide else '') + + f'\t\t(uuid "{u("p", name)}")\n\t\t(effects\n\t\t\t(font\n\t\t\t\t(size 1 1)\n' + '\t\t\t\t(thickness 0.15)\n\t\t\t)\n\t\t)\n\t)\n') + + +def line(x1, y1, x2, y2, layer, w): + o.append(f'\t(fp_line\n\t\t(start {f(x1)} {f(y1)})\n\t\t(end {f(x2)} {f(y2)})\n\t\t(stroke\n' + f'\t\t\t(width {w})\n\t\t\t(type solid)\n\t\t)\n\t\t(layer "{layer}")\n' + f'\t\t(uuid "{u("l", layer, x1, y1, x2, y2)}")\n\t)\n') + + +def rect(x1, y1, x2, y2, layer, w): + for a, b in (((x1, y1), (x2, y1)), ((x2, y1), (x2, y2)), ((x2, y2), (x1, y2)), ((x1, y2), (x1, y1))): + line(*a, *b, layer, w) + + +x1, x2, y1, y2 = CX - W / 2, CX + W / 2, CY - H / 2, CY + H / 2 +prop("Reference", "REF**", CX, y1 - 1.5, "F.SilkS") +prop("Value", "SM410561N", CX, y2 + 1.5, "F.Fab") +prop("Datasheet", "https://www.lcsc.com/product-detail/C141368.html", 0, 0, "F.Fab", hide=True) +prop("Description", "0.56 inch single digit 7-segment display", 0, 0, "F.Fab", hide=True) +o.append('\t(attr through_hole)\n') +rect(x1, y1, x2, y2, "F.Fab", 0.1) +rect(x1 - 0.12, y1 - 0.12, x2 + 0.12, y2 + 0.12, "F.SilkS", 0.12) +rect(x1 - 0.5, y1 - 0.5, x2 + 0.5, y2 + 0.5, "F.CrtYd", 0.05) +line(x1 - 0.5, 1.2, x1 - 0.5, -1.2, "F.SilkS", 0.12) # pin 1 marker +o.append(f'\t(fp_text user "${{REFERENCE}}"\n\t\t(at {f(CX)} {f(CY)} 0)\n\t\t(layer "F.Fab")\n' + f'\t\t(uuid "{u("t")}")\n\t\t(effects\n\t\t\t(font\n\t\t\t\t(size 1 1)\n' + '\t\t\t\t(thickness 0.15)\n\t\t\t)\n\t\t)\n\t)\n') +pads = [(n, (n - 1) * PITCH, 0.0) for n in range(1, 6)] + \ + [(n, (10 - n) * PITCH, -ROW) for n in range(6, 11)] +for n, x, y in pads: + shape = "rect" if n == 1 else "circle" + o.append(f'\t(pad "{n}" thru_hole {shape}\n\t\t(at {f(x)} {f(y)})\n\t\t(size 1.5 1.5)\n' + f'\t\t(drill 0.8)\n\t\t(layers "*.Cu" "*.Mask")\n\t\t(remove_unused_layers no)\n' + f'\t\t(uuid "{u("pad", n)}")\n\t)\n') +o.append('\t(embedded_fonts no)\n)\n') +open(OUT, "w").write("".join(o)) +print("wrote", OUT) diff --git a/kicad/lib/tools/make_eboard_lib.sh b/kicad/lib/tools/make_eboard_lib.sh new file mode 100755 index 0000000..1399513 --- /dev/null +++ b/kicad/lib/tools/make_eboard_lib.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-3.0-or-later +# Build kicad/lib/eboard.kicad_sym: +# - symbols generated by kipart from the CSV files in this folder, +# - plus ready-made symbols from the *.kicad_sym files in this folder +# (e.g. the HR911130A symbol from a KiCad library merge request). +# +# kicad/lib/tools/make_eboard_lib.sh +# +# Needs kipart (pipx install kipart). +set -eu +here=$(cd "$(dirname "$0")" && pwd) +command -v kipart >/dev/null 2>&1 || { + echo "kipart not found; install it with: pipx install kipart" >&2 + exit 1 +} +out=$here/../eboard.kicad_sym +tmp=$(mktemp -d) +trap 'rm -rf "$tmp"' EXIT + +kipart -b --bundle-style none -w -o "$tmp/raw.kicad_sym" \ + "$here"/ch347f.csv "$here"/rtl8211f.csv "$here"/sm410561n.csv +python3 -I "$here/kicad_sym_grid.py" "$tmp/raw.kicad_sym" > "$tmp/grid.kicad_sym" + +# append the top-level symbols of the extra libraries +python3 -I - "$tmp/grid.kicad_sym" "$here"/*.kicad_sym > "$out" <<'EOF' +import re, sys + + +def match_paren(t, i): + depth, j = 0, i + while True: + c = t[j] + if c == '"': + j += 1 + while t[j] != '"': + j += 2 if t[j] == "\\" else 1 + elif c == "(": + depth += 1 + elif c == ")": + depth -= 1 + if depth == 0: + return j + 1 + j += 1 + + +base = open(sys.argv[1]).read() +blocks = [] +for path in sys.argv[2:]: + t = open(path).read() + i = t.index("(", 1) + while True: + m = re.compile(r'\(symbol "').search(t, i) + if not m: + break + e = match_paren(t, m.start()) + blocks.append(t[m.start():e]) + i = e +end = base.rstrip().rfind(")") +sys.stdout.write(base[:end] + "".join(" " + b + "\n" for b in blocks) + ")\n") +EOF +echo "wrote $out" diff --git a/kicad/lib/tools/make_ecp5_symbol.sh b/kicad/lib/tools/make_ecp5_symbol.sh new file mode 100755 index 0000000..2495590 --- /dev/null +++ b/kicad/lib/tools/make_ecp5_symbol.sh @@ -0,0 +1,37 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-3.0-or-later +# Generate the LFE5U-25F and LFE5U-45F caBGA256 symbols from the Lattice +# pinout CSVs (FPGA-SC-02033 ECP5U-25, FPGA-SC-02034 ECP5U-45). +# +# kicad/lib/tools/make_ecp5_symbol.sh +# +# Needs kipart (pipx install kipart). +# +# Both parts have the same balls, banks and differential pairs in caBGA256; +# only the pad names and the upper-corner PLL inputs (45F only) differ. +# Writes kicad/lib/eboard_fpga.kicad_sym (overwritten). +set -eu +here=$(cd "$(dirname "$0")" && pwd) +ds=$here/../../../datasheets +command -v kipart >/dev/null 2>&1 || { + echo "kipart not found; install it with: pipx install kipart" >&2 + exit 1 +} +fp=Package_BGA:BGA-256_14.0x14.0mm_Layout16x16_P0.8mm_Ball0.45mm_Pad0.32mm_NSMD +out=$here/../eboard_fpga.kicad_sym +tmp=$(mktemp -d) +trap 'rm -rf "$tmp"' EXIT + +python3 -I "$here/lattice2kipart.py" "$ds/FPGA-SC-02033-2-0-ECP5U-25-Pinout.csv" \ + CABGA256 LFE5U-25F-xBG256x "$fp" 24K > "$tmp/lfe5u25.csv" +python3 -I "$here/lattice2kipart.py" "$ds/FPGA-SC-02034-3-0-ECP5U-45-Pinout.csv" \ + CABGA256 LFE5U-45F-xBG256x "$fp" 44K > "$tmp/lfe5u45.csv" +# kipart names the units after the CSV unit column (Bank0 ... Bank8, Config, Power). +kipart -b --bundle-style none -w -o "$tmp/raw.kicad_sym" "$tmp/lfe5u45.csv" +# put all pin ends on the 2.54 mm grid +python3 -I "$here/kicad_sym_grid.py" "$tmp/raw.kicad_sym" > "$tmp/lfe5u45.kicad_sym" +# 25F: same geometry as the 45F symbol, pin names from the 25F pinout, +# so "Change symbol" swaps the two parts without touching any wire. +python3 -I "$here/derive_symbol.py" "$tmp/lfe5u45.kicad_sym" LFE5U-45F-xBG256x \ + "$tmp/lfe5u25.csv" > "$out" +echo "wrote $out" diff --git a/kicad/lib/tools/rtl8211f.csv b/kicad/lib/tools/rtl8211f.csv new file mode 100644 index 0000000..f25b3c3 --- /dev/null +++ b/kicad/lib/tools/rtl8211f.csv @@ -0,0 +1,49 @@ +RTL8211F-CG +Footprint:,Package_DFN_QFN:QFN-40-1EP_5x5mm_P0.4mm_EP3.6x3.6mm_ThermalVias +Datasheet:,https://www.realtek.com/Product/Index?id=3846 +Description:,"Integrated 10/100/1000M Ethernet transceiver, RGMII, internal 1.0V switching regulator, QFN-40 5x5mm" +Source*:,"Realtek RTL8211F(I)-CG/RTL8211FD(I)-CG datasheet Rev. 1.4: pins section 6 tables 1-9, strap functions table 10; EP = pad 41 (GND)" +Keywords:,Ethernet PHY gigabit RGMII Realtek +Filters:,QFN*40*1EP*5x5mm*P0.4mm* +pin,name,type,side +20,TXC,input,left +19,TXCTL,input,left +18,TXD0,input,left +17,TXD1,input,left +16,TXD2,input,left +15,TXD3,input,left +27,RXC/PHYAD1,output,left +26,RXCTL/PHYAD2,output,left +25,RXD0/RXDLY,output,left +24,RXD1/TXDLY,output,left +23,RXD2/PLLOFF,output,left +22,RXD3/PHYAD0,output,left +13,MDC,input,left +14,MDIO,bidirectional,left +31,INTB/PMEB,open_collector,left +12,~{PHYRSTB},input,left +35,CLKOUT,output,left +1,MDIP0,bidirectional,right +2,MDIN0,bidirectional,right +4,MDIP1,bidirectional,right +5,MDIN1,bidirectional,right +6,MDIP2,bidirectional,right +7,MDIN2,bidirectional,right +9,MDIP3,bidirectional,right +10,MDIN3,bidirectional,right +32,LED0/CFG_EXT,bidirectional,right +33,LED1/CFG_LDO0,bidirectional,right +34,LED2/CFG_LDO1,bidirectional,right +36,XTAL_IN,input,right +37,XTAL_OUT,output,right +39,RSET,passive,right +30,REG_OUT,power_out,right +29,DVDD33,power_in,top +28,DVDD_RG,power_in,top +11,AVDD33,power_in,top +40,AVDD33,power_in,top +21,DVDD10,power_in,top +3,AVDD10,power_in,top +8,AVDD10,power_in,top +38,AVDD10,power_in,top +41,GND,power_in,bottom diff --git a/kicad/lib/tools/sm410561n.csv b/kicad/lib/tools/sm410561n.csv new file mode 100644 index 0000000..80aa2e8 --- /dev/null +++ b/kicad/lib/tools/sm410561n.csv @@ -0,0 +1,18 @@ +SM410561N +Footprint:,eboard:7SegmentLED_0.56in_1Digit_SM410561N +Datasheet:,https://www.lcsc.com/product-detail/C141368.html +Description:,"0.56 inch single digit 7-segment LED display, common anode, red, through hole" +Source*:,"ARKLED SM410561N specification (2011-12-08), page 4/4: segment pinout and dimensions" +Keywords:,7 segment display LED common anode +Filters:,7SegmentLED*0.56in* +pin,name,type,side +7,A,passive,left +6,B,passive,left +4,C,passive,left +2,D,passive,left +1,E,passive,left +9,F,passive,left +10,G,passive,left +5,DP,passive,left +3,CA,passive,top +8,CA,passive,top -- cgit v1.2.3