Initial Ti375 GNSS IMU board design and documentation

This commit is contained in:
2026-08-15 18:09:17 +03:00
commit b706197667
69 changed files with 132859 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
*.csv text eol=lf
*.isf text eol=lf
*.json text eol=lf
*.md text eol=lf
*.py text eol=lf
*.rpt text eol=lf
+30
View File
@@ -0,0 +1,30 @@
# Local tools and Python environments
.tools/
.venv/
venv/
__pycache__/
*.py[cod]
# KiCad local/editor state
*.lck
*.kicad_prl
*-backups/
*.bak
# Local manufacturer documents; links and policy are in references/README.md
references/official/
# Stale/intermediate routed board variants
hardware/board_prerouted.*
hardware/board_plane_stitched.*
hardware/board_power_routed.*
hardware/board_routed.*
# Routing/build workspace. Keep only the current review deliverables.
outputs/*
!outputs/README.md
!outputs/bom.csv
!outputs/jlcpcb_bom.csv
!outputs/erc_final_reset.rpt
!outputs/drc_final_placement.rpt
!outputs/board_final_reset_top.png
+120
View File
@@ -0,0 +1,120 @@
# Ti375 GNSS / IMU FPGA Kartı
Efinix Ti375C529 FPGA, MAX2771 GNSS alıcısı, Murata SCH16T-K01 IMU ve FT4232H
USB debug arayüzünü tek kartta birleştiren 8 katmanlı KiCad 10 tasarımıdır.
> Durum: Şema ve placement günceldir; kart henüz route edilmemiştir. Üretime
> gönderilmeden önce routing, zone fill, final DRC ve üretim dosyası kontrolü
> tamamlanmalıdır.
![Güncel kart görünümü](outputs/board_final_reset_top.png)
## Kartın özeti
| Blok | İçerik |
|---|---|
| FPGA | Efinix Ti375C529, 0.8 mm pitch C529 BGA |
| GNSS | MAX2771, GPS L1/L1C aktif anten girişi, 50 ohm CPWG RF hattı |
| IMU | Murata SCH16T-K01, SafeSPI bağlantısı |
| Debug | FT4232H üzerinden hard JTAG, RISC-V JTAG ve iki UART |
| Genişleme | 4 adet Digilent 2x6 PMOD: 2 x 3.3 V, 2 x 1.8 V |
| Konfigürasyon | 1.8 V QSPI flash, CDONE ve CRESET test noktaları |
| Besleme | USB-C veya korumalı harici 5 V; sıralı 0.95/1.8/3.3/3.0 V rayları |
| Mekanik | 155.1 x 90.0 mm, 8 katman, dört montaj deliği |
## Yapılan temel tasarım kararları
- Ti375 üzerindeki bütün kullanılabilir pinler konnektöre çıkarılmadı. Yalnızca
özel fonksiyonlardan arta kalan 32 GPIO dört PMOD üzerinde kullanıldı.
- Büyük genel amaçlı header, jumper grubu ve ARM 10-pin hard-JTAG konnektörü
kaldırıldı. Gerekli bring-up sinyalleri 15 yerel test noktasına dağıtıldı.
- FT4232H interface 0/A RISC-V JTAG'a, interface 1/B FPGA hard JTAG'a ayrıldı.
FPGA'ya giden debug çıkışları güç-domain izolasyonundan geçer.
- Hard JTAG TCK, TMS, TDI ve TDO hatlarında FPGA tarafında 10 kohm pull-up
bulunur.
- Harici reset için JST-SH konnektör, kart üstü buton, RC filtre ve ESD koruması
eklendi.
- FTDI reset, harici reset ve power-fault istekleri CRESET_N üzerinde ayrı
açık-drenç sürücülerle birleşir. Aktif-düşük mantıkta bu yapı reset
isteklerinin OR'lanmasıdır; çıkış çatışması oluşturmaz.
- Core, 1.8 V, 3.3 V, 3.0 V ve LM3880 sequence sonucu bağımsız olarak izlenir.
`ALL_FPGA_POWER_OK` geçerli olmadan CRESET_N bırakılmaz ve FPGA'ya giden FTDI
sürücüleri etkinleşmez.
- RF ve USB hatları autorouter sonucuna bırakılmaz; son aşamada deterministik,
denetlenebilir geometriyle oluşturulur.
## Güç ve reset akışı
```text
USB-C / EXT 5 V
|
SYS5
|
0.95 V core ---- CORE_PG
|
LM3880
+---- 1.8 V ---- PG_1V8
+---- 3.3 V ---- PG_3V3
+---- FLAG3
|
3.0 V DIG ---- TPS3808 (20 ms) -------+---- ALL_FPGA_POWER_OK
|
+--------------------+---- CRESET_N release
+------------------------- FTDI buffer enable
EXT_RESET_N ---- filtre/ESD ---- open drain --+
FTDI BDBUS4 -------------------- open drain --+---- FPGA_CRESET_N
power-valid -------------------- open drain --+
```
Kullanıcı veya FTDI reseti yalnızca CRESET_N'i etkiler; power-good durumunu
bozmaz. Bu nedenle raylar sağlıklıyken FPGA reset altında tutulsa bile JTAG
erişimi korunur.
## Hızlı başlangıç
KiCad 10 ve KiCad'in `pcbnew` modülünü içeren sistem Python'u gereklidir.
```bash
python3 -m pip install -r requirements.txt
python3 scripts/generate_footprints.py
python3 scripts/generate_kicad.py
python3 scripts/generate_design_tables.py
/usr/bin/python3 scripts/generate_pcb.py
```
Kontrol:
```bash
kicad-cli sch erc --severity-all \
-o outputs/erc_final_reset.rpt hardware/board.kicad_sch
kicad-cli pcb drc --severity-all \
-o outputs/drc_final_placement.rpt hardware/board.kicad_pcb
```
Güncel placement kontrolünde ERC 0 ihlaldir. DRC'deki 12 `isolated_copper`
uyarısı ve 499 açık bağlantı, kartın henüz route edilmemiş olmasından
kaynaklanır; üretim öncesi kabul edilebilir final sonuç değildir.
## Kaynakların önceliği
1. `scripts/design_data.py`: komponentler, pinler ve bağlantılar için tek kaynak.
2. `scripts/generate_pcb.py`: placement, stackup, zone ve fiziksel PCB kuralları.
3. `scripts/generate_design_tables.py`: Ti375 pin politikası ve constraint tabloları.
4. `hardware/board.kicad_sch` ve `hardware/board.kicad_pcb`: üretilmiş güncel KiCad dosyaları.
5. `outputs/`: BOM, kontrol raporları ve inceleme görselleri.
Elle yapılan değişiklikler tekrar üretimde kaybolabileceği için temel bağlantı
ve placement kararları önce ilgili Python kaynağına işlenmelidir.
## Ayrıntılı dokümanlar
- [Donanım mimarisi ve pin kullanımı](hardware/README.md)
- [Ana komponent seçimi ve güç/akım kapasiteleri](docs/COMPONENT_SELECTION.md)
- [MAX2771, SCH16T, QSPI, FTDI ve test noktası bağlantıları](docs/INTERFACES.md)
- [Ti375 ball, bank, gerilim ve PMOD pin seçimi](docs/FPGA_PINOUT.md)
- [Ayrıntılı güç ağacı, sıralama ve reset davranışı](docs/POWER_TREE.md)
- [Üretim, kontrol ve routing akışı](scripts/README.md)
- [Pin tabloları ve türetilmiş veriler](docs/README.md)
- [Güncel çıktılar ve raporların anlamı](outputs/README.md)
- [Referans doküman politikası](references/README.md)
+71
View File
@@ -0,0 +1,71 @@
# Ana komponent seçimi ve kapasite sınırları
Bu tablolardaki akım değerleri komponent datasheet kapasitesini veya tasarımda
ayarlanan limiti gösterir. Kartın tamamının aynı anda bu değerleri verebildiği
anlamına gelmez. Gerçek sürekli güç; 5 V kaynağı, power-path limiti, PCB bakırı,
indüktör kaybı, ortam sıcaklığı ve termal ölçümle sınırlandırılır.
## İşlem, RF, sensör ve debug komponentleri
| Ref | Parça | Besleme / kapasite | Seçilme nedeni ve karttaki görevi |
|---|---|---|---|
| U1 | Efinix Ti375C529C3 | 0.95 V core; 1.8 V AUX/HSIO/config; 3.0/3.3 V HVIO | C529 paket, standart-power C3 core seçeneği. GNSS örnekleme, SafeSPI, QSPI, JTAG ve PMOD mantığını taşır. FPGA akımı HDL kullanımına bağlıdır; sabit bir tüketim değeri kabul edilmez, Efinity power estimator ile hesaplanmalıdır. |
| U21 | MAX2771ETI+ | 2.7–3.3 V; datasheet varsayılan GNSS modunda yaklaşık 26–27 mA tipik | Tek çip GNSS RF/PLL/IF/ADC. Kartta 3.0 V analog ve dijital LDO'lardan beslenir; iki dahili LNA kapalı, SAW çıkışı doğrudan `MIXIN_HI` girişine gider. |
| U22 | SCH16T-K01-1 | V3P3 3.0–3.6 V; VDDIO 1.7–3.6 V; 41 mA nominal, 47 mA maksimum | 6 eksen yüksek performanslı IMU. Tam parça varyantı K01-1; 3.3 V SafeSPI ve DRY/SYNC arayüzü kullanılır. |
| U26 | IS25WP512M-JLLE | 1.8 V, 512 Mbit | Ti375 active-serial konfigürasyon belleği; x1/x2/x4 I/O pinleri doğrudan dedicated config ball'larına gider. |
| U2 | FT4232H-56Q | 3.3 V I/O, dahili 1.8 V core regülatörü; USB 2.0 High-Speed | Tek USB üzerinden iki JTAG, iki UART ve bir debug GPIO sağlar. FPGA kapalıyken back-power olmaması için çıkışlar U29/U30 ile izole edilir. |
| U3 | 93LC56BT-I/OT | 3.3 V, x16 organizasyon | FT4232H USB descriptor ve kanal modlarını kalıcı tutar. |
| U5 | TUSB320LAI | 3.3 V AUX | USB-C UFP/sink rolü, CC1/CC2 üzerindeki entegre Rd ve Type-C akım ilanı algılama. USB'den ana ray yalnızca 3 A ilanı algılandığında etkinleşir. |
| U6 | TPD2EUSB30A | USB2 düşük kapasitans ESD koruması | D+/D− hattını konektöre yakın korur; yüksek hızlı diferansiyel hattın yükünü düşük tutar. |
| U23 | Epson TG2016SMN | 3.0 V; 16.368 MHz, ±0.5 ppm | MAX2771 PLL referansı. 10 nF ile MAX2771 XTAL girişine AC bağlanır. |
| U24 | Epson SG-210STF | 3.0 V; 40.000 MHz, ±25 ppm | MAX2771 ADC sampling clock ve FPGA sistem/capture clockunun ortak kaynağı. İki ayrı 33 ohm source-series kol kullanılır. |
| U25 | ECS-2520MV | 3.3 V; 12.000 MHz | FT4232H ana saat kaynağı. |
| FL1 | SF14-1582M5UUS2 | 1565.19–1585.65 MHz; 1.2 dB tipik insertion loss | GPS L1/L1C ön seçim SAW filtresi. |
| D1 | ESD501DPYR | Yaklaşık 0.3 pF, 12 V RF ESD elemanı | SMA girişini RF hattını fazla yüklemeden korur. |
| L4 | 0402HPH-56NXJRW | 56 nH; 330 mA; SRF 2.1 GHz; Q yaklaşık 64 | 3.3/5 V aktif anten beslemesini SMA merkez iletkenine veren bias-tee choke. |
## Güç giriş ve regülatör komponentleri
| Ref | Parça | Datasheet / ayarlanan kapasite | Tasarımdaki kullanım |
|---|---|---|---|
| U7 | TPS259470A | 2.7–23 V eFuse, cihaz ailesi 5.5 A; RILM ile yaklaşık 2.69 A tipik | USB VBUS için UV≈4.0 V, OV≈5.8 V, current/inrush/reverse-current koruması. USB yolu 3 A Type-C sınırının altında tutulur. |
| U8 | TPS259470A | 2.7–23 V eFuse; RILM ile yaklaşık 4.04 A tipik | Harici regüle 5 V girişi için aynı korumalar. |
| U9 | TPS2121 | 2.8–22 V; 4.5 A ayarlanabilir limit; 56 mΩ tipik RON | USB ve harici 5 V arasında reverse-blocking power mux. Geçerli ve yakın gerilimlerde harici giriş önceliklidir. |
| U12 | TPS7A2033 | 300 mA LDO | Supervisor, Type-C ve FTDI için her zaman açık `VCC3V3_AUX`. |
| U13 | TPS6287B15 | 2.7–6 V giriş; 15 A sınıfı | Ti375 `VCC0V95` core/VCCA/VDD_SOC rayı. 100 nH, 30 A saturation sınıfı XEL4030 ve differential remote sense kullanır. |
| U14 | TPS62867 | 2.4–5.5 V giriş; 6 A sınıfı | `VCC1V8` FPGA AUX/config/HSIO rayı. 240 nH, 6.6 A sınıfı indüktör. |
| U15 | TPS62867 | 2.4–5.5 V giriş; 6 A sınıfı | `VCC3V3` FPGA HVIO/IMU/PMOD rayı. 240 nH, 6.6 A sınıfı indüktör. |
| U16 | LM3880MF-1AA | 2.7–5.5 V; 1→2→3 ve ters kapanış sırası; yaklaşık 10 ms/kademe seçimi | Core PG geldikten sonra 1.8 V, 3.3 V ve final sequence flag üretir. Çıkışlar open-drain'dir. |
| U17 | TPS7A2030 | 300 mA LDO | `VCC3V0_RF`: MAX2771 RF/PLL/IF/VCO analog beslemeleri. |
| U18 | TPS7A2030 | 300 mA LDO | `VCC3V0_DIG`: MAX2771 dijital/ADC ve Ti375 3.0 V bankı. |
| U19 | TPS7A2030 | 300 mA LDO | `VCC3V0_CLK`: 16.368 MHz TCXO ve 40 MHz XO. |
| U20 | TPS7A2033 | 300 mA LDO | Aktif anten için temiz 3.3 V seçeneği. |
| U27 | TPS22944 | Sabit 100 mA current limit | J5 ile seçilen 3.3 V veya 5 V anten biasını sınırlar; `ANT_BIAS_OC` fault çıkışı vardır. |
| U28 | TPS3808G30 | VDD 1.7–6.5 V; 3.0 V nominal için 2.79 V threshold; CT açıkken 20 ms | Son oluşan 3.0 V FPGA bankını izler ve reset bırakma gecikmesini sağlar. |
## Mantık ve power-domain elemanları
| Ref | Parça | Besleme | Görev |
|---|---|---|---|
| U10 | SN74LVC2G02 | 3.3 V AUX | TUSB320'nin 3 A ilanını decode eder ve mux statusunu tersler. |
| U11 | SN74LVC1G32 | 3.3 V AUX | Geçerli USB 3 A veya seçilmiş harici 5 V koşulundan `MAIN_EN` üretir. |
| U29 | SN74LVC244A | FPGA 3.3 V | FTDI'den FPGA'ya JTAG/UART çıkış bufferı; Ioff ve ortak aktif-düşük OE. |
| U30 | SN74LVC1G125 | FPGA 3.3 V | Channel-D debug GPIO için tri-state Ioff buffer. |
| U31 | SN74LVC1G07 | 3.3 V AUX | FTDI reset isteğini CRESET_N'e açık-drenç aktarır. |
| U32 | SN74LVC1G07 | 3.3 V AUX | All-power-valid sonucunu CRESET_N'e açık-drenç aktarır. |
| U33 | SN74LVC1G07 | 1.8 V | Harici/manual reseti 1.8 V CRESET domainine açık-drenç aktarır. |
| U34 | SN74LVC08A | 3.3 V AUX | Core/1.8/3.3/3.0/sequence valid sinyallerinin dört kapılı AND ağacı. |
| Q1 | MMBT3904 | Ayrık transistor | `ALL_FPGA_POWER_OK` geçerliyken aktif-düşük FTDI buffer OE üretir. |
## Güç kapasitesi nasıl okunmalı?
- USB girişinde kullanılabilir sürekli akım U7 ayarı ve gerçek Type-C kaynak
ilanıyla sınırlıdır; konektörden rastgele 3 A çekildiği varsayılmaz.
- Harici girişte U8 yaklaşık 4.04 A, U9 ise 4.5 A ayarlıdır; dolayısıyla nominal
üst sınır eFuse tarafıdır.
- 15 A ve 6 A converter değerleri silikon sınıfıdır. Aynı anda maksimum core,
1.8 V ve 3.3 V gücü talep etmek 5 V giriş bütçesini aşabilir.
- PMOD besleme pinleri ayrı current-limit içermez ve ilgili FPGA rayını paylaşır.
Takılan modüllerin toplam akımı güç/termal bütçeye dahil edilmelidir.
- LDO'larda 300 mA elektriksel sınıra yaklaşmadan önce `(VIN−VOUT) × IOUT`
paket kaybı ve bakır alanı kontrol edilmelidir.
+123
View File
@@ -0,0 +1,123 @@
# Ti375 FPGA pin seçimi
Kesin ve makine tarafından doğrulanan kaynak `ti375_pinout.csv` dosyasıdır.
Bu özet HDL tarafında kullanılacak sinyal adlarını, C529 ball'larını ve bank
gerilimlerini okunabilir biçimde gösterir.
## Sabit fonksiyonlar
| Sinyal | Ball | Bank | Gerilim | Yön | Bağlantı |
|---|---|---|---|---|---|
| `HARD_TCK` | G10 | BR3/BR4 | 3.3 V | input | FT4232H BDBUS0 |
| `HARD_TMS` | G12 | BR3/BR4 | 3.3 V | input | FT4232H BDBUS3 |
| `HARD_TDI` | G9 | BR3/BR4 | 3.3 V | input | FT4232H BDBUS1 |
| `HARD_TDO` | G13 | BR3/BR4 | 3.3 V | output | FT4232H BDBUS2 |
| `FPGA_CRESET_N` | F9 | 4A/4B | 1.8 V | input | Power/FTDI/external reset fan-in |
| `FPGA_CDONE` | F8 | 4A/4B | 1.8 V | output | TP14 ve 10k pull-up |
| `QSPI_CS_N` | A7 | 4A/4B | 1.8 V | output | Flash CS_N |
| `QSPI_IO3` | B7 | 4A/4B | 1.8 V | bidirectional | Flash IO3/HOLD_N |
| `QSPI_IO2` | G5 | 4A/4B | 1.8 V | bidirectional | Flash IO2/WP_N |
| `QSPI_SCLK` | G6 | 4A/4B | 1.8 V | output | Flash CCK |
| `QSPI_IO0` | H4 | 4A/4B | 1.8 V | bidirectional | Flash IO0 |
| `QSPI_IO1` | H5 | 4A/4B | 1.8 V | bidirectional | Flash IO1 |
| `FPGA_TEST_N` | J2 | 4C | 1.8 V | input | 10k pull-up |
| `FPGA_CSI` | J5 | 4A/4B | 1.8 V | input | 10k pull-up |
## MAX2771
| Sinyal | Ball | Bank | Gerilim | Yön |
|---|---|---|---|---|
| `MAX_CLKOUT` | B11 | BR0 | 3.0 V | input |
| `MAX_I0` | D10 | BR0 | 3.0 V | input |
| `MAX_I1` | D11 | BR0 | 3.0 V | input |
| `MAX_Q0` | E10 | BR0 | 3.0 V | input |
| `MAX_Q1` | E11 | BR0 | 3.0 V | input |
| `MAX_LD` | F11 | BR0 | 3.0 V | input |
| `MAX_SCLK` | F16 | TR0 | 3.0 V | output |
| `MAX_CSN` | F17 | TR0 | 3.0 V | output |
| `MAX_SDATA` | G16 | TR0 | 3.0 V | bidirectional |
| `MAX_SHDN` | G17 | TR0 | 3.0 V | output |
## SCH16T-K01
| Sinyal | Ball | Bank | Gerilim | Yön |
|---|---|---|---|---|
| `IMU_SCK` | A8 | BR3/BR4 | 3.3 V | output |
| `IMU_MOSI` | A9 | BR3/BR4 | 3.3 V | output |
| `IMU_MISO` | B9 | BR3/BR4 | 3.3 V | input |
| `IMU_CS` | B10 | BR3/BR4 | 3.3 V | output |
| `IMU_DRY_SYNC` | A11 | TR1 | 3.3 V | bidirectional |
| `IMU_EXTRESN` | C10 | BR3/BR4 | 3.3 V | output |
## Saat ve USB debug
| Sinyal | Ball | Gerilim | Yön | İşlev |
|---|---|---|---|---|
| `CLK_40M_FPGA` | U17 | 3.3 V | input | Clock-capable sistem/ADC saati |
| `RISCV_TCK` | F12 | 3.3 V | input | FTDI interface A |
| `RISCV_TDI` | V19 | 3.3 V | input | FTDI interface A |
| `RISCV_TMS` | P18 | 3.3 V | input | FTDI interface A |
| `RISCV_TDO` | T18 | 3.3 V | output | FTDI interface A |
| `UART0_RX` | P17 | 3.3 V | input | FTDI channel C TX |
| `UART0_TX` | R17 | 3.3 V | output | FTDI channel C RX |
| `UART1_RX` | R18 | 3.3 V | input | FTDI channel D TX |
| `UART1_TX` | T19 | 3.3 V | output | FTDI channel D RX |
| `FTDI_DBG_GPIO` | U19 | 3.3 V | bidirectional | FTDI channel D debug |
## 3.3 V PMOD pinleri
| PMOD | Pin | FPGA ball | Bank |
|---|---:|---|---|
| JPMOD1 | 1 | U6 | BL2/BL3 |
| JPMOD1 | 2 | V4 | BL2/BL3 |
| JPMOD1 | 3 | A13 | TR1 |
| JPMOD1 | 4 | C9 | BR3/BR4 |
| JPMOD1 | 7 | C12 | TR1 |
| JPMOD1 | 8 | C13 | TR1 |
| JPMOD1 | 9 | C14 | TR1 |
| JPMOD1 | 10 | D12 | TR1 |
| JPMOD2 | 1 | V20 | TL1/TL5 |
| JPMOD2 | 2 | D13 | TR2 |
| JPMOD2 | 3 | E13 | TR2 |
| JPMOD2 | 4 | E14 | TR2 |
| JPMOD2 | 7 | E16 | TR2 |
| JPMOD2 | 8 | F13 | TR2 |
| JPMOD2 | 9 | E15 | TR2 |
| JPMOD2 | 10 | F14 | TR2 |
## 1.8 V PMOD pinleri
1.8 V konnektörler Ti375 2E HSIO bankındaki düz diferansiyel çiftleri kullanır.
Bu pinlerde config, PLL input/feedback veya dedicated clock görevi seçilmemiştir.
Konnektör tek uçlu GPIO olarak kullanılabilir; kullanıcı HDL'i I/O standardını
1.8 V seçmelidir.
| PMOD | Pin | FPGA ball | HSIO çifti |
|---|---:|---|---|
| JPMOD3 | 1 | C20 | 51 P |
| JPMOD3 | 2 | B20 | 51 N |
| JPMOD3 | 3 | C17 | 52 P |
| JPMOD3 | 4 | B17 | 52 N |
| JPMOD3 | 7 | A16 | 53 P |
| JPMOD3 | 8 | A17 | 53 N |
| JPMOD3 | 9 | C19 | 54 P |
| JPMOD3 | 10 | B19 | 54 N |
| JPMOD4 | 1 | B14 | 55 P |
| JPMOD4 | 2 | A14 | 55 N |
| JPMOD4 | 3 | J18 | 56 P |
| JPMOD4 | 4 | H18 | 56 N |
| JPMOD4 | 7 | A18 | 57 P |
| JPMOD4 | 8 | A19 | 57 N |
| JPMOD4 | 9 | D16 | 58 P |
| JPMOD4 | 10 | D17 | 58 N |
Her Digilent 2x6 konnektörde pin 5/11 GND, pin 6/12 ilgili beslemedir.
Konnektörler 5 V toleranslı değildir.
## Neden diğer GPIO'lar dışarı çıkarılmadı?
C529 paketindeki ball sayısı kullanıcı GPIO sayısı değildir. Paket; çok sayıda
GND, core/AUX/VCCIO beslemesi, reference resistor, konfigürasyon, JTAG ve özel
işlev ball'ı içerir. Tasarım yalnızca 32 PMOD GPIO'yu dışarı çıkarır. Geri kalan
fabric GPIO'ların kullanıldı/boş durumu `unused_gpio_inventory.csv` dosyasında
tek tek bulunur.
+175
View File
@@ -0,0 +1,175 @@
# Arayüzler ve net bağlantıları
Bu dokümanda ok yönü veri akışını gösterir. Parantez içindeki değer seri
sonlandırma veya bias elemanıdır.
## MAX2771 RF zinciri
```text
J2 SMA merkez
-> RF_SMA
-> D1 ESD501 (şönt ESD)
-> C83 27 pF DC block
-> RF_PRE_SAW
-> FL1 SF14-1582M5UUS2 GPS L1/L1C SAW
-> RF_POST_SAW
-> R39 0 ohm tuning link
-> MAX_MIXIN_HI
-> U21 pin 25 MIXIN_HI
```
`C84` (`RF_POST_SAW`-GND) ve `C85` (`MAX_MIXIN_HI`-GND) tuning şönt
footprintleridir ve varsayılan olarak DNP'dir. Böylece VNA ölçümünden sonra
pi-match kurulabilir. MAX2771'in LNAIN_HI/LNAIN_LO ve LNA çıkışları bağlı
değildir; register 0 her iki LNA'yı kapatır ve yüksek-band mixer girişi seçilir.
Aktif anten bias yolu:
```text
J5 pin 1 = temiz 3.3 V
J5 pin 2 = ANT_BIAS_SEL
J5 pin 3 = SYS5
şönt 1-2 -> 3.3 V bias
şönt 2-3 -> 5 V bias
şönt yok -> OFF
ANT_BIAS_SEL -> U27 TPS22944, 100 mA limit
-> ANT_BIAS_SW -> L4 56 nH -> RF_SMA -> anten
```
`TP3 ANT OC`, U27'nin aktif-düşük over-current göstergesidir. Bias devresi
RF hattına L4 üzerinden girer; RF sinyali güç rayına taşınmamalıdır.
## MAX2771 saat, SPI ve ADC arayüzü
Saat ağacı:
```text
U23 16.368 MHz TCXO -> C90 10 nF -> U21 pin 3 XTAL
U24 40.000 MHz XO --+-> R44 33R -> U21 pin 5 ADC_CLKIN
+-> R56 33R -> U1 ball U17 CLK_40M_FPGA
U21 pin 4 CLKOUT -> R45 22R -> U1 ball B11 MAX_CLKOUT
```
`MAX_CLKOUT`, ADC örnekleme saatinin FPGA'ya source-synchronous kopyasıdır.
FPGA veri yakalama mantığı I/Q bitlerini bu saatle örneklemelidir.
Üç telli kontrol arayüzü:
| İşlev | FPGA | Seri eleman | MAX2771 |
|---|---|---|---|
| SCLK | U1 F16 `MAX_SCLK`, output, 3.0 V | R51 22R | U21 pin 8 `SCLK` |
| CS_N | U1 F17 `MAX_CSN`, output, 3.0 V | R52 22R | U21 pin 9 `CSN` |
| SDATA | U1 G16 `MAX_SDATA`, bidirectional, 3.0 V | R53 22R | U21 pin 7 `SDATA` |
| Shutdown | U1 G17 `MAX_SHDN`, output, 3.0 V | R54 22R | U21 pin 18 `SHDN` |
SDATA ayrı MOSI/MISO değildir; MAX2771'in tek bidirectional üç telli veri
hattıdır. `R55=100 kohm`, MAX2771 tarafındaki SHDN pinini FPGA konfigüre olana
kadar düşük tutar.
ADC/status çıkışları:
| MAX2771 pini | Seri eleman | FPGA ball/net | Yön |
|---|---|---|---|
| pin 10 Q1 | R49 22R | E11 `MAX_Q1` | MAX2771 -> FPGA |
| pin 11 Q0 | R48 22R | E10 `MAX_Q0` | MAX2771 -> FPGA |
| pin 12 I0 | R46 22R | D10 `MAX_I0` | MAX2771 -> FPGA |
| pin 13 I1 | R47 22R | D11 `MAX_I1` | MAX2771 -> FPGA |
| pin 17 LD | R50 22R | F11 `MAX_LD` | MAX2771 -> FPGA |
| pin 4 CLKOUT | R45 22R | B11 `MAX_CLKOUT` | MAX2771 -> FPGA |
Tüm bu pinler Ti375 BR0 bankındadır ve `VCC3V0_DIG=3.0 V` kullanır. SCLK,
CSN, SDATA ve SHDN ise aynı 3.0 V standardındaki TR0 bankındadır.
Başlangıç register görüntüsünün önemli seçimleri:
| Register | Değer | Karar |
|---|---|---|
| 0x0 | `0xBEA71619` | MIXIN_HI, iki LNA kapalı, 23.4 MHz 5. derece LPF |
| 0x3 | `0x698C0008` | Integer-N GPS L1 PLL |
| 0x4 | `0x00C08080` | NDIV=1540, RDIV=16; 1575.42 MHz |
| 0x7 | `0x110061B2` | Harici 40 MHz ADC sampling clock |
| 0xA | `0x010061B4` | ADC sampling clocku CLKOUT'a yönlendir |
Tam görüntü `max2771_registers.csv` dosyasındadır.
## SCH16T-K01 SafeSPI arayüzü
| İşlev | FPGA ball/net | Seri eleman | SCH16T pini | Yön |
|---|---|---|---|---|
| SCK | A8 `IMU_SCK` | R57 22R, FPGA yanında | pin 21 SCK | FPGA -> IMU |
| MOSI | A9 `IMU_MOSI` | R58 22R, FPGA yanında | pin 23 MOSI | FPGA -> IMU |
| CS_N | B10 `IMU_CS` | R59 22R, FPGA yanında | pin 22 CS | FPGA -> IMU |
| MISO | B9 `IMU_MISO` | R60 22R, IMU yanında | pin 19 MISO | IMU -> FPGA |
| Data-ready / sync | A11 `IMU_DRY_SYNC` | doğrudan | pin 20 DRY_SYNC | çift yönlü |
| Harici reset | C10 `IMU_EXTRESN` | R61 10k pulldown | pin 6 EXTRESN | FPGA -> IMU |
SafeSPI clock mode 0 kullanılır. SCH16T V3P3 girişleri `VCC3V3` üzerinden FB1
600 ohm@100 MHz ferritle `IMU_3V3` rayına ayrılır. VDDIO doğrudan 3.3 V'tur.
Murata'nın dahili regülatör pinlerinde C105 10 uF (`VREGA2`) ve C106 1 uF
(`VREGD`) bulunur. `IMU_EXTRESN` pulldown nedeniyle FPGA resetten çıkıp pini
aktif olarak yükseltmeden sensör çalışmaya başlamaz.
## FPGA konfigürasyon flashı
| IS25WP512M pini | Net | Ti375 ball / dedicated işlev |
|---|---|---|
| 1 CS_N | `QSPI_CS_N` | A7 / SSL_N |
| 2 IO1 | `QSPI_IO1` | H5 / CDI1 |
| 3 IO2 | `QSPI_IO2` | G5 / CDI2 |
| 5 IO0 | `QSPI_IO0` | H4 / CDI0 |
| 6 SCLK | `QSPI_SCLK` | G6 / CCK_PLLIN0 |
| 7 IO3 | `QSPI_IO3` | B7 / CDI3 |
| 8 VCC | `VCC1V8` | 1.8 V config domain |
CS_N, IO2/WP_N ve IO3/HOLD_N 10 kohm ile 1.8 V'a çekilir. Ti375 `TEST_N`,
`CSI` ve open-drain `CDONE` pinlerinde de Efinix'in istediği 10 kohm 1.8 V
pull-up'lar vardır.
## FT4232H arayüzleri
| USB interface | FTDI pinleri | FPGA işlevi | FPGA ball'ları |
|---|---|---|---|
| A / interface 0 | ADBUS0 TCK, 1 TDI, 2 TDO, 3 TMS | RISC-V JTAG | F12, V19, T18, P18 |
| B / interface 1 | BDBUS0 TCK, 1 TDI, 2 TDO, 3 TMS | FPGA hard JTAG | G10, G9, G13, G12 |
| B | BDBUS4 | Aktif-düşük FPGA reset isteği | CRESET_N open-drain fan-in |
| C / interface 2 | CDBUS0 TXD, CDBUS1 RXD | UART0 | P17 RX, R17 TX |
| D / interface 3 | DDBUS0 TXD, DDBUS1 RXD | UART1 | R18 RX, T19 TX |
| D | DDBUS2 | Debug GPIO | U19 |
FTDI'den FPGA'ya giden TCK/TDI/TMS, UART RX ve debug çıkışları U29/U30
bufferlarından ve ardından 33 ohm seri dirençlerden geçer. FPGA'dan FTDI'ye
giden TDO/UART TX yönleri 33 ohm seri dirençlidir. JTAG hatlarının FPGA
tarafında 10 kohm idle pull-up vardır.
## USB-C güç ve veri
- J1 CC1/CC2 -> U5 TUSB320LAI; PORT=GND ile UFP/sink.
- J1 D+/D− -> U6 TPD2EUSB30A -> R63/R64 27 ohm -> U2 FT4232H.
- J1 VBUS -> U7 TPS259470A -> `USB5_PROT` -> U9 TPS2121 -> `SYS5`.
- Harici J3 5 V -> U8 TPS259470A -> `EXT5_PROT` -> U9 TPS2121 -> `SYS5`.
- U10/U11, USB 3 A ilanı veya seçilmiş harici kaynak yoksa ana FPGA güç
converterlarını kapalı tutar.
## Test noktaları
| TP | Net | Amaç |
|---|---|---|
| TP1 | `U7_FLT` | USB eFuse fault |
| TP2 | `U8_FLT` | Harici giriş eFuse fault |
| TP3 | `ANT_BIAS_OC` | Aktif anten over-current |
| TP4 | `VBUS_RAW` | USB VBUS |
| TP5 | `EXT5_RAW` | Harici 5 V giriş |
| TP6 | `SYS5` | Seçilmiş sistem 5 V |
| TP7 | `VCC3V3_AUX` | Her zaman açık yardımcı 3.3 V |
| TP8 | `VCC0V95` | FPGA core 0.95 V |
| TP9 | `VCC1V8` | FPGA AUX/config 1.8 V |
| TP10 | `VCC3V3` | FPGA/IMU/PMOD 3.3 V |
| TP11 | `VCC3V0_RF` | MAX2771 analog 3.0 V |
| TP12 | `VCC3V0_DIG` | MAX2771/FPGA bank 3.0 V |
| TP13 | `FPGA_CRESET_N` | FPGA reset durumu |
| TP14 | `FPGA_CDONE` | Konfigürasyon tamamlandı |
| TP15 | `GND` | Ölçüm referansı |
+93
View File
@@ -0,0 +1,93 @@
# Güç ağacı, sıralama ve reset
## Giriş yolu
```text
USB-C VBUS -> U7 TPS259470A (2.69 A typ) -> USB5_PROT --+
+-> U9 TPS2121 -> SYS5
EXT_5V ----> U8 TPS259470A (4.04 A typ) -> EXT5_PROT --+
```
Her iki eFuse yaklaşık 4.0 V UV ve 5.8 V OV eşiğine, kontrollü output slew'a,
fault test noktasına ve true reverse-current blocking'e sahiptir. U9 4.5 A
limitli power mux'tur; yakın geçerli girişlerde harici 5 V yolu önceliklidir.
USB yolunda TUSB320 CC ilanı U10 tarafından decode edilir. `MAIN_EN`, yalnızca
USB kaynağı 3 A ilan ettiğinde veya harici giriş gerçekten U9 tarafından
seçildiğinde yükselir. `VCC3V3_AUX` ise U12 üzerinden SYS5 var olduğu sürece
supervisor/debug mantığını besler.
## Ray üretimi
| Sıra | Ray | Regülatör | Nominal kapasite | Yükler |
|---:|---|---|---:|---|
| 0 | `VCC3V3_AUX` | U12 TPS7A2033 | 300 mA | TUSB320, FT4232H I/O/regülatör, EEPROM, supervisor ve reset mantığı |
| 1 | `VCC0V95` | U13 TPS6287B15 | 15 A sınıfı | Ti375 VCC/VCCA/VDD_SOC |
| 2 | `VCC1V8` | U14 TPS62867 | 6 A sınıfı | Ti375 VCCAUX/config/HSIO, QSPI, iki 1.8 V PMOD |
| 3 | `VCC3V3` | U15 TPS62867 | 6 A sınıfı | Ti375 HVIO, SCH16T, FTDI izolasyon bufferları, iki 3.3 V PMOD |
| 4 | `VCC3V0_RF` | U17 TPS7A2030 | 300 mA | MAX2771 RF/PLL/IF/VCO |
| 4 | `VCC3V0_DIG` | U18 TPS7A2030 | 300 mA | MAX2771 digital/ADC, Ti375 BR0/TR0 VCCIO |
| 4 | `VCC3V0_CLK` | U19 TPS7A2030 | 300 mA | 16.368 MHz ve 40 MHz osilatörler |
| bağımsız | `VCC3V3_ANT` | U20 TPS7A2033 | 300 mA | J5 3.3 V aktif anten seçeneği; U27 çıkışı 100 mA ile sınırlar |
Bu tablo regulator sınıfını gösterir. Toplam çıkış gücü `SYS5` giriş gücünü,
eFuse/mux limitini ve termal sınırı aşamaz.
## FPGA açılış sırası
1. `MAIN_EN`, U13 core buck'ı etkinleştirir.
2. 0.95 V regülasyona girince U13 `CORE_PG` yükselir.
3. `CORE_PG`, U16 LM3880'i başlatır.
4. `SEQ_FLAG1` U14'ü açar; `VCC1V8` oluşur ve U14 `PG_1V8` verir.
5. `SEQ_FLAG2` U15'i açar; `VCC3V3` oluşur ve U15 `PG_3V3` verir.
6. 3.3 V LDO'ları açarak üç 3.0 V rayını oluşturur.
7. U28 `VCC3V0_DIG > 2.79 V` gördükten sonra CT açık seçimiyle yaklaşık
20 ms bekler ve `FPGA_POWER_OK_N` bırakılır.
8. U34 aşağıdaki mantığı üretir:
```text
ALL_FPGA_POWER_OK = CORE_PG
AND PG_1V8
AND PG_3V3
AND FPGA_POWER_OK_N
AND SEQ_FLAG3
```
9. Sonuç doğru olunca U32 CRESET_N'i bırakır ve Q1 U29/U30 buffer OE'yi açar.
## Reset kaynakları
| Kaynak | Koşul | CRESET yolu |
|---|---|---|
| Power valid | `ALL_FPGA_POWER_OK=0` | U32 açık-drenç çıkış low |
| FTDI | BDBUS4 low | U31 açık-drenç çıkış low |
| Kart butonu | SW1 basılı | U33 açık-drenç çıkış low |
| Harici | J4 pin 1 GND'ye çekilir | 1k/4.7nF filtre, U33 açık-drenç output low |
CRESET_N üzerinde tek pull-up R35=10 kohm ile `VCC1V8`'adır. Hiçbir reset
sürücüsü high sürmez; dolayısıyla farklı power domain çıkışları çatışmaz.
Harici reset pini dry-contact/open-drain girişidir, harici bir gerilim kaynağı
değildir.
## Kapanış davranışı
Bir izlenen ray bozulduğunda ilgili PG düşer, U34 sonucu hemen düşük olur,
CRESET_N çekilir ve FTDI'nin FPGA'ya doğru sürücüleri high-Z yapılır. Bu yapı
yalnızca boot sırası için değil brown-out/back-power koruması için de kullanılır.
LM3880 power-down sırasında FLAG3→FLAG2→FLAG1 ters sırasını uygular.
## Ölçüm sırası
İlk enerjilemede akım limitli laboratuvar kaynağı kullanılmalı ve şu sıra
osiloskopla doğrulanmalıdır:
1. TP6 `SYS5` ve TP7 `VCC3V3_AUX`.
2. TP8 `VCC0V95`.
3. TP9 `VCC1V8`.
4. TP10 `VCC3V3`.
5. TP12 `VCC3V0_DIG`.
6. TP13 `FPGA_CRESET_N` ve TP14 `FPGA_CDONE`.
TP13, son rail valid olduktan yaklaşık 20 ms sonra yükselmelidir. Boot
tamamlandığında TP14 yükselmelidir. Gerçek inrush ve steady-state akımları
ölçülmeden PMOD veya aktif anten yükü bağlanmamalıdır.
+40
View File
@@ -0,0 +1,40 @@
# Türetilmiş tasarım verileri
Bu klasördeki CSV/ISF dosyaları elle düzenlenecek ana tasarım kaynağı değildir;
`scripts/design_data.py` ve `scripts/generate_design_tables.py` üzerinden tekrar
üretilir.
Okunabilir tasarım dokümanları:
- `COMPONENT_SELECTION.md`: ana IC seçimi, besleme ve kapasite sınırları.
- `INTERFACES.md`: RF, MAX2771, SafeSPI, QSPI, FTDI/USB ve test noktaları.
- `FPGA_PINOUT.md`: FPGA ball/bank/gerilim ve dört PMOD eşlemesi.
- `POWER_TREE.md`: giriş power-path, rail sıralaması, supervisor ve reset.
| Dosya | Açıklama |
|---|---|
| `ti375_c529_package.csv` | Efinity 2025.2 Ti375C529 paket veritabanından çıkarılmış 529 ball kaydı |
| `ti375_c529_package.meta.json` | Paket verisinin kaynak/sürüm metadatası |
| `ti375_pinout.csv` | Kartta kullanılan sinyal, ball, bank, VCCIO, I/O standardı ve konnektör eşlemesi |
| `unused_gpio_inventory.csv` | Kullanılan ve fiziksel olarak boş bırakılan fabric GPIO envanteri |
| `ti375_pin_constraints.isf` | HDL/Efinity tarafı için pin ve I/O standardı constraintleri |
| `max2771_registers.csv` | Kartın MAX2771 başlangıç register görüntüsü |
Yeniden üretmek için:
```bash
python3 scripts/generate_design_tables.py
```
Script aşağıdaki koşulları doğrular:
- Paket kaynağında tam 529 benzersiz ball bulunması.
- Dedicated TCK/TMS/TDI/TDO, CRESET_N, CDONE ve JTAG_VCCIO_SEL adları.
- Seçilen bankın istenen 3.3 V, 3.0 V veya 1.8 V I/O standardını desteklemesi.
- PMOD tahsislerinde konfigürasyon/PLL/clock özel fonksiyonlarının yanlışlıkla
kullanılmaması.
- MAX2771 ve SCH16T için ayrılmış pinlerle PMOD çakışması olmaması.
Hard JTAG yalnızca kart üzerindeki FT4232H interface 1 üzerinden erişilir;
harici ARM/JTAG headerı yoktur. `FPGA_CRESET_N`, açık-drenç power/FTDI/harici
reset fan-in'i olarak belgelenmiştir.
+12
View File
@@ -0,0 +1,12 @@
address,value_hex,default_hex,changed,purpose
0x0,0xBEA71619,0xBEA41603,yes,"MIXIN_HI, both LNAs disabled, 23.4 MHz 5th-order LPF, 36 MHz mixer pole"
0x1,0x20550288,0x20550288,no,Preserve MAX2771 documented reset/default value
0x2,0x0EAFA1DC,0x0EAFA1DC,no,Preserve MAX2771 documented reset/default value
0x3,0x698C0008,0x698C0008,no,Integer-N L1 PLL
0x4,0x00C08080,0x00C00080,yes,"NDIV=1540, RDIV=16: 16.368 MHz / 16 * 1540 = 1575.42 MHz"
0x5,0x08000070,0x08000070,no,Preserve MAX2771 documented reset/default value
0x6,0x08000000,0x08000000,no,Preserve MAX2771 documented reset/default value
0x7,0x110061B2,0x010061B2,yes,External 40 MHz ADC sampling clock on ADC_CLKIN
0x8,0x01E0F401,0x01E0F401,no,Preserve MAX2771 documented reset/default value
0x9,0x00C00002,0x00C00002,no,Preserve MAX2771 documented reset/default value
0xA,0x010061B4,0x010061B0,yes,Route ADC sampling clock to CLKOUT for source-synchronous FPGA capture
1 address value_hex default_hex changed purpose
2 0x0 0xBEA71619 0xBEA41603 yes MIXIN_HI, both LNAs disabled, 23.4 MHz 5th-order LPF, 36 MHz mixer pole
3 0x1 0x20550288 0x20550288 no Preserve MAX2771 documented reset/default value
4 0x2 0x0EAFA1DC 0x0EAFA1DC no Preserve MAX2771 documented reset/default value
5 0x3 0x698C0008 0x698C0008 no Integer-N L1 PLL
6 0x4 0x00C08080 0x00C00080 yes NDIV=1540, RDIV=16: 16.368 MHz / 16 * 1540 = 1575.42 MHz
7 0x5 0x08000070 0x08000070 no Preserve MAX2771 documented reset/default value
8 0x6 0x08000000 0x08000000 no Preserve MAX2771 documented reset/default value
9 0x7 0x110061B2 0x010061B2 yes External 40 MHz ADC sampling clock on ADC_CLKIN
10 0x8 0x01E0F401 0x01E0F401 no Preserve MAX2771 documented reset/default value
11 0x9 0x00C00002 0x00C00002 no Preserve MAX2771 documented reset/default value
12 0xA 0x010061B4 0x010061B0 yes Route ADC sampling clock to CLKOUT for source-synchronous FPGA capture
+530
View File
@@ -0,0 +1,530 @@
ball,official_pad_name,die_bank,package_bank,bank_class,allowed_vccio_v,direction,function,periphery_instances,instance_pin,special_capability,fabric_gpio
A1,GND,,,HARD/POWER,,power,Ground,,,,no
A2,GPIOB_P_30_CDI9_PLLIN0,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_30,P,PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
A3,GPIOB_N_32,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_32,N,DIFFERENTIAL_MEMBER,yes
A4,GPIOB_P_32,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_32,P,DIFFERENTIAL_MEMBER,yes
A5,GND,,,HARD/POWER,,power,Ground,,,,no
A6,GPIOB_N_35,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_35,N,DIFFERENTIAL_MEMBER,yes
A7,GPIOB_N_38_SSL_N,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_38,N,DIFFERENTIAL_MEMBER,yes
A8,GPIOR_170,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_170,,,yes
A9,GPIOR_171,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_171,,,yes
A10,GND,,,HARD/POWER,,power,Ground,,,,no
A11,GPIOR_93_PLLIN1,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_93,,PLL_INPUT,yes
A12,GPIOR_95_CLK12,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_95,,CLOCK_CAPABLE,yes
A13,GPIOR_94,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_94,,,yes
A14,GPIOT_N_55,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_55,N,DIFFERENTIAL_MEMBER,yes
A15,GND,,,HARD/POWER,,power,Ground,,,,no
A16,GPIOT_P_53,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_53,P,DIFFERENTIAL_MEMBER,yes
A17,GPIOT_N_53,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_53,N,DIFFERENTIAL_MEMBER,yes
A18,GPIOT_P_57,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_57,P,DIFFERENTIAL_MEMBER,yes
A19,GPIOT_N_57,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_57,N,DIFFERENTIAL_MEMBER,yes
A20,GND,,,HARD/POWER,,power,Ground,,,,no
A21,GPIOT_N_33_CLK16_N,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_33,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
A22,GPIOT_N_26,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_26,N,DIFFERENTIAL_MEMBER,yes
A23,GND,,,HARD/POWER,,power,Ground,,,,no
AA1,GND,,,HARD/POWER,,power,Ground,,,,no
AA2,DDR0_DQ[6],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[6],,no
AA3,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AA4,DDR0_DQS[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS[0],,no
AA5,GND,,,HARD/POWER,,power,Ground,,,,no
AA6,DDR0_DQ[8],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[8],,no
AA7,DDR0_DQS[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS[1],,no
AA8,DDR0_DQS_N[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS_N[1],,no
AA9,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AA10,GND,,,HARD/POWER,,power,Ground,,,,no
AA11,DDR0_CKE[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CKE[0],,no
AA12,NC,,,HARD/POWER,,,,,,,no
AA13,DDR0_A[2],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,A[2],,no
AA14,DDR0_A[3],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,A[3],,no
AA15,GND,,,HARD/POWER,,power,Ground,,,,no
AA16,DDR0_DQ[23],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[23],,no
AA17,DDR0_DQS_N[2],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS_N[2],,no
AA18,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AA19,DDR0_DQ[28],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[28],,no
AA20,GND,,,HARD/POWER,,power,Ground,,,,no
AA21,DDR0_DQS[3],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS[3],,no
AA22,DDR0_DQ[25],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[25],,no
AA23,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AB1,DDR0_DQ[7],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[7],,no
AB2,DDR0_DQ[4],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[4],,no
AB3,GND,,,HARD/POWER,,power,Ground,,,,no
AB4,DDR0_DQS_N[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS_N[0],,no
AB5,DDR0_DQ[14],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[14],,no
AB6,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AB7,DDR0_DM[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DM[1],,no
AB8,GND,,,HARD/POWER,,power,Ground,,,,no
AB9,DDR0_CS_N[2],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CS_N[2],,no
AB10,DDR0_CS_N[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CS_N[1],,no
AB11,DDR0_CK_N,DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CK_N,DIFFERENTIAL_MEMBER,no
AB12,DDR0_A[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,A[0],,no
AB13,GND,,,HARD/POWER,,power,Ground,,,,no
AB14,NC,,,HARD/POWER,,,,,,,no
AB15,DDR0_DM[2],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DM[2],,no
AB16,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AB17,DDR0_DQS[2],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS[2],,no
AB18,GND,,,HARD/POWER,,power,Ground,,,,no
AB19,DDR0_DQ[19],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[19],,no
AB20,DDR0_DM[3],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DM[3],,no
AB21,DDR0_DQS_N[3],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQS_N[3],,no
AB22,GND,,,HARD/POWER,,power,Ground,,,,no
AB23,DDR0_DQ[26],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[26],,no
AC1,GND,,,HARD/POWER,,power,Ground,,,,no
AC2,DDR0_DQ[5],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[5],,no
AC3,DDR0_DM[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DM[0],,no
AC4,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AC5,DDR0_DQ[15],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[15],,no
AC6,GND,,,HARD/POWER,,power,Ground,,,,no
AC7,DDR0_DQ[12],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[12],,no
AC8,DDR0_DQ[13],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[13],,no
AC9,GND,,,HARD/POWER,,power,Ground,,,,no
AC10,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AC11,DDR0_CK,DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CK,,no
AC12,GND,,,HARD/POWER,,power,Ground,,,,no
AC13,DDR0_A[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,A[1],,no
AC14,NC,,,HARD/POWER,,,,,,,no
AC15,DDR0_A[4],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,A[4],,no
AC16,GND,,,HARD/POWER,,power,Ground,,,,no
AC17,DDR0_DQ[16],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[16],,no
AC18,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AC19,DDR0_DQ[18],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[18],,no
AC20,GND,,,HARD/POWER,,power,Ground,,,,no
AC21,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
AC22,DDR0_DQ[27],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[27],,no
AC23,GND,,,HARD/POWER,,power,Ground,,,,no
B1,GPIOB_P_21,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_21,P,DIFFERENTIAL_MEMBER,yes
B2,GPIOB_N_30_CDI8,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_30,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
B3,GND,,,HARD/POWER,,power,Ground,,,,no
B4,GPIOB_N_31,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_31,N,DIFFERENTIAL_MEMBER,yes
B5,GPIOB_N_34,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_34,N,DIFFERENTIAL_MEMBER,yes
B6,GPIOB_P_35,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_35,P,DIFFERENTIAL_MEMBER,yes
B7,GPIOB_P_38_CDI3,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_38,P,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
B8,GND,,,HARD/POWER,,power,Ground,,,,no
B9,GPIOR_168,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_168,,,yes
B10,GPIOR_169,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_169,,,yes
B11,GPIOR_143_CLK9,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_143,,CLOCK_CAPABLE,yes
B12,GPIOR_96_CLK13,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_96,,CLOCK_CAPABLE,yes
B13,VCCIO33_TR1,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
B14,GPIOT_P_55,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_55,P,DIFFERENTIAL_MEMBER,yes
B15,GPIOT_P_62_PLLIN0,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_62,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
B16,GPIOT_N_62,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_62,N,DIFFERENTIAL_MEMBER,yes
B17,GPIOT_N_52,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_52,N,DIFFERENTIAL_MEMBER,yes
B18,VCCIO2E,2E,2E,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
B19,GPIOT_N_54,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_54,N,DIFFERENTIAL_MEMBER,yes
B20,GPIOT_N_51,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_51,N,DIFFERENTIAL_MEMBER,yes
B21,GPIOT_P_33_CLK16_P,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_33,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
B22,GPIOT_N_27,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_27,N,DIFFERENTIAL_MEMBER,yes
B23,GPIOT_P_26,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_26,P,DIFFERENTIAL_MEMBER,yes
C1,GND,,,HARD/POWER,,power,Ground,,,,no
C2,GPIOB_N_21,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_21,N,DIFFERENTIAL_MEMBER,yes
C3,GPIOB_P_27,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_27,P,DIFFERENTIAL_MEMBER,yes
C4,GPIOB_P_31,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_31,P,DIFFERENTIAL_MEMBER,yes
C5,GPIOB_P_34,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_34,P,DIFFERENTIAL_MEMBER,yes
C6,VCCIO4A_4B,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
C7,GPIOB_N_41,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_41,N,DIFFERENTIAL_MEMBER,yes
C8,JTAG_VCCIO_SEL,4A,4A_4B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
C9,GPIOR_166,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_166,,,yes
C10,GPIOR_167,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_167,,,yes
C11,VCCIO33_BR0,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
C12,GPIOR_99,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_99,,,yes
C13,GPIOR_98,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_98,,,yes
C14,GPIOR_97,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_97,,,yes
C15,GPIOT_N_59,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_59,N,DIFFERENTIAL_MEMBER,yes
C16,VCCIO2E,2E,2E,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
C17,GPIOT_P_52,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_52,P,DIFFERENTIAL_MEMBER,yes
C18,GPIOT_N_60,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_60,N,DIFFERENTIAL_MEMBER,yes
C19,GPIOT_P_54,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_54,P,DIFFERENTIAL_MEMBER,yes
C20,GPIOT_P_51,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_51,P,DIFFERENTIAL_MEMBER,yes
C21,GND,,,HARD/POWER,,power,Ground,,,,no
C22,GPIOT_P_27,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_27,P,DIFFERENTIAL_MEMBER,yes
C23,GND,,,HARD/POWER,,power,Ground,,,,no
D1,GPIOB_P_20_CLK7_P,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_20,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
D2,GPIOB_N_20_CLK7_N,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_20,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
D3,GPIOB_N_27,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_27,N,DIFFERENTIAL_MEMBER,yes
D4,VCCIO4A_4B,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
D5,GPIOB_N_37_CDI4,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_37,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
D6,GPIOB_P_37_CDI5,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_37,P,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
D7,GPIOB_P_41,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_41,P,DIFFERENTIAL_MEMBER,yes
D8,GPIOB_N_44_CLK11_N,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_44,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
D9,VCCIO33_BR3_BR4,BR4,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
D10,GPIOR_144,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_144,,,yes
D11,GPIOR_142_CLK8,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_142,,CLOCK_CAPABLE,yes
D12,GPIOR_100,TR1,TR1,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_100,,,yes
D13,GPIOR_102,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_102,,,yes
D14,GND,,,HARD/POWER,,power,Ground,,,,no
D15,GPIOT_P_59_PLLIN0,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_59,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
D16,GPIOT_P_58,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_58,P,DIFFERENTIAL_MEMBER,yes
D17,GPIOT_N_58,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_58,N,DIFFERENTIAL_MEMBER,yes
D18,GPIOT_P_60_EXTFB,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_60,P,PLL_EXTFB;DIFFERENTIAL_MEMBER,yes
D19,GND,,,HARD/POWER,,power,Ground,,,,no
D20,GPIOT_N_36_CLK19_N,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_36,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
D21,GPIOT_N_29,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_29,N,DIFFERENTIAL_MEMBER,yes
D22,GPIOT_P_25,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_25,P,DIFFERENTIAL_MEMBER,yes
D23,GPIOT_N_25,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_25,N,DIFFERENTIAL_MEMBER,yes
E1,GPIOB_P_18_CLK5_P,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_18,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
E2,VCCIO4C,4C,4C,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
E3,GPIOB_P_24_CDI15,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_24,P,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
E4,GPIOB_N_36_CDI6,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_36,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
E5,GPIOB_P_36_CDI7,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_36,P,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
E6,GPIOB_N_42,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_42,N,DIFFERENTIAL_MEMBER,yes
E7,GND,,,HARD/POWER,,power,Ground,,,,no
E8,GPIOB_P_44_CLK11_P,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_44,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
E9,GPIOR_165_PLLIN1,BR3,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_165,,PLL_INPUT,yes
E10,GPIOR_145_PLLIN1,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_145,,PLL_INPUT,yes
E11,GPIOR_140_PLLIN1,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_140,,PLL_INPUT,yes
E12,GND,,,HARD/POWER,,power,Ground,,,,no
E13,GPIOR_103,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_103,,,yes
E14,GPIOR_104,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_104,,,yes
E15,GPIOR_107,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_107,,,yes
E16,GPIOR_105,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_105,,,yes
E17,GND,,,HARD/POWER,,power,Ground,,,,no
E18,GPIOT_N_61,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_61,N,DIFFERENTIAL_MEMBER,yes
E19,GPIOT_N_64_CLK15_N,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_64,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
E20,GPIOT_P_36_CLK19_P,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_36,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
E21,GPIOT_P_29,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_29,P,DIFFERENTIAL_MEMBER,yes
E22,VCCIO2C,2C,2C,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
E23,GPIOT_N_23,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_23,N,DIFFERENTIAL_MEMBER,yes
F1,GPIOB_N_18_CLK5_N,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_18,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
F2,GPIOB_P_17_CLK4_P,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_17,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
F3,GPIOB_N_24_CDI14,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_24,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
F4,GPIOB_N_33,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_33,N,DIFFERENTIAL_MEMBER,yes
F5,VCCIO4A_4B,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
F6,GPIOB_P_42,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_42,P,DIFFERENTIAL_MEMBER,yes
F7,VQPS,BR,BR,HARD/POWER,,power,,,,,no
F8,CDONE,4A,4A_4B,HSIO,1.2;1.35;1.5;1.8,output,Configuration,,,,no
F9,CRESET_N,4A,4A_4B,HSIO,1.2;1.35;1.5;1.8,input,Configuration,,,DIFFERENTIAL_MEMBER,no
F10,GND,,,HARD/POWER,,power,Ground,,,,no
F11,GPIOR_141,BR0,BR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_141,,,yes
F12,GPIOR_101_PLLIN1,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_101,,PLL_INPUT,yes
F13,GPIOR_106,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_106,,,yes
F14,GPIOR_108,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_108,,,yes
F15,VCCIO33_TR2,TR2,TR2,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
F16,GPIOR_90,TR0,TR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_90,,,yes
F17,GPIOR_91,TR0,TR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_91,,,yes
F18,GPIOT_P_61_EXTFB,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_61,P,PLL_EXTFB;DIFFERENTIAL_MEMBER,yes
F19,GPIOT_P_64_CLK15_P,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_64,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
F20,VCCIO2C,2C,2C,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
F21,GPIOT_P_35_CLK18_P,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_35,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
F22,GPIOT_N_35_CLK18_N,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_35,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
F23,GPIOT_P_23_PLLIN0,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_23,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
G1,GPIOB_P_23_CBSEL1,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_23,P,CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER,yes
G2,GPIOB_N_17_CLK4_N,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_17,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
G3,GND,,,HARD/POWER,,power,Ground,,,,no
G4,GPIOB_P_33,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_33,P,DIFFERENTIAL_MEMBER,yes
G5,GPIOB_N_39_CDI2,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_39,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
G6,GPIOB_P_39_CCK_PLLIN0,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_39,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
G7,VCCA_BR,BR,BR,HARD/POWER,,power,,,,,no
G8,GND,,,HARD/POWER,,power,Ground,,,,no
G9,TDI,BR4,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,input,Configuration,JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4,,,no
G10,TCK,BR4,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,input,Configuration,JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4,,,no
G11,VCCAUX,,,HARD/POWER,,power,,,,,no
G12,TMS,BR4,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,input,Configuration,JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4,,,no
G13,TDO,BR4,BR3_BR4,HVIO,1.8;2.5;3.0;3.3,output,Configuration,JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4,,,no
G14,VCCAUX,,,HARD/POWER,,power,,,,,no
G15,GPIOR_88_PLLIN1,TR0,TR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_88,,PLL_INPUT,yes
G16,GPIOR_89,TR0,TR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_89,,,yes
G17,GPIOR_92,TR0,TR0,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOR_92,,,yes
G18,VCCIO2E,2E,2E,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
G19,GPIOT_N_63_CLK14_N,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_63,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
G20,GPIOT_N_34_CLK17_N,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_34,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
G21,GPIOT_P_28,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_28,P,DIFFERENTIAL_MEMBER,yes
G22,GPIOT_N_28,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_28,N,DIFFERENTIAL_MEMBER,yes
G23,GND,,,HARD/POWER,,power,Ground,,,,no
H1,GND,,,HARD/POWER,,power,Ground,,,,no
H2,GPIOB_N_23_CBSEL0,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_23,N,CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER,yes
H3,GPIOB_P_28,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_28,P,DIFFERENTIAL_MEMBER,yes
H4,GPIOB_N_40_CDI0,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_40,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
H5,GPIOB_P_40_CDI1_EXTFB,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_40,P,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
H6,VCCIO4A_4B,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
H7,VCCAUX,,,HARD/POWER,,power,,,,,no
H8,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
H9,GND,,,HARD/POWER,,power,Ground,,,,no
H10,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
H11,GND,,,HARD/POWER,,power,Ground,,,,no
H12,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
H13,GND,,,HARD/POWER,,power,Ground,,,,no
H14,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
H15,GND,,,HARD/POWER,,power,Ground,,,,no
H16,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
H17,VCCIO33_TR0,TR0,TR0,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
H18,GPIOT_N_56,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_56,N,DIFFERENTIAL_MEMBER,yes
H19,GPIOT_P_63_CLK14_P,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_63,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
H20,GPIOT_P_34_CLK17_P,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_34,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
H21,VCCIO2C,2C,2C,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
H22,GPIOT_P_24_EXTFB,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_24,P,PLL_EXTFB;DIFFERENTIAL_MEMBER,yes
H23,GPIOT_N_24,2C,2C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_24,N,DIFFERENTIAL_MEMBER,yes
J1,GPIOB_P_19_NSTATUS_CLK6_P,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_19,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
J2,GPIOB_N_19_TEST_N_CLK6_N,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_19,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
J3,GPIOB_N_28,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_28,N,DIFFERENTIAL_MEMBER,yes
J4,VCCIO4C,4C,4C,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
J5,GPIOB_N_43_CSI_CLK10_N,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_43,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
J6,GPIOB_P_43_CSO_CLK10_P,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_43,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
J7,REF_RES_4A,4A,4A_4B,HSIO,1.2;1.35;1.5;1.8,input,,,,,no
J8,GND,,,HARD/POWER,,power,Ground,,,,no
J9,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
J10,GND,,,HARD/POWER,,power,Ground,,,,no
J11,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
J12,GND,,,HARD/POWER,,power,Ground,,,,no
J13,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
J14,GND,,,HARD/POWER,,power,Ground,,,,no
J15,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
J16,GND,,,HARD/POWER,,power,Ground,,,,no
J17,REF_RES_2E,2E,2E,HSIO,1.2;1.35;1.5;1.8,input,,,,,no
J18,GPIOT_P_56,2E,2E,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_56,P,DIFFERENTIAL_MEMBER,yes
J19,GND,,,HARD/POWER,,power,Ground,,,,no
J20,GPIOT_P_17,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_17,P,DIFFERENTIAL_MEMBER,yes
J21,GPIOT_P_16,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_16,P,DIFFERENTIAL_MEMBER,yes
J22,GPIOT_P_10_CLK27_P,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_10,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
J23,GPIOT_N_10_CLK27_N,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_10,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
K1,GPIOB_P_14_CDI19_CLK1_P,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_14,P,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
K2,GND,,,HARD/POWER,,power,Ground,,,,no
K3,GPIOB_P_29_CDI11_EXTFB,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_29,P,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
K4,GPIOB_N_29_CDI10,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_29,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
K5,GPIOB_P_26_EXTSPICLK,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_26,P,CLOCK_CAPABLE;EXT_SPI;DIFFERENTIAL_MEMBER,yes
K6,GPIOB_P_25_CDI13,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_25,P,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
K7,REF_RES_4B,4B,4A_4B,HSIO,1.2;1.35;1.5;1.8,input,,,,,no
K8,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
K9,GND,,,HARD/POWER,,power,Ground,,,,no
K10,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
K11,GND,,,HARD/POWER,,power,Ground,,,,no
K12,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
K13,GND,,,HARD/POWER,,power,Ground,,,,no
K14,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
K15,GND,,,HARD/POWER,,power,Ground,,,,no
K16,VCCA_TR,TR,TR,HARD/POWER,,power,,,,,no
K17,GND,,,HARD/POWER,,power,Ground,,,,no
K18,GPIOT_P_49_EXTFB,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_49,P,PLL_EXTFB;DIFFERENTIAL_MEMBER,yes
K19,GPIOT_N_49,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_49,N,DIFFERENTIAL_MEMBER,yes
K20,GPIOT_N_17,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_17,N,DIFFERENTIAL_MEMBER,yes
K21,GPIOT_N_16,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_16,N,DIFFERENTIAL_MEMBER,yes
K22,VCCIO2B,2B,2B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
K23,GPIOT_P_21,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_21,P,DIFFERENTIAL_MEMBER,yes
L1,GPIOB_N_14_CDI18_CLK1_N,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_14,N,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
L2,GPIOB_P_15_CDI17_CLK2_P,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_15,P,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
L3,GPIOB_P_11,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_11,P,DIFFERENTIAL_MEMBER,yes
L4,GPIOB_N_26_SSU_N,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_26,N,DIFFERENTIAL_MEMBER,yes
L5,VCCIO4C,4C,4C,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
L6,GPIOB_N_25_CDI12,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_25,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
L7,VCCAUX,,,HARD/POWER,,power,,,,,no
L8,GND,,,HARD/POWER,,power,Ground,,,,no
L9,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
L10,GND,,,HARD/POWER,,power,Ground,,,,no
L11,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
L12,GND,,,HARD/POWER,,power,Ground,,,,no
L13,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
L14,GND,,,HARD/POWER,,power,Ground,,,,no
L15,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
L16,VCCAUX,,,HARD/POWER,,power,,,,,no
L17,GPIOT_P_50_PLLIN0,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_50,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
L18,GPIOT_N_50,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_50,N,DIFFERENTIAL_MEMBER,yes
L19,GPIOT_P_20,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_20,P,DIFFERENTIAL_MEMBER,yes
L20,VCCIO2B,2B,2B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
L21,GPIOT_P_11_CLK30_P,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_11,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
L22,GPIOT_N_11_CLK30_N,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_11,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
L23,GPIOT_N_21,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_21,N,DIFFERENTIAL_MEMBER,yes
M1,GPIOB_P_09,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_09,P,DIFFERENTIAL_MEMBER,yes
M2,GPIOB_N_15_CDI16_CLK2_N,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_15,N,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
M3,VCCIO4D,4D,4D,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
M4,GPIOB_N_11,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_11,N,DIFFERENTIAL_MEMBER,yes
M5,GPIOB_P_22,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_22,P,DIFFERENTIAL_MEMBER,yes
M6,GPIOB_N_22,4C,4C,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_22,N,DIFFERENTIAL_MEMBER,yes
M7,REF_RES_4D,4D,4D,HSIO,1.2;1.35;1.5;1.8,input,,,,,no
M8,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
M9,GND,,,HARD/POWER,,power,Ground,,,,no
M10,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
M11,GND,,,HARD/POWER,,power,Ground,,,,no
M12,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
M13,GND,,,HARD/POWER,,power,Ground,,,,no
M14,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
M15,GND,,,HARD/POWER,,power,Ground,,,,no
M16,GPIOT_P_43,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_43,P,DIFFERENTIAL_MEMBER,yes
M17,GPIOT_N_43,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_43,N,DIFFERENTIAL_MEMBER,yes
M18,VCCIO2D,2D,2D,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
M19,GPIOT_N_20,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_20,N,DIFFERENTIAL_MEMBER,yes
M20,GPIOT_P_13_PLLIN0,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_13,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
M21,GPIOT_P_22,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_22,P,DIFFERENTIAL_MEMBER,yes
M22,GPIOT_N_22,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_22,N,DIFFERENTIAL_MEMBER,yes
M23,GND,,,HARD/POWER,,power,Ground,,,,no
N1,GND,,,HARD/POWER,,power,Ground,,,,no
N2,GPIOB_N_09,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_09,N,DIFFERENTIAL_MEMBER,yes
N3,GPIOB_P_13_CDI21_CLK0_P,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_13,P,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
N4,GPIOB_N_12,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_12,N,DIFFERENTIAL_MEMBER,yes
N5,GPIOB_P_12,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_12,P,DIFFERENTIAL_MEMBER,yes
N6,GND,,,HARD/POWER,,power,Ground,,,,no
N7,GPIOB_P_08_CDI22_EXTFB,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_08,P,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
N8,GND,,,HARD/POWER,,power,Ground,,,,no
N9,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
N10,GND,,,HARD/POWER,,power,Ground,,,,no
N11,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
N12,GND,,,HARD/POWER,,power,Ground,,,,no
N13,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
N14,GND,,,HARD/POWER,,power,Ground,,,,no
N15,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
N16,GND,,,HARD/POWER,,power,Ground,,,,no
N17,GPIOT_P_40_CLK23_P,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_40,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
N18,GPIOT_N_40_CLK23_N,2D,2D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_40,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
N19,GPIOT_P_14_EXTFB,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_14,P,PLL_EXTFB;DIFFERENTIAL_MEMBER,yes
N20,GPIOT_N_13,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_13,N,DIFFERENTIAL_MEMBER,yes
N21,VCCIO2B,2B,2B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
N22,GPIOT_P_15,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_15,P,DIFFERENTIAL_MEMBER,yes
N23,GPIOT_N_15,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_15,N,DIFFERENTIAL_MEMBER,yes
P1,GPIOB_N_16_CLK3_N,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_16,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
P2,GPIOB_P_16_CLK3_P,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_16,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
P3,GPIOB_N_13_CDI20_CLK0_N,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_13,N,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
P4,VCCIO4D,4D,4D,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
P5,GPIOB_P_06_CDI26_EXTFB,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_06,P,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
P6,GPIOB_P_05_CDI28_PLLIN0,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_05,P,PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
P7,GPIOB_N_08,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_08,N,DIFFERENTIAL_MEMBER,yes
P8,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
P9,GND,,,HARD/POWER,,power,Ground,,,,no
P10,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
P11,GND,,,HARD/POWER,,power,Ground,,,,no
P12,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
P13,GND,,,HARD/POWER,,power,Ground,,,,no
P14,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
P15,GND,,,HARD/POWER,,power,Ground,,,,no
P16,VCCAUX,,,HARD/POWER,,power,,,,,no
P17,GPIOL_84,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_84,,,yes
P18,GPIOL_80_CLK29,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_80,,CLOCK_CAPABLE,yes
P19,GND,,,HARD/POWER,,power,Ground,,,,no
P20,GPIOT_N_14,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_14,N,DIFFERENTIAL_MEMBER,yes
P21,GPIOT_P_18,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_18,P,DIFFERENTIAL_MEMBER,yes
P22,GPIOT_N_18,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_18,N,DIFFERENTIAL_MEMBER,yes
P23,GPIOT_P_09_CLK26_P,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_09,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
R1,GPIOB_P_04_CDI30_EXTFB,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_04,P,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
R2,VCCIO4D,4D,4D,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
R3,GPIOB_N_07_CDI23,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_07,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
R4,GPIOB_P_07_CDI24_PLLIN0,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_07,P,PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
R5,GPIOB_N_06_CDI25,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_06,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
R6,GPIOB_N_05_CDI27,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_05,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
R7,VCCAUX,,,HARD/POWER,,power,,,,,no
R8,GND,,,HARD/POWER,,power,Ground,,,,no
R9,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
R10,GND,,,HARD/POWER,,power,Ground,,,,no
R11,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
R12,GND,,,HARD/POWER,,power,Ground,,,,no
R13,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
R14,GND,,,HARD/POWER,,power,Ground,,,,no
R15,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
R16,GND,,,HARD/POWER,,power,Ground,,,,no
R17,GPIOL_85_PLLIN1,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_85,,PLL_INPUT,yes
R18,GPIOL_87_PLLIN1,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_87,,PLL_INPUT,yes
R19,GPIOT_P_19,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_19,P,DIFFERENTIAL_MEMBER,yes
R20,GPIOT_N_19,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_19,N,DIFFERENTIAL_MEMBER,yes
R21,GPIOT_P_12_CLK31_P,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_12,P,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
R22,VCCIO2B,2B,2B,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
R23,GPIOT_N_09_CLK26_N,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_09,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
T1,GPIOB_N_04_CDI29,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_04,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
T2,GPIOB_N_10,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_10,N,DIFFERENTIAL_MEMBER,yes
T3,GPIOB_P_10,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_10,P,DIFFERENTIAL_MEMBER,yes
T4,GPIOL_27_CLK25,BL3,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_27,,CLOCK_CAPABLE,yes
T5,GND,,,HARD/POWER,,power,Ground,,,,no
T6,VDD_SOC,SOC,SOC,HARD/POWER,,power,,,,,no
T7,GND,,,HARD/POWER,,power,Ground,,,,no
T8,VCCA_BL2,BL,BL,HARD/POWER,,power,,,,,no
T9,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
T10,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
T11,GND,,,HARD/POWER,,power,Ground,,,,no
T12,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
T13,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
T14,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
T15,GND,,,HARD/POWER,,power,Ground,,,,no
T16,VCC,,,HARD/POWER,,power,1.1 V VCC Power,,,,no
T17,VCCIO33_TL1_TL5,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
T18,GPIOL_83,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_83,,,yes
T19,GPIOL_86,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_86,,,yes
T20,VCCIO2A,2A,2A,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
T21,GPIOT_N_12_CLK31_N,2B,2B,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_12,N,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,yes
T22,GPIOT_P_08_PLLIN0,2A,2A,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_08,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
T23,GPIOT_N_08,2A,2A,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_08,N,DIFFERENTIAL_MEMBER,yes
U1,GPIOB_N_03_CDI31,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_03,N,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,yes
U2,GPIOB_P_03_PLLIN0,4D,4D,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOB_PN_03,P,PLL_INPUT;DIFFERENTIAL_MEMBER,yes
U3,VCCIO4D,4D,4D,HSIO,1.2;1.35;1.5;1.8,power,VCCIO Power,,,,no
U4,GPIOL_25_PLLIN1,BL2,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_25,,PLL_INPUT,yes
U5,GPIOL_34_PLLIN1,BL3,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_34,,PLL_INPUT,yes
U6,GPIOL_24,BL2,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_24,,,yes
U7,VDD_SOC,SOC,SOC,HARD/POWER,,power,,,,,no
U8,VCCA_BL0_BL1,BL,BL,HARD/POWER,,power,,,,,no
U9,GND,,,HARD/POWER,,power,Ground,,,,no
U10,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
U11,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
U12,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
U13,GND,,,HARD/POWER,,power,Ground,,,,no
U14,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
U15,VCCA_TL2,TL,TL,HARD/POWER,,power,,,,,no
U16,VCCA_TL0_TL1,TL,TL,HARD/POWER,,power,,,,,no
U17,GPIOL_79_CLK28,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_79,,CLOCK_CAPABLE,yes
U18,GND,,,HARD/POWER,,power,Ground,,,,no
U19,GPIOL_52_PLLIN1,TL1,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_52,,PLL_INPUT,yes
U20,REF_RES_2A,2A,2A,HSIO,1.2;1.35;1.5;1.8,input,,,,,no
U21,GPIOT_P_05,2A,2A,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_05,P,DIFFERENTIAL_MEMBER,yes
U22,GPIOT_N_05,2A,2A,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_05,N,DIFFERENTIAL_MEMBER,yes
U23,GND,,,HARD/POWER,,power,Ground,,,,no
V1,GND,,,HARD/POWER,,power,Ground,,,,no
V2,GPIOL_26_CLK24,BL3,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_26,,CLOCK_CAPABLE,yes
V3,GPIOL_32_PLLIN1,BL3,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_32,,PLL_INPUT,yes
V4,GPIOL_23,BL2,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_23,,,yes
V5,VCCIO33_BL2_BL3,BL3,BL2_BL3,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
V6,VDD_SOC,SOC,SOC,HARD/POWER,,power,,,,,no
V7,GND,,,HARD/POWER,,power,Ground,,,,no
V8,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V9,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V10,VDDQ_CK_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V11,GND,,,HARD/POWER,,power,Ground,,,,no
V12,VDDPLL_MCB_TOP_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V13,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V14,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V15,GND,,,HARD/POWER,,power,Ground,,,,no
V16,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V17,VDD_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
V18,VCCIO33_TL1_TL5,TL5,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,power,VCCIO Power,,,,no
V19,GPIOL_46,TL1,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_46,,,yes
V20,GPIOL_45,TL1,TL1_TL5,HVIO,1.8;2.5;3.0;3.3,configurable,,GPIOL_45,,,yes
V21,GND,,,HARD/POWER,,power,Ground,,,,no
V22,GPIOT_P_07_EXTFB,2A,2A,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_07,P,PLL_EXTFB;DIFFERENTIAL_MEMBER,yes
V23,GPIOT_N_07,2A,2A,HSIO,1.2;1.35;1.5;1.8,configurable,,GPIOT_PN_07,N,DIFFERENTIAL_MEMBER,yes
W1,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W2,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W3,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W4,GND,,,HARD/POWER,,power,Ground,,,,no
W5,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W6,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W7,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W8,DDR0_DQ[11],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[11],,no
W9,GND,,,HARD/POWER,,power,Ground,,,,no
W10,DDR0_CKE[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CKE[1],,no
W11,DDR0_CAL,DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CAL,,no
W12,NC,,,HARD/POWER,,,,,,,no
W13,NC,,,HARD/POWER,,,,,,,no
W14,GND,,,HARD/POWER,,power,Ground,,,,no
W15,DDR0_DQ[21],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[21],,no
W16,DDR0_DQ[20],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[20],,no
W17,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W18,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W19,GND,,,HARD/POWER,,power,Ground,,,,no
W20,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W21,VDDQX_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W22,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
W23,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
Y1,DDR0_DQ[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[0],,no
Y2,GND,,,HARD/POWER,,power,Ground,,,,no
Y3,DDR0_DQ[1],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[1],,no
Y4,DDR0_DQ[2],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[2],,no
Y5,DDR0_DQ[3],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[3],,no
Y6,DDR0_DQ[10],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[10],,no
Y7,GND,,,HARD/POWER,,power,Ground,,,,no
Y8,DDR0_DQ[9],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[9],,no
Y9,DDR0_CS_N[3],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CS_N[3],,no
Y10,DDR0_CS_N[0],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,CS_N[0],,no
Y11,DDR0_RST_N,DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,RST_N,DIFFERENTIAL_MEMBER,no
Y12,GND,,,HARD/POWER,,power,Ground,,,,no
Y13,NC,,,HARD/POWER,,,,,,,no
Y14,DDR0_A[5],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,A[5],,no
Y15,VDDQ_PHY_DDR0,DDR0,DDR0,HARD/POWER,,power,,,,,no
Y16,DDR0_DQ[22],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[22],,no
Y17,GND,,,HARD/POWER,,power,Ground,,,,no
Y18,DDR0_DQ[17],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[17],,no
Y19,DDR0_DQ[30],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[30],,no
Y20,DDR0_DQ[29],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[29],,no
Y21,DDR0_DQ[31],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[31],,no
Y22,GND,,,HARD/POWER,,power,Ground,,,,no
Y23,DDR0_DQ[24],DDR0,DDR0,HARD/POWER,,configurable,,DDR_0,DQ[24],,no
1 ball official_pad_name die_bank package_bank bank_class allowed_vccio_v direction function periphery_instances instance_pin special_capability fabric_gpio
2 A1 GND HARD/POWER power Ground no
3 A2 GPIOB_P_30_CDI9_PLLIN0 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_30 P PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
4 A3 GPIOB_N_32 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_32 N DIFFERENTIAL_MEMBER yes
5 A4 GPIOB_P_32 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_32 P DIFFERENTIAL_MEMBER yes
6 A5 GND HARD/POWER power Ground no
7 A6 GPIOB_N_35 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_35 N DIFFERENTIAL_MEMBER yes
8 A7 GPIOB_N_38_SSL_N 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_38 N DIFFERENTIAL_MEMBER yes
9 A8 GPIOR_170 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_170 yes
10 A9 GPIOR_171 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_171 yes
11 A10 GND HARD/POWER power Ground no
12 A11 GPIOR_93_PLLIN1 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_93 PLL_INPUT yes
13 A12 GPIOR_95_CLK12 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_95 CLOCK_CAPABLE yes
14 A13 GPIOR_94 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_94 yes
15 A14 GPIOT_N_55 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_55 N DIFFERENTIAL_MEMBER yes
16 A15 GND HARD/POWER power Ground no
17 A16 GPIOT_P_53 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_53 P DIFFERENTIAL_MEMBER yes
18 A17 GPIOT_N_53 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_53 N DIFFERENTIAL_MEMBER yes
19 A18 GPIOT_P_57 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_57 P DIFFERENTIAL_MEMBER yes
20 A19 GPIOT_N_57 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_57 N DIFFERENTIAL_MEMBER yes
21 A20 GND HARD/POWER power Ground no
22 A21 GPIOT_N_33_CLK16_N 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_33 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
23 A22 GPIOT_N_26 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_26 N DIFFERENTIAL_MEMBER yes
24 A23 GND HARD/POWER power Ground no
25 AA1 GND HARD/POWER power Ground no
26 AA2 DDR0_DQ[6] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[6] no
27 AA3 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
28 AA4 DDR0_DQS[0] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS[0] no
29 AA5 GND HARD/POWER power Ground no
30 AA6 DDR0_DQ[8] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[8] no
31 AA7 DDR0_DQS[1] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS[1] no
32 AA8 DDR0_DQS_N[1] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS_N[1] no
33 AA9 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
34 AA10 GND HARD/POWER power Ground no
35 AA11 DDR0_CKE[0] DDR0 DDR0 HARD/POWER configurable DDR_0 CKE[0] no
36 AA12 NC HARD/POWER no
37 AA13 DDR0_A[2] DDR0 DDR0 HARD/POWER configurable DDR_0 A[2] no
38 AA14 DDR0_A[3] DDR0 DDR0 HARD/POWER configurable DDR_0 A[3] no
39 AA15 GND HARD/POWER power Ground no
40 AA16 DDR0_DQ[23] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[23] no
41 AA17 DDR0_DQS_N[2] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS_N[2] no
42 AA18 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
43 AA19 DDR0_DQ[28] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[28] no
44 AA20 GND HARD/POWER power Ground no
45 AA21 DDR0_DQS[3] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS[3] no
46 AA22 DDR0_DQ[25] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[25] no
47 AA23 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
48 AB1 DDR0_DQ[7] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[7] no
49 AB2 DDR0_DQ[4] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[4] no
50 AB3 GND HARD/POWER power Ground no
51 AB4 DDR0_DQS_N[0] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS_N[0] no
52 AB5 DDR0_DQ[14] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[14] no
53 AB6 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
54 AB7 DDR0_DM[1] DDR0 DDR0 HARD/POWER configurable DDR_0 DM[1] no
55 AB8 GND HARD/POWER power Ground no
56 AB9 DDR0_CS_N[2] DDR0 DDR0 HARD/POWER configurable DDR_0 CS_N[2] no
57 AB10 DDR0_CS_N[1] DDR0 DDR0 HARD/POWER configurable DDR_0 CS_N[1] no
58 AB11 DDR0_CK_N DDR0 DDR0 HARD/POWER configurable DDR_0 CK_N DIFFERENTIAL_MEMBER no
59 AB12 DDR0_A[0] DDR0 DDR0 HARD/POWER configurable DDR_0 A[0] no
60 AB13 GND HARD/POWER power Ground no
61 AB14 NC HARD/POWER no
62 AB15 DDR0_DM[2] DDR0 DDR0 HARD/POWER configurable DDR_0 DM[2] no
63 AB16 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
64 AB17 DDR0_DQS[2] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS[2] no
65 AB18 GND HARD/POWER power Ground no
66 AB19 DDR0_DQ[19] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[19] no
67 AB20 DDR0_DM[3] DDR0 DDR0 HARD/POWER configurable DDR_0 DM[3] no
68 AB21 DDR0_DQS_N[3] DDR0 DDR0 HARD/POWER configurable DDR_0 DQS_N[3] no
69 AB22 GND HARD/POWER power Ground no
70 AB23 DDR0_DQ[26] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[26] no
71 AC1 GND HARD/POWER power Ground no
72 AC2 DDR0_DQ[5] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[5] no
73 AC3 DDR0_DM[0] DDR0 DDR0 HARD/POWER configurable DDR_0 DM[0] no
74 AC4 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
75 AC5 DDR0_DQ[15] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[15] no
76 AC6 GND HARD/POWER power Ground no
77 AC7 DDR0_DQ[12] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[12] no
78 AC8 DDR0_DQ[13] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[13] no
79 AC9 GND HARD/POWER power Ground no
80 AC10 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
81 AC11 DDR0_CK DDR0 DDR0 HARD/POWER configurable DDR_0 CK no
82 AC12 GND HARD/POWER power Ground no
83 AC13 DDR0_A[1] DDR0 DDR0 HARD/POWER configurable DDR_0 A[1] no
84 AC14 NC HARD/POWER no
85 AC15 DDR0_A[4] DDR0 DDR0 HARD/POWER configurable DDR_0 A[4] no
86 AC16 GND HARD/POWER power Ground no
87 AC17 DDR0_DQ[16] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[16] no
88 AC18 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
89 AC19 DDR0_DQ[18] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[18] no
90 AC20 GND HARD/POWER power Ground no
91 AC21 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
92 AC22 DDR0_DQ[27] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[27] no
93 AC23 GND HARD/POWER power Ground no
94 B1 GPIOB_P_21 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_21 P DIFFERENTIAL_MEMBER yes
95 B2 GPIOB_N_30_CDI8 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_30 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
96 B3 GND HARD/POWER power Ground no
97 B4 GPIOB_N_31 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_31 N DIFFERENTIAL_MEMBER yes
98 B5 GPIOB_N_34 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_34 N DIFFERENTIAL_MEMBER yes
99 B6 GPIOB_P_35 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_35 P DIFFERENTIAL_MEMBER yes
100 B7 GPIOB_P_38_CDI3 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_38 P CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
101 B8 GND HARD/POWER power Ground no
102 B9 GPIOR_168 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_168 yes
103 B10 GPIOR_169 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_169 yes
104 B11 GPIOR_143_CLK9 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_143 CLOCK_CAPABLE yes
105 B12 GPIOR_96_CLK13 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_96 CLOCK_CAPABLE yes
106 B13 VCCIO33_TR1 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
107 B14 GPIOT_P_55 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_55 P DIFFERENTIAL_MEMBER yes
108 B15 GPIOT_P_62_PLLIN0 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_62 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
109 B16 GPIOT_N_62 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_62 N DIFFERENTIAL_MEMBER yes
110 B17 GPIOT_N_52 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_52 N DIFFERENTIAL_MEMBER yes
111 B18 VCCIO2E 2E 2E HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
112 B19 GPIOT_N_54 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_54 N DIFFERENTIAL_MEMBER yes
113 B20 GPIOT_N_51 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_51 N DIFFERENTIAL_MEMBER yes
114 B21 GPIOT_P_33_CLK16_P 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_33 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
115 B22 GPIOT_N_27 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_27 N DIFFERENTIAL_MEMBER yes
116 B23 GPIOT_P_26 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_26 P DIFFERENTIAL_MEMBER yes
117 C1 GND HARD/POWER power Ground no
118 C2 GPIOB_N_21 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_21 N DIFFERENTIAL_MEMBER yes
119 C3 GPIOB_P_27 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_27 P DIFFERENTIAL_MEMBER yes
120 C4 GPIOB_P_31 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_31 P DIFFERENTIAL_MEMBER yes
121 C5 GPIOB_P_34 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_34 P DIFFERENTIAL_MEMBER yes
122 C6 VCCIO4A_4B 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
123 C7 GPIOB_N_41 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_41 N DIFFERENTIAL_MEMBER yes
124 C8 JTAG_VCCIO_SEL 4A 4A_4B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
125 C9 GPIOR_166 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_166 yes
126 C10 GPIOR_167 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_167 yes
127 C11 VCCIO33_BR0 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
128 C12 GPIOR_99 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_99 yes
129 C13 GPIOR_98 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_98 yes
130 C14 GPIOR_97 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_97 yes
131 C15 GPIOT_N_59 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_59 N DIFFERENTIAL_MEMBER yes
132 C16 VCCIO2E 2E 2E HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
133 C17 GPIOT_P_52 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_52 P DIFFERENTIAL_MEMBER yes
134 C18 GPIOT_N_60 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_60 N DIFFERENTIAL_MEMBER yes
135 C19 GPIOT_P_54 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_54 P DIFFERENTIAL_MEMBER yes
136 C20 GPIOT_P_51 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_51 P DIFFERENTIAL_MEMBER yes
137 C21 GND HARD/POWER power Ground no
138 C22 GPIOT_P_27 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_27 P DIFFERENTIAL_MEMBER yes
139 C23 GND HARD/POWER power Ground no
140 D1 GPIOB_P_20_CLK7_P 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_20 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
141 D2 GPIOB_N_20_CLK7_N 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_20 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
142 D3 GPIOB_N_27 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_27 N DIFFERENTIAL_MEMBER yes
143 D4 VCCIO4A_4B 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
144 D5 GPIOB_N_37_CDI4 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_37 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
145 D6 GPIOB_P_37_CDI5 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_37 P CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
146 D7 GPIOB_P_41 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_41 P DIFFERENTIAL_MEMBER yes
147 D8 GPIOB_N_44_CLK11_N 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_44 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
148 D9 VCCIO33_BR3_BR4 BR4 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
149 D10 GPIOR_144 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_144 yes
150 D11 GPIOR_142_CLK8 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_142 CLOCK_CAPABLE yes
151 D12 GPIOR_100 TR1 TR1 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_100 yes
152 D13 GPIOR_102 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_102 yes
153 D14 GND HARD/POWER power Ground no
154 D15 GPIOT_P_59_PLLIN0 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_59 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
155 D16 GPIOT_P_58 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_58 P DIFFERENTIAL_MEMBER yes
156 D17 GPIOT_N_58 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_58 N DIFFERENTIAL_MEMBER yes
157 D18 GPIOT_P_60_EXTFB 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_60 P PLL_EXTFB;DIFFERENTIAL_MEMBER yes
158 D19 GND HARD/POWER power Ground no
159 D20 GPIOT_N_36_CLK19_N 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_36 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
160 D21 GPIOT_N_29 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_29 N DIFFERENTIAL_MEMBER yes
161 D22 GPIOT_P_25 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_25 P DIFFERENTIAL_MEMBER yes
162 D23 GPIOT_N_25 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_25 N DIFFERENTIAL_MEMBER yes
163 E1 GPIOB_P_18_CLK5_P 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_18 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
164 E2 VCCIO4C 4C 4C HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
165 E3 GPIOB_P_24_CDI15 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_24 P CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
166 E4 GPIOB_N_36_CDI6 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_36 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
167 E5 GPIOB_P_36_CDI7 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_36 P CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
168 E6 GPIOB_N_42 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_42 N DIFFERENTIAL_MEMBER yes
169 E7 GND HARD/POWER power Ground no
170 E8 GPIOB_P_44_CLK11_P 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_44 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
171 E9 GPIOR_165_PLLIN1 BR3 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_165 PLL_INPUT yes
172 E10 GPIOR_145_PLLIN1 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_145 PLL_INPUT yes
173 E11 GPIOR_140_PLLIN1 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_140 PLL_INPUT yes
174 E12 GND HARD/POWER power Ground no
175 E13 GPIOR_103 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_103 yes
176 E14 GPIOR_104 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_104 yes
177 E15 GPIOR_107 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_107 yes
178 E16 GPIOR_105 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_105 yes
179 E17 GND HARD/POWER power Ground no
180 E18 GPIOT_N_61 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_61 N DIFFERENTIAL_MEMBER yes
181 E19 GPIOT_N_64_CLK15_N 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_64 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
182 E20 GPIOT_P_36_CLK19_P 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_36 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
183 E21 GPIOT_P_29 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_29 P DIFFERENTIAL_MEMBER yes
184 E22 VCCIO2C 2C 2C HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
185 E23 GPIOT_N_23 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_23 N DIFFERENTIAL_MEMBER yes
186 F1 GPIOB_N_18_CLK5_N 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_18 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
187 F2 GPIOB_P_17_CLK4_P 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_17 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
188 F3 GPIOB_N_24_CDI14 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_24 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
189 F4 GPIOB_N_33 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_33 N DIFFERENTIAL_MEMBER yes
190 F5 VCCIO4A_4B 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
191 F6 GPIOB_P_42 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_42 P DIFFERENTIAL_MEMBER yes
192 F7 VQPS BR BR HARD/POWER power no
193 F8 CDONE 4A 4A_4B HSIO 1.2;1.35;1.5;1.8 output Configuration no
194 F9 CRESET_N 4A 4A_4B HSIO 1.2;1.35;1.5;1.8 input Configuration DIFFERENTIAL_MEMBER no
195 F10 GND HARD/POWER power Ground no
196 F11 GPIOR_141 BR0 BR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_141 yes
197 F12 GPIOR_101_PLLIN1 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_101 PLL_INPUT yes
198 F13 GPIOR_106 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_106 yes
199 F14 GPIOR_108 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_108 yes
200 F15 VCCIO33_TR2 TR2 TR2 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
201 F16 GPIOR_90 TR0 TR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_90 yes
202 F17 GPIOR_91 TR0 TR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_91 yes
203 F18 GPIOT_P_61_EXTFB 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_61 P PLL_EXTFB;DIFFERENTIAL_MEMBER yes
204 F19 GPIOT_P_64_CLK15_P 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_64 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
205 F20 VCCIO2C 2C 2C HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
206 F21 GPIOT_P_35_CLK18_P 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_35 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
207 F22 GPIOT_N_35_CLK18_N 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_35 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
208 F23 GPIOT_P_23_PLLIN0 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_23 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
209 G1 GPIOB_P_23_CBSEL1 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_23 P CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER yes
210 G2 GPIOB_N_17_CLK4_N 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_17 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
211 G3 GND HARD/POWER power Ground no
212 G4 GPIOB_P_33 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_33 P DIFFERENTIAL_MEMBER yes
213 G5 GPIOB_N_39_CDI2 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_39 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
214 G6 GPIOB_P_39_CCK_PLLIN0 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_39 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
215 G7 VCCA_BR BR BR HARD/POWER power no
216 G8 GND HARD/POWER power Ground no
217 G9 TDI BR4 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 input Configuration JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4 no
218 G10 TCK BR4 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 input Configuration JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4 no
219 G11 VCCAUX HARD/POWER power no
220 G12 TMS BR4 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 input Configuration JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4 no
221 G13 TDO BR4 BR3_BR4 HVIO 1.8;2.5;3.0;3.3 output Configuration JTAG_USER1;JTAG_USER2;JTAG_USER3;JTAG_USER4 no
222 G14 VCCAUX HARD/POWER power no
223 G15 GPIOR_88_PLLIN1 TR0 TR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_88 PLL_INPUT yes
224 G16 GPIOR_89 TR0 TR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_89 yes
225 G17 GPIOR_92 TR0 TR0 HVIO 1.8;2.5;3.0;3.3 configurable GPIOR_92 yes
226 G18 VCCIO2E 2E 2E HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
227 G19 GPIOT_N_63_CLK14_N 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_63 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
228 G20 GPIOT_N_34_CLK17_N 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_34 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
229 G21 GPIOT_P_28 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_28 P DIFFERENTIAL_MEMBER yes
230 G22 GPIOT_N_28 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_28 N DIFFERENTIAL_MEMBER yes
231 G23 GND HARD/POWER power Ground no
232 H1 GND HARD/POWER power Ground no
233 H2 GPIOB_N_23_CBSEL0 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_23 N CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER yes
234 H3 GPIOB_P_28 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_28 P DIFFERENTIAL_MEMBER yes
235 H4 GPIOB_N_40_CDI0 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_40 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
236 H5 GPIOB_P_40_CDI1_EXTFB 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_40 P PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
237 H6 VCCIO4A_4B 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
238 H7 VCCAUX HARD/POWER power no
239 H8 VCC HARD/POWER power 1.1 V VCC Power no
240 H9 GND HARD/POWER power Ground no
241 H10 VCC HARD/POWER power 1.1 V VCC Power no
242 H11 GND HARD/POWER power Ground no
243 H12 VCC HARD/POWER power 1.1 V VCC Power no
244 H13 GND HARD/POWER power Ground no
245 H14 VCC HARD/POWER power 1.1 V VCC Power no
246 H15 GND HARD/POWER power Ground no
247 H16 VCC HARD/POWER power 1.1 V VCC Power no
248 H17 VCCIO33_TR0 TR0 TR0 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
249 H18 GPIOT_N_56 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_56 N DIFFERENTIAL_MEMBER yes
250 H19 GPIOT_P_63_CLK14_P 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_63 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
251 H20 GPIOT_P_34_CLK17_P 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_34 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
252 H21 VCCIO2C 2C 2C HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
253 H22 GPIOT_P_24_EXTFB 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_24 P PLL_EXTFB;DIFFERENTIAL_MEMBER yes
254 H23 GPIOT_N_24 2C 2C HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_24 N DIFFERENTIAL_MEMBER yes
255 J1 GPIOB_P_19_NSTATUS_CLK6_P 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_19 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
256 J2 GPIOB_N_19_TEST_N_CLK6_N 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_19 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
257 J3 GPIOB_N_28 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_28 N DIFFERENTIAL_MEMBER yes
258 J4 VCCIO4C 4C 4C HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
259 J5 GPIOB_N_43_CSI_CLK10_N 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_43 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
260 J6 GPIOB_P_43_CSO_CLK10_P 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_43 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
261 J7 REF_RES_4A 4A 4A_4B HSIO 1.2;1.35;1.5;1.8 input no
262 J8 GND HARD/POWER power Ground no
263 J9 VCC HARD/POWER power 1.1 V VCC Power no
264 J10 GND HARD/POWER power Ground no
265 J11 VCC HARD/POWER power 1.1 V VCC Power no
266 J12 GND HARD/POWER power Ground no
267 J13 VCC HARD/POWER power 1.1 V VCC Power no
268 J14 GND HARD/POWER power Ground no
269 J15 VCC HARD/POWER power 1.1 V VCC Power no
270 J16 GND HARD/POWER power Ground no
271 J17 REF_RES_2E 2E 2E HSIO 1.2;1.35;1.5;1.8 input no
272 J18 GPIOT_P_56 2E 2E HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_56 P DIFFERENTIAL_MEMBER yes
273 J19 GND HARD/POWER power Ground no
274 J20 GPIOT_P_17 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_17 P DIFFERENTIAL_MEMBER yes
275 J21 GPIOT_P_16 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_16 P DIFFERENTIAL_MEMBER yes
276 J22 GPIOT_P_10_CLK27_P 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_10 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
277 J23 GPIOT_N_10_CLK27_N 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_10 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
278 K1 GPIOB_P_14_CDI19_CLK1_P 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_14 P CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
279 K2 GND HARD/POWER power Ground no
280 K3 GPIOB_P_29_CDI11_EXTFB 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_29 P PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
281 K4 GPIOB_N_29_CDI10 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_29 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
282 K5 GPIOB_P_26_EXTSPICLK 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_26 P CLOCK_CAPABLE;EXT_SPI;DIFFERENTIAL_MEMBER yes
283 K6 GPIOB_P_25_CDI13 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_25 P CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
284 K7 REF_RES_4B 4B 4A_4B HSIO 1.2;1.35;1.5;1.8 input no
285 K8 VCC HARD/POWER power 1.1 V VCC Power no
286 K9 GND HARD/POWER power Ground no
287 K10 VCC HARD/POWER power 1.1 V VCC Power no
288 K11 GND HARD/POWER power Ground no
289 K12 VCC HARD/POWER power 1.1 V VCC Power no
290 K13 GND HARD/POWER power Ground no
291 K14 VCC HARD/POWER power 1.1 V VCC Power no
292 K15 GND HARD/POWER power Ground no
293 K16 VCCA_TR TR TR HARD/POWER power no
294 K17 GND HARD/POWER power Ground no
295 K18 GPIOT_P_49_EXTFB 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_49 P PLL_EXTFB;DIFFERENTIAL_MEMBER yes
296 K19 GPIOT_N_49 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_49 N DIFFERENTIAL_MEMBER yes
297 K20 GPIOT_N_17 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_17 N DIFFERENTIAL_MEMBER yes
298 K21 GPIOT_N_16 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_16 N DIFFERENTIAL_MEMBER yes
299 K22 VCCIO2B 2B 2B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
300 K23 GPIOT_P_21 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_21 P DIFFERENTIAL_MEMBER yes
301 L1 GPIOB_N_14_CDI18_CLK1_N 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_14 N CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
302 L2 GPIOB_P_15_CDI17_CLK2_P 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_15 P CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
303 L3 GPIOB_P_11 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_11 P DIFFERENTIAL_MEMBER yes
304 L4 GPIOB_N_26_SSU_N 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_26 N DIFFERENTIAL_MEMBER yes
305 L5 VCCIO4C 4C 4C HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
306 L6 GPIOB_N_25_CDI12 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_25 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
307 L7 VCCAUX HARD/POWER power no
308 L8 GND HARD/POWER power Ground no
309 L9 VCC HARD/POWER power 1.1 V VCC Power no
310 L10 GND HARD/POWER power Ground no
311 L11 VCC HARD/POWER power 1.1 V VCC Power no
312 L12 GND HARD/POWER power Ground no
313 L13 VCC HARD/POWER power 1.1 V VCC Power no
314 L14 GND HARD/POWER power Ground no
315 L15 VCC HARD/POWER power 1.1 V VCC Power no
316 L16 VCCAUX HARD/POWER power no
317 L17 GPIOT_P_50_PLLIN0 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_50 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
318 L18 GPIOT_N_50 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_50 N DIFFERENTIAL_MEMBER yes
319 L19 GPIOT_P_20 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_20 P DIFFERENTIAL_MEMBER yes
320 L20 VCCIO2B 2B 2B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
321 L21 GPIOT_P_11_CLK30_P 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_11 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
322 L22 GPIOT_N_11_CLK30_N 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_11 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
323 L23 GPIOT_N_21 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_21 N DIFFERENTIAL_MEMBER yes
324 M1 GPIOB_P_09 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_09 P DIFFERENTIAL_MEMBER yes
325 M2 GPIOB_N_15_CDI16_CLK2_N 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_15 N CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
326 M3 VCCIO4D 4D 4D HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
327 M4 GPIOB_N_11 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_11 N DIFFERENTIAL_MEMBER yes
328 M5 GPIOB_P_22 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_22 P DIFFERENTIAL_MEMBER yes
329 M6 GPIOB_N_22 4C 4C HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_22 N DIFFERENTIAL_MEMBER yes
330 M7 REF_RES_4D 4D 4D HSIO 1.2;1.35;1.5;1.8 input no
331 M8 VCC HARD/POWER power 1.1 V VCC Power no
332 M9 GND HARD/POWER power Ground no
333 M10 VCC HARD/POWER power 1.1 V VCC Power no
334 M11 GND HARD/POWER power Ground no
335 M12 VCC HARD/POWER power 1.1 V VCC Power no
336 M13 GND HARD/POWER power Ground no
337 M14 VCC HARD/POWER power 1.1 V VCC Power no
338 M15 GND HARD/POWER power Ground no
339 M16 GPIOT_P_43 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_43 P DIFFERENTIAL_MEMBER yes
340 M17 GPIOT_N_43 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_43 N DIFFERENTIAL_MEMBER yes
341 M18 VCCIO2D 2D 2D HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
342 M19 GPIOT_N_20 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_20 N DIFFERENTIAL_MEMBER yes
343 M20 GPIOT_P_13_PLLIN0 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_13 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
344 M21 GPIOT_P_22 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_22 P DIFFERENTIAL_MEMBER yes
345 M22 GPIOT_N_22 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_22 N DIFFERENTIAL_MEMBER yes
346 M23 GND HARD/POWER power Ground no
347 N1 GND HARD/POWER power Ground no
348 N2 GPIOB_N_09 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_09 N DIFFERENTIAL_MEMBER yes
349 N3 GPIOB_P_13_CDI21_CLK0_P 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_13 P CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
350 N4 GPIOB_N_12 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_12 N DIFFERENTIAL_MEMBER yes
351 N5 GPIOB_P_12 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_12 P DIFFERENTIAL_MEMBER yes
352 N6 GND HARD/POWER power Ground no
353 N7 GPIOB_P_08_CDI22_EXTFB 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_08 P PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
354 N8 GND HARD/POWER power Ground no
355 N9 VCC HARD/POWER power 1.1 V VCC Power no
356 N10 GND HARD/POWER power Ground no
357 N11 VCC HARD/POWER power 1.1 V VCC Power no
358 N12 GND HARD/POWER power Ground no
359 N13 VCC HARD/POWER power 1.1 V VCC Power no
360 N14 GND HARD/POWER power Ground no
361 N15 VCC HARD/POWER power 1.1 V VCC Power no
362 N16 GND HARD/POWER power Ground no
363 N17 GPIOT_P_40_CLK23_P 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_40 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
364 N18 GPIOT_N_40_CLK23_N 2D 2D HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_40 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
365 N19 GPIOT_P_14_EXTFB 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_14 P PLL_EXTFB;DIFFERENTIAL_MEMBER yes
366 N20 GPIOT_N_13 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_13 N DIFFERENTIAL_MEMBER yes
367 N21 VCCIO2B 2B 2B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
368 N22 GPIOT_P_15 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_15 P DIFFERENTIAL_MEMBER yes
369 N23 GPIOT_N_15 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_15 N DIFFERENTIAL_MEMBER yes
370 P1 GPIOB_N_16_CLK3_N 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_16 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
371 P2 GPIOB_P_16_CLK3_P 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_16 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
372 P3 GPIOB_N_13_CDI20_CLK0_N 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_13 N CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
373 P4 VCCIO4D 4D 4D HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
374 P5 GPIOB_P_06_CDI26_EXTFB 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_06 P PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
375 P6 GPIOB_P_05_CDI28_PLLIN0 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_05 P PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
376 P7 GPIOB_N_08 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_08 N DIFFERENTIAL_MEMBER yes
377 P8 VCC HARD/POWER power 1.1 V VCC Power no
378 P9 GND HARD/POWER power Ground no
379 P10 VCC HARD/POWER power 1.1 V VCC Power no
380 P11 GND HARD/POWER power Ground no
381 P12 VCC HARD/POWER power 1.1 V VCC Power no
382 P13 GND HARD/POWER power Ground no
383 P14 VCC HARD/POWER power 1.1 V VCC Power no
384 P15 GND HARD/POWER power Ground no
385 P16 VCCAUX HARD/POWER power no
386 P17 GPIOL_84 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_84 yes
387 P18 GPIOL_80_CLK29 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_80 CLOCK_CAPABLE yes
388 P19 GND HARD/POWER power Ground no
389 P20 GPIOT_N_14 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_14 N DIFFERENTIAL_MEMBER yes
390 P21 GPIOT_P_18 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_18 P DIFFERENTIAL_MEMBER yes
391 P22 GPIOT_N_18 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_18 N DIFFERENTIAL_MEMBER yes
392 P23 GPIOT_P_09_CLK26_P 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_09 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
393 R1 GPIOB_P_04_CDI30_EXTFB 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_04 P PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
394 R2 VCCIO4D 4D 4D HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
395 R3 GPIOB_N_07_CDI23 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_07 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
396 R4 GPIOB_P_07_CDI24_PLLIN0 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_07 P PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
397 R5 GPIOB_N_06_CDI25 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_06 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
398 R6 GPIOB_N_05_CDI27 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_05 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
399 R7 VCCAUX HARD/POWER power no
400 R8 GND HARD/POWER power Ground no
401 R9 VCC HARD/POWER power 1.1 V VCC Power no
402 R10 GND HARD/POWER power Ground no
403 R11 VCC HARD/POWER power 1.1 V VCC Power no
404 R12 GND HARD/POWER power Ground no
405 R13 VCC HARD/POWER power 1.1 V VCC Power no
406 R14 GND HARD/POWER power Ground no
407 R15 VCC HARD/POWER power 1.1 V VCC Power no
408 R16 GND HARD/POWER power Ground no
409 R17 GPIOL_85_PLLIN1 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_85 PLL_INPUT yes
410 R18 GPIOL_87_PLLIN1 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_87 PLL_INPUT yes
411 R19 GPIOT_P_19 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_19 P DIFFERENTIAL_MEMBER yes
412 R20 GPIOT_N_19 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_19 N DIFFERENTIAL_MEMBER yes
413 R21 GPIOT_P_12_CLK31_P 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_12 P CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
414 R22 VCCIO2B 2B 2B HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
415 R23 GPIOT_N_09_CLK26_N 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_09 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
416 T1 GPIOB_N_04_CDI29 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_04 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
417 T2 GPIOB_N_10 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_10 N DIFFERENTIAL_MEMBER yes
418 T3 GPIOB_P_10 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_10 P DIFFERENTIAL_MEMBER yes
419 T4 GPIOL_27_CLK25 BL3 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_27 CLOCK_CAPABLE yes
420 T5 GND HARD/POWER power Ground no
421 T6 VDD_SOC SOC SOC HARD/POWER power no
422 T7 GND HARD/POWER power Ground no
423 T8 VCCA_BL2 BL BL HARD/POWER power no
424 T9 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
425 T10 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
426 T11 GND HARD/POWER power Ground no
427 T12 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
428 T13 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
429 T14 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
430 T15 GND HARD/POWER power Ground no
431 T16 VCC HARD/POWER power 1.1 V VCC Power no
432 T17 VCCIO33_TL1_TL5 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
433 T18 GPIOL_83 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_83 yes
434 T19 GPIOL_86 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_86 yes
435 T20 VCCIO2A 2A 2A HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
436 T21 GPIOT_N_12_CLK31_N 2B 2B HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_12 N CLOCK_CAPABLE;DIFFERENTIAL_MEMBER yes
437 T22 GPIOT_P_08_PLLIN0 2A 2A HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_08 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
438 T23 GPIOT_N_08 2A 2A HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_08 N DIFFERENTIAL_MEMBER yes
439 U1 GPIOB_N_03_CDI31 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_03 N CORE_DATA_INPUT;DIFFERENTIAL_MEMBER yes
440 U2 GPIOB_P_03_PLLIN0 4D 4D HSIO 1.2;1.35;1.5;1.8 configurable GPIOB_PN_03 P PLL_INPUT;DIFFERENTIAL_MEMBER yes
441 U3 VCCIO4D 4D 4D HSIO 1.2;1.35;1.5;1.8 power VCCIO Power no
442 U4 GPIOL_25_PLLIN1 BL2 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_25 PLL_INPUT yes
443 U5 GPIOL_34_PLLIN1 BL3 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_34 PLL_INPUT yes
444 U6 GPIOL_24 BL2 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_24 yes
445 U7 VDD_SOC SOC SOC HARD/POWER power no
446 U8 VCCA_BL0_BL1 BL BL HARD/POWER power no
447 U9 GND HARD/POWER power Ground no
448 U10 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
449 U11 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
450 U12 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
451 U13 GND HARD/POWER power Ground no
452 U14 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
453 U15 VCCA_TL2 TL TL HARD/POWER power no
454 U16 VCCA_TL0_TL1 TL TL HARD/POWER power no
455 U17 GPIOL_79_CLK28 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_79 CLOCK_CAPABLE yes
456 U18 GND HARD/POWER power Ground no
457 U19 GPIOL_52_PLLIN1 TL1 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_52 PLL_INPUT yes
458 U20 REF_RES_2A 2A 2A HSIO 1.2;1.35;1.5;1.8 input no
459 U21 GPIOT_P_05 2A 2A HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_05 P DIFFERENTIAL_MEMBER yes
460 U22 GPIOT_N_05 2A 2A HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_05 N DIFFERENTIAL_MEMBER yes
461 U23 GND HARD/POWER power Ground no
462 V1 GND HARD/POWER power Ground no
463 V2 GPIOL_26_CLK24 BL3 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_26 CLOCK_CAPABLE yes
464 V3 GPIOL_32_PLLIN1 BL3 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_32 PLL_INPUT yes
465 V4 GPIOL_23 BL2 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_23 yes
466 V5 VCCIO33_BL2_BL3 BL3 BL2_BL3 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
467 V6 VDD_SOC SOC SOC HARD/POWER power no
468 V7 GND HARD/POWER power Ground no
469 V8 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
470 V9 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
471 V10 VDDQ_CK_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
472 V11 GND HARD/POWER power Ground no
473 V12 VDDPLL_MCB_TOP_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
474 V13 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
475 V14 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
476 V15 GND HARD/POWER power Ground no
477 V16 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
478 V17 VDD_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
479 V18 VCCIO33_TL1_TL5 TL5 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 power VCCIO Power no
480 V19 GPIOL_46 TL1 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_46 yes
481 V20 GPIOL_45 TL1 TL1_TL5 HVIO 1.8;2.5;3.0;3.3 configurable GPIOL_45 yes
482 V21 GND HARD/POWER power Ground no
483 V22 GPIOT_P_07_EXTFB 2A 2A HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_07 P PLL_EXTFB;DIFFERENTIAL_MEMBER yes
484 V23 GPIOT_N_07 2A 2A HSIO 1.2;1.35;1.5;1.8 configurable GPIOT_PN_07 N DIFFERENTIAL_MEMBER yes
485 W1 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
486 W2 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
487 W3 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
488 W4 GND HARD/POWER power Ground no
489 W5 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
490 W6 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
491 W7 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
492 W8 DDR0_DQ[11] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[11] no
493 W9 GND HARD/POWER power Ground no
494 W10 DDR0_CKE[1] DDR0 DDR0 HARD/POWER configurable DDR_0 CKE[1] no
495 W11 DDR0_CAL DDR0 DDR0 HARD/POWER configurable DDR_0 CAL no
496 W12 NC HARD/POWER no
497 W13 NC HARD/POWER no
498 W14 GND HARD/POWER power Ground no
499 W15 DDR0_DQ[21] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[21] no
500 W16 DDR0_DQ[20] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[20] no
501 W17 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
502 W18 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
503 W19 GND HARD/POWER power Ground no
504 W20 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
505 W21 VDDQX_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
506 W22 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
507 W23 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
508 Y1 DDR0_DQ[0] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[0] no
509 Y2 GND HARD/POWER power Ground no
510 Y3 DDR0_DQ[1] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[1] no
511 Y4 DDR0_DQ[2] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[2] no
512 Y5 DDR0_DQ[3] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[3] no
513 Y6 DDR0_DQ[10] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[10] no
514 Y7 GND HARD/POWER power Ground no
515 Y8 DDR0_DQ[9] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[9] no
516 Y9 DDR0_CS_N[3] DDR0 DDR0 HARD/POWER configurable DDR_0 CS_N[3] no
517 Y10 DDR0_CS_N[0] DDR0 DDR0 HARD/POWER configurable DDR_0 CS_N[0] no
518 Y11 DDR0_RST_N DDR0 DDR0 HARD/POWER configurable DDR_0 RST_N DIFFERENTIAL_MEMBER no
519 Y12 GND HARD/POWER power Ground no
520 Y13 NC HARD/POWER no
521 Y14 DDR0_A[5] DDR0 DDR0 HARD/POWER configurable DDR_0 A[5] no
522 Y15 VDDQ_PHY_DDR0 DDR0 DDR0 HARD/POWER power no
523 Y16 DDR0_DQ[22] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[22] no
524 Y17 GND HARD/POWER power Ground no
525 Y18 DDR0_DQ[17] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[17] no
526 Y19 DDR0_DQ[30] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[30] no
527 Y20 DDR0_DQ[29] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[29] no
528 Y21 DDR0_DQ[31] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[31] no
529 Y22 GND HARD/POWER power Ground no
530 Y23 DDR0_DQ[24] DDR0 DDR0 HARD/POWER configurable DDR_0 DQ[24] no
+27
View File
@@ -0,0 +1,27 @@
{
"device": "Ti375C529",
"fabric_gpio_count": 227,
"mapped_device": "opx_466x964_b56_d28_bc529",
"package": "529-ball FBGA",
"package_banks": [
"2A",
"2B",
"2C",
"2D",
"2E",
"4A_4B",
"4C",
"4D",
"BL2_BL3",
"BR0",
"BR3_BR4",
"TL1_TL5",
"TR0",
"TR1",
"TR2"
],
"package_status": "final",
"row_count": 529,
"source_database": "/tools/efinix/efinity/2025.2/pt/db/resource/Ti375C529.db",
"source_sha256": "ef752ff9cb71fed702254a9ee4dc74050fc33ab01f03b2a327a8e034864cfbe6"
}
+74
View File
@@ -0,0 +1,74 @@
# Efinity interface constraints generated from the official Ti375C529 database.
# Verify port names against the final RTL top level before importing.
set_pin_assignment -pin_name U17 -port_name CLK_40M_FPGA
set_pin_assignment -pin_name F8 -port_name FPGA_CDONE
set_pin_assignment -pin_name F9 -port_name FPGA_CRESET_N
set_pin_assignment -pin_name J5 -port_name FPGA_CSI
set_pin_assignment -pin_name J2 -port_name FPGA_TEST_N
set_pin_assignment -pin_name U19 -port_name FTDI_DBG_GPIO
set_pin_assignment -pin_name G10 -port_name HARD_TCK
set_pin_assignment -pin_name G9 -port_name HARD_TDI
set_pin_assignment -pin_name G13 -port_name HARD_TDO
set_pin_assignment -pin_name G12 -port_name HARD_TMS
set_pin_assignment -pin_name B10 -port_name IMU_CS
set_pin_assignment -pin_name A11 -port_name IMU_DRY_SYNC
set_pin_assignment -pin_name C10 -port_name IMU_EXTRESN
set_pin_assignment -pin_name B9 -port_name IMU_MISO
set_pin_assignment -pin_name A9 -port_name IMU_MOSI
set_pin_assignment -pin_name A8 -port_name IMU_SCK
set_pin_assignment -pin_name B11 -port_name MAX_CLKOUT
set_pin_assignment -pin_name F17 -port_name MAX_CSN
set_pin_assignment -pin_name D10 -port_name MAX_I0
set_pin_assignment -pin_name D11 -port_name MAX_I1
set_pin_assignment -pin_name F11 -port_name MAX_LD
set_pin_assignment -pin_name E10 -port_name MAX_Q0
set_pin_assignment -pin_name E11 -port_name MAX_Q1
set_pin_assignment -pin_name F16 -port_name MAX_SCLK
set_pin_assignment -pin_name G16 -port_name MAX_SDATA
set_pin_assignment -pin_name G17 -port_name MAX_SHDN
set_pin_assignment -pin_name U6 -port_name PMOD1_1
set_pin_assignment -pin_name D12 -port_name PMOD1_10
set_pin_assignment -pin_name V4 -port_name PMOD1_2
set_pin_assignment -pin_name A13 -port_name PMOD1_3
set_pin_assignment -pin_name C9 -port_name PMOD1_4
set_pin_assignment -pin_name C12 -port_name PMOD1_7
set_pin_assignment -pin_name C13 -port_name PMOD1_8
set_pin_assignment -pin_name C14 -port_name PMOD1_9
set_pin_assignment -pin_name V20 -port_name PMOD2_1
set_pin_assignment -pin_name F14 -port_name PMOD2_10
set_pin_assignment -pin_name D13 -port_name PMOD2_2
set_pin_assignment -pin_name E13 -port_name PMOD2_3
set_pin_assignment -pin_name E14 -port_name PMOD2_4
set_pin_assignment -pin_name E16 -port_name PMOD2_7
set_pin_assignment -pin_name F13 -port_name PMOD2_8
set_pin_assignment -pin_name E15 -port_name PMOD2_9
set_pin_assignment -pin_name C20 -port_name PMOD3_1
set_pin_assignment -pin_name B19 -port_name PMOD3_10
set_pin_assignment -pin_name B20 -port_name PMOD3_2
set_pin_assignment -pin_name C17 -port_name PMOD3_3
set_pin_assignment -pin_name B17 -port_name PMOD3_4
set_pin_assignment -pin_name A16 -port_name PMOD3_7
set_pin_assignment -pin_name A17 -port_name PMOD3_8
set_pin_assignment -pin_name C19 -port_name PMOD3_9
set_pin_assignment -pin_name B14 -port_name PMOD4_1
set_pin_assignment -pin_name D17 -port_name PMOD4_10
set_pin_assignment -pin_name A14 -port_name PMOD4_2
set_pin_assignment -pin_name J18 -port_name PMOD4_3
set_pin_assignment -pin_name H18 -port_name PMOD4_4
set_pin_assignment -pin_name A18 -port_name PMOD4_7
set_pin_assignment -pin_name A19 -port_name PMOD4_8
set_pin_assignment -pin_name D16 -port_name PMOD4_9
set_pin_assignment -pin_name A7 -port_name QSPI_CS_N
set_pin_assignment -pin_name H4 -port_name QSPI_IO0
set_pin_assignment -pin_name H5 -port_name QSPI_IO1
set_pin_assignment -pin_name G5 -port_name QSPI_IO2
set_pin_assignment -pin_name B7 -port_name QSPI_IO3
set_pin_assignment -pin_name G6 -port_name QSPI_SCLK
set_pin_assignment -pin_name F12 -port_name RISCV_TCK
set_pin_assignment -pin_name V19 -port_name RISCV_TDI
set_pin_assignment -pin_name T18 -port_name RISCV_TDO
set_pin_assignment -pin_name P18 -port_name RISCV_TMS
set_pin_assignment -pin_name P17 -port_name UART0_RX
set_pin_assignment -pin_name R17 -port_name UART0_TX
set_pin_assignment -pin_name R18 -port_name UART1_RX
set_pin_assignment -pin_name T19 -port_name UART1_TX
+73
View File
@@ -0,0 +1,73 @@
signal,ball,official_pin_name,die_bank,package_bank,vccio,io_standard,direction,clock_capability,special_function,subsystem,connector,connector_pin,note
IMU_DRY_SYNC,A11,GPIOR_93_PLLIN1,TR1,TR1,3.3 V,3.3 V LVCMOS,bidirectional,no,PLL_INPUT,sch16t,on-board,,Murata multiplexed Data Ready output / SYNC input
PMOD1_3,A13,GPIOR_94,TR1,TR1,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr1,JPMOD1,3,PMOD 1 pin 3
PMOD4_2,A14,GPIOT_N_55,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,2,PMOD 4 pin 2; HSIO pair 55 N
PMOD3_7,A16,GPIOT_P_53,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,7,PMOD 3 pin 7; HSIO pair 53 P
PMOD3_8,A17,GPIOT_N_53,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,8,PMOD 3 pin 8; HSIO pair 53 N
PMOD4_7,A18,GPIOT_P_57,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,7,PMOD 4 pin 7; HSIO pair 57 P
PMOD4_8,A19,GPIOT_N_57,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,8,PMOD 4 pin 8; HSIO pair 57 N
QSPI_CS_N,A7,GPIOB_N_38_SSL_N,4B,4A_4B,1.8 V,1.8 V LVCMOS,output,no,DIFFERENTIAL_MEMBER,configuration,on-board,,SPI-active SSL_N
IMU_SCK,A8,GPIOR_170,BR3,BR3_BR4,3.3 V,3.3 V LVCMOS,output,no,,sch16t,on-board,,SafeSPI mode-0 clock
IMU_MOSI,A9,GPIOR_171,BR3,BR3_BR4,3.3 V,3.3 V LVCMOS,output,no,,sch16t,on-board,,SafeSPI controller-to-sensor data
IMU_CS,B10,GPIOR_169,BR3,BR3_BR4,3.3 V,3.3 V LVCMOS,output,no,,sch16t,on-board,,SafeSPI active-low chip select
MAX_CLKOUT,B11,GPIOR_143_CLK9,BR0,BR0,3.0 V,3.0 V LVCMOS,input,yes,CLOCK_CAPABLE,max2771,on-board,,Source-synchronous ADC capture clock on dedicated clock-capable input
PMOD4_1,B14,GPIOT_P_55,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,1,PMOD 4 pin 1; HSIO pair 55 P
PMOD3_4,B17,GPIOT_N_52,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,4,PMOD 3 pin 4; HSIO pair 52 N
PMOD3_10,B19,GPIOT_N_54,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,10,PMOD 3 pin 10; HSIO pair 54 N
PMOD3_2,B20,GPIOT_N_51,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,2,PMOD 3 pin 2; HSIO pair 51 N
QSPI_IO3,B7,GPIOB_P_38_CDI3,4B,4A_4B,1.8 V,1.8 V LVCMOS,bidirectional,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,configuration,on-board,,SPI-active CDI3
IMU_MISO,B9,GPIOR_168,BR3,BR3_BR4,3.3 V,3.3 V LVCMOS,input,no,,sch16t,on-board,,SafeSPI sensor-to-controller data
IMU_EXTRESN,C10,GPIOR_167,BR3,BR3_BR4,3.3 V,3.3 V LVCMOS,output,no,,sch16t,on-board,,External active-low reset
PMOD1_7,C12,GPIOR_99,TR1,TR1,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr1,JPMOD1,7,PMOD 1 pin 7
PMOD1_8,C13,GPIOR_98,TR1,TR1,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr1,JPMOD1,8,PMOD 1 pin 8
PMOD1_9,C14,GPIOR_97,TR1,TR1,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr1,JPMOD1,9,PMOD 1 pin 9
PMOD3_3,C17,GPIOT_P_52,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,3,PMOD 3 pin 3; HSIO pair 52 P
PMOD3_9,C19,GPIOT_P_54,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,9,PMOD 3 pin 9; HSIO pair 54 P
PMOD3_1,C20,GPIOT_P_51,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD3,1,PMOD 3 pin 1; HSIO pair 51 P
PMOD1_4,C9,GPIOR_166,BR3,BR3_BR4,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_3v3,JPMOD1,4,PMOD 1 pin 4; plain HVIO GPIO
MAX_I0,D10,GPIOR_144,BR0,BR0,3.0 V,3.0 V LVCMOS,input,no,,max2771,on-board,,ADC I bit 0
MAX_I1,D11,GPIOR_142_CLK8,BR0,BR0,3.0 V,3.0 V LVCMOS,input,yes,CLOCK_CAPABLE,max2771,on-board,,ADC I bit 1; clock-capable pad retained in same BR0 bank
PMOD1_10,D12,GPIOR_100,TR1,TR1,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr1,JPMOD1,10,PMOD 1 pin 10
PMOD2_2,D13,GPIOR_102,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,2,PMOD 2 pin 2
PMOD4_9,D16,GPIOT_P_58,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,9,PMOD 4 pin 9; HSIO pair 58 P
PMOD4_10,D17,GPIOT_N_58,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,10,PMOD 4 pin 10; HSIO pair 58 N
MAX_Q0,E10,GPIOR_145_PLLIN1,BR0,BR0,3.0 V,3.0 V LVCMOS,input,no,PLL_INPUT,max2771,on-board,,ADC Q bit 0; PLL-capable pad in same BR0 bank
MAX_Q1,E11,GPIOR_140_PLLIN1,BR0,BR0,3.0 V,3.0 V LVCMOS,input,no,PLL_INPUT,max2771,on-board,,ADC Q bit 1; PLL-capable pad in same BR0 bank
PMOD2_3,E13,GPIOR_103,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,3,PMOD 2 pin 3
PMOD2_4,E14,GPIOR_104,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,4,PMOD 2 pin 4
PMOD2_9,E15,GPIOR_107,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,9,PMOD 2 pin 9
PMOD2_7,E16,GPIOR_105,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,7,PMOD 2 pin 7
MAX_LD,F11,GPIOR_141,BR0,BR0,3.0 V,3.0 V LVCMOS,input,no,,max2771,on-board,,PLL lock status
RISCV_TCK,F12,GPIOR_101_PLLIN1,TR2,TR2,3.3 V,3.3 V LVCMOS,input,no,PLL_INPUT,secondary_jtag,on-board,,Fabric RISC-V JTAG clock moved off the plain-GPIO PMOD allocation
PMOD2_8,F13,GPIOR_106,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,8,PMOD 2 pin 8
PMOD2_10,F14,GPIOR_108,TR2,TR2,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_tr2,JPMOD2,10,PMOD 2 pin 10
MAX_SCLK,F16,GPIOR_90,TR0,TR0,3.0 V,3.0 V LVCMOS,output,no,,max2771,on-board,,Three-wire serial clock
MAX_CSN,F17,GPIOR_91,TR0,TR0,3.0 V,3.0 V LVCMOS,output,no,,max2771,on-board,,Three-wire active-low chip select
FPGA_CDONE,F8,CDONE,4A,4A_4B,1.8 V,1.8 V LVCMOS,output,no,,configuration,on-board,,Configuration status test point
FPGA_CRESET_N,F9,CRESET_N,4A,4A_4B,1.8 V,1.8 V LVCMOS,input,no,DIFFERENTIAL_MEMBER,configuration,on-board,,"Open-drain fan-in of all-rail-valid, FTDI, and filtered external/manual reset requests"
HARD_TCK,G10,TCK,BR4,BR3_BR4,3.3 V,3.3 V LVCMOS,input,no,,hard_jtag,on-board,,Dedicated hard TAP TCK; FT4232H interface 1 BDBUS0 through power-domain isolation
HARD_TMS,G12,TMS,BR4,BR3_BR4,3.3 V,3.3 V LVCMOS,input,no,,hard_jtag,on-board,,Dedicated hard TAP TMS; FT4232H interface 1 BDBUS3 through power-domain isolation
HARD_TDO,G13,TDO,BR4,BR3_BR4,3.3 V,3.3 V LVCMOS,output,no,,hard_jtag,on-board,,Dedicated hard TAP TDO; FT4232H interface 1 BDBUS2 through power-domain isolation
MAX_SDATA,G16,GPIOR_89,TR0,TR0,3.0 V,3.0 V LVCMOS,bidirectional,no,,max2771,on-board,,Single bidirectional three-wire serial data; not split MOSI/MISO
MAX_SHDN,G17,GPIOR_92,TR0,TR0,3.0 V,3.0 V LVCMOS,output,no,,max2771,on-board,,MAX2771 hardware shutdown control
QSPI_IO2,G5,GPIOB_N_39_CDI2,4B,4A_4B,1.8 V,1.8 V LVCMOS,bidirectional,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,configuration,on-board,,SPI-active CDI2
QSPI_SCLK,G6,GPIOB_P_39_CCK_PLLIN0,4B,4A_4B,1.8 V,1.8 V LVCMOS,output,no,PLL_INPUT;DIFFERENTIAL_MEMBER,configuration,on-board,,SPI-active CCK; official CCK_PLLIN0 pin
HARD_TDI,G9,TDI,BR4,BR3_BR4,3.3 V,3.3 V LVCMOS,input,no,,hard_jtag,on-board,,Dedicated hard TAP TDI; FT4232H interface 1 BDBUS1 through power-domain isolation
PMOD4_4,H18,GPIOT_N_56,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,4,PMOD 4 pin 4; HSIO pair 56 N
QSPI_IO0,H4,GPIOB_N_40_CDI0,4B,4A_4B,1.8 V,1.8 V LVCMOS,bidirectional,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,configuration,on-board,,SPI-active CDI0
QSPI_IO1,H5,GPIOB_P_40_CDI1_EXTFB,4B,4A_4B,1.8 V,1.8 V LVCMOS,bidirectional,no,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,configuration,on-board,,SPI-active CDI1
PMOD4_3,J18,GPIOT_P_56,2E,2E,1.8 V,1.8 V LVCMOS,bidirectional,no,DIFFERENTIAL_MEMBER,pmod_2e,JPMOD4,3,PMOD 4 pin 3; HSIO pair 56 P
FPGA_TEST_N,J2,GPIOB_N_19_TEST_N_CLK6_N,4C,4C,1.8 V,1.8 V LVCMOS,input,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,configuration,on-board,,Mandatory external weak pull-up disables test mode during configuration
FPGA_CSI,J5,GPIOB_N_43_CSI_CLK10_N,4B,4A_4B,1.8 V,1.8 V LVCMOS,input,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,configuration,on-board,,Mandatory external weak pull-up selects this FPGA throughout configuration
UART0_RX,P17,GPIOL_84,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,input,no,,ft4232,on-board,,FT4232H channel C TXD to FPGA RX
RISCV_TMS,P18,GPIOL_80_CLK29,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,input,yes,CLOCK_CAPABLE,secondary_jtag,on-board,,Clock-capable fabric pin; official development-kit assignment
UART0_TX,R17,GPIOL_85_PLLIN1,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,output,no,PLL_INPUT,ft4232,on-board,,FPGA TX to FT4232H channel C RXD
UART1_RX,R18,GPIOL_87_PLLIN1,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,input,no,PLL_INPUT,ft4232,on-board,,FT4232H channel D TXD to FPGA RX
RISCV_TDO,T18,GPIOL_83,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,output,no,,secondary_jtag,on-board,,Official development-kit hardened RISC-V JTAG assignment
UART1_TX,T19,GPIOL_86,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,output,no,,ft4232,on-board,,FPGA TX to FT4232H channel D RXD
CLK_40M_FPGA,U17,GPIOL_79_CLK28,TL5,TL1_TL5,3.3 V,3.3 V LVCMOS,input,yes,CLOCK_CAPABLE,clock,on-board,,40 MHz oscillator branch on clock-capable pin
FTDI_DBG_GPIO,U19,GPIOL_52_PLLIN1,TL1,TL1_TL5,3.3 V,3.3 V LVCMOS,bidirectional,no,PLL_INPUT,ft4232,on-board,,Channel D debug GPIO/test point; PLL-capable
PMOD1_1,U6,GPIOL_24,BL2,BL2_BL3,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_3v3,JPMOD1,1,PMOD 1 pin 1; plain HVIO GPIO
RISCV_TDI,V19,GPIOL_46,TL1,TL1_TL5,3.3 V,3.3 V LVCMOS,input,no,,secondary_jtag,on-board,,Official development-kit hardened RISC-V JTAG assignment
PMOD2_1,V20,GPIOL_45,TL1,TL1_TL5,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_3v3,JPMOD2,1,PMOD 2 pin 1; plain HVIO GPIO
PMOD1_2,V4,GPIOL_23,BL2,BL2_BL3,3.3 V,3.3 V LVCMOS,bidirectional,no,,pmod_3v3,JPMOD1,2,PMOD 1 pin 2; plain HVIO GPIO
1 signal ball official_pin_name die_bank package_bank vccio io_standard direction clock_capability special_function subsystem connector connector_pin note
2 IMU_DRY_SYNC A11 GPIOR_93_PLLIN1 TR1 TR1 3.3 V 3.3 V LVCMOS bidirectional no PLL_INPUT sch16t on-board Murata multiplexed Data Ready output / SYNC input
3 PMOD1_3 A13 GPIOR_94 TR1 TR1 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr1 JPMOD1 3 PMOD 1 pin 3
4 PMOD4_2 A14 GPIOT_N_55 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 2 PMOD 4 pin 2; HSIO pair 55 N
5 PMOD3_7 A16 GPIOT_P_53 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 7 PMOD 3 pin 7; HSIO pair 53 P
6 PMOD3_8 A17 GPIOT_N_53 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 8 PMOD 3 pin 8; HSIO pair 53 N
7 PMOD4_7 A18 GPIOT_P_57 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 7 PMOD 4 pin 7; HSIO pair 57 P
8 PMOD4_8 A19 GPIOT_N_57 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 8 PMOD 4 pin 8; HSIO pair 57 N
9 QSPI_CS_N A7 GPIOB_N_38_SSL_N 4B 4A_4B 1.8 V 1.8 V LVCMOS output no DIFFERENTIAL_MEMBER configuration on-board SPI-active SSL_N
10 IMU_SCK A8 GPIOR_170 BR3 BR3_BR4 3.3 V 3.3 V LVCMOS output no sch16t on-board SafeSPI mode-0 clock
11 IMU_MOSI A9 GPIOR_171 BR3 BR3_BR4 3.3 V 3.3 V LVCMOS output no sch16t on-board SafeSPI controller-to-sensor data
12 IMU_CS B10 GPIOR_169 BR3 BR3_BR4 3.3 V 3.3 V LVCMOS output no sch16t on-board SafeSPI active-low chip select
13 MAX_CLKOUT B11 GPIOR_143_CLK9 BR0 BR0 3.0 V 3.0 V LVCMOS input yes CLOCK_CAPABLE max2771 on-board Source-synchronous ADC capture clock on dedicated clock-capable input
14 PMOD4_1 B14 GPIOT_P_55 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 1 PMOD 4 pin 1; HSIO pair 55 P
15 PMOD3_4 B17 GPIOT_N_52 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 4 PMOD 3 pin 4; HSIO pair 52 N
16 PMOD3_10 B19 GPIOT_N_54 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 10 PMOD 3 pin 10; HSIO pair 54 N
17 PMOD3_2 B20 GPIOT_N_51 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 2 PMOD 3 pin 2; HSIO pair 51 N
18 QSPI_IO3 B7 GPIOB_P_38_CDI3 4B 4A_4B 1.8 V 1.8 V LVCMOS bidirectional no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER configuration on-board SPI-active CDI3
19 IMU_MISO B9 GPIOR_168 BR3 BR3_BR4 3.3 V 3.3 V LVCMOS input no sch16t on-board SafeSPI sensor-to-controller data
20 IMU_EXTRESN C10 GPIOR_167 BR3 BR3_BR4 3.3 V 3.3 V LVCMOS output no sch16t on-board External active-low reset
21 PMOD1_7 C12 GPIOR_99 TR1 TR1 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr1 JPMOD1 7 PMOD 1 pin 7
22 PMOD1_8 C13 GPIOR_98 TR1 TR1 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr1 JPMOD1 8 PMOD 1 pin 8
23 PMOD1_9 C14 GPIOR_97 TR1 TR1 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr1 JPMOD1 9 PMOD 1 pin 9
24 PMOD3_3 C17 GPIOT_P_52 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 3 PMOD 3 pin 3; HSIO pair 52 P
25 PMOD3_9 C19 GPIOT_P_54 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 9 PMOD 3 pin 9; HSIO pair 54 P
26 PMOD3_1 C20 GPIOT_P_51 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD3 1 PMOD 3 pin 1; HSIO pair 51 P
27 PMOD1_4 C9 GPIOR_166 BR3 BR3_BR4 3.3 V 3.3 V LVCMOS bidirectional no pmod_3v3 JPMOD1 4 PMOD 1 pin 4; plain HVIO GPIO
28 MAX_I0 D10 GPIOR_144 BR0 BR0 3.0 V 3.0 V LVCMOS input no max2771 on-board ADC I bit 0
29 MAX_I1 D11 GPIOR_142_CLK8 BR0 BR0 3.0 V 3.0 V LVCMOS input yes CLOCK_CAPABLE max2771 on-board ADC I bit 1; clock-capable pad retained in same BR0 bank
30 PMOD1_10 D12 GPIOR_100 TR1 TR1 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr1 JPMOD1 10 PMOD 1 pin 10
31 PMOD2_2 D13 GPIOR_102 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 2 PMOD 2 pin 2
32 PMOD4_9 D16 GPIOT_P_58 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 9 PMOD 4 pin 9; HSIO pair 58 P
33 PMOD4_10 D17 GPIOT_N_58 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 10 PMOD 4 pin 10; HSIO pair 58 N
34 MAX_Q0 E10 GPIOR_145_PLLIN1 BR0 BR0 3.0 V 3.0 V LVCMOS input no PLL_INPUT max2771 on-board ADC Q bit 0; PLL-capable pad in same BR0 bank
35 MAX_Q1 E11 GPIOR_140_PLLIN1 BR0 BR0 3.0 V 3.0 V LVCMOS input no PLL_INPUT max2771 on-board ADC Q bit 1; PLL-capable pad in same BR0 bank
36 PMOD2_3 E13 GPIOR_103 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 3 PMOD 2 pin 3
37 PMOD2_4 E14 GPIOR_104 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 4 PMOD 2 pin 4
38 PMOD2_9 E15 GPIOR_107 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 9 PMOD 2 pin 9
39 PMOD2_7 E16 GPIOR_105 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 7 PMOD 2 pin 7
40 MAX_LD F11 GPIOR_141 BR0 BR0 3.0 V 3.0 V LVCMOS input no max2771 on-board PLL lock status
41 RISCV_TCK F12 GPIOR_101_PLLIN1 TR2 TR2 3.3 V 3.3 V LVCMOS input no PLL_INPUT secondary_jtag on-board Fabric RISC-V JTAG clock moved off the plain-GPIO PMOD allocation
42 PMOD2_8 F13 GPIOR_106 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 8 PMOD 2 pin 8
43 PMOD2_10 F14 GPIOR_108 TR2 TR2 3.3 V 3.3 V LVCMOS bidirectional no pmod_tr2 JPMOD2 10 PMOD 2 pin 10
44 MAX_SCLK F16 GPIOR_90 TR0 TR0 3.0 V 3.0 V LVCMOS output no max2771 on-board Three-wire serial clock
45 MAX_CSN F17 GPIOR_91 TR0 TR0 3.0 V 3.0 V LVCMOS output no max2771 on-board Three-wire active-low chip select
46 FPGA_CDONE F8 CDONE 4A 4A_4B 1.8 V 1.8 V LVCMOS output no configuration on-board Configuration status test point
47 FPGA_CRESET_N F9 CRESET_N 4A 4A_4B 1.8 V 1.8 V LVCMOS input no DIFFERENTIAL_MEMBER configuration on-board Open-drain fan-in of all-rail-valid, FTDI, and filtered external/manual reset requests
48 HARD_TCK G10 TCK BR4 BR3_BR4 3.3 V 3.3 V LVCMOS input no hard_jtag on-board Dedicated hard TAP TCK; FT4232H interface 1 BDBUS0 through power-domain isolation
49 HARD_TMS G12 TMS BR4 BR3_BR4 3.3 V 3.3 V LVCMOS input no hard_jtag on-board Dedicated hard TAP TMS; FT4232H interface 1 BDBUS3 through power-domain isolation
50 HARD_TDO G13 TDO BR4 BR3_BR4 3.3 V 3.3 V LVCMOS output no hard_jtag on-board Dedicated hard TAP TDO; FT4232H interface 1 BDBUS2 through power-domain isolation
51 MAX_SDATA G16 GPIOR_89 TR0 TR0 3.0 V 3.0 V LVCMOS bidirectional no max2771 on-board Single bidirectional three-wire serial data; not split MOSI/MISO
52 MAX_SHDN G17 GPIOR_92 TR0 TR0 3.0 V 3.0 V LVCMOS output no max2771 on-board MAX2771 hardware shutdown control
53 QSPI_IO2 G5 GPIOB_N_39_CDI2 4B 4A_4B 1.8 V 1.8 V LVCMOS bidirectional no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER configuration on-board SPI-active CDI2
54 QSPI_SCLK G6 GPIOB_P_39_CCK_PLLIN0 4B 4A_4B 1.8 V 1.8 V LVCMOS output no PLL_INPUT;DIFFERENTIAL_MEMBER configuration on-board SPI-active CCK; official CCK_PLLIN0 pin
55 HARD_TDI G9 TDI BR4 BR3_BR4 3.3 V 3.3 V LVCMOS input no hard_jtag on-board Dedicated hard TAP TDI; FT4232H interface 1 BDBUS1 through power-domain isolation
56 PMOD4_4 H18 GPIOT_N_56 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 4 PMOD 4 pin 4; HSIO pair 56 N
57 QSPI_IO0 H4 GPIOB_N_40_CDI0 4B 4A_4B 1.8 V 1.8 V LVCMOS bidirectional no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER configuration on-board SPI-active CDI0
58 QSPI_IO1 H5 GPIOB_P_40_CDI1_EXTFB 4B 4A_4B 1.8 V 1.8 V LVCMOS bidirectional no PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER configuration on-board SPI-active CDI1
59 PMOD4_3 J18 GPIOT_P_56 2E 2E 1.8 V 1.8 V LVCMOS bidirectional no DIFFERENTIAL_MEMBER pmod_2e JPMOD4 3 PMOD 4 pin 3; HSIO pair 56 P
60 FPGA_TEST_N J2 GPIOB_N_19_TEST_N_CLK6_N 4C 4C 1.8 V 1.8 V LVCMOS input yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER configuration on-board Mandatory external weak pull-up disables test mode during configuration
61 FPGA_CSI J5 GPIOB_N_43_CSI_CLK10_N 4B 4A_4B 1.8 V 1.8 V LVCMOS input yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER configuration on-board Mandatory external weak pull-up selects this FPGA throughout configuration
62 UART0_RX P17 GPIOL_84 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS input no ft4232 on-board FT4232H channel C TXD to FPGA RX
63 RISCV_TMS P18 GPIOL_80_CLK29 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS input yes CLOCK_CAPABLE secondary_jtag on-board Clock-capable fabric pin; official development-kit assignment
64 UART0_TX R17 GPIOL_85_PLLIN1 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS output no PLL_INPUT ft4232 on-board FPGA TX to FT4232H channel C RXD
65 UART1_RX R18 GPIOL_87_PLLIN1 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS input no PLL_INPUT ft4232 on-board FT4232H channel D TXD to FPGA RX
66 RISCV_TDO T18 GPIOL_83 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS output no secondary_jtag on-board Official development-kit hardened RISC-V JTAG assignment
67 UART1_TX T19 GPIOL_86 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS output no ft4232 on-board FPGA TX to FT4232H channel D RXD
68 CLK_40M_FPGA U17 GPIOL_79_CLK28 TL5 TL1_TL5 3.3 V 3.3 V LVCMOS input yes CLOCK_CAPABLE clock on-board 40 MHz oscillator branch on clock-capable pin
69 FTDI_DBG_GPIO U19 GPIOL_52_PLLIN1 TL1 TL1_TL5 3.3 V 3.3 V LVCMOS bidirectional no PLL_INPUT ft4232 on-board Channel D debug GPIO/test point; PLL-capable
70 PMOD1_1 U6 GPIOL_24 BL2 BL2_BL3 3.3 V 3.3 V LVCMOS bidirectional no pmod_3v3 JPMOD1 1 PMOD 1 pin 1; plain HVIO GPIO
71 RISCV_TDI V19 GPIOL_46 TL1 TL1_TL5 3.3 V 3.3 V LVCMOS input no secondary_jtag on-board Official development-kit hardened RISC-V JTAG assignment
72 PMOD2_1 V20 GPIOL_45 TL1 TL1_TL5 3.3 V 3.3 V LVCMOS bidirectional no pmod_3v3 JPMOD2 1 PMOD 2 pin 1; plain HVIO GPIO
73 PMOD1_2 V4 GPIOL_23 BL2 BL2_BL3 3.3 V 3.3 V LVCMOS bidirectional no pmod_3v3 JPMOD1 2 PMOD 1 pin 2; plain HVIO GPIO
+228
View File
@@ -0,0 +1,228 @@
ball,official_pin_name,package_bank,bank_class,selected_vccio,io_standard,clock_capability,special_function,status,signal,connector,connector_pin,note
A11,GPIOR_93_PLLIN1,TR1,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,used,IMU_DRY_SYNC,on-board,,Murata multiplexed Data Ready output / SYNC input
A12,GPIOR_95_CLK12,TR1,HVIO,3.3 V,3.3 V LVCMOS,yes,CLOCK_CAPABLE,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A13,GPIOR_94,TR1,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_3,JPMOD1,3,PMOD 1 pin 3
A14,GPIOT_N_55,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_2,JPMOD4,2,PMOD 4 pin 2; HSIO pair 55 N
A16,GPIOT_P_53,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_7,JPMOD3,7,PMOD 3 pin 7; HSIO pair 53 P
A17,GPIOT_N_53,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_8,JPMOD3,8,PMOD 3 pin 8; HSIO pair 53 N
A18,GPIOT_P_57,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_7,JPMOD4,7,PMOD 4 pin 7; HSIO pair 57 P
A19,GPIOT_N_57,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_8,JPMOD4,8,PMOD 4 pin 8; HSIO pair 57 N
A2,GPIOB_P_30_CDI9_PLLIN0,4C,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A21,GPIOT_N_33_CLK16_N,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A22,GPIOT_N_26,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A3,GPIOB_N_32,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A4,GPIOB_P_32,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A6,GPIOB_N_35,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
A7,GPIOB_N_38_SSL_N,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,QSPI_CS_N,on-board,,SPI-active SSL_N
A8,GPIOR_170,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,,used,IMU_SCK,on-board,,SafeSPI mode-0 clock
A9,GPIOR_171,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,,used,IMU_MOSI,on-board,,SafeSPI controller-to-sensor data
B1,GPIOB_P_21,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B10,GPIOR_169,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,,used,IMU_CS,on-board,,SafeSPI active-low chip select
B11,GPIOR_143_CLK9,BR0,HVIO,3.0 V,3.0 V LVCMOS,yes,CLOCK_CAPABLE,used,MAX_CLKOUT,on-board,,Source-synchronous ADC capture clock on dedicated clock-capable input
B12,GPIOR_96_CLK13,TR1,HVIO,3.3 V,3.3 V LVCMOS,yes,CLOCK_CAPABLE,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B14,GPIOT_P_55,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_1,JPMOD4,1,PMOD 4 pin 1; HSIO pair 55 P
B15,GPIOT_P_62_PLLIN0,2E,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B16,GPIOT_N_62,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B17,GPIOT_N_52,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_4,JPMOD3,4,PMOD 3 pin 4; HSIO pair 52 N
B19,GPIOT_N_54,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_10,JPMOD3,10,PMOD 3 pin 10; HSIO pair 54 N
B2,GPIOB_N_30_CDI8,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B20,GPIOT_N_51,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_2,JPMOD3,2,PMOD 3 pin 2; HSIO pair 51 N
B21,GPIOT_P_33_CLK16_P,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B22,GPIOT_N_27,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B23,GPIOT_P_26,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B4,GPIOB_N_31,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B5,GPIOB_N_34,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B6,GPIOB_P_35,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
B7,GPIOB_P_38_CDI3,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,used,QSPI_IO3,on-board,,SPI-active CDI3
B9,GPIOR_168,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,,used,IMU_MISO,on-board,,SafeSPI sensor-to-controller data
C10,GPIOR_167,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,,used,IMU_EXTRESN,on-board,,External active-low reset
C12,GPIOR_99,TR1,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_7,JPMOD1,7,PMOD 1 pin 7
C13,GPIOR_98,TR1,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_8,JPMOD1,8,PMOD 1 pin 8
C14,GPIOR_97,TR1,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_9,JPMOD1,9,PMOD 1 pin 9
C15,GPIOT_N_59,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C17,GPIOT_P_52,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_3,JPMOD3,3,PMOD 3 pin 3; HSIO pair 52 P
C18,GPIOT_N_60,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C19,GPIOT_P_54,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_9,JPMOD3,9,PMOD 3 pin 9; HSIO pair 54 P
C2,GPIOB_N_21,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C20,GPIOT_P_51,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD3_1,JPMOD3,1,PMOD 3 pin 1; HSIO pair 51 P
C22,GPIOT_P_27,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C3,GPIOB_P_27,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C4,GPIOB_P_31,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C5,GPIOB_P_34,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C7,GPIOB_N_41,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
C9,GPIOR_166,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_4,JPMOD1,4,PMOD 1 pin 4; plain HVIO GPIO
D1,GPIOB_P_20_CLK7_P,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D10,GPIOR_144,BR0,HVIO,3.0 V,3.0 V LVCMOS,no,,used,MAX_I0,on-board,,ADC I bit 0
D11,GPIOR_142_CLK8,BR0,HVIO,3.0 V,3.0 V LVCMOS,yes,CLOCK_CAPABLE,used,MAX_I1,on-board,,ADC I bit 1; clock-capable pad retained in same BR0 bank
D12,GPIOR_100,TR1,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_10,JPMOD1,10,PMOD 1 pin 10
D13,GPIOR_102,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_2,JPMOD2,2,PMOD 2 pin 2
D15,GPIOT_P_59_PLLIN0,2E,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D16,GPIOT_P_58,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_9,JPMOD4,9,PMOD 4 pin 9; HSIO pair 58 P
D17,GPIOT_N_58,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_10,JPMOD4,10,PMOD 4 pin 10; HSIO pair 58 N
D18,GPIOT_P_60_EXTFB,2E,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D2,GPIOB_N_20_CLK7_N,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D20,GPIOT_N_36_CLK19_N,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D21,GPIOT_N_29,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D22,GPIOT_P_25,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D23,GPIOT_N_25,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D3,GPIOB_N_27,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D5,GPIOB_N_37_CDI4,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D6,GPIOB_P_37_CDI5,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D7,GPIOB_P_41,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
D8,GPIOB_N_44_CLK11_N,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E1,GPIOB_P_18_CLK5_P,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E10,GPIOR_145_PLLIN1,BR0,HVIO,3.0 V,3.0 V LVCMOS,no,PLL_INPUT,used,MAX_Q0,on-board,,ADC Q bit 0; PLL-capable pad in same BR0 bank
E11,GPIOR_140_PLLIN1,BR0,HVIO,3.0 V,3.0 V LVCMOS,no,PLL_INPUT,used,MAX_Q1,on-board,,ADC Q bit 1; PLL-capable pad in same BR0 bank
E13,GPIOR_103,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_3,JPMOD2,3,PMOD 2 pin 3
E14,GPIOR_104,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_4,JPMOD2,4,PMOD 2 pin 4
E15,GPIOR_107,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_9,JPMOD2,9,PMOD 2 pin 9
E16,GPIOR_105,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_7,JPMOD2,7,PMOD 2 pin 7
E18,GPIOT_N_61,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E19,GPIOT_N_64_CLK15_N,2E,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E20,GPIOT_P_36_CLK19_P,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E21,GPIOT_P_29,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E23,GPIOT_N_23,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E3,GPIOB_P_24_CDI15,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E4,GPIOB_N_36_CDI6,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E5,GPIOB_P_36_CDI7,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E6,GPIOB_N_42,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E8,GPIOB_P_44_CLK11_P,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
E9,GPIOR_165_PLLIN1,BR3_BR4,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F1,GPIOB_N_18_CLK5_N,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F11,GPIOR_141,BR0,HVIO,3.0 V,3.0 V LVCMOS,no,,used,MAX_LD,on-board,,PLL lock status
F12,GPIOR_101_PLLIN1,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,used,RISCV_TCK,on-board,,Fabric RISC-V JTAG clock moved off the plain-GPIO PMOD allocation
F13,GPIOR_106,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_8,JPMOD2,8,PMOD 2 pin 8
F14,GPIOR_108,TR2,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_10,JPMOD2,10,PMOD 2 pin 10
F16,GPIOR_90,TR0,HVIO,3.0 V,3.0 V LVCMOS,no,,used,MAX_SCLK,on-board,,Three-wire serial clock
F17,GPIOR_91,TR0,HVIO,3.0 V,3.0 V LVCMOS,no,,used,MAX_CSN,on-board,,Three-wire active-low chip select
F18,GPIOT_P_61_EXTFB,2E,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F19,GPIOT_P_64_CLK15_P,2E,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F2,GPIOB_P_17_CLK4_P,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F21,GPIOT_P_35_CLK18_P,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F22,GPIOT_N_35_CLK18_N,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F23,GPIOT_P_23_PLLIN0,2C,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F3,GPIOB_N_24_CDI14,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F4,GPIOB_N_33,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
F6,GPIOB_P_42,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G1,GPIOB_P_23_CBSEL1,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G15,GPIOR_88_PLLIN1,TR0,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G16,GPIOR_89,TR0,HVIO,3.0 V,3.0 V LVCMOS,no,,used,MAX_SDATA,on-board,,Single bidirectional three-wire serial data; not split MOSI/MISO
G17,GPIOR_92,TR0,HVIO,3.0 V,3.0 V LVCMOS,no,,used,MAX_SHDN,on-board,,MAX2771 hardware shutdown control
G19,GPIOT_N_63_CLK14_N,2E,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G2,GPIOB_N_17_CLK4_N,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G20,GPIOT_N_34_CLK17_N,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G21,GPIOT_P_28,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G22,GPIOT_N_28,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G4,GPIOB_P_33,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
G5,GPIOB_N_39_CDI2,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,used,QSPI_IO2,on-board,,SPI-active CDI2
G6,GPIOB_P_39_CCK_PLLIN0,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,used,QSPI_SCLK,on-board,,SPI-active CCK; official CCK_PLLIN0 pin
H18,GPIOT_N_56,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_4,JPMOD4,4,PMOD 4 pin 4; HSIO pair 56 N
H19,GPIOT_P_63_CLK14_P,2E,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
H2,GPIOB_N_23_CBSEL0,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
H20,GPIOT_P_34_CLK17_P,2C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
H22,GPIOT_P_24_EXTFB,2C,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
H23,GPIOT_N_24,2C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
H3,GPIOB_P_28,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
H4,GPIOB_N_40_CDI0,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,used,QSPI_IO0,on-board,,SPI-active CDI0
H5,GPIOB_P_40_CDI1_EXTFB,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,used,QSPI_IO1,on-board,,SPI-active CDI1
J1,GPIOB_P_19_NSTATUS_CLK6_P,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
J18,GPIOT_P_56,2E,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,used,PMOD4_3,JPMOD4,3,PMOD 4 pin 3; HSIO pair 56 P
J2,GPIOB_N_19_TEST_N_CLK6_N,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,used,FPGA_TEST_N,on-board,,Mandatory external weak pull-up disables test mode during configuration
J20,GPIOT_P_17,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
J21,GPIOT_P_16,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
J22,GPIOT_P_10_CLK27_P,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
J23,GPIOT_N_10_CLK27_N,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
J3,GPIOB_N_28,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
J5,GPIOB_N_43_CSI_CLK10_N,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,used,FPGA_CSI,on-board,,Mandatory external weak pull-up selects this FPGA throughout configuration
J6,GPIOB_P_43_CSO_CLK10_P,4A_4B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K1,GPIOB_P_14_CDI19_CLK1_P,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K18,GPIOT_P_49_EXTFB,2D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K19,GPIOT_N_49,2D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K20,GPIOT_N_17,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K21,GPIOT_N_16,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K23,GPIOT_P_21,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K3,GPIOB_P_29_CDI11_EXTFB,4C,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K4,GPIOB_N_29_CDI10,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K5,GPIOB_P_26_EXTSPICLK,4C,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;EXT_SPI;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
K6,GPIOB_P_25_CDI13,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L1,GPIOB_N_14_CDI18_CLK1_N,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L17,GPIOT_P_50_PLLIN0,2D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L18,GPIOT_N_50,2D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L19,GPIOT_P_20,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L2,GPIOB_P_15_CDI17_CLK2_P,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L21,GPIOT_P_11_CLK30_P,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L22,GPIOT_N_11_CLK30_N,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L23,GPIOT_N_21,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L3,GPIOB_P_11,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L4,GPIOB_N_26_SSU_N,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
L6,GPIOB_N_25_CDI12,4C,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M1,GPIOB_P_09,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M16,GPIOT_P_43,2D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M17,GPIOT_N_43,2D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M19,GPIOT_N_20,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M2,GPIOB_N_15_CDI16_CLK2_N,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M20,GPIOT_P_13_PLLIN0,2B,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M21,GPIOT_P_22,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M22,GPIOT_N_22,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M4,GPIOB_N_11,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M5,GPIOB_P_22,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
M6,GPIOB_N_22,4C,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N17,GPIOT_P_40_CLK23_P,2D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N18,GPIOT_N_40_CLK23_N,2D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N19,GPIOT_P_14_EXTFB,2B,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N2,GPIOB_N_09,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N20,GPIOT_N_13,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N22,GPIOT_P_15,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N23,GPIOT_N_15,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N3,GPIOB_P_13_CDI21_CLK0_P,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N4,GPIOB_N_12,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N5,GPIOB_P_12,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
N7,GPIOB_P_08_CDI22_EXTFB,4D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P1,GPIOB_N_16_CLK3_N,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P17,GPIOL_84,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,,used,UART0_RX,on-board,,FT4232H channel C TXD to FPGA RX
P18,GPIOL_80_CLK29,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,yes,CLOCK_CAPABLE,used,RISCV_TMS,on-board,,Clock-capable fabric pin; official development-kit assignment
P2,GPIOB_P_16_CLK3_P,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P20,GPIOT_N_14,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P21,GPIOT_P_18,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P22,GPIOT_N_18,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P23,GPIOT_P_09_CLK26_P,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P3,GPIOB_N_13_CDI20_CLK0_N,4D,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P5,GPIOB_P_06_CDI26_EXTFB,4D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P6,GPIOB_P_05_CDI28_PLLIN0,4D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
P7,GPIOB_N_08,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R1,GPIOB_P_04_CDI30_EXTFB,4D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R17,GPIOL_85_PLLIN1,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,used,UART0_TX,on-board,,FPGA TX to FT4232H channel C RXD
R18,GPIOL_87_PLLIN1,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,used,UART1_RX,on-board,,FT4232H channel D TXD to FPGA RX
R19,GPIOT_P_19,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R20,GPIOT_N_19,2B,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R21,GPIOT_P_12_CLK31_P,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R23,GPIOT_N_09_CLK26_N,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R3,GPIOB_N_07_CDI23,4D,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R4,GPIOB_P_07_CDI24_PLLIN0,4D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R5,GPIOB_N_06_CDI25,4D,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
R6,GPIOB_N_05_CDI27,4D,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T1,GPIOB_N_04_CDI29,4D,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T18,GPIOL_83,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,,used,RISCV_TDO,on-board,,Official development-kit hardened RISC-V JTAG assignment
T19,GPIOL_86,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,,used,UART1_TX,on-board,,FPGA TX to FT4232H channel D RXD
T2,GPIOB_N_10,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T21,GPIOT_N_12_CLK31_N,2B,HSIO,1.8 V,1.8 V LVCMOS,yes,CLOCK_CAPABLE;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T22,GPIOT_P_08_PLLIN0,2A,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T23,GPIOT_N_08,2A,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T3,GPIOB_P_10,4D,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
T4,GPIOL_27_CLK25,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,yes,CLOCK_CAPABLE,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U1,GPIOB_N_03_CDI31,4D,HSIO,1.8 V,1.8 V LVCMOS,no,CORE_DATA_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U17,GPIOL_79_CLK28,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,yes,CLOCK_CAPABLE,used,CLK_40M_FPGA,on-board,,40 MHz oscillator branch on clock-capable pin
U19,GPIOL_52_PLLIN1,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,used,FTDI_DBG_GPIO,on-board,,Channel D debug GPIO/test point; PLL-capable
U2,GPIOB_P_03_PLLIN0,4D,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_INPUT;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U21,GPIOT_P_05,2A,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U22,GPIOT_N_05,2A,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U4,GPIOL_25_PLLIN1,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U5,GPIOL_34_PLLIN1,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,unused,,,,Unused fabric GPIO; left unconnected at the BGA
U6,GPIOL_24,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_1,JPMOD1,1,PMOD 1 pin 1; plain HVIO GPIO
V19,GPIOL_46,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,,used,RISCV_TDI,on-board,,Official development-kit hardened RISC-V JTAG assignment
V2,GPIOL_26_CLK24,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,yes,CLOCK_CAPABLE,unused,,,,Unused fabric GPIO; left unconnected at the BGA
V20,GPIOL_45,TL1_TL5,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD2_1,JPMOD2,1,PMOD 2 pin 1; plain HVIO GPIO
V22,GPIOT_P_07_EXTFB,2A,HSIO,1.8 V,1.8 V LVCMOS,no,PLL_EXTFB;DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
V23,GPIOT_N_07,2A,HSIO,1.8 V,1.8 V LVCMOS,no,DIFFERENTIAL_MEMBER,unused,,,,Unused fabric GPIO; left unconnected at the BGA
V3,GPIOL_32_PLLIN1,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,no,PLL_INPUT,unused,,,,Unused fabric GPIO; left unconnected at the BGA
V4,GPIOL_23,BL2_BL3,HVIO,3.3 V,3.3 V LVCMOS,no,,used,PMOD1_2,JPMOD1,2,PMOD 1 pin 2; plain HVIO GPIO
1 ball official_pin_name package_bank bank_class selected_vccio io_standard clock_capability special_function status signal connector connector_pin note
2 A11 GPIOR_93_PLLIN1 TR1 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT used IMU_DRY_SYNC on-board Murata multiplexed Data Ready output / SYNC input
3 A12 GPIOR_95_CLK12 TR1 HVIO 3.3 V 3.3 V LVCMOS yes CLOCK_CAPABLE unused Unused fabric GPIO; left unconnected at the BGA
4 A13 GPIOR_94 TR1 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_3 JPMOD1 3 PMOD 1 pin 3
5 A14 GPIOT_N_55 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_2 JPMOD4 2 PMOD 4 pin 2; HSIO pair 55 N
6 A16 GPIOT_P_53 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_7 JPMOD3 7 PMOD 3 pin 7; HSIO pair 53 P
7 A17 GPIOT_N_53 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_8 JPMOD3 8 PMOD 3 pin 8; HSIO pair 53 N
8 A18 GPIOT_P_57 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_7 JPMOD4 7 PMOD 4 pin 7; HSIO pair 57 P
9 A19 GPIOT_N_57 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_8 JPMOD4 8 PMOD 4 pin 8; HSIO pair 57 N
10 A2 GPIOB_P_30_CDI9_PLLIN0 4C HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
11 A21 GPIOT_N_33_CLK16_N 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
12 A22 GPIOT_N_26 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
13 A3 GPIOB_N_32 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
14 A4 GPIOB_P_32 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
15 A6 GPIOB_N_35 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
16 A7 GPIOB_N_38_SSL_N 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used QSPI_CS_N on-board SPI-active SSL_N
17 A8 GPIOR_170 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no used IMU_SCK on-board SafeSPI mode-0 clock
18 A9 GPIOR_171 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no used IMU_MOSI on-board SafeSPI controller-to-sensor data
19 B1 GPIOB_P_21 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
20 B10 GPIOR_169 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no used IMU_CS on-board SafeSPI active-low chip select
21 B11 GPIOR_143_CLK9 BR0 HVIO 3.0 V 3.0 V LVCMOS yes CLOCK_CAPABLE used MAX_CLKOUT on-board Source-synchronous ADC capture clock on dedicated clock-capable input
22 B12 GPIOR_96_CLK13 TR1 HVIO 3.3 V 3.3 V LVCMOS yes CLOCK_CAPABLE unused Unused fabric GPIO; left unconnected at the BGA
23 B14 GPIOT_P_55 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_1 JPMOD4 1 PMOD 4 pin 1; HSIO pair 55 P
24 B15 GPIOT_P_62_PLLIN0 2E HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
25 B16 GPIOT_N_62 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
26 B17 GPIOT_N_52 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_4 JPMOD3 4 PMOD 3 pin 4; HSIO pair 52 N
27 B19 GPIOT_N_54 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_10 JPMOD3 10 PMOD 3 pin 10; HSIO pair 54 N
28 B2 GPIOB_N_30_CDI8 4C HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
29 B20 GPIOT_N_51 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_2 JPMOD3 2 PMOD 3 pin 2; HSIO pair 51 N
30 B21 GPIOT_P_33_CLK16_P 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
31 B22 GPIOT_N_27 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
32 B23 GPIOT_P_26 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
33 B4 GPIOB_N_31 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
34 B5 GPIOB_N_34 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
35 B6 GPIOB_P_35 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
36 B7 GPIOB_P_38_CDI3 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER used QSPI_IO3 on-board SPI-active CDI3
37 B9 GPIOR_168 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no used IMU_MISO on-board SafeSPI sensor-to-controller data
38 C10 GPIOR_167 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no used IMU_EXTRESN on-board External active-low reset
39 C12 GPIOR_99 TR1 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_7 JPMOD1 7 PMOD 1 pin 7
40 C13 GPIOR_98 TR1 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_8 JPMOD1 8 PMOD 1 pin 8
41 C14 GPIOR_97 TR1 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_9 JPMOD1 9 PMOD 1 pin 9
42 C15 GPIOT_N_59 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
43 C17 GPIOT_P_52 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_3 JPMOD3 3 PMOD 3 pin 3; HSIO pair 52 P
44 C18 GPIOT_N_60 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
45 C19 GPIOT_P_54 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_9 JPMOD3 9 PMOD 3 pin 9; HSIO pair 54 P
46 C2 GPIOB_N_21 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
47 C20 GPIOT_P_51 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD3_1 JPMOD3 1 PMOD 3 pin 1; HSIO pair 51 P
48 C22 GPIOT_P_27 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
49 C3 GPIOB_P_27 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
50 C4 GPIOB_P_31 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
51 C5 GPIOB_P_34 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
52 C7 GPIOB_N_41 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
53 C9 GPIOR_166 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_4 JPMOD1 4 PMOD 1 pin 4; plain HVIO GPIO
54 D1 GPIOB_P_20_CLK7_P 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
55 D10 GPIOR_144 BR0 HVIO 3.0 V 3.0 V LVCMOS no used MAX_I0 on-board ADC I bit 0
56 D11 GPIOR_142_CLK8 BR0 HVIO 3.0 V 3.0 V LVCMOS yes CLOCK_CAPABLE used MAX_I1 on-board ADC I bit 1; clock-capable pad retained in same BR0 bank
57 D12 GPIOR_100 TR1 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_10 JPMOD1 10 PMOD 1 pin 10
58 D13 GPIOR_102 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_2 JPMOD2 2 PMOD 2 pin 2
59 D15 GPIOT_P_59_PLLIN0 2E HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
60 D16 GPIOT_P_58 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_9 JPMOD4 9 PMOD 4 pin 9; HSIO pair 58 P
61 D17 GPIOT_N_58 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_10 JPMOD4 10 PMOD 4 pin 10; HSIO pair 58 N
62 D18 GPIOT_P_60_EXTFB 2E HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
63 D2 GPIOB_N_20_CLK7_N 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
64 D20 GPIOT_N_36_CLK19_N 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
65 D21 GPIOT_N_29 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
66 D22 GPIOT_P_25 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
67 D23 GPIOT_N_25 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
68 D3 GPIOB_N_27 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
69 D5 GPIOB_N_37_CDI4 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
70 D6 GPIOB_P_37_CDI5 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
71 D7 GPIOB_P_41 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
72 D8 GPIOB_N_44_CLK11_N 4A_4B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
73 E1 GPIOB_P_18_CLK5_P 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
74 E10 GPIOR_145_PLLIN1 BR0 HVIO 3.0 V 3.0 V LVCMOS no PLL_INPUT used MAX_Q0 on-board ADC Q bit 0; PLL-capable pad in same BR0 bank
75 E11 GPIOR_140_PLLIN1 BR0 HVIO 3.0 V 3.0 V LVCMOS no PLL_INPUT used MAX_Q1 on-board ADC Q bit 1; PLL-capable pad in same BR0 bank
76 E13 GPIOR_103 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_3 JPMOD2 3 PMOD 2 pin 3
77 E14 GPIOR_104 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_4 JPMOD2 4 PMOD 2 pin 4
78 E15 GPIOR_107 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_9 JPMOD2 9 PMOD 2 pin 9
79 E16 GPIOR_105 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_7 JPMOD2 7 PMOD 2 pin 7
80 E18 GPIOT_N_61 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
81 E19 GPIOT_N_64_CLK15_N 2E HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
82 E20 GPIOT_P_36_CLK19_P 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
83 E21 GPIOT_P_29 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
84 E23 GPIOT_N_23 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
85 E3 GPIOB_P_24_CDI15 4C HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
86 E4 GPIOB_N_36_CDI6 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
87 E5 GPIOB_P_36_CDI7 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
88 E6 GPIOB_N_42 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
89 E8 GPIOB_P_44_CLK11_P 4A_4B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
90 E9 GPIOR_165_PLLIN1 BR3_BR4 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT unused Unused fabric GPIO; left unconnected at the BGA
91 F1 GPIOB_N_18_CLK5_N 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
92 F11 GPIOR_141 BR0 HVIO 3.0 V 3.0 V LVCMOS no used MAX_LD on-board PLL lock status
93 F12 GPIOR_101_PLLIN1 TR2 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT used RISCV_TCK on-board Fabric RISC-V JTAG clock moved off the plain-GPIO PMOD allocation
94 F13 GPIOR_106 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_8 JPMOD2 8 PMOD 2 pin 8
95 F14 GPIOR_108 TR2 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_10 JPMOD2 10 PMOD 2 pin 10
96 F16 GPIOR_90 TR0 HVIO 3.0 V 3.0 V LVCMOS no used MAX_SCLK on-board Three-wire serial clock
97 F17 GPIOR_91 TR0 HVIO 3.0 V 3.0 V LVCMOS no used MAX_CSN on-board Three-wire active-low chip select
98 F18 GPIOT_P_61_EXTFB 2E HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
99 F19 GPIOT_P_64_CLK15_P 2E HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
100 F2 GPIOB_P_17_CLK4_P 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
101 F21 GPIOT_P_35_CLK18_P 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
102 F22 GPIOT_N_35_CLK18_N 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
103 F23 GPIOT_P_23_PLLIN0 2C HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
104 F3 GPIOB_N_24_CDI14 4C HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
105 F4 GPIOB_N_33 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
106 F6 GPIOB_P_42 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
107 G1 GPIOB_P_23_CBSEL1 4C HSIO 1.8 V 1.8 V LVCMOS no CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
108 G15 GPIOR_88_PLLIN1 TR0 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT unused Unused fabric GPIO; left unconnected at the BGA
109 G16 GPIOR_89 TR0 HVIO 3.0 V 3.0 V LVCMOS no used MAX_SDATA on-board Single bidirectional three-wire serial data; not split MOSI/MISO
110 G17 GPIOR_92 TR0 HVIO 3.0 V 3.0 V LVCMOS no used MAX_SHDN on-board MAX2771 hardware shutdown control
111 G19 GPIOT_N_63_CLK14_N 2E HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
112 G2 GPIOB_N_17_CLK4_N 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
113 G20 GPIOT_N_34_CLK17_N 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
114 G21 GPIOT_P_28 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
115 G22 GPIOT_N_28 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
116 G4 GPIOB_P_33 4A_4B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
117 G5 GPIOB_N_39_CDI2 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER used QSPI_IO2 on-board SPI-active CDI2
118 G6 GPIOB_P_39_CCK_PLLIN0 4A_4B HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER used QSPI_SCLK on-board SPI-active CCK; official CCK_PLLIN0 pin
119 H18 GPIOT_N_56 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_4 JPMOD4 4 PMOD 4 pin 4; HSIO pair 56 N
120 H19 GPIOT_P_63_CLK14_P 2E HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
121 H2 GPIOB_N_23_CBSEL0 4C HSIO 1.8 V 1.8 V LVCMOS no CONFIG_BOOT_SELECT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
122 H20 GPIOT_P_34_CLK17_P 2C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
123 H22 GPIOT_P_24_EXTFB 2C HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
124 H23 GPIOT_N_24 2C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
125 H3 GPIOB_P_28 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
126 H4 GPIOB_N_40_CDI0 4A_4B HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER used QSPI_IO0 on-board SPI-active CDI0
127 H5 GPIOB_P_40_CDI1_EXTFB 4A_4B HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER used QSPI_IO1 on-board SPI-active CDI1
128 J1 GPIOB_P_19_NSTATUS_CLK6_P 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
129 J18 GPIOT_P_56 2E HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER used PMOD4_3 JPMOD4 3 PMOD 4 pin 3; HSIO pair 56 P
130 J2 GPIOB_N_19_TEST_N_CLK6_N 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER used FPGA_TEST_N on-board Mandatory external weak pull-up disables test mode during configuration
131 J20 GPIOT_P_17 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
132 J21 GPIOT_P_16 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
133 J22 GPIOT_P_10_CLK27_P 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
134 J23 GPIOT_N_10_CLK27_N 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
135 J3 GPIOB_N_28 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
136 J5 GPIOB_N_43_CSI_CLK10_N 4A_4B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER used FPGA_CSI on-board Mandatory external weak pull-up selects this FPGA throughout configuration
137 J6 GPIOB_P_43_CSO_CLK10_P 4A_4B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
138 K1 GPIOB_P_14_CDI19_CLK1_P 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
139 K18 GPIOT_P_49_EXTFB 2D HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
140 K19 GPIOT_N_49 2D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
141 K20 GPIOT_N_17 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
142 K21 GPIOT_N_16 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
143 K23 GPIOT_P_21 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
144 K3 GPIOB_P_29_CDI11_EXTFB 4C HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
145 K4 GPIOB_N_29_CDI10 4C HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
146 K5 GPIOB_P_26_EXTSPICLK 4C HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;EXT_SPI;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
147 K6 GPIOB_P_25_CDI13 4C HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
148 L1 GPIOB_N_14_CDI18_CLK1_N 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
149 L17 GPIOT_P_50_PLLIN0 2D HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
150 L18 GPIOT_N_50 2D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
151 L19 GPIOT_P_20 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
152 L2 GPIOB_P_15_CDI17_CLK2_P 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
153 L21 GPIOT_P_11_CLK30_P 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
154 L22 GPIOT_N_11_CLK30_N 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
155 L23 GPIOT_N_21 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
156 L3 GPIOB_P_11 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
157 L4 GPIOB_N_26_SSU_N 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
158 L6 GPIOB_N_25_CDI12 4C HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
159 M1 GPIOB_P_09 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
160 M16 GPIOT_P_43 2D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
161 M17 GPIOT_N_43 2D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
162 M19 GPIOT_N_20 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
163 M2 GPIOB_N_15_CDI16_CLK2_N 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
164 M20 GPIOT_P_13_PLLIN0 2B HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
165 M21 GPIOT_P_22 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
166 M22 GPIOT_N_22 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
167 M4 GPIOB_N_11 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
168 M5 GPIOB_P_22 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
169 M6 GPIOB_N_22 4C HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
170 N17 GPIOT_P_40_CLK23_P 2D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
171 N18 GPIOT_N_40_CLK23_N 2D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
172 N19 GPIOT_P_14_EXTFB 2B HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
173 N2 GPIOB_N_09 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
174 N20 GPIOT_N_13 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
175 N22 GPIOT_P_15 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
176 N23 GPIOT_N_15 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
177 N3 GPIOB_P_13_CDI21_CLK0_P 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
178 N4 GPIOB_N_12 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
179 N5 GPIOB_P_12 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
180 N7 GPIOB_P_08_CDI22_EXTFB 4D HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
181 P1 GPIOB_N_16_CLK3_N 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
182 P17 GPIOL_84 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no used UART0_RX on-board FT4232H channel C TXD to FPGA RX
183 P18 GPIOL_80_CLK29 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS yes CLOCK_CAPABLE used RISCV_TMS on-board Clock-capable fabric pin; official development-kit assignment
184 P2 GPIOB_P_16_CLK3_P 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
185 P20 GPIOT_N_14 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
186 P21 GPIOT_P_18 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
187 P22 GPIOT_N_18 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
188 P23 GPIOT_P_09_CLK26_P 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
189 P3 GPIOB_N_13_CDI20_CLK0_N 4D HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
190 P5 GPIOB_P_06_CDI26_EXTFB 4D HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
191 P6 GPIOB_P_05_CDI28_PLLIN0 4D HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
192 P7 GPIOB_N_08 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
193 R1 GPIOB_P_04_CDI30_EXTFB 4D HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
194 R17 GPIOL_85_PLLIN1 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT used UART0_TX on-board FPGA TX to FT4232H channel C RXD
195 R18 GPIOL_87_PLLIN1 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT used UART1_RX on-board FT4232H channel D TXD to FPGA RX
196 R19 GPIOT_P_19 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
197 R20 GPIOT_N_19 2B HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
198 R21 GPIOT_P_12_CLK31_P 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
199 R23 GPIOT_N_09_CLK26_N 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
200 R3 GPIOB_N_07_CDI23 4D HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
201 R4 GPIOB_P_07_CDI24_PLLIN0 4D HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
202 R5 GPIOB_N_06_CDI25 4D HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
203 R6 GPIOB_N_05_CDI27 4D HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
204 T1 GPIOB_N_04_CDI29 4D HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
205 T18 GPIOL_83 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no used RISCV_TDO on-board Official development-kit hardened RISC-V JTAG assignment
206 T19 GPIOL_86 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no used UART1_TX on-board FPGA TX to FT4232H channel D RXD
207 T2 GPIOB_N_10 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
208 T21 GPIOT_N_12_CLK31_N 2B HSIO 1.8 V 1.8 V LVCMOS yes CLOCK_CAPABLE;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
209 T22 GPIOT_P_08_PLLIN0 2A HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
210 T23 GPIOT_N_08 2A HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
211 T3 GPIOB_P_10 4D HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
212 T4 GPIOL_27_CLK25 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS yes CLOCK_CAPABLE unused Unused fabric GPIO; left unconnected at the BGA
213 U1 GPIOB_N_03_CDI31 4D HSIO 1.8 V 1.8 V LVCMOS no CORE_DATA_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
214 U17 GPIOL_79_CLK28 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS yes CLOCK_CAPABLE used CLK_40M_FPGA on-board 40 MHz oscillator branch on clock-capable pin
215 U19 GPIOL_52_PLLIN1 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT used FTDI_DBG_GPIO on-board Channel D debug GPIO/test point; PLL-capable
216 U2 GPIOB_P_03_PLLIN0 4D HSIO 1.8 V 1.8 V LVCMOS no PLL_INPUT;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
217 U21 GPIOT_P_05 2A HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
218 U22 GPIOT_N_05 2A HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
219 U4 GPIOL_25_PLLIN1 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT unused Unused fabric GPIO; left unconnected at the BGA
220 U5 GPIOL_34_PLLIN1 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT unused Unused fabric GPIO; left unconnected at the BGA
221 U6 GPIOL_24 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_1 JPMOD1 1 PMOD 1 pin 1; plain HVIO GPIO
222 V19 GPIOL_46 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no used RISCV_TDI on-board Official development-kit hardened RISC-V JTAG assignment
223 V2 GPIOL_26_CLK24 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS yes CLOCK_CAPABLE unused Unused fabric GPIO; left unconnected at the BGA
224 V20 GPIOL_45 TL1_TL5 HVIO 3.3 V 3.3 V LVCMOS no used PMOD2_1 JPMOD2 1 PMOD 2 pin 1; plain HVIO GPIO
225 V22 GPIOT_P_07_EXTFB 2A HSIO 1.8 V 1.8 V LVCMOS no PLL_EXTFB;DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
226 V23 GPIOT_N_07 2A HSIO 1.8 V 1.8 V LVCMOS no DIFFERENTIAL_MEMBER unused Unused fabric GPIO; left unconnected at the BGA
227 V3 GPIOL_32_PLLIN1 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS no PLL_INPUT unused Unused fabric GPIO; left unconnected at the BGA
228 V4 GPIOL_23 BL2_BL3 HVIO 3.3 V 3.3 V LVCMOS no used PMOD1_2 JPMOD1 2 PMOD 1 pin 2; plain HVIO GPIO
+97
View File
@@ -0,0 +1,97 @@
# Donanım mimarisi
## Ana dosyalar
- `board.kicad_sch`: güncel hiyerarşik KiCad 10 şeması.
- `board.kicad_pcb`: güncel, placed fakat unrouted PCB.
- `board.kicad_pro`: net-class, diff-pair ve proje ayarları.
- `board.kicad_dru`: üreticiye ve kontrollü empedansa özgü DRC kuralları.
- `board.kicad_sym` ve `board.pretty/`: projeye özel sembol ve footprintler.
`board_prerouted`, `board_plane_stitched` ve eski `board_power_routed` dosyaları
ara çalışma ürünleridir. Güncel reset/netlist revizyonundan önce oluşturulmuş
routing dosyaları yeni tasarım için kaynak kabul edilmez.
## Güç mimarisi
1. USB-C VBUS veya harici 5 V koruma ve power-path devresinden sonra `SYS5`
rayını oluşturur.
2. TPS6287B15, FPGA core/VCCA/VDD_SOC için 0.95 V üretir.
3. `CORE_PG`, LM3880 sıralayıcıyı başlatır.
4. LM3880 önce TPS62867 1.8 V rayını, ardından TPS62867 3.3 V rayını etkinleştirir.
5. 3.3 V üzerinden MAX2771 ve ilgili FPGA bankları için ayrı düşük gürültülü
3.0 V LDO'lar beslenir.
6. TPS3808, `VCC3V0_DIG` rayını izler ve geçerli olduktan sonra 20 ms gecikmeyle
power-good verir.
7. Core PG, 1.8 V PG, 3.3 V PG, TPS3808 sonucu ve LM3880 FLAG3,
`ALL_FPGA_POWER_OK` mantığında birlikte doğrulanır.
FPGA besleme rayları:
| Ray | Görev |
|---|---|
| `VCC0V95` | FPGA core, VCCA ve SoC çekirdeği |
| `VCC1V8` | VCCAUX, konfigürasyon/flash ve 1.8 V HSIO bankları |
| `VCC3V3` | 3.3 V FPGA I/O bankları ve çevre birimleri |
| `VCC3V0_DIG` | MAX2771 dijital ve ilgili 3.0 V FPGA bankı |
| `VCC3V0_RF` | MAX2771 analog RF beslemesi |
| `VCC3V0_CLK` | Düşük gürültülü saat beslemesi |
| `VCC3V3_AUX` | Her zaman açık supervisor ve USB debug mantığı |
## Reset mimarisi
`FPGA_CRESET_N`, 1.8 V'a pull-up edilen aktif-düşük konfigürasyon resetidir.
Aşağıdaki üç bağımsız SN74LVC1G07 açık-drenç yolu bu hattı yalnızca aşağı
çekebilir:
- FT4232H interface 1 `BDBUS4` yazılım reset isteği.
- `ALL_FPGA_POWER_OK` geçersiz olduğunda power-fault reseti.
- Filtrelenmiş kart üstü buton veya `J4 EXT RESET_N` harici reset isteği.
`J4` harici kaynağı aktif-düşük open-drain/contact-closure kullanımına göre
tasarlanmıştır. Harici pine gerilim uygulanmamalı; pin GND'ye çekilmelidir.
## JTAG ve USB debug
| FT4232H arayüzü | Görev | Sinyaller |
|---|---|---|
| Interface 0 / A | RISC-V JTAG | ADBUS0..3 |
| Interface 1 / B | FPGA hard JTAG | BDBUS0..3 |
| Interface 1 / BDBUS4 | FPGA reset | Aktif-düşük reset isteği |
| Interface 2 / C | UART0 | TX/RX |
| Interface 3 / D | UART1 ve debug GPIO | TX/RX/DBG |
FTDI her zaman açık yardımcı raydan beslenir. FPGA'ya doğru sürülen sinyaller
FPGA 3.3 V rayından beslenen Ioff özellikli bufferlardan geçer. Bu bufferların
enable girişi yalnızca `ALL_FPGA_POWER_OK` geçerliyken açılır; kapalı FPGA I/O
pinlerinin debug arayüzü üzerinden back-power edilmesi engellenir.
Hard JTAG TCK/TMS/TDI/TDO ve RISC-V JTAG sinyallerinde 10 kohm idle pull-up,
seri hatlarda 33 ohm kaynak sönümleme dirençleri bulunur. Ayrı ARM/JTAG headerı
yoktur.
## PMOD ve FPGA pin politikası
- `JPMOD1`, `JPMOD2`: Digilent 2x6, 3.3 V.
- `JPMOD3`, `JPMOD4`: Digilent 2x6, 1.8 V.
- Her PMOD'da 8 GPIO, 2 GND ve 2 besleme pini vardır.
- Konfigürasyon, PLL feedback, özel clock ve kartta kullanılan MAX2771/IMU
pinleri PMOD tahsisine dahil edilmez.
- Kesin ball/net eşlemesi `../docs/ti375_pinout.csv` dosyasındadır.
## RF ve yüksek hızlı routing kuralları
- RF katı üst katmanda, JLC08161H-3313 stackup için 0.164 mm genişlik ve
0.200 mm coplanar GND aralığıyla 50 ohm CPWG olarak tasarlanır.
- SMA, ESD, bias-tee, SAW ve MAX2771 MIXIN_HI arasındaki RF güzergâhında dijital
route veya via kullanılmaz.
- USB2 diferansiyel çift 0.135 mm hat ve 0.150 mm coupled gap kuralındadır.
- RF ve USB geometrisi `scripts/finalize_routing.py` tarafından deterministik
olarak kurulur; Freerouter çıktısındaki kritik hatlar kullanılmaz.
- L2 ve L7 kesintisiz GND referans katmanlarıdır. L4 bölünmüş DC güç katmanıdır.
## Üretime çıkış şartı
Bu revizyonda placement kontrolleri geçmiştir fakat `board.kicad_pcb` üzerinde
track yoktur. Üretim öncesinde routing akışı tamamlanmalı; zone'lar doldurulmalı;
ERC, DRC, schematic parity, Gerber ve drill incelemesi tekrar yapılmalıdır.
File diff suppressed because it is too large Load Diff
+48
View File
@@ -0,0 +1,48 @@
(version 1)
# The edge-launch SMA copper must reach the routed board edge by construction.
(rule "J2 edge-launch lands"
(condition "A.Reference == 'J2' || B.Reference == 'J2'")
(constraint edge_clearance (min -0.01mm)))
# The manufacturer USB-C locating holes are 0.194 mm from grounded shell
# lands. This exception is internal to the qualified connector footprint.
(rule "USB-C locating-hole clearance"
(condition "A.Reference == 'J1' && B.Reference == 'J1'")
(constraint hole_clearance (min 0.19mm)))
# RZV0024A is an ultra-dense high-current package. Its adjusted corner lands
# and thermal zones meet the selected JLCPCB 0.10-mm copper rule.
(rule "TPS6287B RZV internal clearance"
(condition "A.Reference == 'U13' && B.Reference == 'U13'")
(constraint clearance (min 0.10mm)))
# A 0.45-mm dogbone via at the centre of four 0.8-mm-pitch BGA lands has
# 0.1407-mm geometric clearance. This local rule is still well above the
# selected fabricator's 0.10-mm copper minimum; clocks retain 0.15 mm outside
# the U1 escape field.
(rule "Ti375 0.8-mm BGA dogbone clearance"
(condition "A.Reference == 'U1' || B.Reference == 'U1'")
(constraint clearance (min 0.14mm)))
# JLC08161H-3313 L1/L2 geometry. Net-class widths are routing defaults only;
# these rules make the controlled-impedance geometries actual DRC limits.
(rule "GNSS 50-ohm CPWG geometry"
(condition "A.NetClass == 'RF50_CPWG'")
(constraint track_width (min 0.164mm) (opt 0.164mm) (max 0.164mm)))
(rule "GNSS RF stays on top layer"
(condition "A.NetClass == 'RF50_CPWG' && A.Type == 'Track' && A.Layer != 'F.Cu'")
(constraint disallow track))
(rule "USB2 90-ohm differential geometry"
(condition "A.NetClass == 'USB90_DIFF'")
(constraint track_width (min 0.135mm) (opt 0.135mm) (max 0.135mm)))
(rule "USB2 coupled gap"
(condition "A.NetClass == 'USB90_DIFF' && AB.isCoupledDiffPair()")
(constraint diff_pair_gap (min 0.15mm) (opt 0.15mm) (max 0.15mm)))
(rule "Clock trunk width outside Ti375 escape"
(condition "A.NetClass == 'CLOCK' && A.Type == 'Track' && !A.insideCourtyard('U1')")
(constraint track_width (min 0.15mm)))
File diff suppressed because it is too large Load Diff
+576
View File
@@ -0,0 +1,576 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_barcodes": false,
"apply_defaults_to_fp_dimensions": false,
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": true,
"text_position": 0,
"units_format": 0
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.8,
"height": 1.27,
"width": 1.27
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"border_display_style": 2,
"border_hatch_pitch": 0.5,
"corner_radius": 0.0,
"corner_smoothing": 0,
"fill_mode": 0,
"hatch_gap": 1.5,
"hatch_orientation": 0.0,
"hatch_smoothing_level": 0,
"hatch_smoothing_value": 0.1,
"hatch_thickness": 1.0,
"min_clearance": 0.5,
"min_island_area": 10.0,
"min_thickness": 0.25,
"pad_connection": 1,
"remove_islands": 0,
"thermal_relief_gap": 0.5,
"thermal_relief_spoke_width": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_field_mismatch": "warning",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"missing_tuning_profile": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "error",
"padstack": "warning",
"pth_inside_courtyard": "error",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_not_centered_on_via": "ignore",
"track_on_post_machined_layer": "error",
"track_segment_length": "error",
"track_width": "error",
"tracks_crossing": "error",
"tuning_profile_track_geometries": "ignore",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.1,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.25,
"min_groove_width": 0.0,
"min_hole_clearance": 0.19,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.225,
"min_track_width": 0.1,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.45,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"bom_rev": "",
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": "",
"sch_revision": ""
},
"layer_pairs": [],
"layer_presets": [],
"viewports": []
},
"boards": [],
"component_class_settings": {
"assignments": [],
"meta": {
"version": 0
},
"sheet_component_classes": {
"enabled": false
}
},
"cvpcb": {
"equivalence_files": []
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "board.kicad_pro",
"version": 3
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.1,
"diff_pair_gap": 0.15,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.135,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.12,
"tuning_profile": "",
"via_diameter": 0.45,
"via_drill": 0.225,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.1,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "BGA_ESCAPE",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.1,
"tuning_profile": "",
"via_diameter": 0.45,
"via_drill": 0.225,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.15,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "CLOCK",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.15,
"tuning_profile": "",
"via_diameter": 0.45,
"via_drill": 0.225,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.1,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "POWER",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.4,
"tuning_profile": "",
"via_diameter": 0.45,
"via_drill": 0.225,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "RF50_CPWG",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.164,
"tuning_profile": "",
"via_diameter": 0.45,
"via_drill": 0.225,
"wire_width": 6
},
{
"bus_width": 12,
"clearance": 0.15,
"diff_pair_gap": 0.15,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.135,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "USB90_DIFF",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": -1,
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.135,
"tuning_profile": "",
"via_diameter": 0.45,
"via_drill": 0.225,
"wire_width": 6
}
],
"meta": {
"version": 5
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": [
{
"netclass": "RF50_CPWG",
"pattern": "RF_SMA"
},
{
"netclass": "RF50_CPWG",
"pattern": "RF_PRE_SAW"
},
{
"netclass": "RF50_CPWG",
"pattern": "RF_POST_SAW"
},
{
"netclass": "RF50_CPWG",
"pattern": "MAX_MIXIN_HI"
},
{
"netclass": "USB90_DIFF",
"pattern": "USB_D_P"
},
{
"netclass": "USB90_DIFF",
"pattern": "USB_D_N"
},
{
"netclass": "USB90_DIFF",
"pattern": "FTDI_D_P"
},
{
"netclass": "USB90_DIFF",
"pattern": "FTDI_D_N"
},
{
"netclass": "CLOCK",
"pattern": "MAX_CLKOUT*"
},
{
"netclass": "CLOCK",
"pattern": "MAX_SCLK*"
},
{
"netclass": "CLOCK",
"pattern": "MAX_ADC_CLKIN"
},
{
"netclass": "CLOCK",
"pattern": "QSPI_SCLK"
},
{
"netclass": "CLOCK",
"pattern": "CLK_40M_FPGA"
},
{
"netclass": "CLOCK",
"pattern": "OSC40_OUT"
},
{
"netclass": "CLOCK",
"pattern": "TCXO16_OUT"
},
{
"netclass": "CLOCK",
"pattern": "FTDI_OSC12"
},
{
"netclass": "CLOCK",
"pattern": "FTDI_OSCI"
},
{
"netclass": "CLOCK",
"pattern": "IMU_SCK*"
},
{
"netclass": "CLOCK",
"pattern": "*TCK*"
},
{
"netclass": "POWER",
"pattern": "VCC*"
},
{
"netclass": "POWER",
"pattern": "SYS5"
},
{
"netclass": "POWER",
"pattern": "VBUS_RAW"
},
{
"netclass": "POWER",
"pattern": "USB5_PROT"
},
{
"netclass": "POWER",
"pattern": "EXT5_*"
},
{
"netclass": "POWER",
"pattern": "GND"
},
{
"netclass": "POWER",
"pattern": "CORE_SW"
},
{
"netclass": "POWER",
"pattern": "BUCK1V8_SW"
},
{
"netclass": "POWER",
"pattern": "BUCK3V3_SW"
},
{
"netclass": "POWER",
"pattern": "ANT_BIAS_SEL"
},
{
"netclass": "POWER",
"pattern": "ANT_BIAS_SW"
},
{
"netclass": "POWER",
"pattern": "FTDI_1V8"
},
{
"netclass": "POWER",
"pattern": "FTDI_VPHY"
},
{
"netclass": "POWER",
"pattern": "FTDI_VPLL"
},
{
"netclass": "POWER",
"pattern": "IMU_3V3"
},
{
"netclass": "POWER",
"pattern": "IMU_VREGA2"
},
{
"netclass": "POWER",
"pattern": "IMU_VREGD"
},
{
"netclass": "POWER",
"pattern": "USB_SHIELD"
},
{
"netclass": "BGA_ESCAPE",
"pattern": "EXP_*"
},
{
"netclass": "BGA_ESCAPE",
"pattern": "PMOD*"
}
]
},
"pcbnew": {
"last_paths": {
"idf": "",
"netlist": "",
"plot": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"bus_aliases": {},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"top_level_sheets": []
},
"sheets": [],
"text_variables": {},
"tuning_profiles": {
"meta": {
"version": 0
},
"tuning_profiles_impedance_geometric": []
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,31 @@
(footprint "Amphenol_20021121_00010C4LF"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "Amphenol Minitek127 20021121-00010C4LF vertical SMT 2x5")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -3.5 -2.3) (end 3.5 2.3)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -3.7 -3) (end 3.7 3)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -3.5 -2.35) (end 3.5 -2.35) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 3.5 -2.35) (end 3.5 2.35) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 3.5 2.35) (end -3.5 2.35) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -3.5 2.35) (end -3.5 -2.35) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -3.8 2.3) (end -3.55 2.3) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -2.54 1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -2.54 -1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -1.27 1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -1.27 -1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at 0 1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at 0 -1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at 1.27 1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at 1.27 -1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at 2.54 1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at 2.54 -1.95) (size 0.76 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,23 @@
(footprint "Coilcraft_XEL4030"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "Coilcraft XEL4030 recommended land, March 2026")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -2 -2) (end 2 2)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -2.5 -2.4) (end 2.5 2.4)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -2.075 -2.075) (end 2.075 -2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 2.075 -2.075) (end 2.075 2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 2.075 2.075) (end -2.075 2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -2.075 2.075) (end -2.075 -2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -2.2 -2) (end -1.95 -2) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -1.675 0) (size 0.98 3.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at 1.675 0) (size 0.98 3.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,30 @@
(footprint "Digilent_PMOD_2x6_P2.54mm"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "Digilent PMOD 2x6, 2.54-mm pitch, row-wise pins 1-6 and 7-12")
(attr through_hole)
(property "Reference" "REF**" (at 6.35 -2.5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 6.35 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -1.27 -1.27) (end 13.97 3.81)
(stroke (width 0.15) (type default)) (fill none) (layer "F.SilkS"))
(fp_rect (start -1.5 -1.5) (end 14.2 4.04)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_circle (center -0.8 -0.8) (end -0.5 -0.8)
(stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "2" thru_hole circle (at 2.54 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "3" thru_hole circle (at 5.08 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "4" thru_hole circle (at 7.62 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "5" thru_hole circle (at 10.16 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "6" thru_hole circle (at 12.7 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "7" thru_hole circle (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "8" thru_hole circle (at 2.54 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "9" thru_hole circle (at 5.08 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "10" thru_hole circle (at 7.62 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "11" thru_hole circle (at 10.16 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(pad "12" thru_hole circle (at 12.7 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))
(embedded_fonts no)
)
@@ -0,0 +1,25 @@
(footprint "Epson_TG2016SMN"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "Epson TG2016SMN official 2.0 x 1.6 mm land")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -1 -0.8) (end 1 0.8)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.5 -1.3) (end 1.5 1.3)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -1.075 -0.875) (end 1.075 -0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.075 -0.875) (end 1.075 0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.075 0.875) (end -1.075 0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -1.075 0.875) (end -1.075 -0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -1.35 -0.85) (end -1.1 -0.85) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.825 -0.565) (size 0.6 0.75) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -0.825 0.565) (size 0.6 0.75) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at 0.825 0.565) (size 0.6 0.75) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at 0.825 -0.565) (size 0.6 0.75) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,94 @@
(footprint "FTDI_VQFN56_EP5p9"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "FTDI FT4232H-56Q VQFN56 land from TN_166; 5.9-mm EP")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -4 -4) (end 4 4)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -4.6 -4.6) (end 4.6 4.6)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -4.075 -4.075) (end 4.075 -4.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 4.075 -4.075) (end 4.075 4.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 4.075 4.075) (end -4.075 4.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -4.075 4.075) (end -4.075 -4.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -4.4 -3.85) (end -4.15 -3.85) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -4 -3.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -4 -2.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -4 -2.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -4 -1.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at -4 -1.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at -4 -0.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at -4 -0.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at -4 0.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at -4 0.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at -4 1.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "11" smd roundrect (at -4 1.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "12" smd roundrect (at -4 2.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "13" smd roundrect (at -4 2.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "14" smd roundrect (at -4 3.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "15" smd roundrect (at -3.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "16" smd roundrect (at -2.75 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "17" smd roundrect (at -2.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "18" smd roundrect (at -1.75 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "19" smd roundrect (at -1.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "20" smd roundrect (at -0.75 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "21" smd roundrect (at -0.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "22" smd roundrect (at 0.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "23" smd roundrect (at 0.75 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "24" smd roundrect (at 1.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "25" smd roundrect (at 1.75 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "26" smd roundrect (at 2.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "27" smd roundrect (at 2.75 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "28" smd roundrect (at 3.25 4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "29" smd roundrect (at 4 3.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "30" smd roundrect (at 4 2.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "31" smd roundrect (at 4 2.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "32" smd roundrect (at 4 1.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "33" smd roundrect (at 4 1.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "34" smd roundrect (at 4 0.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "35" smd roundrect (at 4 0.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "36" smd roundrect (at 4 -0.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "37" smd roundrect (at 4 -0.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "38" smd roundrect (at 4 -1.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "39" smd roundrect (at 4 -1.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "40" smd roundrect (at 4 -2.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "41" smd roundrect (at 4 -2.75) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "42" smd roundrect (at 4 -3.25) (size 0.8 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "43" smd roundrect (at 3.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "44" smd roundrect (at 2.75 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "45" smd roundrect (at 2.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "46" smd roundrect (at 1.75 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "47" smd roundrect (at 1.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "48" smd roundrect (at 0.75 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "49" smd roundrect (at 0.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "50" smd roundrect (at -0.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "51" smd roundrect (at -0.75 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "52" smd roundrect (at -1.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "53" smd roundrect (at -1.75 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "54" smd roundrect (at -2.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "55" smd roundrect (at -2.75 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "56" smd roundrect (at -3.25 -4) (size 0.25 0.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "57" smd rect (at 0 0) (size 5.9 5.9) (layers "F.Cu" "F.Mask"))
(pad "" smd roundrect (at -2.22 -2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -2.22 -0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -2.22 0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -2.22 2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -0.74 -2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -0.74 -0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -0.74 0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at -0.74 2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 0.74 -2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 0.74 -0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 0.74 0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 0.74 2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 2.22 -2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 2.22 -0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 2.22 0.74) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 2.22 2.22) (size 1.2 1.2) (layers "F.Paste") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,23 @@
(footprint "Kyocera_600L_0402"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "KYOCERA AVX 600L 0402 recommended land")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -0.5 -0.25) (end 0.5 0.25)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.1 -0.6) (end 1.1 0.6)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -0.575 -0.325) (end 0.575 -0.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.575 -0.325) (end 0.575 0.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.575 0.325) (end -0.575 0.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -0.575 0.325) (end -0.575 -0.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -0.7 -0.25) (end -0.45 -0.25) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.65 0) (size 0.9 0.7) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at 0.65 0) (size 0.9 0.7) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,26 @@
(footprint "Kyocera_SF14_5pad"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "KYOCERA SF14-1582M5UUS2 SAW; official five-pad land")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -0.55 -0.45) (end 0.55 0.45)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -0.9 -0.75) (end 0.9 0.75)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -0.6 -0.5) (end 0.6 -0.5) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.6 -0.5) (end 0.6 0.5) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.6 0.5) (end -0.6 0.5) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -0.6 0.5) (end -0.6 -0.5) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -0.8 0) (end -0.55 0) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.5 0) (size 0.25 0.325) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at 0 0.2875) (size 0.25 0.325) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at 0.5 0.2875) (size 0.25 0.325) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at 0.5 -0.2875) (size 0.25 0.325) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at 0 -0.2875) (size 0.25 0.325) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,23 @@
(footprint "Murata_DFE201612E"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "Murata DFE201612E recommended land J(E)TE243A-0006")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -1 -0.8) (end 1 0.8)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.4 -1.2) (end 1.4 1.2)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -1.075 -0.875) (end 1.075 -0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.075 -0.875) (end 1.075 0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.075 0.875) (end -1.075 0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -1.075 0.875) (end -1.075 -0.875) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -1.2 -0.8) (end -0.95 -0.8) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.8 0) (size 0.8 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at 0.8 0) (size 0.8 1.8) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,47 @@
(footprint "Murata_SCH16T_K01"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "Murata SCH16T-K01-1 official PCB land pattern")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -6.7 -5.9) (end 6.7 5.9)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -7.6 -6.4) (end 7.6 6.4)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -6.775 -5.975) (end 6.775 -5.975) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 6.775 -5.975) (end 6.775 5.975) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 6.775 5.975) (end -6.775 5.975) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -6.775 5.975) (end -6.775 -5.975) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -7.15 -5.45) (end -6.9 -5.45) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -6.165 -4.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -6.165 -3.6) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -6.165 -2.8) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -6.165 -2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at -6.165 -1.2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at -6.165 -0.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at -6.165 0.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at -6.165 1.2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at -6.165 2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at -6.165 2.8) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "11" smd roundrect (at -6.165 3.6) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "12" smd roundrect (at -6.165 4.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "24" smd roundrect (at 6.165 -4.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "23" smd roundrect (at 6.165 -3.6) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "22" smd roundrect (at 6.165 -2.8) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "21" smd roundrect (at 6.165 -2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "20" smd roundrect (at 6.165 -1.2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "19" smd roundrect (at 6.165 -0.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "18" smd roundrect (at 6.165 0.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "17" smd roundrect (at 6.165 1.2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "16" smd roundrect (at 6.165 2) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "15" smd roundrect (at 6.165 2.8) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "14" smd roundrect (at 6.165 3.6) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "13" smd roundrect (at 6.165 4.4) (size 1.87 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(fp_text user "X+ ->" (at 0 -2) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.14))))
(fp_text user "Y+ ^" (at 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.14))))
(embedded_fonts no)
)
@@ -0,0 +1,23 @@
(footprint "Texas_DPY0002A_X1SON"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "TI DPY0002A X1SON; ESD501 official land")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -0.5 -0.3) (end 0.5 0.3)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -0.7 -0.5) (end 0.7 0.5)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -0.575 -0.375) (end 0.575 -0.375) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.575 -0.375) (end 0.575 0.375) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.575 0.375) (end -0.575 0.375) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -0.575 0.375) (end -0.575 -0.375) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -0.7 -0.3) (end -0.45 -0.3) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.35 0) (size 0.3 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at 0.35 0) (size 0.3 0.5) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,35 @@
(footprint "Texas_RPW0010A_QFN10"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "TI RPW0010A VQFN-HR; TI land pattern 4225183/A")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -1 -1) (end 1 1)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.5 -1.5) (end 1.5 1.5)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -1.175 -1.175) (end 1.175 -1.175) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.175 -1.175) (end 1.175 1.175) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.175 1.175) (end -1.175 1.175) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -1.175 1.175) (end -1.175 -1.175) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -1.45 -1.15) (end -1.2 -1.15) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.725 -0.9) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "1" smd roundrect (at -0.9 -0.75) (size 0.6 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -0.725 0.9) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -0.9 0.75) (size 0.6 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at 0.725 0.9) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at 0.9 0.75) (size 0.6 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at 0.725 -0.9) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at 0.9 -0.75) (size 0.6 0.3) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -0.9 -0.225) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -0.9 0.225) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at -0.25 0) (size 0.3 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at 0.25 0) (size 0.3 2.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at 0.9 0.225) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at 0.9 -0.225) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,30 @@
(footprint "Texas_RQY0009A_VQFN9"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "TI RQY0009A VQFN-HR; TI land pattern 4225639/A")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -0.75 -1) (end 0.75 1)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.4 -1.6) (end 1.4 1.6)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -0.875 -1.225) (end 0.875 -1.225) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.875 -1.225) (end 0.875 1.225) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 0.875 1.225) (end -0.875 1.225) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -0.875 1.225) (end -0.875 -1.225) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -1.05 -1.25) (end -0.8 -1.25) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.5 -1.175) (size 0.25 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at 0 -1.175) (size 0.25 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at 0.5 -1.175) (size 0.25 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -0.5 1.175) (size 0.25 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at 0 1.175) (size 0.25 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at 0.5 1.175) (size 0.25 0.55) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -0.475 -0.4) (size 0.95 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -0.475 0.4) (size 0.95 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at 0.475 0) (size 0.95 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,33 @@
(footprint "Texas_RUX0012A_VQFN12"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "TI RUX0012A VQFN-HR; TI land pattern 4224010/A")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -1.25 -1.25) (end 1.25 1.25)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.7 -1.7) (end 1.7 1.7)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -1.325 -1.325) (end 1.325 -1.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.325 -1.325) (end 1.325 1.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.325 1.325) (end -1.325 1.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -1.325 1.325) (end -1.325 -1.325) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -1.45 -1.2) (end -1.2 -1.2) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -0.675 -0.35) (size 1.05 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -0.675 0.35) (size 1.05 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at 0.675 -0.35) (size 1.05 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at 0.675 0.35) (size 1.05 0.4) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "12" smd roundrect (at -0.75 -1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "11" smd roundrect (at -0.25 -1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at 0.25 -1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at 0.75 -1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -0.75 1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -0.25 1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at 0.25 1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at 0.75 1.15) (size 0.2 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(embedded_fonts no)
)
@@ -0,0 +1,56 @@
(footprint "Texas_RZV0024A_WQFN24"
(version 20240108)
(generator "board-footprints")
(layer "F.Cu")
(descr "TI RZV0024A WQFN-FCRLF; TI land pattern 4228538/A")
(attr smd)
(property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15))))
(property "Value" "" (at 0 5 0) (layer "F.Fab") hide
(effects (font (size 1 1) (thickness 0.15))))
(fp_rect (start -1.525 -2.025) (end 1.525 2.025)
(stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))
(fp_rect (start -1.75 -2.25) (end 1.75 2.25)
(stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))
(fp_line (start -1.575 -2.075) (end 1.575 -2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.575 -2.075) (end 1.575 2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start 1.575 2.075) (end -1.575 2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_line (start -1.575 2.075) (end -1.575 -2.075) (stroke (width 0.15) (type default)) (layer "F.SilkS"))
(fp_circle (center -1.75 -2.1) (end -1.5 -2.1) (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))
(pad "1" smd roundrect (at -1.25 -1.825) (size 0.25 0.45) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "1" smd roundrect (at -1.325 -1.75) (size 0.45 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at -1.25 1.825) (size 0.25 0.45) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "8" smd roundrect (at -1.325 1.75) (size 0.45 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "13" smd roundrect (at 1.25 1.825) (size 0.25 0.45) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "13" smd roundrect (at 1.325 1.75) (size 0.45 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "20" smd roundrect (at 1.25 -1.825) (size 0.25 0.45) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "20" smd roundrect (at 1.325 -1.75) (size 0.45 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "2" smd roundrect (at -1.25 -1.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "3" smd roundrect (at -1.25 -0.75) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "4" smd roundrect (at -1.25 -0.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "5" smd roundrect (at -1.25 0.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "6" smd roundrect (at -1.25 0.75) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "7" smd roundrect (at -1.25 1.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "19" smd roundrect (at 1.25 -1.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "18" smd roundrect (at 1.25 -0.75) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "17" smd roundrect (at 1.25 -0.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "16" smd roundrect (at 1.25 0.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "15" smd roundrect (at 1.25 0.75) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "14" smd roundrect (at 1.25 1.25) (size 0.6 0.25) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "24" smd roundrect (at -0.75 -1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "23" smd roundrect (at -0.25 -1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "22" smd roundrect (at 0.25 -1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "21" smd roundrect (at 0.75 -1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "9" smd roundrect (at -0.75 1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "10" smd roundrect (at -0.25 1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "11" smd roundrect (at 0.25 1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "12" smd roundrect (at 0.75 1.75) (size 0.25 0.6) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.15))
(pad "25" smd rect (at -0.425 -0.65) (size 0.6 1.1) (layers "F.Cu" "F.Mask"))
(pad "" smd roundrect (at -0.425 -0.65) (size 0.48 0.92) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "25" smd rect (at 0.425 -0.65) (size 0.6 1.1) (layers "F.Cu" "F.Mask"))
(pad "" smd roundrect (at 0.425 -0.65) (size 0.48 0.92) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "25" smd rect (at 0 0.65) (size 1.45 1.1) (layers "F.Cu" "F.Mask"))
(pad "" smd roundrect (at -0.3625 0.65) (size 0.605 0.92) (layers "F.Paste") (roundrect_rratio 0.15))
(pad "" smd roundrect (at 0.3625 0.65) (size 0.605 0.92) (layers "F.Paste") (roundrect_rratio 0.15))
(embedded_fonts no)
)
+53
View File
@@ -0,0 +1,53 @@
EESchema Schematic File Version 4
LIBS:board-cache
EELAYER 29 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 7
Title "Ti375 C529 GNSS/IMU acquisition board"
Date "2026-08-15"
Rev "A0"
Comp "JLCPCB manufacture/assembly package"
Comment1 "USB-C 5 V primary; protected external 5 V; no back-feed"
Comment2 "GPS L1/L1C direct MAX2771 MIXIN_HI; selectable active-antenna bias"
Comment3 "Every Ti375 programmable GPIO has a documented disposition"
Comment4 "Generated source - see docs/design_audit.md"
$EndDescr
$Sheet
S 1400 1000 3600 1200
U 66000001
F0 "POWER USB" 60
F1 "power_usb.sch" 60
$EndSheet
$Sheet
S 6200 1000 3600 1200
U 66000002
F0 "RF CLOCK" 60
F1 "rf_clock.sch" 60
$EndSheet
$Sheet
S 1400 2900 3600 1200
U 66000003
F0 "IMU" 60
F1 "imu.sch" 60
$EndSheet
$Sheet
S 6200 2900 3600 1200
U 66000004
F0 "USB DEBUG" 60
F1 "usb_debug.sch" 60
$EndSheet
$Sheet
S 1400 4800 3600 1200
U 66000005
F0 "CONFIGURATION EXPANSION" 60
F1 "configuration_expansion.sch" 60
$EndSheet
$Sheet
S 6200 4800 3600 1200
U 66000006
F0 "FPGA" 60
F1 "fpga.sch" 60
$EndSheet
$EndSCHEMATC
+373
View File
@@ -0,0 +1,373 @@
EESchema Schematic File Version 4
LIBS:board-cache
EELAYER 29 0
EELAYER END
$Descr A0 46811 33110
encoding utf-8
Sheet 1 1
Title "Ti375 GNSS/IMU board - Configuration Expansion"
Date "2026-08-15"
Rev "A0"
Comp "Open hardware design for JLCPCB"
Comment1 "Generated from scripts/design_data.py; do not hand-edit"
Comment2 "No LEDs, no push buttons"
Comment3 "Ti375C529C3 / MAX2771 / SCH16T-K01-1"
Comment4 "JLC08161H-3313 eight-layer stack"
$EndDescr
$Comp
L BOARD_U26 U26
U 1 1 65050001
P 1800 1800
F 0 "U26" H 1800 1700 50 0000 C CNN
F 1 "512-Mbit QSPI flash" H 1800 1900 50 0000 C CNN
F 2 "Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm" H 1800 1600 50 0001 C CNN
F 3 "" H 1800 1800 50 0001 C CNN
F 4 "IS25WP512M-JLLE" H 1800 1800 50 0001 C CNN "MPN"
F 5 "ISSI" H 1800 1800 50 0001 C CNN "Manufacturer"
1 1800 1800
1 0 0 -1
$EndComp
Wire Wire Line
1100 2000 950 2000
Text GLabel 950 2000 2 30 BiDi ~ 0
QSPI_CS_N
Wire Wire Line
2500 1950 2650 1950
Text GLabel 2650 1950 0 30 BiDi ~ 0
QSPI_IO1
Wire Wire Line
1100 1900 950 1900
Text GLabel 950 1900 2 30 BiDi ~ 0
QSPI_IO2
Wire Wire Line
2500 1850 2650 1850
Text GLabel 2650 1850 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 1800 950 1800
Text GLabel 950 1800 2 30 BiDi ~ 0
QSPI_IO0
Wire Wire Line
2500 1750 2650 1750
Text GLabel 2650 1750 0 30 BiDi ~ 0
QSPI_SCLK
Wire Wire Line
1100 1700 950 1700
Text GLabel 950 1700 2 30 BiDi ~ 0
QSPI_IO3
Wire Wire Line
2500 1650 2650 1650
Text GLabel 2650 1650 0 30 BiDi ~ 0
VCC1V8
Wire Wire Line
1100 1600 950 1600
Text GLabel 950 1600 2 30 BiDi ~ 0
GND
$Comp
L BOARD_R84 R84
U 1 1 65050002
P 1800 2900
F 0 "R84" H 1800 2800 50 0000 C CNN
F 1 "10K" H 1800 3000 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 2700 50 0001 C CNN
F 3 "" H 1800 2900 50 0001 C CNN
F 4 "RC0402FR-0710KL" H 1800 2900 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 2900 50 0001 C CNN "Manufacturer"
1 1800 2900
1 0 0 -1
$EndComp
Wire Wire Line
1100 2900 950 2900
Text GLabel 950 2900 2 30 BiDi ~ 0
VCC1V8
Wire Wire Line
2500 2900 2650 2900
Text GLabel 2650 2900 0 30 BiDi ~ 0
QSPI_CS_N
$Comp
L BOARD_R87 R87
U 1 1 65050003
P 1800 3700
F 0 "R87" H 1800 3600 50 0000 C CNN
F 1 "10K" H 1800 3800 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 3500 50 0001 C CNN
F 3 "" H 1800 3700 50 0001 C CNN
F 4 "RC0402FR-0710KL" H 1800 3700 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 3700 50 0001 C CNN "Manufacturer"
1 1800 3700
1 0 0 -1
$EndComp
Wire Wire Line
1100 3700 950 3700
Text GLabel 950 3700 2 30 BiDi ~ 0
VCC1V8
Wire Wire Line
2500 3700 2650 3700
Text GLabel 2650 3700 0 30 BiDi ~ 0
QSPI_IO2
$Comp
L BOARD_R88 R88
U 1 1 65050004
P 1800 4500
F 0 "R88" H 1800 4400 50 0000 C CNN
F 1 "10K" H 1800 4600 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 4300 50 0001 C CNN
F 3 "" H 1800 4500 50 0001 C CNN
F 4 "RC0402FR-0710KL" H 1800 4500 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 4500 50 0001 C CNN "Manufacturer"
1 1800 4500
1 0 0 -1
$EndComp
Wire Wire Line
1100 4500 950 4500
Text GLabel 950 4500 2 30 BiDi ~ 0
VCC1V8
Wire Wire Line
2500 4500 2650 4500
Text GLabel 2650 4500 0 30 BiDi ~ 0
QSPI_IO3
$Comp
L BOARD_JPMOD1 JPMOD1
U 1 1 65050005
P 1800 5300
F 0 "JPMOD1" H 1800 5200 50 0000 C CNN
F 1 "PMOD 3.3 V" H 1800 5400 50 0000 C CNN
F 2 "board:Digilent_PMOD_2x6_P2.54mm" H 1800 5100 50 0001 C CNN
F 3 "" H 1800 5300 50 0001 C CNN
F 4 "67997-412HLF" H 1800 5300 50 0001 C CNN "MPN"
F 5 "Amphenol ICC" H 1800 5300 50 0001 C CNN "Manufacturer"
1 1800 5300
1 0 0 -1
$EndComp
Wire Wire Line
1100 5550 950 5550
Text GLabel 950 5550 2 30 BiDi ~ 0
PMOD1_1
Wire Wire Line
2500 5550 2650 5550
Text GLabel 2650 5550 0 30 BiDi ~ 0
PMOD1_2
Wire Wire Line
1100 5450 950 5450
Text GLabel 950 5450 2 30 BiDi ~ 0
PMOD1_3
Wire Wire Line
2500 5450 2650 5450
Text GLabel 2650 5450 0 30 BiDi ~ 0
PMOD1_4
Wire Wire Line
1100 5350 950 5350
Text GLabel 950 5350 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 5350 2650 5350
Text GLabel 2650 5350 0 30 BiDi ~ 0
VCC3V3
Wire Wire Line
1100 5250 950 5250
Text GLabel 950 5250 2 30 BiDi ~ 0
PMOD1_7
Wire Wire Line
2500 5250 2650 5250
Text GLabel 2650 5250 0 30 BiDi ~ 0
PMOD1_8
Wire Wire Line
1100 5150 950 5150
Text GLabel 950 5150 2 30 BiDi ~ 0
PMOD1_9
Wire Wire Line
2500 5150 2650 5150
Text GLabel 2650 5150 0 30 BiDi ~ 0
PMOD1_10
Wire Wire Line
1100 5050 950 5050
Text GLabel 950 5050 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 5050 2650 5050
Text GLabel 2650 5050 0 30 BiDi ~ 0
VCC3V3
$Comp
L BOARD_JPMOD2 JPMOD2
U 1 1 65050006
P 1800 6500
F 0 "JPMOD2" H 1800 6400 50 0000 C CNN
F 1 "PMOD 3.3 V" H 1800 6600 50 0000 C CNN
F 2 "board:Digilent_PMOD_2x6_P2.54mm" H 1800 6300 50 0001 C CNN
F 3 "" H 1800 6500 50 0001 C CNN
F 4 "67997-412HLF" H 1800 6500 50 0001 C CNN "MPN"
F 5 "Amphenol ICC" H 1800 6500 50 0001 C CNN "Manufacturer"
1 1800 6500
1 0 0 -1
$EndComp
Wire Wire Line
1100 6750 950 6750
Text GLabel 950 6750 2 30 BiDi ~ 0
PMOD2_1
Wire Wire Line
2500 6750 2650 6750
Text GLabel 2650 6750 0 30 BiDi ~ 0
PMOD2_2
Wire Wire Line
1100 6650 950 6650
Text GLabel 950 6650 2 30 BiDi ~ 0
PMOD2_3
Wire Wire Line
2500 6650 2650 6650
Text GLabel 2650 6650 0 30 BiDi ~ 0
PMOD2_4
Wire Wire Line
1100 6550 950 6550
Text GLabel 950 6550 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 6550 2650 6550
Text GLabel 2650 6550 0 30 BiDi ~ 0
VCC3V3
Wire Wire Line
1100 6450 950 6450
Text GLabel 950 6450 2 30 BiDi ~ 0
PMOD2_7
Wire Wire Line
2500 6450 2650 6450
Text GLabel 2650 6450 0 30 BiDi ~ 0
PMOD2_8
Wire Wire Line
1100 6350 950 6350
Text GLabel 950 6350 2 30 BiDi ~ 0
PMOD2_9
Wire Wire Line
2500 6350 2650 6350
Text GLabel 2650 6350 0 30 BiDi ~ 0
PMOD2_10
Wire Wire Line
1100 6250 950 6250
Text GLabel 950 6250 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 6250 2650 6250
Text GLabel 2650 6250 0 30 BiDi ~ 0
VCC3V3
$Comp
L BOARD_JPMOD3 JPMOD3
U 1 1 65050007
P 1800 7700
F 0 "JPMOD3" H 1800 7600 50 0000 C CNN
F 1 "PMOD 1.8 V" H 1800 7800 50 0000 C CNN
F 2 "board:Digilent_PMOD_2x6_P2.54mm" H 1800 7500 50 0001 C CNN
F 3 "" H 1800 7700 50 0001 C CNN
F 4 "67997-412HLF" H 1800 7700 50 0001 C CNN "MPN"
F 5 "Amphenol ICC" H 1800 7700 50 0001 C CNN "Manufacturer"
1 1800 7700
1 0 0 -1
$EndComp
Wire Wire Line
1100 7950 950 7950
Text GLabel 950 7950 2 30 BiDi ~ 0
PMOD3_1
Wire Wire Line
2500 7950 2650 7950
Text GLabel 2650 7950 0 30 BiDi ~ 0
PMOD3_2
Wire Wire Line
1100 7850 950 7850
Text GLabel 950 7850 2 30 BiDi ~ 0
PMOD3_3
Wire Wire Line
2500 7850 2650 7850
Text GLabel 2650 7850 0 30 BiDi ~ 0
PMOD3_4
Wire Wire Line
1100 7750 950 7750
Text GLabel 950 7750 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 7750 2650 7750
Text GLabel 2650 7750 0 30 BiDi ~ 0
VCC1V8
Wire Wire Line
1100 7650 950 7650
Text GLabel 950 7650 2 30 BiDi ~ 0
PMOD3_7
Wire Wire Line
2500 7650 2650 7650
Text GLabel 2650 7650 0 30 BiDi ~ 0
PMOD3_8
Wire Wire Line
1100 7550 950 7550
Text GLabel 950 7550 2 30 BiDi ~ 0
PMOD3_9
Wire Wire Line
2500 7550 2650 7550
Text GLabel 2650 7550 0 30 BiDi ~ 0
PMOD3_10
Wire Wire Line
1100 7450 950 7450
Text GLabel 950 7450 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 7450 2650 7450
Text GLabel 2650 7450 0 30 BiDi ~ 0
VCC1V8
$Comp
L BOARD_JPMOD4 JPMOD4
U 1 1 65050008
P 1800 8900
F 0 "JPMOD4" H 1800 8800 50 0000 C CNN
F 1 "PMOD 1.8 V" H 1800 9000 50 0000 C CNN
F 2 "board:Digilent_PMOD_2x6_P2.54mm" H 1800 8700 50 0001 C CNN
F 3 "" H 1800 8900 50 0001 C CNN
F 4 "67997-412HLF" H 1800 8900 50 0001 C CNN "MPN"
F 5 "Amphenol ICC" H 1800 8900 50 0001 C CNN "Manufacturer"
1 1800 8900
1 0 0 -1
$EndComp
Wire Wire Line
1100 9150 950 9150
Text GLabel 950 9150 2 30 BiDi ~ 0
PMOD4_1
Wire Wire Line
2500 9150 2650 9150
Text GLabel 2650 9150 0 30 BiDi ~ 0
PMOD4_2
Wire Wire Line
1100 9050 950 9050
Text GLabel 950 9050 2 30 BiDi ~ 0
PMOD4_3
Wire Wire Line
2500 9050 2650 9050
Text GLabel 2650 9050 0 30 BiDi ~ 0
PMOD4_4
Wire Wire Line
1100 8950 950 8950
Text GLabel 950 8950 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 8950 2650 8950
Text GLabel 2650 8950 0 30 BiDi ~ 0
VCC1V8
Wire Wire Line
1100 8850 950 8850
Text GLabel 950 8850 2 30 BiDi ~ 0
PMOD4_7
Wire Wire Line
2500 8850 2650 8850
Text GLabel 2650 8850 0 30 BiDi ~ 0
PMOD4_8
Wire Wire Line
1100 8750 950 8750
Text GLabel 950 8750 2 30 BiDi ~ 0
PMOD4_9
Wire Wire Line
2500 8750 2650 8750
Text GLabel 2650 8750 0 30 BiDi ~ 0
PMOD4_10
Wire Wire Line
1100 8650 950 8650
Text GLabel 950 8650 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 8650 2650 8650
Text GLabel 2650 8650 0 30 BiDi ~ 0
VCC1V8
$EndSCHEMATC
+4
View File
@@ -0,0 +1,4 @@
(fp_lib_table
(version 7)
(lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/board.pretty")(options "")(descr "Official-land-pattern custom footprints"))
)
+1616
View File
File diff suppressed because it is too large Load Diff
+333
View File
@@ -0,0 +1,333 @@
EESchema Schematic File Version 4
LIBS:board-cache
EELAYER 29 0
EELAYER END
$Descr A0 46811 33110
encoding utf-8
Sheet 1 1
Title "Ti375 GNSS/IMU board - Imu"
Date "2026-08-15"
Rev "A0"
Comp "Open hardware design for JLCPCB"
Comment1 "Generated from scripts/design_data.py; do not hand-edit"
Comment2 "No LEDs, no push buttons"
Comment3 "Ti375C529C3 / MAX2771 / SCH16T-K01-1"
Comment4 "JLC08161H-3313 eight-layer stack"
$EndDescr
$Comp
L BOARD_U22 U22
U 1 1 65030001
P 1800 1800
F 0 "U22" H 1800 1700 50 0000 C CNN
F 1 "SCH16T-K01-1" H 1800 1900 50 0000 C CNN
F 2 "board:Murata_SCH16T_K01" H 1800 1600 50 0001 C CNN
F 3 "" H 1800 1800 50 0001 C CNN
F 4 "SCH16T-K01-1" H 1800 1800 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 1800 50 0001 C CNN "Manufacturer"
1 1800 1800
1 0 0 -1
$EndComp
Wire Wire Line
1100 2350 950 2350
Text GLabel 950 2350 2 30 BiDi ~ 0
GND
NoConn ~ 2500 2350
Wire Wire Line
1100 2250 950 2250
Text GLabel 950 2250 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 2250 2650 2250
Text GLabel 2650 2250 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 2150 950 2150
Text GLabel 950 2150 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 2150 2650 2150
Text GLabel 2650 2150 0 30 BiDi ~ 0
IMU_EXTRESN
Wire Wire Line
1100 2050 950 2050
Text GLabel 950 2050 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 2050 2650 2050
Text GLabel 2650 2050 0 30 BiDi ~ 0
IMU_3V3
Wire Wire Line
1100 1950 950 1950
Text GLabel 950 1950 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 1950 2650 1950
Text GLabel 2650 1950 0 30 BiDi ~ 0
IMU_VREGA2
Wire Wire Line
1100 1850 950 1850
Text GLabel 950 1850 2 30 BiDi ~ 0
IMU_VREGA2
Wire Wire Line
2500 1850 2650 1850
Text GLabel 2650 1850 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 1750 950 1750
Text GLabel 950 1750 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 1750 2650 1750
Text GLabel 2650 1750 0 30 BiDi ~ 0
IMU_VREGD
Wire Wire Line
1100 1650 950 1650
Text GLabel 950 1650 2 30 BiDi ~ 0
IMU_VREGD
Wire Wire Line
2500 1650 2650 1650
Text GLabel 2650 1650 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 1550 950 1550
Text GLabel 950 1550 2 30 BiDi ~ 0
IMU_3V3
Wire Wire Line
2500 1550 2650 1550
Text GLabel 2650 1550 0 30 BiDi ~ 0
VCC3V3
Wire Wire Line
1100 1450 950 1450
Text GLabel 950 1450 2 30 BiDi ~ 0
IMU_MISO_DEV
Wire Wire Line
2500 1450 2650 1450
Text GLabel 2650 1450 0 30 BiDi ~ 0
IMU_DRY_SYNC
Wire Wire Line
1100 1350 950 1350
Text GLabel 950 1350 2 30 BiDi ~ 0
IMU_SCK_DEV
Wire Wire Line
2500 1350 2650 1350
Text GLabel 2650 1350 0 30 BiDi ~ 0
IMU_CS_DEV
Wire Wire Line
1100 1250 950 1250
Text GLabel 950 1250 2 30 BiDi ~ 0
IMU_MOSI_DEV
Wire Wire Line
2500 1250 2650 1250
Text GLabel 2650 1250 0 30 BiDi ~ 0
GND
$Comp
L BOARD_FB1 FB1
U 1 1 65030002
P 1800 3600
F 0 "FB1" H 1800 3500 50 0000 C CNN
F 1 "600R@100MHz" H 1800 3700 50 0000 C CNN
F 2 "Inductor_SMD:L_0402_1005Metric" H 1800 3400 50 0001 C CNN
F 3 "" H 1800 3600 50 0001 C CNN
F 4 "BLM15AG601SN1D" H 1800 3600 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 3600 50 0001 C CNN "Manufacturer"
1 1800 3600
1 0 0 -1
$EndComp
Wire Wire Line
1100 3600 950 3600
Text GLabel 950 3600 2 30 BiDi ~ 0
VCC3V3
Wire Wire Line
2500 3600 2650 3600
Text GLabel 2650 3600 0 30 BiDi ~ 0
IMU_3V3
$Comp
L BOARD_R57 R57
U 1 1 65030003
P 1800 4400
F 0 "R57" H 1800 4300 50 0000 C CNN
F 1 "22R" H 1800 4500 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 4200 50 0001 C CNN
F 3 "" H 1800 4400 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 4400 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 4400 50 0001 C CNN "Manufacturer"
1 1800 4400
1 0 0 -1
$EndComp
Wire Wire Line
1100 4400 950 4400
Text GLabel 950 4400 2 30 BiDi ~ 0
IMU_SCK
Wire Wire Line
2500 4400 2650 4400
Text GLabel 2650 4400 0 30 BiDi ~ 0
IMU_SCK_DEV
$Comp
L BOARD_R58 R58
U 1 1 65030004
P 1800 5200
F 0 "R58" H 1800 5100 50 0000 C CNN
F 1 "22R" H 1800 5300 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 5000 50 0001 C CNN
F 3 "" H 1800 5200 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 5200 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 5200 50 0001 C CNN "Manufacturer"
1 1800 5200
1 0 0 -1
$EndComp
Wire Wire Line
1100 5200 950 5200
Text GLabel 950 5200 2 30 BiDi ~ 0
IMU_MOSI
Wire Wire Line
2500 5200 2650 5200
Text GLabel 2650 5200 0 30 BiDi ~ 0
IMU_MOSI_DEV
$Comp
L BOARD_R59 R59
U 1 1 65030005
P 1800 6000
F 0 "R59" H 1800 5900 50 0000 C CNN
F 1 "22R" H 1800 6100 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 5800 50 0001 C CNN
F 3 "" H 1800 6000 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 6000 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 6000 50 0001 C CNN "Manufacturer"
1 1800 6000
1 0 0 -1
$EndComp
Wire Wire Line
1100 6000 950 6000
Text GLabel 950 6000 2 30 BiDi ~ 0
IMU_CS
Wire Wire Line
2500 6000 2650 6000
Text GLabel 2650 6000 0 30 BiDi ~ 0
IMU_CS_DEV
$Comp
L BOARD_R60 R60
U 1 1 65030006
P 1800 6800
F 0 "R60" H 1800 6700 50 0000 C CNN
F 1 "22R" H 1800 6900 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 6600 50 0001 C CNN
F 3 "" H 1800 6800 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 6800 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 6800 50 0001 C CNN "Manufacturer"
1 1800 6800
1 0 0 -1
$EndComp
Wire Wire Line
1100 6800 950 6800
Text GLabel 950 6800 2 30 BiDi ~ 0
IMU_MISO_DEV
Wire Wire Line
2500 6800 2650 6800
Text GLabel 2650 6800 0 30 BiDi ~ 0
IMU_MISO
$Comp
L BOARD_R61 R61
U 1 1 65030007
P 1800 7600
F 0 "R61" H 1800 7500 50 0000 C CNN
F 1 "10K" H 1800 7700 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 7400 50 0001 C CNN
F 3 "" H 1800 7600 50 0001 C CNN
F 4 "RC0402FR-0710KL" H 1800 7600 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 7600 50 0001 C CNN "Manufacturer"
1 1800 7600
1 0 0 -1
$EndComp
Wire Wire Line
1100 7600 950 7600
Text GLabel 950 7600 2 30 BiDi ~ 0
IMU_EXTRESN
Wire Wire Line
2500 7600 2650 7600
Text GLabel 2650 7600 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C103 C103
U 1 1 65030008
P 1800 8400
F 0 "C103" H 1800 8300 50 0000 C CNN
F 1 "100nF" H 1800 8500 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 8200 50 0001 C CNN
F 3 "" H 1800 8400 50 0001 C CNN
F 4 "GRM155R71A104KA01D" H 1800 8400 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 8400 50 0001 C CNN "Manufacturer"
1 1800 8400
1 0 0 -1
$EndComp
Wire Wire Line
1100 8400 950 8400
Text GLabel 950 8400 2 30 BiDi ~ 0
IMU_3V3
Wire Wire Line
2500 8400 2650 8400
Text GLabel 2650 8400 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C104 C104
U 1 1 65030009
P 1800 9200
F 0 "C104" H 1800 9100 50 0000 C CNN
F 1 "1uF" H 1800 9300 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 9000 50 0001 C CNN
F 3 "" H 1800 9200 50 0001 C CNN
F 4 "GRM155R60J105KE19D" H 1800 9200 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 9200 50 0001 C CNN "Manufacturer"
1 1800 9200
1 0 0 -1
$EndComp
Wire Wire Line
1100 9200 950 9200
Text GLabel 950 9200 2 30 BiDi ~ 0
IMU_3V3
Wire Wire Line
2500 9200 2650 9200
Text GLabel 2650 9200 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C105 C105
U 1 1 6503000A
P 1800 10000
F 0 "C105" H 1800 9900 50 0000 C CNN
F 1 "10uF" H 1800 10100 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 9800 50 0001 C CNN
F 3 "" H 1800 10000 50 0001 C CNN
F 4 "GRM188R60J106ME47D" H 1800 10000 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 10000 50 0001 C CNN "Manufacturer"
1 1800 10000
1 0 0 -1
$EndComp
Wire Wire Line
1100 10000 950 10000
Text GLabel 950 10000 2 30 BiDi ~ 0
IMU_VREGA2
Wire Wire Line
2500 10000 2650 10000
Text GLabel 2650 10000 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C106 C106
U 1 1 6503000B
P 1800 10800
F 0 "C106" H 1800 10700 50 0000 C CNN
F 1 "1uF" H 1800 10900 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 10600 50 0001 C CNN
F 3 "" H 1800 10800 50 0001 C CNN
F 4 "GRM155R60J105KE19D" H 1800 10800 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 10800 50 0001 C CNN "Manufacturer"
1 1800 10800
1 0 0 -1
$EndComp
Wire Wire Line
1100 10800 950 10800
Text GLabel 950 10800 2 30 BiDi ~ 0
IMU_VREGD
Wire Wire Line
2500 10800 2650 10800
Text GLabel 2650 10800 0 30 BiDi ~ 0
GND
$EndSCHEMATC
File diff suppressed because it is too large Load Diff
+894
View File
@@ -0,0 +1,894 @@
EESchema Schematic File Version 4
LIBS:board-cache
EELAYER 29 0
EELAYER END
$Descr A0 46811 33110
encoding utf-8
Sheet 1 1
Title "Ti375 GNSS/IMU board - Rf Clock"
Date "2026-08-15"
Rev "A0"
Comp "Open hardware design for JLCPCB"
Comment1 "Generated from scripts/design_data.py; do not hand-edit"
Comment2 "No LEDs, no push buttons"
Comment3 "Ti375C529C3 / MAX2771 / SCH16T-K01-1"
Comment4 "JLC08161H-3313 eight-layer stack"
$EndDescr
$Comp
L BOARD_J2 J2
U 1 1 65020001
P 1800 1800
F 0 "J2" H 1800 1700 50 0000 C CNN
F 1 "GPS L1 SMA" H 1800 1900 50 0000 C CNN
F 2 "Connector_Coaxial:SMA_Amphenol_132289_EdgeMount" H 1800 1600 50 0001 C CNN
F 3 "" H 1800 1800 50 0001 C CNN
F 4 "132289" H 1800 1800 50 0001 C CNN "MPN"
F 5 "Amphenol RF" H 1800 1800 50 0001 C CNN "Manufacturer"
1 1800 1800
1 0 0 -1
$EndComp
Wire Wire Line
1100 1800 950 1800
Text GLabel 950 1800 2 30 BiDi ~ 0
RF_SMA
Wire Wire Line
2500 1800 2650 1800
Text GLabel 2650 1800 0 30 BiDi ~ 0
GND
$Comp
L BOARD_D1 D1
U 1 1 65020002
P 1800 2600
F 0 "D1" H 1800 2500 50 0000 C CNN
F 1 "ESD501" H 1800 2700 50 0000 C CNN
F 2 "board:Texas_DPY0002A_X1SON" H 1800 2400 50 0001 C CNN
F 3 "" H 1800 2600 50 0001 C CNN
F 4 "ESD501DPYR" H 1800 2600 50 0001 C CNN "MPN"
F 5 "Texas Instruments" H 1800 2600 50 0001 C CNN "Manufacturer"
1 1800 2600
1 0 0 -1
$EndComp
Wire Wire Line
1100 2600 950 2600
Text GLabel 950 2600 2 30 BiDi ~ 0
RF_SMA
Wire Wire Line
2500 2600 2650 2600
Text GLabel 2650 2600 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C83 C83
U 1 1 65020003
P 1800 3400
F 0 "C83" H 1800 3300 50 0000 C CNN
F 1 "27pF" H 1800 3500 50 0000 C CNN
F 2 "board:Kyocera_600L_0402" H 1800 3200 50 0001 C CNN
F 3 "" H 1800 3400 50 0001 C CNN
F 4 "600L270JT200T" H 1800 3400 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 3400 50 0001 C CNN "Manufacturer"
1 1800 3400
1 0 0 -1
$EndComp
Wire Wire Line
1100 3400 950 3400
Text GLabel 950 3400 2 30 BiDi ~ 0
RF_SMA
Wire Wire Line
2500 3400 2650 3400
Text GLabel 2650 3400 0 30 BiDi ~ 0
RF_PRE_SAW
$Comp
L BOARD_FL1 FL1
U 1 1 65020004
P 1800 4200
F 0 "FL1" H 1800 4100 50 0000 C CNN
F 1 "GPS L1/L1C SAW" H 1800 4300 50 0000 C CNN
F 2 "board:Kyocera_SF14_5pad" H 1800 4000 50 0001 C CNN
F 3 "" H 1800 4200 50 0001 C CNN
F 4 "SF14-1582M5UUS2" H 1800 4200 50 0001 C CNN "MPN"
F 5 "Kyocera" H 1800 4200 50 0001 C CNN "Manufacturer"
1 1800 4200
1 0 0 -1
$EndComp
Wire Wire Line
1100 4300 950 4300
Text GLabel 950 4300 2 30 BiDi ~ 0
RF_PRE_SAW
Wire Wire Line
2500 4250 2650 4250
Text GLabel 2650 4250 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 4200 950 4200
Text GLabel 950 4200 2 30 BiDi ~ 0
GND
Wire Wire Line
2500 4150 2650 4150
Text GLabel 2650 4150 0 30 BiDi ~ 0
RF_POST_SAW
Wire Wire Line
1100 4100 950 4100
Text GLabel 950 4100 2 30 BiDi ~ 0
GND
$Comp
L BOARD_C84 C84
U 1 1 65020005
P 1800 5100
F 0 "C84" H 1800 5000 50 0000 C CNN
F 1 "DNP" H 1800 5200 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 4900 50 0001 C CNN
F 3 "" H 1800 5100 50 0001 C CNN
F 4 "" H 1800 5100 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 5100 50 0001 C CNN "Manufacturer"
1 1800 5100
1 0 0 -1
$EndComp
Wire Wire Line
1100 5100 950 5100
Text GLabel 950 5100 2 30 BiDi ~ 0
RF_POST_SAW
Wire Wire Line
2500 5100 2650 5100
Text GLabel 2650 5100 0 30 BiDi ~ 0
GND
$Comp
L BOARD_R39 R39
U 1 1 65020006
P 1800 5900
F 0 "R39" H 1800 5800 50 0000 C CNN
F 1 "0R" H 1800 6000 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 5700 50 0001 C CNN
F 3 "" H 1800 5900 50 0001 C CNN
F 4 "RC0402JR-070RL" H 1800 5900 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 5900 50 0001 C CNN "Manufacturer"
1 1800 5900
1 0 0 -1
$EndComp
Wire Wire Line
1100 5900 950 5900
Text GLabel 950 5900 2 30 BiDi ~ 0
RF_POST_SAW
Wire Wire Line
2500 5900 2650 5900
Text GLabel 2650 5900 0 30 BiDi ~ 0
MAX_MIXIN_HI
$Comp
L BOARD_C85 C85
U 1 1 65020007
P 1800 6700
F 0 "C85" H 1800 6600 50 0000 C CNN
F 1 "DNP" H 1800 6800 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 6500 50 0001 C CNN
F 3 "" H 1800 6700 50 0001 C CNN
F 4 "" H 1800 6700 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 6700 50 0001 C CNN "Manufacturer"
1 1800 6700
1 0 0 -1
$EndComp
Wire Wire Line
1100 6700 950 6700
Text GLabel 950 6700 2 30 BiDi ~ 0
MAX_MIXIN_HI
Wire Wire Line
2500 6700 2650 6700
Text GLabel 2650 6700 0 30 BiDi ~ 0
GND
$Comp
L BOARD_J5 J5
U 1 1 65020008
P 1800 7500
F 0 "J5" H 1800 7400 50 0000 C CNN
F 1 "ANT BIAS OFF/3V3/5V" H 1800 7600 50 0000 C CNN
F 2 "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" H 1800 7300 50 0001 C CNN
F 3 "" H 1800 7500 50 0001 C CNN
F 4 "61300311121" H 1800 7500 50 0001 C CNN "MPN"
F 5 "Wuerth Elektronik" H 1800 7500 50 0001 C CNN "Manufacturer"
1 1800 7500
1 0 0 -1
$EndComp
Wire Wire Line
1100 7550 950 7550
Text GLabel 950 7550 2 30 BiDi ~ 0
VCC3V3_ANT
Wire Wire Line
2500 7500 2650 7500
Text GLabel 2650 7500 0 30 BiDi ~ 0
ANT_BIAS_SEL
Wire Wire Line
1100 7450 950 7450
Text GLabel 950 7450 2 30 BiDi ~ 0
SYS5
$Comp
L BOARD_U27 U27
U 1 1 65020009
P 1800 8300
F 0 "U27" H 1800 8200 50 0000 C CNN
F 1 "TPS22944" H 1800 8400 50 0000 C CNN
F 2 "Package_TO_SOT_SMD:SOT-353_SC-70-5" H 1800 8100 50 0001 C CNN
F 3 "" H 1800 8300 50 0001 C CNN
F 4 "TPS22944DCKR" H 1800 8300 50 0001 C CNN "MPN"
F 5 "Texas Instruments" H 1800 8300 50 0001 C CNN "Manufacturer"
1 1800 8300
1 0 0 -1
$EndComp
Wire Wire Line
1100 8400 950 8400
Text GLabel 950 8400 2 30 BiDi ~ 0
ANT_BIAS_SW
Wire Wire Line
2500 8350 2650 8350
Text GLabel 2650 8350 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 8300 950 8300
Text GLabel 950 8300 2 30 BiDi ~ 0
ANT_BIAS_OC
Wire Wire Line
2500 8250 2650 8250
Text GLabel 2650 8250 0 30 BiDi ~ 0
ANT_BIAS_ON
Wire Wire Line
1100 8200 950 8200
Text GLabel 950 8200 2 30 BiDi ~ 0
ANT_BIAS_SEL
$Comp
L BOARD_R40 R40
U 1 1 6502000A
P 1800 9200
F 0 "R40" H 1800 9100 50 0000 C CNN
F 1 "100K" H 1800 9300 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 9000 50 0001 C CNN
F 3 "" H 1800 9200 50 0001 C CNN
F 4 "RC0402FR-07100KL" H 1800 9200 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 9200 50 0001 C CNN "Manufacturer"
1 1800 9200
1 0 0 -1
$EndComp
Wire Wire Line
1100 9200 950 9200
Text GLabel 950 9200 2 30 BiDi ~ 0
ANT_BIAS_SEL
Wire Wire Line
2500 9200 2650 9200
Text GLabel 2650 9200 0 30 BiDi ~ 0
ANT_BIAS_ON
$Comp
L BOARD_R41 R41
U 1 1 6502000B
P 1800 10000
F 0 "R41" H 1800 9900 50 0000 C CNN
F 1 "100K" H 1800 10100 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 9800 50 0001 C CNN
F 3 "" H 1800 10000 50 0001 C CNN
F 4 "RC0402FR-07100KL" H 1800 10000 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 10000 50 0001 C CNN "Manufacturer"
1 1800 10000
1 0 0 -1
$EndComp
Wire Wire Line
1100 10000 950 10000
Text GLabel 950 10000 2 30 BiDi ~ 0
ANT_BIAS_ON
Wire Wire Line
2500 10000 2650 10000
Text GLabel 2650 10000 0 30 BiDi ~ 0
GND
$Comp
L BOARD_R42 R42
U 1 1 6502000C
P 1800 10800
F 0 "R42" H 1800 10700 50 0000 C CNN
F 1 "10K" H 1800 10900 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 10600 50 0001 C CNN
F 3 "" H 1800 10800 50 0001 C CNN
F 4 "RC0402FR-0710KL" H 1800 10800 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 10800 50 0001 C CNN "Manufacturer"
1 1800 10800
1 0 0 -1
$EndComp
Wire Wire Line
1100 10800 950 10800
Text GLabel 950 10800 2 30 BiDi ~ 0
VCC3V3_AUX
Wire Wire Line
2500 10800 2650 10800
Text GLabel 2650 10800 0 30 BiDi ~ 0
ANT_BIAS_OC
$Comp
L BOARD_C86 C86
U 1 1 6502000D
P 1800 11600
F 0 "C86" H 1800 11500 50 0000 C CNN
F 1 "1uF" H 1800 11700 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 11400 50 0001 C CNN
F 3 "" H 1800 11600 50 0001 C CNN
F 4 "GRM155R60J105KE19D" H 1800 11600 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 11600 50 0001 C CNN "Manufacturer"
1 1800 11600
1 0 0 -1
$EndComp
Wire Wire Line
1100 11600 950 11600
Text GLabel 950 11600 2 30 BiDi ~ 0
ANT_BIAS_SEL
Wire Wire Line
2500 11600 2650 11600
Text GLabel 2650 11600 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C87 C87
U 1 1 6502000E
P 1800 12400
F 0 "C87" H 1800 12300 50 0000 C CNN
F 1 "1uF" H 1800 12500 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 12200 50 0001 C CNN
F 3 "" H 1800 12400 50 0001 C CNN
F 4 "GRM155R60J105KE19D" H 1800 12400 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 12400 50 0001 C CNN "Manufacturer"
1 1800 12400
1 0 0 -1
$EndComp
Wire Wire Line
1100 12400 950 12400
Text GLabel 950 12400 2 30 BiDi ~ 0
ANT_BIAS_SW
Wire Wire Line
2500 12400 2650 12400
Text GLabel 2650 12400 0 30 BiDi ~ 0
GND
$Comp
L BOARD_L4 L4
U 1 1 6502000F
P 1800 13200
F 0 "L4" H 1800 13100 50 0000 C CNN
F 1 "56nH" H 1800 13300 50 0000 C CNN
F 2 "Inductor_SMD:L_0402_1005Metric" H 1800 13000 50 0001 C CNN
F 3 "" H 1800 13200 50 0001 C CNN
F 4 "0402HPH-56NXJRW" H 1800 13200 50 0001 C CNN "MPN"
F 5 "Coilcraft" H 1800 13200 50 0001 C CNN "Manufacturer"
1 1800 13200
1 0 0 -1
$EndComp
Wire Wire Line
1100 13200 950 13200
Text GLabel 950 13200 2 30 BiDi ~ 0
ANT_BIAS_SW
Wire Wire Line
2500 13200 2650 13200
Text GLabel 2650 13200 0 30 BiDi ~ 0
RF_SMA
$Comp
L BOARD_TP3 TP3
U 1 1 65020010
P 1800 14000
F 0 "TP3" H 1800 13900 50 0000 C CNN
F 1 "ANT OC" H 1800 14100 50 0000 C CNN
F 2 "TestPoint:TestPoint_Pad_D1.0mm" H 1800 13800 50 0001 C CNN
F 3 "" H 1800 14000 50 0001 C CNN
F 4 "" H 1800 14000 50 0001 C CNN "MPN"
F 5 "" H 1800 14000 50 0001 C CNN "Manufacturer"
1 1800 14000
1 0 0 -1
$EndComp
Wire Wire Line
1100 14000 950 14000
Text GLabel 950 14000 2 30 BiDi ~ 0
ANT_BIAS_OC
$Comp
L BOARD_U21 U21
U 1 1 65020011
P 1800 14800
F 0 "U21" H 1800 14700 50 0000 C CNN
F 1 "MAX2771" H 1800 14900 50 0000 C CNN
F 2 "Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.25x3.25mm" H 1800 14600 50 0001 C CNN
F 3 "" H 1800 14800 50 0001 C CNN
F 4 "MAX2771ETI+" H 1800 14800 50 0001 C CNN "MPN"
F 5 "Analog Devices" H 1800 14800 50 0001 C CNN "Manufacturer"
1 1800 14800
1 0 0 -1
$EndComp
Wire Wire Line
1100 15500 950 15500
Text GLabel 950 15500 2 30 BiDi ~ 0
MAX_CPOUT
Wire Wire Line
2500 15450 2650 15450
Text GLabel 2650 15450 0 30 BiDi ~ 0
VCC3V0_RF
Wire Wire Line
1100 15400 950 15400
Text GLabel 950 15400 2 30 BiDi ~ 0
MAX_XTAL
Wire Wire Line
2500 15350 2650 15350
Text GLabel 2650 15350 0 30 BiDi ~ 0
MAX_CLKOUT_SRC
Wire Wire Line
1100 15300 950 15300
Text GLabel 950 15300 2 30 BiDi ~ 0
MAX_ADC_CLKIN
Wire Wire Line
2500 15250 2650 15250
Text GLabel 2650 15250 0 30 BiDi ~ 0
VCC3V0_DIG
Wire Wire Line
1100 15200 950 15200
Text GLabel 950 15200 2 30 BiDi ~ 0
MAX_SDATA_DEV
Wire Wire Line
2500 15150 2650 15150
Text GLabel 2650 15150 0 30 BiDi ~ 0
MAX_SCLK_DEV
Wire Wire Line
1100 15100 950 15100
Text GLabel 950 15100 2 30 BiDi ~ 0
MAX_CSN_DEV
Wire Wire Line
2500 15050 2650 15050
Text GLabel 2650 15050 0 30 BiDi ~ 0
MAX_Q1_DEV
Wire Wire Line
1100 15000 950 15000
Text GLabel 950 15000 2 30 BiDi ~ 0
MAX_Q0_DEV
Wire Wire Line
2500 14950 2650 14950
Text GLabel 2650 14950 0 30 BiDi ~ 0
MAX_I0_DEV
Wire Wire Line
1100 14900 950 14900
Text GLabel 950 14900 2 30 BiDi ~ 0
MAX_I1_DEV
Wire Wire Line
2500 14850 2650 14850
Text GLabel 2650 14850 0 30 BiDi ~ 0
VCC3V0_DIG
NoConn ~ 1100 14800
NoConn ~ 2500 14750
Wire Wire Line
1100 14700 950 14700
Text GLabel 950 14700 2 30 BiDi ~ 0
MAX_LD_DEV
Wire Wire Line
2500 14650 2650 14650
Text GLabel 2650 14650 0 30 BiDi ~ 0
MAX_SHDN_DEV
NoConn ~ 1100 14600
NoConn ~ 2500 14550
NoConn ~ 1100 14500
Wire Wire Line
2500 14450 2650 14450
Text GLabel 2650 14450 0 30 BiDi ~ 0
VCC3V0_RF
NoConn ~ 1100 14400
NoConn ~ 2500 14350
Wire Wire Line
1100 14300 950 14300
Text GLabel 950 14300 2 30 BiDi ~ 0
MAX_MIXIN_HI
NoConn ~ 2500 14250
Wire Wire Line
1100 14200 950 14200
Text GLabel 950 14200 2 30 BiDi ~ 0
VCC3V0_RF
Wire Wire Line
2500 14150 2650 14150
Text GLabel 2650 14150 0 30 BiDi ~ 0
VCC3V0_RF
Wire Wire Line
1100 14100 950 14100
Text GLabel 950 14100 2 30 BiDi ~ 0
GND
$Comp
L BOARD_C88 C88
U 1 1 65020012
P 1800 16900
F 0 "C88" H 1800 16800 50 0000 C CNN
F 1 "15pF" H 1800 17000 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 16700 50 0001 C CNN
F 3 "" H 1800 16900 50 0001 C CNN
F 4 "GRM1555C1H150JA01D" H 1800 16900 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 16900 50 0001 C CNN "Manufacturer"
1 1800 16900
1 0 0 -1
$EndComp
Wire Wire Line
1100 16900 950 16900
Text GLabel 950 16900 2 30 BiDi ~ 0
MAX_CPOUT
Wire Wire Line
2500 16900 2650 16900
Text GLabel 2650 16900 0 30 BiDi ~ 0
GND
$Comp
L BOARD_R43 R43
U 1 1 65020013
P 1800 17700
F 0 "R43" H 1800 17600 50 0000 C CNN
F 1 "15K" H 1800 17800 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 17500 50 0001 C CNN
F 3 "" H 1800 17700 50 0001 C CNN
F 4 "RC0402FR-0715KL" H 1800 17700 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 17700 50 0001 C CNN "Manufacturer"
1 1800 17700
1 0 0 -1
$EndComp
Wire Wire Line
1100 17700 950 17700
Text GLabel 950 17700 2 30 BiDi ~ 0
MAX_CPOUT
Wire Wire Line
2500 17700 2650 17700
Text GLabel 2650 17700 0 30 BiDi ~ 0
MAX_LOOP_RC
$Comp
L BOARD_C89 C89
U 1 1 65020014
P 1800 18500
F 0 "C89" H 1800 18400 50 0000 C CNN
F 1 "750pF" H 1800 18600 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 18300 50 0001 C CNN
F 3 "" H 1800 18500 50 0001 C CNN
F 4 "GRM1555C1H751JA01D" H 1800 18500 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 18500 50 0001 C CNN "Manufacturer"
1 1800 18500
1 0 0 -1
$EndComp
Wire Wire Line
1100 18500 950 18500
Text GLabel 950 18500 2 30 BiDi ~ 0
MAX_LOOP_RC
Wire Wire Line
2500 18500 2650 18500
Text GLabel 2650 18500 0 30 BiDi ~ 0
GND
$Comp
L BOARD_C90 C90
U 1 1 65020015
P 1800 19300
F 0 "C90" H 1800 19200 50 0000 C CNN
F 1 "10nF" H 1800 19400 50 0000 C CNN
F 2 "Capacitor_SMD:C_0402_1005Metric" H 1800 19100 50 0001 C CNN
F 3 "" H 1800 19300 50 0001 C CNN
F 4 "GRM155R71H103KA88D" H 1800 19300 50 0001 C CNN "MPN"
F 5 "Murata" H 1800 19300 50 0001 C CNN "Manufacturer"
1 1800 19300
1 0 0 -1
$EndComp
Wire Wire Line
1100 19300 950 19300
Text GLabel 950 19300 2 30 BiDi ~ 0
TCXO16_OUT
Wire Wire Line
2500 19300 2650 19300
Text GLabel 2650 19300 0 30 BiDi ~ 0
MAX_XTAL
$Comp
L BOARD_R44 R44
U 1 1 65020016
P 1800 20100
F 0 "R44" H 1800 20000 50 0000 C CNN
F 1 "33R" H 1800 20200 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 19900 50 0001 C CNN
F 3 "" H 1800 20100 50 0001 C CNN
F 4 "RC0402FR-0733RL" H 1800 20100 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 20100 50 0001 C CNN "Manufacturer"
1 1800 20100
1 0 0 -1
$EndComp
Wire Wire Line
1100 20100 950 20100
Text GLabel 950 20100 2 30 BiDi ~ 0
OSC40_OUT
Wire Wire Line
2500 20100 2650 20100
Text GLabel 2650 20100 0 30 BiDi ~ 0
MAX_ADC_CLKIN
$Comp
L BOARD_R45 R45
U 1 1 65020017
P 1800 20900
F 0 "R45" H 1800 20800 50 0000 C CNN
F 1 "22R" H 1800 21000 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 20700 50 0001 C CNN
F 3 "" H 1800 20900 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 20900 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 20900 50 0001 C CNN "Manufacturer"
1 1800 20900
1 0 0 -1
$EndComp
Wire Wire Line
1100 20900 950 20900
Text GLabel 950 20900 2 30 BiDi ~ 0
MAX_CLKOUT_SRC
Wire Wire Line
2500 20900 2650 20900
Text GLabel 2650 20900 0 30 BiDi ~ 0
MAX_CLKOUT
$Comp
L BOARD_R46 R46
U 1 1 65020018
P 1800 21700
F 0 "R46" H 1800 21600 50 0000 C CNN
F 1 "22R" H 1800 21800 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 21500 50 0001 C CNN
F 3 "" H 1800 21700 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 21700 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 21700 50 0001 C CNN "Manufacturer"
1 1800 21700
1 0 0 -1
$EndComp
Wire Wire Line
1100 21700 950 21700
Text GLabel 950 21700 2 30 BiDi ~ 0
MAX_I0_DEV
Wire Wire Line
2500 21700 2650 21700
Text GLabel 2650 21700 0 30 BiDi ~ 0
MAX_I0
$Comp
L BOARD_R47 R47
U 1 1 65020019
P 1800 22500
F 0 "R47" H 1800 22400 50 0000 C CNN
F 1 "22R" H 1800 22600 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 22300 50 0001 C CNN
F 3 "" H 1800 22500 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 22500 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 22500 50 0001 C CNN "Manufacturer"
1 1800 22500
1 0 0 -1
$EndComp
Wire Wire Line
1100 22500 950 22500
Text GLabel 950 22500 2 30 BiDi ~ 0
MAX_I1_DEV
Wire Wire Line
2500 22500 2650 22500
Text GLabel 2650 22500 0 30 BiDi ~ 0
MAX_I1
$Comp
L BOARD_R48 R48
U 1 1 6502001A
P 1800 23300
F 0 "R48" H 1800 23200 50 0000 C CNN
F 1 "22R" H 1800 23400 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 23100 50 0001 C CNN
F 3 "" H 1800 23300 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 23300 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 23300 50 0001 C CNN "Manufacturer"
1 1800 23300
1 0 0 -1
$EndComp
Wire Wire Line
1100 23300 950 23300
Text GLabel 950 23300 2 30 BiDi ~ 0
MAX_Q0_DEV
Wire Wire Line
2500 23300 2650 23300
Text GLabel 2650 23300 0 30 BiDi ~ 0
MAX_Q0
$Comp
L BOARD_R49 R49
U 1 1 6502001B
P 1800 24100
F 0 "R49" H 1800 24000 50 0000 C CNN
F 1 "22R" H 1800 24200 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 23900 50 0001 C CNN
F 3 "" H 1800 24100 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 24100 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 24100 50 0001 C CNN "Manufacturer"
1 1800 24100
1 0 0 -1
$EndComp
Wire Wire Line
1100 24100 950 24100
Text GLabel 950 24100 2 30 BiDi ~ 0
MAX_Q1_DEV
Wire Wire Line
2500 24100 2650 24100
Text GLabel 2650 24100 0 30 BiDi ~ 0
MAX_Q1
$Comp
L BOARD_R50 R50
U 1 1 6502001C
P 1800 24900
F 0 "R50" H 1800 24800 50 0000 C CNN
F 1 "22R" H 1800 25000 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 24700 50 0001 C CNN
F 3 "" H 1800 24900 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 24900 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 24900 50 0001 C CNN "Manufacturer"
1 1800 24900
1 0 0 -1
$EndComp
Wire Wire Line
1100 24900 950 24900
Text GLabel 950 24900 2 30 BiDi ~ 0
MAX_LD_DEV
Wire Wire Line
2500 24900 2650 24900
Text GLabel 2650 24900 0 30 BiDi ~ 0
MAX_LD
$Comp
L BOARD_R51 R51
U 1 1 6502001D
P 1800 25700
F 0 "R51" H 1800 25600 50 0000 C CNN
F 1 "22R" H 1800 25800 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 25500 50 0001 C CNN
F 3 "" H 1800 25700 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 25700 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 25700 50 0001 C CNN "Manufacturer"
1 1800 25700
1 0 0 -1
$EndComp
Wire Wire Line
1100 25700 950 25700
Text GLabel 950 25700 2 30 BiDi ~ 0
MAX_SCLK
Wire Wire Line
2500 25700 2650 25700
Text GLabel 2650 25700 0 30 BiDi ~ 0
MAX_SCLK_DEV
$Comp
L BOARD_R52 R52
U 1 1 6502001E
P 1800 26500
F 0 "R52" H 1800 26400 50 0000 C CNN
F 1 "22R" H 1800 26600 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 26300 50 0001 C CNN
F 3 "" H 1800 26500 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 26500 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 26500 50 0001 C CNN "Manufacturer"
1 1800 26500
1 0 0 -1
$EndComp
Wire Wire Line
1100 26500 950 26500
Text GLabel 950 26500 2 30 BiDi ~ 0
MAX_CSN
Wire Wire Line
2500 26500 2650 26500
Text GLabel 2650 26500 0 30 BiDi ~ 0
MAX_CSN_DEV
$Comp
L BOARD_R53 R53
U 1 1 6502001F
P 1800 27300
F 0 "R53" H 1800 27200 50 0000 C CNN
F 1 "22R" H 1800 27400 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 27100 50 0001 C CNN
F 3 "" H 1800 27300 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 27300 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 27300 50 0001 C CNN "Manufacturer"
1 1800 27300
1 0 0 -1
$EndComp
Wire Wire Line
1100 27300 950 27300
Text GLabel 950 27300 2 30 BiDi ~ 0
MAX_SDATA
Wire Wire Line
2500 27300 2650 27300
Text GLabel 2650 27300 0 30 BiDi ~ 0
MAX_SDATA_DEV
$Comp
L BOARD_R54 R54
U 1 1 65020020
P 1800 28100
F 0 "R54" H 1800 28000 50 0000 C CNN
F 1 "22R" H 1800 28200 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 27900 50 0001 C CNN
F 3 "" H 1800 28100 50 0001 C CNN
F 4 "RC0402FR-0722RL" H 1800 28100 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 28100 50 0001 C CNN "Manufacturer"
1 1800 28100
1 0 0 -1
$EndComp
Wire Wire Line
1100 28100 950 28100
Text GLabel 950 28100 2 30 BiDi ~ 0
MAX_SHDN
Wire Wire Line
2500 28100 2650 28100
Text GLabel 2650 28100 0 30 BiDi ~ 0
MAX_SHDN_DEV
$Comp
L BOARD_R55 R55
U 1 1 65020021
P 1800 28900
F 0 "R55" H 1800 28800 50 0000 C CNN
F 1 "100K" H 1800 29000 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 28700 50 0001 C CNN
F 3 "" H 1800 28900 50 0001 C CNN
F 4 "RC0402FR-07100KL" H 1800 28900 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 28900 50 0001 C CNN "Manufacturer"
1 1800 28900
1 0 0 -1
$EndComp
Wire Wire Line
1100 28900 950 28900
Text GLabel 950 28900 2 30 BiDi ~ 0
MAX_SHDN_DEV
Wire Wire Line
2500 28900 2650 28900
Text GLabel 2650 28900 0 30 BiDi ~ 0
GND
$Comp
L BOARD_U23 U23
U 1 1 65020022
P 1800 29700
F 0 "U23" H 1800 29600 50 0000 C CNN
F 1 "16.368 MHz TCXO" H 1800 29800 50 0000 C CNN
F 2 "board:Epson_TG2016SMN" H 1800 29500 50 0001 C CNN
F 3 "" H 1800 29700 50 0001 C CNN
F 4 "X1G005441030125" H 1800 29700 50 0001 C CNN "MPN"
F 5 "Epson" H 1800 29700 50 0001 C CNN "Manufacturer"
1 1800 29700
1 0 0 -1
$EndComp
NoConn ~ 1100 29750
Wire Wire Line
2500 29750 2650 29750
Text GLabel 2650 29750 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 29650 950 29650
Text GLabel 950 29650 2 30 BiDi ~ 0
TCXO16_OUT
Wire Wire Line
2500 29650 2650 29650
Text GLabel 2650 29650 0 30 BiDi ~ 0
VCC3V0_CLK
$Comp
L BOARD_U24 U24
U 1 1 65020023
P 1800 30500
F 0 "U24" H 1800 30400 50 0000 C CNN
F 1 "40.000 MHz XO" H 1800 30600 50 0000 C CNN
F 2 "Oscillator:Oscillator_SMD_SeikoEpson_SG210-4Pin_2.5x2.0mm" H 1800 30300 50 0001 C CNN
F 3 "" H 1800 30500 50 0001 C CNN
F 4 "X1G004171041100" H 1800 30500 50 0001 C CNN "MPN"
F 5 "Epson" H 1800 30500 50 0001 C CNN "Manufacturer"
1 1800 30500
1 0 0 -1
$EndComp
Wire Wire Line
1100 30550 950 30550
Text GLabel 950 30550 2 30 BiDi ~ 0
VCC3V0_CLK
Wire Wire Line
2500 30550 2650 30550
Text GLabel 2650 30550 0 30 BiDi ~ 0
GND
Wire Wire Line
1100 30450 950 30450
Text GLabel 950 30450 2 30 BiDi ~ 0
OSC40_OUT
Wire Wire Line
2500 30450 2650 30450
Text GLabel 2650 30450 0 30 BiDi ~ 0
VCC3V0_CLK
$Comp
L BOARD_R56 R56
U 1 1 65020024
P 1800 31300
F 0 "R56" H 1800 31200 50 0000 C CNN
F 1 "33R" H 1800 31400 50 0000 C CNN
F 2 "Resistor_SMD:R_0402_1005Metric" H 1800 31100 50 0001 C CNN
F 3 "" H 1800 31300 50 0001 C CNN
F 4 "RC0402FR-0733RL" H 1800 31300 50 0001 C CNN "MPN"
F 5 "Yageo" H 1800 31300 50 0001 C CNN "Manufacturer"
1 1800 31300
1 0 0 -1
$EndComp
Wire Wire Line
1100 31300 950 31300
Text GLabel 950 31300 2 30 BiDi ~ 0
OSC40_OUT
Wire Wire Line
2500 31300 2650 31300
Text GLabel 2650 31300 0 30 BiDi ~ 0
CLK_40M_FPGA
$EndSCHEMATC
+4
View File
@@ -0,0 +1,4 @@
(sym_lib_table
(version 7)
(lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/board.kicad_sym")(options "")(descr "Generated board symbols"))
)
File diff suppressed because it is too large Load Diff
+18
View File
@@ -0,0 +1,18 @@
# Çıktılar
Bu klasör build/routing çalışma alanıdır. Repository'de yalnızca güncel ve
anlamlı teslim çıktıları tutulur:
- `bom.csv`: ayrıntılı mühendislik BOM'u.
- `jlcpcb_bom.csv`: montaj servisi için sadeleştirilmiş BOM.
- `erc_final_reset.rpt`: güncel şema ERC raporu; 0 ihlal.
- `drc_final_placement.rpt`: unrouted placement DRC raporu.
- `board_final_reset_top.png`: güncel üst görünüm.
Eski `.dsn`, `.ses`, preview PCB ve ara DRC raporları yeni netlist için
authoritative değildir. Routing her netlist/placement değişiminden sonra güncel
`hardware/board.kicad_pcb` üzerinden yeniden başlatılmalıdır.
Güncel placement raporundaki 12 `isolated_copper` ve 499 unconnected kayıt,
kartın henüz route edilmemiş olduğunu gösterir. Bunlar üretime hazır olunduğu
anlamına gelmez; final routed raporda sıfır açık bağlantı hedeflenir.
Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

+210
View File
@@ -0,0 +1,210 @@
Reference,Qty,Value,Manufacturer,MPN,Footprint,Assembly,DNP,Description
C1,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,TUSB320 local bypass
"C10,C11",2,47uF,Murata,GRM32ER70J476ME19L,Capacitor_SMD:C_1210_3225Metric,SMT,no,5-V system bulk
C100,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,16.368-MHz TCXO bypass
C101,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Clock-rail local bulk
C102,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,40-MHz oscillator bypass
C103,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Murata V3P3 HF bypass
C104,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Murata V3P3 local capacitor
C105,1,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Murata required VREGA2 capacitor
C106,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Murata required VREGD capacitor
C107,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Murata VDDIO bypass
"C108,C109",2,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FT4232H VCCIO/VREGIN bypass
"C110,C111",2,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FT4232H VCORE bypass
C112,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FT4232H regulator output capacitor
C113,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FTDI VPHY bypass
C114,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FTDI VPLL bypass
C115,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FTDI oscillator local bypass
C116,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,FTDI EEPROM bypass
C117,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Additional FT4232H channel-A VCCIO bypass
C118,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Configuration flash bypass
C119,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Configuration flash local bulk
C12,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Power-qualification logic local bypass
C120,1,4.7nF,Murata,GRM155R71H472KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,TPS3808 SENSE transient filter
C121,1,4.7nF,Murata,GRM155R71H472KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Manual/external reset cable-noise filter
C122,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,TPS3808 local bypass
C123,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,SN74LVC244A local bypass
C124,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,SN74LVC1G125 local bypass
C125,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,SN74LVC1G07 local bypass
C126,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Power-good open-drain buffer local bypass
C127,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,External-reset open-drain buffer local bypass
C128,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,All-rail-valid logic local bypass
C13,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Power qualification logic bypass
C14,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U12 local input capacitor
C15,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U12 low-noise LDO output capacitor
C16,1,1.8nF,Murata,GRM155R71H182KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,TPS6287B calculated compensation CC
C17,1,10pF,Murata,GRM1555C1H100JA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,TPS6287B HF compensation bypass CC2
"C18,C19,C20,C21",4,22uF,Murata,GCM31CR71A226KE02L,Capacitor_SMD:C_1206_3216Metric,SMT,no,Core buck butterfly input capacitor
C2,1,4.7nF,Murata,GRM155R71H472KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,USB shield HF coupling
"C22,C23,C24,C25",4,100uF,Murata,GRT32EC70J107ME13L,Capacitor_SMD:C_1210_3225Metric,SMT,no,"Core output; 400-uF nominal, >=195-uF effective target"
"C26,C27",2,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U14 input capacitor
"C28,C29",2,22uF,Murata,GRM21BZ70J226ME44L,Capacitor_SMD:C_0805_2012Metric,SMT,no,U14 output capacitor
"C3,C6",2,4.7nF,Murata,GRM155R71H472KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,eFuse output slew control
"C30,C31",2,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U15 input capacitor
"C32,C33",2,22uF,Murata,GRM21BZ70J226ME44L,Capacitor_SMD:C_0805_2012Metric,SMT,no,U15 output capacitor
C34,1,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,LM3880 bypass
C35,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U17 local input capacitor
C36,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U17 low-noise LDO output capacitor
C37,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U18 local input capacitor
C38,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U18 low-noise LDO output capacitor
C39,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U19 local input capacitor
"C4,C7",2,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,eFuse local input bypass
C40,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U19 low-noise LDO output capacitor
C41,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U20 local input capacitor
C42,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,U20 low-noise LDO output capacitor
"C43,C44,C45,C46,C47,C48,C49,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C60",18,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 core/VCCA/VDD_SOC HF bypass
"C5,C8",2,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,eFuse local output bypass
"C61,C62,C63,C64",4,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 core local bulk
"C65,C66,C67,C68,C69,C70",6,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 VCCAUX/HSIO/config bypass
"C71,C72",2,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 1.8-V local bulk
"C73,C74,C75,C76",4,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 HVIO bank bypass on VCC3V3
C77,1,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 I/O-rail bulk on VCC3V3
"C78,C79,C80,C81",4,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 HVIO bank bypass on VCC3V0_DIG
C82,1,10uF,Murata,GRM188R60J106ME47D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Ti375 I/O-rail bulk on VCC3V0_DIG
C83,1,27pF,Murata,600L270JT200T,board:Kyocera_600L_0402,SMT,no,High-Q 200-V C0G GNSS RF DC block
C84,1,DNP,Murata,,Capacitor_SMD:C_0402_1005Metric,SMT,yes,RF tuning shunt C1
C85,1,DNP,Murata,,Capacitor_SMD:C_0402_1005Metric,SMT,yes,RF tuning shunt C2
C86,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Bias-switch input bypass
C87,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,Bias-switch output bypass before choke
C88,1,15pF,Murata,GRM1555C1H150JA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 PLL loop-filter shunt capacitor
C89,1,750pF,Murata,GRM1555C1H751JA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 PLL loop integrating capacitor
C9,1,10nF,Murata,GRM155R71H103KA88D,Capacitor_SMD:C_0402_1005Metric,SMT,no,TPS2121 soft-start
C90,1,10nF,Murata,GRM155R71H103KA88D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 external reference AC coupling
"C91,C92,C93,C94,C95",5,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 local VCC3V0_RF bypass
C96,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 local VCC3V0_RF bulk
"C97,C98",2,100nF,Murata,GRM155R71A104KA01D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 local VCC3V0_DIG bypass
C99,1,1uF,Murata,GRM155R60J105KE19D,Capacitor_SMD:C_0402_1005Metric,SMT,no,MAX2771 local VCC3V0_DIG bulk
D1,1,ESD501,Texas Instruments,ESD501DPYR,board:Texas_DPY0002A_X1SON,SMT,no,0.3-pF bidirectional 12-V RF ESD protector
D2,1,RESET ESD,onsemi,ESD5Z3.3T1G,Diode_SMD:D_SOD-523,SMT,no,External-reset connector ESD clamp
FB1,1,600R@100MHz,Murata,BLM15AG601SN1D,Inductor_SMD:L_0402_1005Metric,SMT,no,IMU supply ferrite isolation
FB2,1,600R@100MHz,Murata,BLM15AG601SN1D,Inductor_SMD:L_0402_1005Metric,SMT,no,FTDI USB-PHY supply ferrite
FB3,1,600R@100MHz,Murata,BLM15AG601SN1D,Inductor_SMD:L_0402_1005Metric,SMT,no,FTDI PLL supply ferrite
FL1,1,GPS L1/L1C SAW,Kyocera,SF14-1582M5UUS2,board:Kyocera_SF14_5pad,SMT,no,"1565.19-1585.65-MHz SAW, 1.2-dB typical insertion loss"
J1,1,USB-C USB2 sink,GCT,USB4105-GF-A-120,Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal,SMT,no,"USB 2.0 Type-C receptacle, UFP/sink"
J2,1,GPS L1 SMA,Amphenol RF,132289,Connector_Coaxial:SMA_Amphenol_132289_EdgeMount,THT,no,Edge-launch 50-ohm active GNSS antenna input
J3,1,EXT_5V,Phoenix Contact,1935161,"TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal",THT,no,Clearly labelled external regulated 5-V input
J4,1,EXT RESET_N,JST,SM02B-SRSS-TB(LF)(SN),Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal,SMT,no,External active-low open-drain reset input; JST-SH 1.0-mm
J5,1,ANT BIAS OFF/3V3/5V,Wuerth Elektronik,61300311121,Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical,THT,no,One-shunt hardware antenna bias selection; no shunt is OFF
"JPMOD1,JPMOD2",2,PMOD 3.3 V,Amphenol ICC,67997-412HLF,board:Digilent_PMOD_2x6_P2.54mm,THT,no,"Digilent 2x6 PMOD: eight 3.3 V GPIO, two GND, two 3.3 V"
"JPMOD3,JPMOD4",2,PMOD 1.8 V,Amphenol ICC,67997-412HLF,board:Digilent_PMOD_2x6_P2.54mm,THT,no,"Digilent 2x6 PMOD: eight 1.8 V GPIO, two GND, two 1.8 V"
L1,1,100nH,Coilcraft,XEL4030-101MEC,board:Coilcraft_XEL4030,SMT,no,"Core inductor: 30-A saturation, 1.5-mohm DCR"
"L2,L3",2,240nH,Murata,DFE201612E-R24M=P2,board:Murata_DFE201612E,SMT,no,TPS62867 manufacturer-recommended 6.6-A inductor
L4,1,56nH,Coilcraft,0402HPH-56NXJRW,Inductor_SMD:L_0402_1005Metric,SMT,no,"L1 bias-tee choke: SRF 2.1 GHz, Q 64, 330 mA"
Q1,1,MMBT3904,onsemi,MMBT3904LT1G,Package_TO_SOT_SMD:SOT-23,SMT,no,Power-good inverter: enables FTDI-to-FPGA buffers only after all rails are valid
"R1,R2,R3,R4,R5",5,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Efinix mandatory 10-kohm 1% reference resistor
R10,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,yes,Optional direct shield bond
R100,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,All-rail-good inverter base-current limiter
R101,1,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Power-good inverter default-off base pull-down
R102,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,External/manual reset input pull-up
R103,1,1K,Yageo,RC0402FR-071KL,Resistor_SMD:R_0402_1005Metric,SMT,no,External-reset input current and ESD limiting
R104,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,LM3880 final-flag pull-up for all-power logic
R105,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,1.8-V power-good pull-up for all-power logic
R106,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,3.3-V power-good pull-up for all-power logic
"R11,R16",2,232K,Yageo,RC0402FR-07232KL,Resistor_SMD:R_0402_1005Metric,SMT,no,4.0-V nominal eFuse UV divider top
"R12,R17",2,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,eFuse UV divider bottom
"R13,R18",2,383K,Yageo,RC0402FR-07383KL,Resistor_SMD:R_0402_1005Metric,SMT,no,5.8-V nominal eFuse OV divider top
"R14,R19",2,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,eFuse OV divider bottom
R15,1,1.24K,Yageo,RC0402FR-071K24L,Resistor_SMD:R_0402_1005Metric,SMT,no,eFuse RILM=3334/ILIM
R20,1,825R,Yageo,RC0402FR-07825RL,Resistor_SMD:R_0402_1005Metric,SMT,no,eFuse RILM=3334/ILIM
R21,1,442K,Yageo,RC0402FR-07442KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS2121 IN1 5.75-V OV divider top
R22,1,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS2121 IN1 OV divider bottom
R23,1,442K,Yageo,RC0402FR-07442KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS2121 IN2 5.75-V OV divider top
R24,1,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS2121 IN2 OV divider bottom
R25,1,22.1K,Yageo,RC0402FR-0722K1L,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS2121 4.5-A typical output limit
R26,1,15K,Yageo,RC0402FR-0715KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS6287B mandatory >=15-kohm EN series resistor
R27,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,no,Remote positive sense link at FPGA PDN
R28,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,no,Remote ground sense link at FPGA PDN
R29,1,2.1K,Yageo,RC0402FR-072K1L,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS6287B calculated compensation RZ
R30,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Core buck PG pull-up
R31,1,133K,Yageo,RC0402FR-07133KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS62867 fixed 1.8 V VSET resistor
R32,1,205K,Yageo,RC0402FR-07205KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS62867 fixed 3.3 V VSET resistor
"R33,R34",2,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,LM3880 open-drain flag pull-up
R35,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,FPGA CRESET_N configuration-rail pull-up
R36,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,no,Sequencer final-flag sense link
R37,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,no,1.8-V buck power-good sense link
R38,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,no,3.3-V buck power-good sense link
R39,1,0R,Yageo,RC0402JR-070RL,Resistor_SMD:R_0402_1005Metric,SMT,no,RF tuning series link
R40,1,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Bias switch follows selected source
R41,1,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,No-jumper default OFF
R42,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Antenna overcurrent pull-up
R43,1,15K,Yageo,RC0402FR-0715KL,Resistor_SMD:R_0402_1005Metric,SMT,no,MAX2771 PLL loop-filter resistor
R44,1,33R,Yageo,RC0402FR-0733RL,Resistor_SMD:R_0402_1005Metric,SMT,no,40-MHz ADC-clock source termination
"R45,R46,R47,R48,R49,R50",6,22R,Yageo,RC0402FR-0722RL,Resistor_SMD:R_0402_1005Metric,SMT,no,MAX2771 source-series digital damping
"R51,R52,R53,R54",4,22R,Yageo,RC0402FR-0722RL,Resistor_SMD:R_0402_1005Metric,SMT,no,MAX2771 serial/control source damping
R55,1,100K,Yageo,RC0402FR-07100KL,Resistor_SMD:R_0402_1005Metric,SMT,no,MAX2771 remains shut down before FPGA configuration
R56,1,33R,Yageo,RC0402FR-0733RL,Resistor_SMD:R_0402_1005Metric,SMT,no,40-MHz FPGA-clock source termination
"R57,R58,R59",3,22R,Yageo,RC0402FR-0722RL,Resistor_SMD:R_0402_1005Metric,SMT,no,SafeSPI source-series damping
R6,1,900K,Yageo,RC0402FR-07909KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TUSB320 VBUS_DET current limiter
R60,1,22R,Yageo,RC0402FR-0722RL,Resistor_SMD:R_0402_1005Metric,SMT,no,SafeSPI MISO source damping at IMU
R61,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Hold IMU reset until FPGA releases it
R62,1,27R,Yageo,RC0402FR-0727RL,Resistor_SMD:R_0402_1005Metric,SMT,no,FTDI USB D+ series termination
R63,1,27R,Yageo,RC0402FR-0727RL,Resistor_SMD:R_0402_1005Metric,SMT,no,FTDI USB D- series termination
R64,1,12K,Yageo,RC0402FR-0712KL,Resistor_SMD:R_0402_1005Metric,SMT,no,"FT4232H USB PHY reference resistor, 1%"
R65,1,4.7K,Yageo,RC0402FR-074K7L,Resistor_SMD:R_0402_1005Metric,SMT,no,Self-powered VBUS-present reset divider top
R66,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Self-powered VBUS-present reset divider bottom
R67,1,33R,Yageo,RC0402FR-0733RL,Resistor_SMD:R_0402_1005Metric,SMT,no,FTDI oscillator source termination
R68,1,2.2K,Yageo,RC0402FR-072K2L,Resistor_SMD:R_0402_1005Metric,SMT,no,EEPROM shared-data isolation
R69,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,EEPROM DO pull-up
R7,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TUSB320 open-drain OUT1 pull-up
"R70,R71,R72,R73",4,33R,Yageo,RC0402FR-0733RL,Resistor_SMD:R_0402_1005Metric,SMT,no,FTDI interface-1 hard-JTAG source damping
"R74,R90,R91,R92",4,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Efinix-required hard-JTAG weak pull-up
"R75,R76,R77,R78,R79,R80,R81,R82,R83",9,33R,Yageo,RC0402FR-0733RL,Resistor_SMD:R_0402_1005Metric,SMT,no,FT4232H channel signal damping
R8,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TUSB320 open-drain OUT2 pull-up
R84,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Configuration flash CS pull-up
R85,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Efinix mandatory TEST_N weak pull-up
R86,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Efinix mandatory CSI weak pull-up
"R87,R88",2,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Configuration flash hold/write-protect pull-up
R89,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Efinix-required CDONE open-drain pull-up
R9,1,1M,Yageo,RC0402FR-071ML,Resistor_SMD:R_0402_1005Metric,SMT,no,USB shield bleed
"R93,R94,R95,R96",4,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,RISC-V JTAG idle-state pull-up
R97,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,FTDI FPGA-reset request default release
R98,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,TPS3808 open-drain power-good pull-up
R99,1,10K,Yageo,RC0402FR-0710KL,Resistor_SMD:R_0402_1005Metric,SMT,no,Keep FTDI-to-FPGA buffers disabled until power-good
SW1,1,FPGA RESET,Omron,B3U-1000P,Button_Switch_SMD:SW_SPST_B3U-1000P,SMT,no,User-accessible momentary FPGA configuration reset
TP1,1,U7 FLT,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP10,1,3V3,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP11,1,RF 3V0,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP12,1,DIG 3V0,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP13,1,CRESET_N,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP14,1,CDONE,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP15,1,GND,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP2,1,U8 FLT,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP3,1,ANT OC,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP4,1,USB VBUS,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP5,1,EXT 5V,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP6,1,SYS 5V,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP7,1,AUX 3V3,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP8,1,CORE 0V95,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
TP9,1,1V8,,,TestPoint:TestPoint_Pad_D1.0mm,SMT,no,Local labelled SMT bring-up test pad
U1,1,Ti375C529C3,Efinix,Ti375C529C3,Package_BGA:BGA-529_19x19mm_Layout23x23_P0.8mm,SMT,no,"Titanium Ti375 FPGA, commercial standard-power 0.95-V option, C529"
U10,1,SN74LVC2G02,Texas Instruments,SN74LVC2G02DCUR,Package_SO:VSSOP-8_2.3x2mm_P0.5mm,SMT,no,USB 3-A advertisement NOR decode and mux-status inversion
U11,1,SN74LVC1G32,Texas Instruments,SN74LVC1G32DBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Main-rail enable OR: qualified 3-A USB or selected external 5 V
U12,1,TPS7A2033,Texas Instruments,TPS7A2033PDBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Always-on 300-mA auxiliary 3.3-V LDO
U13,1,TPS6287B15HA0,Texas Instruments,TPS6287B15HA0WRZVR,board:Texas_RZV0024A_WQFN24,SMT,no,"15-A synchronous 0.95-V FPGA core/VCCA/VDD_SOC buck, fixed PWM"
U14,1,TPS62867 1.8 V,Texas Instruments,TPS62867RQYR,board:Texas_RQY0009A_VQFN9,SMT,no,6-A synchronous 1.8 V FPGA auxiliary/I/O buck
U15,1,TPS62867 3.3 V,Texas Instruments,TPS62867RQYR,board:Texas_RQY0009A_VQFN9,SMT,no,6-A synchronous 3.3 V FPGA auxiliary/I/O buck
U16,1,LM3880-1AA,Texas Instruments,LM3880MF-1AA/NOPB,Package_TO_SOT_SMD:SOT-23-6,SMT,no,"Three-rail sequencer, 10-ms delay per rail"
U17,1,TPS7A2030,Texas Instruments,TPS7A2030PDBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Dedicated low-noise 3.0-V MAX2771 analog LDO
U18,1,TPS7A2030,Texas Instruments,TPS7A2030PDBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Dedicated low-noise 3.0-V MAX2771 digital and FPGA-bank LDO
U19,1,TPS7A2030,Texas Instruments,TPS7A2030PDBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Dedicated low-noise 3.0-V oscillator LDO
U2,1,FT4232H-56Q,FTDI,FT4232H-56Q-REEL,board:FTDI_VQFN56_EP5p9,SMT,no,Quad high-speed USB bridge; all four channels assigned
U20,1,TPS7A2033,Texas Instruments,TPS7A2033PDBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Clean 3.3-V active-antenna bias LDO
U21,1,MAX2771,Analog Devices,MAX2771ETI+,Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.25x3.25mm,SMT,no,GNSS receiver; both LNAs disabled; direct high-band mixer input
U22,1,SCH16T-K01-1,Murata,SCH16T-K01-1,board:Murata_SCH16T_K01,SMT,no,"Six-DoF SafeSPI IMU, exact K01-1 variant"
U23,1,16.368 MHz TCXO,Epson,X1G005441030125,board:Epson_TG2016SMN,SMT,no,TG2016SMN clipped-sine ±0.5-ppm MAX2771 reference
U24,1,40.000 MHz XO,Epson,X1G004171041100,Oscillator:Oscillator_SMD_SeikoEpson_SG210-4Pin_2.5x2.0mm,SMT,no,SG-210STF ±25-ppm CMOS FPGA/system ADC oscillator
U25,1,12.000 MHz XO,ECS,ECS-2520MV-120-BN-TR,Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm,SMT,no,Current-production 12-MHz CMOS FT4232H clock
U26,1,512-Mbit QSPI flash,ISSI,IS25WP512M-JLLE,Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm,SMT,no,1.8-V 512-Mbit FPGA active-serial configuration flash
U27,1,TPS22944,Texas Instruments,TPS22944DCKR,Package_TO_SOT_SMD:SOT-353_SC-70-5,SMT,no,Fixed 100-mA current-limited active-antenna load switch
U28,1,TPS3808G30,Texas Instruments,TPS3808G30DBVR,Package_TO_SOT_SMD:SOT-23-6,SMT,no,3.0-V FPGA-bank supervisor; open-drain reset with 20-ms release delay
U29,1,SN74LVC244A,Texas Instruments,SN74LVC244APWR,Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm,SMT,no,Ioff-protected FPGA-input buffer; automatically isolates when FPGA 3.3 V is off
U3,1,93LC56B x16,Microchip,93LC56BT-I/OT,Package_TO_SOT_SMD:SOT-23-6,SMT,no,"FTDI descriptor/channel-mode EEPROM, fixed 16-bit organization"
U30,1,SN74LVC1G125,Texas Instruments,SN74LVC1G125DBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Ioff-protected tri-state debug-GPIO buffer powered from FPGA 3.3 V
U31,1,SN74LVC1G07,Texas Instruments,SN74LVC1G07DBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Open-drain FTDI reset request into FPGA CRESET_N
U32,1,SN74LVC1G07,Texas Instruments,SN74LVC1G07DBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Open-drain all-rail-valid translation into FPGA CRESET_N
U33,1,SN74LVC1G07,Texas Instruments,SN74LVC1G07DBVR,Package_TO_SOT_SMD:SOT-23-5,SMT,no,Open-drain external/manual reset isolation into FPGA CRESET_N
U34,1,SN74LVC08A,Texas Instruments,SN74LVC08APWR,Package_SO:TSSOP-14_4.4x5mm_P0.65mm,SMT,no,Always-on all-rail power-valid logic for reset release and debug isolation
U5,1,TUSB320LAI,Texas Instruments,TUSB320LAIRSW(R),Package_DFN_QFN:Texas_X2QFN-12_1.6x1.6mm_P0.4mm,SMT,no,USB Type-C port controller in UFP GPIO mode; integrated Rd on CC1/CC2
U6,1,TPD2EUSB30A,Texas Instruments,TPD2EUSB30ADRTR,Package_TO_SOT_SMD:Texas_DRT-3,SMT,no,Low-capacitance USB 2.0 ESD protection
"U7,U8",2,TPS259470A,Texas Instruments,TPS259470ARPWR,board:Texas_RPW0010A_QFN10,SMT,no,True-reverse-blocking eFuse; UV/OV/current/inrush protection
U9,1,TPS2121,Texas Instruments,TPS2121RUXR,board:Texas_RUX0012A_VQFN12,SMT,no,4.5-A power mux; external input wins near-equal valid 5-V inputs
1 Reference Qty Value Manufacturer MPN Footprint Assembly DNP Description
2 C1 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no TUSB320 local bypass
3 C10,C11 2 47uF Murata GRM32ER70J476ME19L Capacitor_SMD:C_1210_3225Metric SMT no 5-V system bulk
4 C100 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no 16.368-MHz TCXO bypass
5 C101 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no Clock-rail local bulk
6 C102 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no 40-MHz oscillator bypass
7 C103 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Murata V3P3 HF bypass
8 C104 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no Murata V3P3 local capacitor
9 C105 1 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no Murata required VREGA2 capacitor
10 C106 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no Murata required VREGD capacitor
11 C107 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Murata VDDIO bypass
12 C108,C109 2 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no FT4232H VCCIO/VREGIN bypass
13 C110,C111 2 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no FT4232H VCORE bypass
14 C112 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no FT4232H regulator output capacitor
15 C113 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no FTDI VPHY bypass
16 C114 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no FTDI VPLL bypass
17 C115 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no FTDI oscillator local bypass
18 C116 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no FTDI EEPROM bypass
19 C117 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Additional FT4232H channel-A VCCIO bypass
20 C118 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Configuration flash bypass
21 C119 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no Configuration flash local bulk
22 C12 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Power-qualification logic local bypass
23 C120 1 4.7nF Murata GRM155R71H472KA01D Capacitor_SMD:C_0402_1005Metric SMT no TPS3808 SENSE transient filter
24 C121 1 4.7nF Murata GRM155R71H472KA01D Capacitor_SMD:C_0402_1005Metric SMT no Manual/external reset cable-noise filter
25 C122 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no TPS3808 local bypass
26 C123 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no SN74LVC244A local bypass
27 C124 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no SN74LVC1G125 local bypass
28 C125 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no SN74LVC1G07 local bypass
29 C126 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Power-good open-drain buffer local bypass
30 C127 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no External-reset open-drain buffer local bypass
31 C128 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no All-rail-valid logic local bypass
32 C13 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Power qualification logic bypass
33 C14 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U12 local input capacitor
34 C15 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U12 low-noise LDO output capacitor
35 C16 1 1.8nF Murata GRM155R71H182KA01D Capacitor_SMD:C_0402_1005Metric SMT no TPS6287B calculated compensation CC
36 C17 1 10pF Murata GRM1555C1H100JA01D Capacitor_SMD:C_0402_1005Metric SMT no TPS6287B HF compensation bypass CC2
37 C18,C19,C20,C21 4 22uF Murata GCM31CR71A226KE02L Capacitor_SMD:C_1206_3216Metric SMT no Core buck butterfly input capacitor
38 C2 1 4.7nF Murata GRM155R71H472KA01D Capacitor_SMD:C_0402_1005Metric SMT no USB shield HF coupling
39 C22,C23,C24,C25 4 100uF Murata GRT32EC70J107ME13L Capacitor_SMD:C_1210_3225Metric SMT no Core output; 400-uF nominal, >=195-uF effective target
40 C26,C27 2 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no U14 input capacitor
41 C28,C29 2 22uF Murata GRM21BZ70J226ME44L Capacitor_SMD:C_0805_2012Metric SMT no U14 output capacitor
42 C3,C6 2 4.7nF Murata GRM155R71H472KA01D Capacitor_SMD:C_0402_1005Metric SMT no eFuse output slew control
43 C30,C31 2 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no U15 input capacitor
44 C32,C33 2 22uF Murata GRM21BZ70J226ME44L Capacitor_SMD:C_0805_2012Metric SMT no U15 output capacitor
45 C34 1 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no LM3880 bypass
46 C35 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U17 local input capacitor
47 C36 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U17 low-noise LDO output capacitor
48 C37 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U18 local input capacitor
49 C38 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U18 low-noise LDO output capacitor
50 C39 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U19 local input capacitor
51 C4,C7 2 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no eFuse local input bypass
52 C40 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U19 low-noise LDO output capacitor
53 C41 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U20 local input capacitor
54 C42 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no U20 low-noise LDO output capacitor
55 C43,C44,C45,C46,C47,C48,C49,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C60 18 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 core/VCCA/VDD_SOC HF bypass
56 C5,C8 2 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no eFuse local output bypass
57 C61,C62,C63,C64 4 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 core local bulk
58 C65,C66,C67,C68,C69,C70 6 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 VCCAUX/HSIO/config bypass
59 C71,C72 2 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 1.8-V local bulk
60 C73,C74,C75,C76 4 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 HVIO bank bypass on VCC3V3
61 C77 1 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 I/O-rail bulk on VCC3V3
62 C78,C79,C80,C81 4 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 HVIO bank bypass on VCC3V0_DIG
63 C82 1 10uF Murata GRM188R60J106ME47D Capacitor_SMD:C_0402_1005Metric SMT no Ti375 I/O-rail bulk on VCC3V0_DIG
64 C83 1 27pF Murata 600L270JT200T board:Kyocera_600L_0402 SMT no High-Q 200-V C0G GNSS RF DC block
65 C84 1 DNP Murata Capacitor_SMD:C_0402_1005Metric SMT yes RF tuning shunt C1
66 C85 1 DNP Murata Capacitor_SMD:C_0402_1005Metric SMT yes RF tuning shunt C2
67 C86 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no Bias-switch input bypass
68 C87 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no Bias-switch output bypass before choke
69 C88 1 15pF Murata GRM1555C1H150JA01D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 PLL loop-filter shunt capacitor
70 C89 1 750pF Murata GRM1555C1H751JA01D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 PLL loop integrating capacitor
71 C9 1 10nF Murata GRM155R71H103KA88D Capacitor_SMD:C_0402_1005Metric SMT no TPS2121 soft-start
72 C90 1 10nF Murata GRM155R71H103KA88D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 external reference AC coupling
73 C91,C92,C93,C94,C95 5 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 local VCC3V0_RF bypass
74 C96 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 local VCC3V0_RF bulk
75 C97,C98 2 100nF Murata GRM155R71A104KA01D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 local VCC3V0_DIG bypass
76 C99 1 1uF Murata GRM155R60J105KE19D Capacitor_SMD:C_0402_1005Metric SMT no MAX2771 local VCC3V0_DIG bulk
77 D1 1 ESD501 Texas Instruments ESD501DPYR board:Texas_DPY0002A_X1SON SMT no 0.3-pF bidirectional 12-V RF ESD protector
78 D2 1 RESET ESD onsemi ESD5Z3.3T1G Diode_SMD:D_SOD-523 SMT no External-reset connector ESD clamp
79 FB1 1 600R@100MHz Murata BLM15AG601SN1D Inductor_SMD:L_0402_1005Metric SMT no IMU supply ferrite isolation
80 FB2 1 600R@100MHz Murata BLM15AG601SN1D Inductor_SMD:L_0402_1005Metric SMT no FTDI USB-PHY supply ferrite
81 FB3 1 600R@100MHz Murata BLM15AG601SN1D Inductor_SMD:L_0402_1005Metric SMT no FTDI PLL supply ferrite
82 FL1 1 GPS L1/L1C SAW Kyocera SF14-1582M5UUS2 board:Kyocera_SF14_5pad SMT no 1565.19-1585.65-MHz SAW, 1.2-dB typical insertion loss
83 J1 1 USB-C USB2 sink GCT USB4105-GF-A-120 Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal SMT no USB 2.0 Type-C receptacle, UFP/sink
84 J2 1 GPS L1 SMA Amphenol RF 132289 Connector_Coaxial:SMA_Amphenol_132289_EdgeMount THT no Edge-launch 50-ohm active GNSS antenna input
85 J3 1 EXT_5V Phoenix Contact 1935161 TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal THT no Clearly labelled external regulated 5-V input
86 J4 1 EXT RESET_N JST SM02B-SRSS-TB(LF)(SN) Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal SMT no External active-low open-drain reset input; JST-SH 1.0-mm
87 J5 1 ANT BIAS OFF/3V3/5V Wuerth Elektronik 61300311121 Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical THT no One-shunt hardware antenna bias selection; no shunt is OFF
88 JPMOD1,JPMOD2 2 PMOD 3.3 V Amphenol ICC 67997-412HLF board:Digilent_PMOD_2x6_P2.54mm THT no Digilent 2x6 PMOD: eight 3.3 V GPIO, two GND, two 3.3 V
89 JPMOD3,JPMOD4 2 PMOD 1.8 V Amphenol ICC 67997-412HLF board:Digilent_PMOD_2x6_P2.54mm THT no Digilent 2x6 PMOD: eight 1.8 V GPIO, two GND, two 1.8 V
90 L1 1 100nH Coilcraft XEL4030-101MEC board:Coilcraft_XEL4030 SMT no Core inductor: 30-A saturation, 1.5-mohm DCR
91 L2,L3 2 240nH Murata DFE201612E-R24M=P2 board:Murata_DFE201612E SMT no TPS62867 manufacturer-recommended 6.6-A inductor
92 L4 1 56nH Coilcraft 0402HPH-56NXJRW Inductor_SMD:L_0402_1005Metric SMT no L1 bias-tee choke: SRF 2.1 GHz, Q 64, 330 mA
93 Q1 1 MMBT3904 onsemi MMBT3904LT1G Package_TO_SOT_SMD:SOT-23 SMT no Power-good inverter: enables FTDI-to-FPGA buffers only after all rails are valid
94 R1,R2,R3,R4,R5 5 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Efinix mandatory 10-kohm 1% reference resistor
95 R10 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT yes Optional direct shield bond
96 R100 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no All-rail-good inverter base-current limiter
97 R101 1 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no Power-good inverter default-off base pull-down
98 R102 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no External/manual reset input pull-up
99 R103 1 1K Yageo RC0402FR-071KL Resistor_SMD:R_0402_1005Metric SMT no External-reset input current and ESD limiting
100 R104 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no LM3880 final-flag pull-up for all-power logic
101 R105 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no 1.8-V power-good pull-up for all-power logic
102 R106 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no 3.3-V power-good pull-up for all-power logic
103 R11,R16 2 232K Yageo RC0402FR-07232KL Resistor_SMD:R_0402_1005Metric SMT no 4.0-V nominal eFuse UV divider top
104 R12,R17 2 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no eFuse UV divider bottom
105 R13,R18 2 383K Yageo RC0402FR-07383KL Resistor_SMD:R_0402_1005Metric SMT no 5.8-V nominal eFuse OV divider top
106 R14,R19 2 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no eFuse OV divider bottom
107 R15 1 1.24K Yageo RC0402FR-071K24L Resistor_SMD:R_0402_1005Metric SMT no eFuse RILM=3334/ILIM
108 R20 1 825R Yageo RC0402FR-07825RL Resistor_SMD:R_0402_1005Metric SMT no eFuse RILM=3334/ILIM
109 R21 1 442K Yageo RC0402FR-07442KL Resistor_SMD:R_0402_1005Metric SMT no TPS2121 IN1 5.75-V OV divider top
110 R22 1 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no TPS2121 IN1 OV divider bottom
111 R23 1 442K Yageo RC0402FR-07442KL Resistor_SMD:R_0402_1005Metric SMT no TPS2121 IN2 5.75-V OV divider top
112 R24 1 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no TPS2121 IN2 OV divider bottom
113 R25 1 22.1K Yageo RC0402FR-0722K1L Resistor_SMD:R_0402_1005Metric SMT no TPS2121 4.5-A typical output limit
114 R26 1 15K Yageo RC0402FR-0715KL Resistor_SMD:R_0402_1005Metric SMT no TPS6287B mandatory >=15-kohm EN series resistor
115 R27 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT no Remote positive sense link at FPGA PDN
116 R28 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT no Remote ground sense link at FPGA PDN
117 R29 1 2.1K Yageo RC0402FR-072K1L Resistor_SMD:R_0402_1005Metric SMT no TPS6287B calculated compensation RZ
118 R30 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Core buck PG pull-up
119 R31 1 133K Yageo RC0402FR-07133KL Resistor_SMD:R_0402_1005Metric SMT no TPS62867 fixed 1.8 V VSET resistor
120 R32 1 205K Yageo RC0402FR-07205KL Resistor_SMD:R_0402_1005Metric SMT no TPS62867 fixed 3.3 V VSET resistor
121 R33,R34 2 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no LM3880 open-drain flag pull-up
122 R35 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no FPGA CRESET_N configuration-rail pull-up
123 R36 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT no Sequencer final-flag sense link
124 R37 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT no 1.8-V buck power-good sense link
125 R38 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT no 3.3-V buck power-good sense link
126 R39 1 0R Yageo RC0402JR-070RL Resistor_SMD:R_0402_1005Metric SMT no RF tuning series link
127 R40 1 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no Bias switch follows selected source
128 R41 1 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no No-jumper default OFF
129 R42 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Antenna overcurrent pull-up
130 R43 1 15K Yageo RC0402FR-0715KL Resistor_SMD:R_0402_1005Metric SMT no MAX2771 PLL loop-filter resistor
131 R44 1 33R Yageo RC0402FR-0733RL Resistor_SMD:R_0402_1005Metric SMT no 40-MHz ADC-clock source termination
132 R45,R46,R47,R48,R49,R50 6 22R Yageo RC0402FR-0722RL Resistor_SMD:R_0402_1005Metric SMT no MAX2771 source-series digital damping
133 R51,R52,R53,R54 4 22R Yageo RC0402FR-0722RL Resistor_SMD:R_0402_1005Metric SMT no MAX2771 serial/control source damping
134 R55 1 100K Yageo RC0402FR-07100KL Resistor_SMD:R_0402_1005Metric SMT no MAX2771 remains shut down before FPGA configuration
135 R56 1 33R Yageo RC0402FR-0733RL Resistor_SMD:R_0402_1005Metric SMT no 40-MHz FPGA-clock source termination
136 R57,R58,R59 3 22R Yageo RC0402FR-0722RL Resistor_SMD:R_0402_1005Metric SMT no SafeSPI source-series damping
137 R6 1 900K Yageo RC0402FR-07909KL Resistor_SMD:R_0402_1005Metric SMT no TUSB320 VBUS_DET current limiter
138 R60 1 22R Yageo RC0402FR-0722RL Resistor_SMD:R_0402_1005Metric SMT no SafeSPI MISO source damping at IMU
139 R61 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Hold IMU reset until FPGA releases it
140 R62 1 27R Yageo RC0402FR-0727RL Resistor_SMD:R_0402_1005Metric SMT no FTDI USB D+ series termination
141 R63 1 27R Yageo RC0402FR-0727RL Resistor_SMD:R_0402_1005Metric SMT no FTDI USB D- series termination
142 R64 1 12K Yageo RC0402FR-0712KL Resistor_SMD:R_0402_1005Metric SMT no FT4232H USB PHY reference resistor, 1%
143 R65 1 4.7K Yageo RC0402FR-074K7L Resistor_SMD:R_0402_1005Metric SMT no Self-powered VBUS-present reset divider top
144 R66 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Self-powered VBUS-present reset divider bottom
145 R67 1 33R Yageo RC0402FR-0733RL Resistor_SMD:R_0402_1005Metric SMT no FTDI oscillator source termination
146 R68 1 2.2K Yageo RC0402FR-072K2L Resistor_SMD:R_0402_1005Metric SMT no EEPROM shared-data isolation
147 R69 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no EEPROM DO pull-up
148 R7 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no TUSB320 open-drain OUT1 pull-up
149 R70,R71,R72,R73 4 33R Yageo RC0402FR-0733RL Resistor_SMD:R_0402_1005Metric SMT no FTDI interface-1 hard-JTAG source damping
150 R74,R90,R91,R92 4 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Efinix-required hard-JTAG weak pull-up
151 R75,R76,R77,R78,R79,R80,R81,R82,R83 9 33R Yageo RC0402FR-0733RL Resistor_SMD:R_0402_1005Metric SMT no FT4232H channel signal damping
152 R8 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no TUSB320 open-drain OUT2 pull-up
153 R84 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Configuration flash CS pull-up
154 R85 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Efinix mandatory TEST_N weak pull-up
155 R86 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Efinix mandatory CSI weak pull-up
156 R87,R88 2 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Configuration flash hold/write-protect pull-up
157 R89 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Efinix-required CDONE open-drain pull-up
158 R9 1 1M Yageo RC0402FR-071ML Resistor_SMD:R_0402_1005Metric SMT no USB shield bleed
159 R93,R94,R95,R96 4 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no RISC-V JTAG idle-state pull-up
160 R97 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no FTDI FPGA-reset request default release
161 R98 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no TPS3808 open-drain power-good pull-up
162 R99 1 10K Yageo RC0402FR-0710KL Resistor_SMD:R_0402_1005Metric SMT no Keep FTDI-to-FPGA buffers disabled until power-good
163 SW1 1 FPGA RESET Omron B3U-1000P Button_Switch_SMD:SW_SPST_B3U-1000P SMT no User-accessible momentary FPGA configuration reset
164 TP1 1 U7 FLT TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
165 TP10 1 3V3 TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
166 TP11 1 RF 3V0 TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
167 TP12 1 DIG 3V0 TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
168 TP13 1 CRESET_N TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
169 TP14 1 CDONE TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
170 TP15 1 GND TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
171 TP2 1 U8 FLT TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
172 TP3 1 ANT OC TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
173 TP4 1 USB VBUS TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
174 TP5 1 EXT 5V TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
175 TP6 1 SYS 5V TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
176 TP7 1 AUX 3V3 TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
177 TP8 1 CORE 0V95 TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
178 TP9 1 1V8 TestPoint:TestPoint_Pad_D1.0mm SMT no Local labelled SMT bring-up test pad
179 U1 1 Ti375C529C3 Efinix Ti375C529C3 Package_BGA:BGA-529_19x19mm_Layout23x23_P0.8mm SMT no Titanium Ti375 FPGA, commercial standard-power 0.95-V option, C529
180 U10 1 SN74LVC2G02 Texas Instruments SN74LVC2G02DCUR Package_SO:VSSOP-8_2.3x2mm_P0.5mm SMT no USB 3-A advertisement NOR decode and mux-status inversion
181 U11 1 SN74LVC1G32 Texas Instruments SN74LVC1G32DBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Main-rail enable OR: qualified 3-A USB or selected external 5 V
182 U12 1 TPS7A2033 Texas Instruments TPS7A2033PDBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Always-on 300-mA auxiliary 3.3-V LDO
183 U13 1 TPS6287B15HA0 Texas Instruments TPS6287B15HA0WRZVR board:Texas_RZV0024A_WQFN24 SMT no 15-A synchronous 0.95-V FPGA core/VCCA/VDD_SOC buck, fixed PWM
184 U14 1 TPS62867 1.8 V Texas Instruments TPS62867RQYR board:Texas_RQY0009A_VQFN9 SMT no 6-A synchronous 1.8 V FPGA auxiliary/I/O buck
185 U15 1 TPS62867 3.3 V Texas Instruments TPS62867RQYR board:Texas_RQY0009A_VQFN9 SMT no 6-A synchronous 3.3 V FPGA auxiliary/I/O buck
186 U16 1 LM3880-1AA Texas Instruments LM3880MF-1AA/NOPB Package_TO_SOT_SMD:SOT-23-6 SMT no Three-rail sequencer, 10-ms delay per rail
187 U17 1 TPS7A2030 Texas Instruments TPS7A2030PDBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Dedicated low-noise 3.0-V MAX2771 analog LDO
188 U18 1 TPS7A2030 Texas Instruments TPS7A2030PDBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Dedicated low-noise 3.0-V MAX2771 digital and FPGA-bank LDO
189 U19 1 TPS7A2030 Texas Instruments TPS7A2030PDBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Dedicated low-noise 3.0-V oscillator LDO
190 U2 1 FT4232H-56Q FTDI FT4232H-56Q-REEL board:FTDI_VQFN56_EP5p9 SMT no Quad high-speed USB bridge; all four channels assigned
191 U20 1 TPS7A2033 Texas Instruments TPS7A2033PDBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Clean 3.3-V active-antenna bias LDO
192 U21 1 MAX2771 Analog Devices MAX2771ETI+ Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.25x3.25mm SMT no GNSS receiver; both LNAs disabled; direct high-band mixer input
193 U22 1 SCH16T-K01-1 Murata SCH16T-K01-1 board:Murata_SCH16T_K01 SMT no Six-DoF SafeSPI IMU, exact K01-1 variant
194 U23 1 16.368 MHz TCXO Epson X1G005441030125 board:Epson_TG2016SMN SMT no TG2016SMN clipped-sine ±0.5-ppm MAX2771 reference
195 U24 1 40.000 MHz XO Epson X1G004171041100 Oscillator:Oscillator_SMD_SeikoEpson_SG210-4Pin_2.5x2.0mm SMT no SG-210STF ±25-ppm CMOS FPGA/system ADC oscillator
196 U25 1 12.000 MHz XO ECS ECS-2520MV-120-BN-TR Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm SMT no Current-production 12-MHz CMOS FT4232H clock
197 U26 1 512-Mbit QSPI flash ISSI IS25WP512M-JLLE Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm SMT no 1.8-V 512-Mbit FPGA active-serial configuration flash
198 U27 1 TPS22944 Texas Instruments TPS22944DCKR Package_TO_SOT_SMD:SOT-353_SC-70-5 SMT no Fixed 100-mA current-limited active-antenna load switch
199 U28 1 TPS3808G30 Texas Instruments TPS3808G30DBVR Package_TO_SOT_SMD:SOT-23-6 SMT no 3.0-V FPGA-bank supervisor; open-drain reset with 20-ms release delay
200 U29 1 SN74LVC244A Texas Instruments SN74LVC244APWR Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm SMT no Ioff-protected FPGA-input buffer; automatically isolates when FPGA 3.3 V is off
201 U3 1 93LC56B x16 Microchip 93LC56BT-I/OT Package_TO_SOT_SMD:SOT-23-6 SMT no FTDI descriptor/channel-mode EEPROM, fixed 16-bit organization
202 U30 1 SN74LVC1G125 Texas Instruments SN74LVC1G125DBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Ioff-protected tri-state debug-GPIO buffer powered from FPGA 3.3 V
203 U31 1 SN74LVC1G07 Texas Instruments SN74LVC1G07DBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Open-drain FTDI reset request into FPGA CRESET_N
204 U32 1 SN74LVC1G07 Texas Instruments SN74LVC1G07DBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Open-drain all-rail-valid translation into FPGA CRESET_N
205 U33 1 SN74LVC1G07 Texas Instruments SN74LVC1G07DBVR Package_TO_SOT_SMD:SOT-23-5 SMT no Open-drain external/manual reset isolation into FPGA CRESET_N
206 U34 1 SN74LVC08A Texas Instruments SN74LVC08APWR Package_SO:TSSOP-14_4.4x5mm_P0.65mm SMT no Always-on all-rail power-valid logic for reset release and debug isolation
207 U5 1 TUSB320LAI Texas Instruments TUSB320LAIRSW(R) Package_DFN_QFN:Texas_X2QFN-12_1.6x1.6mm_P0.4mm SMT no USB Type-C port controller in UFP GPIO mode; integrated Rd on CC1/CC2
208 U6 1 TPD2EUSB30A Texas Instruments TPD2EUSB30ADRTR Package_TO_SOT_SMD:Texas_DRT-3 SMT no Low-capacitance USB 2.0 ESD protection
209 U7,U8 2 TPS259470A Texas Instruments TPS259470ARPWR board:Texas_RPW0010A_QFN10 SMT no True-reverse-blocking eFuse; UV/OV/current/inrush protection
210 U9 1 TPS2121 Texas Instruments TPS2121RUXR board:Texas_RUX0012A_VQFN12 SMT no 4.5-A power mux; external input wins near-equal valid 5-V inputs
File diff suppressed because it is too large Load Diff
+12
View File
@@ -0,0 +1,12 @@
ERC report (2026-08-15T18:09:04, Encoding UTF8)
Report includes: Errors, Warnings, Exclusions
***** Sheet /
** ERC messages: 0 Errors 0 Warnings 0
** Ignored checks:
- Global label only appears once in the schematic
- Four connection points are joined together
- SPICE model issue
- Assigned footprint doesn't match footprint filters
+210
View File
@@ -0,0 +1,210 @@
Comment,Designator,Footprint,LCSC Part #,Manufacturer,Manufacturer Part Number,Quantity,Assembly Type,DNP
100nF,C1,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
47uF,"C10,C11",Capacitor_SMD:C_1210_3225Metric,,Murata,GRM32ER70J476ME19L,2,SMT,no
100nF,C100,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
1uF,C101,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
100nF,C102,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C103,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
1uF,C104,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
10uF,C105,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,1,SMT,no
1uF,C106,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
100nF,C107,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,"C108,C109",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,2,SMT,no
100nF,"C110,C111",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,2,SMT,no
1uF,C112,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
100nF,C113,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C114,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C115,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C116,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C117,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C118,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
1uF,C119,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
100nF,C12,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
4.7nF,C120,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H472KA01D,1,SMT,no
4.7nF,C121,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H472KA01D,1,SMT,no
100nF,C122,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C123,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C124,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C125,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C126,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C127,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C128,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
100nF,C13,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
1uF,C14,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C15,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1.8nF,C16,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H182KA01D,1,SMT,no
10pF,C17,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM1555C1H100JA01D,1,SMT,no
22uF,"C18,C19,C20,C21",Capacitor_SMD:C_1206_3216Metric,,Murata,GCM31CR71A226KE02L,4,SMT,no
4.7nF,C2,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H472KA01D,1,SMT,no
100uF,"C22,C23,C24,C25",Capacitor_SMD:C_1210_3225Metric,,Murata,GRT32EC70J107ME13L,4,SMT,no
10uF,"C26,C27",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,2,SMT,no
22uF,"C28,C29",Capacitor_SMD:C_0805_2012Metric,,Murata,GRM21BZ70J226ME44L,2,SMT,no
4.7nF,"C3,C6",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H472KA01D,2,SMT,no
10uF,"C30,C31",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,2,SMT,no
22uF,"C32,C33",Capacitor_SMD:C_0805_2012Metric,,Murata,GRM21BZ70J226ME44L,2,SMT,no
100nF,C34,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,1,SMT,no
1uF,C35,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C36,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C37,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C38,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C39,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,"C4,C7",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,2,SMT,no
1uF,C40,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C41,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C42,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
100nF,"C43,C44,C45,C46,C47,C48,C49,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C60",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,18,SMT,no
10uF,"C5,C8",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,2,SMT,no
10uF,"C61,C62,C63,C64",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,4,SMT,no
100nF,"C65,C66,C67,C68,C69,C70",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,6,SMT,no
10uF,"C71,C72",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,2,SMT,no
100nF,"C73,C74,C75,C76",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,4,SMT,no
10uF,C77,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,1,SMT,no
100nF,"C78,C79,C80,C81",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,4,SMT,no
10uF,C82,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM188R60J106ME47D,1,SMT,no
27pF,C83,board:Kyocera_600L_0402,,Murata,600L270JT200T,1,SMT,no
DNP,C84,Capacitor_SMD:C_0402_1005Metric,,Murata,,1,DNP,yes
DNP,C85,Capacitor_SMD:C_0402_1005Metric,,Murata,,1,DNP,yes
1uF,C86,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
1uF,C87,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
15pF,C88,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM1555C1H150JA01D,1,SMT,no
750pF,C89,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM1555C1H751JA01D,1,SMT,no
10nF,C9,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H103KA88D,1,SMT,no
10nF,C90,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71H103KA88D,1,SMT,no
100nF,"C91,C92,C93,C94,C95",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,5,SMT,no
1uF,C96,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
100nF,"C97,C98",Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R71A104KA01D,2,SMT,no
1uF,C99,Capacitor_SMD:C_0402_1005Metric,,Murata,GRM155R60J105KE19D,1,SMT,no
ESD501,D1,board:Texas_DPY0002A_X1SON,,Texas Instruments,ESD501DPYR,1,SMT,no
RESET ESD,D2,Diode_SMD:D_SOD-523,,onsemi,ESD5Z3.3T1G,1,SMT,no
600R@100MHz,FB1,Inductor_SMD:L_0402_1005Metric,,Murata,BLM15AG601SN1D,1,SMT,no
600R@100MHz,FB2,Inductor_SMD:L_0402_1005Metric,,Murata,BLM15AG601SN1D,1,SMT,no
600R@100MHz,FB3,Inductor_SMD:L_0402_1005Metric,,Murata,BLM15AG601SN1D,1,SMT,no
GPS L1/L1C SAW,FL1,board:Kyocera_SF14_5pad,,Kyocera,SF14-1582M5UUS2,1,SMT,no
USB-C USB2 sink,J1,Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal,,GCT,USB4105-GF-A-120,1,SMT,no
GPS L1 SMA,J2,Connector_Coaxial:SMA_Amphenol_132289_EdgeMount,,Amphenol RF,132289,1,THT,no
EXT_5V,J3,"TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal",,Phoenix Contact,1935161,1,THT,no
EXT RESET_N,J4,Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal,,JST,SM02B-SRSS-TB(LF)(SN),1,SMT,no
ANT BIAS OFF/3V3/5V,J5,Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical,,Wuerth Elektronik,61300311121,1,THT,no
PMOD 3.3 V,"JPMOD1,JPMOD2",board:Digilent_PMOD_2x6_P2.54mm,,Amphenol ICC,67997-412HLF,2,THT,no
PMOD 1.8 V,"JPMOD3,JPMOD4",board:Digilent_PMOD_2x6_P2.54mm,,Amphenol ICC,67997-412HLF,2,THT,no
100nH,L1,board:Coilcraft_XEL4030,,Coilcraft,XEL4030-101MEC,1,SMT,no
240nH,"L2,L3",board:Murata_DFE201612E,,Murata,DFE201612E-R24M=P2,2,SMT,no
56nH,L4,Inductor_SMD:L_0402_1005Metric,,Coilcraft,0402HPH-56NXJRW,1,SMT,no
MMBT3904,Q1,Package_TO_SOT_SMD:SOT-23,,onsemi,MMBT3904LT1G,1,SMT,no
10K,"R1,R2,R3,R4,R5",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,5,SMT,no
0R,R10,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,DNP,yes
10K,R100,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
100K,R101,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,1,SMT,no
10K,R102,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
1K,R103,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-071KL,1,SMT,no
10K,R104,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R105,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R106,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
232K,"R11,R16",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07232KL,2,SMT,no
100K,"R12,R17",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,2,SMT,no
383K,"R13,R18",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07383KL,2,SMT,no
100K,"R14,R19",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,2,SMT,no
1.24K,R15,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-071K24L,1,SMT,no
825R,R20,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07825RL,1,SMT,no
442K,R21,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07442KL,1,SMT,no
100K,R22,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,1,SMT,no
442K,R23,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07442KL,1,SMT,no
100K,R24,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,1,SMT,no
22.1K,R25,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0722K1L,1,SMT,no
15K,R26,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0715KL,1,SMT,no
0R,R27,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,SMT,no
0R,R28,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,SMT,no
2.1K,R29,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-072K1L,1,SMT,no
10K,R30,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
133K,R31,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07133KL,1,SMT,no
205K,R32,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07205KL,1,SMT,no
10K,"R33,R34",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,2,SMT,no
10K,R35,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
0R,R36,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,SMT,no
0R,R37,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,SMT,no
0R,R38,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,SMT,no
0R,R39,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402JR-070RL,1,SMT,no
100K,R40,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,1,SMT,no
100K,R41,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,1,SMT,no
10K,R42,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
15K,R43,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0715KL,1,SMT,no
33R,R44,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0733RL,1,SMT,no
22R,"R45,R46,R47,R48,R49,R50",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0722RL,6,SMT,no
22R,"R51,R52,R53,R54",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0722RL,4,SMT,no
100K,R55,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07100KL,1,SMT,no
33R,R56,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0733RL,1,SMT,no
22R,"R57,R58,R59",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0722RL,3,SMT,no
900K,R6,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-07909KL,1,SMT,no
22R,R60,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0722RL,1,SMT,no
10K,R61,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
27R,R62,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0727RL,1,SMT,no
27R,R63,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0727RL,1,SMT,no
12K,R64,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0712KL,1,SMT,no
4.7K,R65,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-074K7L,1,SMT,no
10K,R66,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
33R,R67,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0733RL,1,SMT,no
2.2K,R68,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-072K2L,1,SMT,no
10K,R69,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R7,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
33R,"R70,R71,R72,R73",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0733RL,4,SMT,no
10K,"R74,R90,R91,R92",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,4,SMT,no
33R,"R75,R76,R77,R78,R79,R80,R81,R82,R83",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0733RL,9,SMT,no
10K,R8,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R84,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R85,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R86,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,"R87,R88",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,2,SMT,no
10K,R89,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
1M,R9,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-071ML,1,SMT,no
10K,"R93,R94,R95,R96",Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,4,SMT,no
10K,R97,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R98,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
10K,R99,Resistor_SMD:R_0402_1005Metric,,Yageo,RC0402FR-0710KL,1,SMT,no
FPGA RESET,SW1,Button_Switch_SMD:SW_SPST_B3U-1000P,,Omron,B3U-1000P,1,SMT,no
U7 FLT,TP1,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
3V3,TP10,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
RF 3V0,TP11,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
DIG 3V0,TP12,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
CRESET_N,TP13,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
CDONE,TP14,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
GND,TP15,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
U8 FLT,TP2,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
ANT OC,TP3,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
USB VBUS,TP4,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
EXT 5V,TP5,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
SYS 5V,TP6,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
AUX 3V3,TP7,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
CORE 0V95,TP8,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
1V8,TP9,TestPoint:TestPoint_Pad_D1.0mm,,,,1,SMT,no
Ti375C529C3,U1,Package_BGA:BGA-529_19x19mm_Layout23x23_P0.8mm,,Efinix,Ti375C529C3,1,SMT,no
SN74LVC2G02,U10,Package_SO:VSSOP-8_2.3x2mm_P0.5mm,,Texas Instruments,SN74LVC2G02DCUR,1,SMT,no
SN74LVC1G32,U11,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,SN74LVC1G32DBVR,1,SMT,no
TPS7A2033,U12,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,TPS7A2033PDBVR,1,SMT,no
TPS6287B15HA0,U13,board:Texas_RZV0024A_WQFN24,,Texas Instruments,TPS6287B15HA0WRZVR,1,SMT,no
TPS62867 1.8 V,U14,board:Texas_RQY0009A_VQFN9,,Texas Instruments,TPS62867RQYR,1,SMT,no
TPS62867 3.3 V,U15,board:Texas_RQY0009A_VQFN9,,Texas Instruments,TPS62867RQYR,1,SMT,no
LM3880-1AA,U16,Package_TO_SOT_SMD:SOT-23-6,,Texas Instruments,LM3880MF-1AA/NOPB,1,SMT,no
TPS7A2030,U17,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,TPS7A2030PDBVR,1,SMT,no
TPS7A2030,U18,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,TPS7A2030PDBVR,1,SMT,no
TPS7A2030,U19,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,TPS7A2030PDBVR,1,SMT,no
FT4232H-56Q,U2,board:FTDI_VQFN56_EP5p9,,FTDI,FT4232H-56Q-REEL,1,SMT,no
TPS7A2033,U20,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,TPS7A2033PDBVR,1,SMT,no
MAX2771,U21,Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.25x3.25mm,,Analog Devices,MAX2771ETI+,1,SMT,no
SCH16T-K01-1,U22,board:Murata_SCH16T_K01,,Murata,SCH16T-K01-1,1,SMT,no
16.368 MHz TCXO,U23,board:Epson_TG2016SMN,,Epson,X1G005441030125,1,SMT,no
40.000 MHz XO,U24,Oscillator:Oscillator_SMD_SeikoEpson_SG210-4Pin_2.5x2.0mm,,Epson,X1G004171041100,1,SMT,no
12.000 MHz XO,U25,Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm,,ECS,ECS-2520MV-120-BN-TR,1,SMT,no
512-Mbit QSPI flash,U26,Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm,,ISSI,IS25WP512M-JLLE,1,SMT,no
TPS22944,U27,Package_TO_SOT_SMD:SOT-353_SC-70-5,,Texas Instruments,TPS22944DCKR,1,SMT,no
TPS3808G30,U28,Package_TO_SOT_SMD:SOT-23-6,,Texas Instruments,TPS3808G30DBVR,1,SMT,no
SN74LVC244A,U29,Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm,,Texas Instruments,SN74LVC244APWR,1,SMT,no
93LC56B x16,U3,Package_TO_SOT_SMD:SOT-23-6,,Microchip,93LC56BT-I/OT,1,SMT,no
SN74LVC1G125,U30,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,SN74LVC1G125DBVR,1,SMT,no
SN74LVC1G07,U31,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,SN74LVC1G07DBVR,1,SMT,no
SN74LVC1G07,U32,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,SN74LVC1G07DBVR,1,SMT,no
SN74LVC1G07,U33,Package_TO_SOT_SMD:SOT-23-5,,Texas Instruments,SN74LVC1G07DBVR,1,SMT,no
SN74LVC08A,U34,Package_SO:TSSOP-14_4.4x5mm_P0.65mm,,Texas Instruments,SN74LVC08APWR,1,SMT,no
TUSB320LAI,U5,Package_DFN_QFN:Texas_X2QFN-12_1.6x1.6mm_P0.4mm,,Texas Instruments,TUSB320LAIRSW(R),1,SMT,no
TPD2EUSB30A,U6,Package_TO_SOT_SMD:Texas_DRT-3,,Texas Instruments,TPD2EUSB30ADRTR,1,SMT,no
TPS259470A,"U7,U8",board:Texas_RPW0010A_QFN10,,Texas Instruments,TPS259470ARPWR,2,SMT,no
TPS2121,U9,board:Texas_RUX0012A_VQFN12,,Texas Instruments,TPS2121RUXR,1,SMT,no
1 Comment Designator Footprint LCSC Part # Manufacturer Manufacturer Part Number Quantity Assembly Type DNP
2 100nF C1 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
3 47uF C10,C11 Capacitor_SMD:C_1210_3225Metric Murata GRM32ER70J476ME19L 2 SMT no
4 100nF C100 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
5 1uF C101 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
6 100nF C102 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
7 100nF C103 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
8 1uF C104 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
9 10uF C105 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 1 SMT no
10 1uF C106 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
11 100nF C107 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
12 100nF C108,C109 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 2 SMT no
13 100nF C110,C111 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 2 SMT no
14 1uF C112 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
15 100nF C113 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
16 100nF C114 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
17 100nF C115 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
18 100nF C116 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
19 100nF C117 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
20 100nF C118 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
21 1uF C119 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
22 100nF C12 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
23 4.7nF C120 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H472KA01D 1 SMT no
24 4.7nF C121 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H472KA01D 1 SMT no
25 100nF C122 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
26 100nF C123 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
27 100nF C124 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
28 100nF C125 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
29 100nF C126 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
30 100nF C127 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
31 100nF C128 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
32 100nF C13 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
33 1uF C14 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
34 1uF C15 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
35 1.8nF C16 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H182KA01D 1 SMT no
36 10pF C17 Capacitor_SMD:C_0402_1005Metric Murata GRM1555C1H100JA01D 1 SMT no
37 22uF C18,C19,C20,C21 Capacitor_SMD:C_1206_3216Metric Murata GCM31CR71A226KE02L 4 SMT no
38 4.7nF C2 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H472KA01D 1 SMT no
39 100uF C22,C23,C24,C25 Capacitor_SMD:C_1210_3225Metric Murata GRT32EC70J107ME13L 4 SMT no
40 10uF C26,C27 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 2 SMT no
41 22uF C28,C29 Capacitor_SMD:C_0805_2012Metric Murata GRM21BZ70J226ME44L 2 SMT no
42 4.7nF C3,C6 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H472KA01D 2 SMT no
43 10uF C30,C31 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 2 SMT no
44 22uF C32,C33 Capacitor_SMD:C_0805_2012Metric Murata GRM21BZ70J226ME44L 2 SMT no
45 100nF C34 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 1 SMT no
46 1uF C35 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
47 1uF C36 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
48 1uF C37 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
49 1uF C38 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
50 1uF C39 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
51 1uF C4,C7 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 2 SMT no
52 1uF C40 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
53 1uF C41 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
54 1uF C42 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
55 100nF C43,C44,C45,C46,C47,C48,C49,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C60 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 18 SMT no
56 10uF C5,C8 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 2 SMT no
57 10uF C61,C62,C63,C64 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 4 SMT no
58 100nF C65,C66,C67,C68,C69,C70 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 6 SMT no
59 10uF C71,C72 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 2 SMT no
60 100nF C73,C74,C75,C76 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 4 SMT no
61 10uF C77 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 1 SMT no
62 100nF C78,C79,C80,C81 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 4 SMT no
63 10uF C82 Capacitor_SMD:C_0402_1005Metric Murata GRM188R60J106ME47D 1 SMT no
64 27pF C83 board:Kyocera_600L_0402 Murata 600L270JT200T 1 SMT no
65 DNP C84 Capacitor_SMD:C_0402_1005Metric Murata 1 DNP yes
66 DNP C85 Capacitor_SMD:C_0402_1005Metric Murata 1 DNP yes
67 1uF C86 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
68 1uF C87 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
69 15pF C88 Capacitor_SMD:C_0402_1005Metric Murata GRM1555C1H150JA01D 1 SMT no
70 750pF C89 Capacitor_SMD:C_0402_1005Metric Murata GRM1555C1H751JA01D 1 SMT no
71 10nF C9 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H103KA88D 1 SMT no
72 10nF C90 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71H103KA88D 1 SMT no
73 100nF C91,C92,C93,C94,C95 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 5 SMT no
74 1uF C96 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
75 100nF C97,C98 Capacitor_SMD:C_0402_1005Metric Murata GRM155R71A104KA01D 2 SMT no
76 1uF C99 Capacitor_SMD:C_0402_1005Metric Murata GRM155R60J105KE19D 1 SMT no
77 ESD501 D1 board:Texas_DPY0002A_X1SON Texas Instruments ESD501DPYR 1 SMT no
78 RESET ESD D2 Diode_SMD:D_SOD-523 onsemi ESD5Z3.3T1G 1 SMT no
79 600R@100MHz FB1 Inductor_SMD:L_0402_1005Metric Murata BLM15AG601SN1D 1 SMT no
80 600R@100MHz FB2 Inductor_SMD:L_0402_1005Metric Murata BLM15AG601SN1D 1 SMT no
81 600R@100MHz FB3 Inductor_SMD:L_0402_1005Metric Murata BLM15AG601SN1D 1 SMT no
82 GPS L1/L1C SAW FL1 board:Kyocera_SF14_5pad Kyocera SF14-1582M5UUS2 1 SMT no
83 USB-C USB2 sink J1 Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal GCT USB4105-GF-A-120 1 SMT no
84 GPS L1 SMA J2 Connector_Coaxial:SMA_Amphenol_132289_EdgeMount Amphenol RF 132289 1 THT no
85 EXT_5V J3 TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal Phoenix Contact 1935161 1 THT no
86 EXT RESET_N J4 Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal JST SM02B-SRSS-TB(LF)(SN) 1 SMT no
87 ANT BIAS OFF/3V3/5V J5 Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical Wuerth Elektronik 61300311121 1 THT no
88 PMOD 3.3 V JPMOD1,JPMOD2 board:Digilent_PMOD_2x6_P2.54mm Amphenol ICC 67997-412HLF 2 THT no
89 PMOD 1.8 V JPMOD3,JPMOD4 board:Digilent_PMOD_2x6_P2.54mm Amphenol ICC 67997-412HLF 2 THT no
90 100nH L1 board:Coilcraft_XEL4030 Coilcraft XEL4030-101MEC 1 SMT no
91 240nH L2,L3 board:Murata_DFE201612E Murata DFE201612E-R24M=P2 2 SMT no
92 56nH L4 Inductor_SMD:L_0402_1005Metric Coilcraft 0402HPH-56NXJRW 1 SMT no
93 MMBT3904 Q1 Package_TO_SOT_SMD:SOT-23 onsemi MMBT3904LT1G 1 SMT no
94 10K R1,R2,R3,R4,R5 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 5 SMT no
95 0R R10 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 DNP yes
96 10K R100 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
97 100K R101 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 1 SMT no
98 10K R102 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
99 1K R103 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-071KL 1 SMT no
100 10K R104 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
101 10K R105 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
102 10K R106 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
103 232K R11,R16 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07232KL 2 SMT no
104 100K R12,R17 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 2 SMT no
105 383K R13,R18 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07383KL 2 SMT no
106 100K R14,R19 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 2 SMT no
107 1.24K R15 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-071K24L 1 SMT no
108 825R R20 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07825RL 1 SMT no
109 442K R21 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07442KL 1 SMT no
110 100K R22 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 1 SMT no
111 442K R23 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07442KL 1 SMT no
112 100K R24 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 1 SMT no
113 22.1K R25 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0722K1L 1 SMT no
114 15K R26 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0715KL 1 SMT no
115 0R R27 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 SMT no
116 0R R28 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 SMT no
117 2.1K R29 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-072K1L 1 SMT no
118 10K R30 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
119 133K R31 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07133KL 1 SMT no
120 205K R32 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07205KL 1 SMT no
121 10K R33,R34 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 2 SMT no
122 10K R35 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
123 0R R36 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 SMT no
124 0R R37 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 SMT no
125 0R R38 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 SMT no
126 0R R39 Resistor_SMD:R_0402_1005Metric Yageo RC0402JR-070RL 1 SMT no
127 100K R40 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 1 SMT no
128 100K R41 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 1 SMT no
129 10K R42 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
130 15K R43 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0715KL 1 SMT no
131 33R R44 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0733RL 1 SMT no
132 22R R45,R46,R47,R48,R49,R50 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0722RL 6 SMT no
133 22R R51,R52,R53,R54 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0722RL 4 SMT no
134 100K R55 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07100KL 1 SMT no
135 33R R56 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0733RL 1 SMT no
136 22R R57,R58,R59 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0722RL 3 SMT no
137 900K R6 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-07909KL 1 SMT no
138 22R R60 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0722RL 1 SMT no
139 10K R61 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
140 27R R62 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0727RL 1 SMT no
141 27R R63 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0727RL 1 SMT no
142 12K R64 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0712KL 1 SMT no
143 4.7K R65 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-074K7L 1 SMT no
144 10K R66 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
145 33R R67 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0733RL 1 SMT no
146 2.2K R68 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-072K2L 1 SMT no
147 10K R69 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
148 10K R7 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
149 33R R70,R71,R72,R73 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0733RL 4 SMT no
150 10K R74,R90,R91,R92 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 4 SMT no
151 33R R75,R76,R77,R78,R79,R80,R81,R82,R83 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0733RL 9 SMT no
152 10K R8 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
153 10K R84 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
154 10K R85 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
155 10K R86 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
156 10K R87,R88 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 2 SMT no
157 10K R89 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
158 1M R9 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-071ML 1 SMT no
159 10K R93,R94,R95,R96 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 4 SMT no
160 10K R97 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
161 10K R98 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
162 10K R99 Resistor_SMD:R_0402_1005Metric Yageo RC0402FR-0710KL 1 SMT no
163 FPGA RESET SW1 Button_Switch_SMD:SW_SPST_B3U-1000P Omron B3U-1000P 1 SMT no
164 U7 FLT TP1 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
165 3V3 TP10 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
166 RF 3V0 TP11 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
167 DIG 3V0 TP12 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
168 CRESET_N TP13 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
169 CDONE TP14 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
170 GND TP15 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
171 U8 FLT TP2 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
172 ANT OC TP3 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
173 USB VBUS TP4 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
174 EXT 5V TP5 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
175 SYS 5V TP6 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
176 AUX 3V3 TP7 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
177 CORE 0V95 TP8 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
178 1V8 TP9 TestPoint:TestPoint_Pad_D1.0mm 1 SMT no
179 Ti375C529C3 U1 Package_BGA:BGA-529_19x19mm_Layout23x23_P0.8mm Efinix Ti375C529C3 1 SMT no
180 SN74LVC2G02 U10 Package_SO:VSSOP-8_2.3x2mm_P0.5mm Texas Instruments SN74LVC2G02DCUR 1 SMT no
181 SN74LVC1G32 U11 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments SN74LVC1G32DBVR 1 SMT no
182 TPS7A2033 U12 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments TPS7A2033PDBVR 1 SMT no
183 TPS6287B15HA0 U13 board:Texas_RZV0024A_WQFN24 Texas Instruments TPS6287B15HA0WRZVR 1 SMT no
184 TPS62867 1.8 V U14 board:Texas_RQY0009A_VQFN9 Texas Instruments TPS62867RQYR 1 SMT no
185 TPS62867 3.3 V U15 board:Texas_RQY0009A_VQFN9 Texas Instruments TPS62867RQYR 1 SMT no
186 LM3880-1AA U16 Package_TO_SOT_SMD:SOT-23-6 Texas Instruments LM3880MF-1AA/NOPB 1 SMT no
187 TPS7A2030 U17 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments TPS7A2030PDBVR 1 SMT no
188 TPS7A2030 U18 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments TPS7A2030PDBVR 1 SMT no
189 TPS7A2030 U19 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments TPS7A2030PDBVR 1 SMT no
190 FT4232H-56Q U2 board:FTDI_VQFN56_EP5p9 FTDI FT4232H-56Q-REEL 1 SMT no
191 TPS7A2033 U20 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments TPS7A2033PDBVR 1 SMT no
192 MAX2771 U21 Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.25x3.25mm Analog Devices MAX2771ETI+ 1 SMT no
193 SCH16T-K01-1 U22 board:Murata_SCH16T_K01 Murata SCH16T-K01-1 1 SMT no
194 16.368 MHz TCXO U23 board:Epson_TG2016SMN Epson X1G005441030125 1 SMT no
195 40.000 MHz XO U24 Oscillator:Oscillator_SMD_SeikoEpson_SG210-4Pin_2.5x2.0mm Epson X1G004171041100 1 SMT no
196 12.000 MHz XO U25 Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm ECS ECS-2520MV-120-BN-TR 1 SMT no
197 512-Mbit QSPI flash U26 Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm ISSI IS25WP512M-JLLE 1 SMT no
198 TPS22944 U27 Package_TO_SOT_SMD:SOT-353_SC-70-5 Texas Instruments TPS22944DCKR 1 SMT no
199 TPS3808G30 U28 Package_TO_SOT_SMD:SOT-23-6 Texas Instruments TPS3808G30DBVR 1 SMT no
200 SN74LVC244A U29 Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm Texas Instruments SN74LVC244APWR 1 SMT no
201 93LC56B x16 U3 Package_TO_SOT_SMD:SOT-23-6 Microchip 93LC56BT-I/OT 1 SMT no
202 SN74LVC1G125 U30 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments SN74LVC1G125DBVR 1 SMT no
203 SN74LVC1G07 U31 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments SN74LVC1G07DBVR 1 SMT no
204 SN74LVC1G07 U32 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments SN74LVC1G07DBVR 1 SMT no
205 SN74LVC1G07 U33 Package_TO_SOT_SMD:SOT-23-5 Texas Instruments SN74LVC1G07DBVR 1 SMT no
206 SN74LVC08A U34 Package_SO:TSSOP-14_4.4x5mm_P0.65mm Texas Instruments SN74LVC08APWR 1 SMT no
207 TUSB320LAI U5 Package_DFN_QFN:Texas_X2QFN-12_1.6x1.6mm_P0.4mm Texas Instruments TUSB320LAIRSW(R) 1 SMT no
208 TPD2EUSB30A U6 Package_TO_SOT_SMD:Texas_DRT-3 Texas Instruments TPD2EUSB30ADRTR 1 SMT no
209 TPS259470A U7,U8 board:Texas_RPW0010A_QFN10 Texas Instruments TPS259470ARPWR 2 SMT no
210 TPS2121 U9 board:Texas_RUX0012A_VQFN12 Texas Instruments TPS2121RUXR 1 SMT no
+22
View File
@@ -0,0 +1,22 @@
# Referanslar
Tasarım kararları Efinix Ti375 datasheet/konfigürasyon notları ve development
board şeması; MAX2771, SCH16T, FT4232H ve güç komponentlerinin üretici
datasheetleri; ayrıca JLCPCB JLC08161H-3313 stackup verileri kullanılarak alındı.
Üretici PDF'leri boyut, lisans ve sürüm eskimesi nedeniyle Git deposuna dahil
edilmez. Lokal `references/official/` klasörü çalışma kopyasında bulunabilir.
Yeni karar alınırken üreticinin güncel resmi dokümanı kontrol edilmelidir.
`jlcpcb/` altındaki JSON dosyaları seçilen üretim stackup'ının yerel hesap ve
karşılaştırma verileridir. Kontrollü empedans üretim siparişinde üreticinin
güncel stackup tablosuyla tekrar doğrulanmalıdır.
Temel resmi kaynaklar:
- Efinix Titanium Ti375 Datasheet: <https://www.efinixinc.com/docs/titanium375-ds-v1.7.pdf>
- Efinix Titanium Configuration Guide: <https://www.efinixinc.com/docs/an033-configuring-titanium-fpgas-v3.1.pdf>
- Efinix Ti375 C529 Development Kit Guide: <https://www.efinixinc.com/docs/ti375c529-devkit-ug-v1.6.pdf>
- Texas Instruments ürün/datasheet araması: <https://www.ti.com/>
- Analog Devices MAX2771: <https://www.analog.com/en/products/max2771.html>
- Murata SCH16T-K01: <https://www.murata.com/en-global/products/sensor/gyro/overview/lineup/sch16t-k01>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"success":true,"code":200,"message":null,"errorCode":null,"data":[{"impedanceConfigCoverlayId":560413206669881346,"systemCopperThickness":1.00,"coatingAboveSubstrate":1.00,"coatingAboveTrace":0.60,"coatingBetweenTraces":1.00,"layerType":1,"baseCopperThickness":0.33},{"impedanceConfigCoverlayId":560413206669881349,"systemCopperThickness":1.00,"coatingAboveSubstrate":1.00,"coatingAboveTrace":0.60,"coatingBetweenTraces":1.00,"layerType":1,"baseCopperThickness":0.50},{"impedanceConfigCoverlayId":560413206669881352,"systemCopperThickness":0.50,"coatingAboveSubstrate":1.00,"coatingAboveTrace":0.60,"coatingBetweenTraces":1.00,"layerType":2,"baseCopperThickness":0.50},{"impedanceConfigCoverlayId":560413206669881355,"systemCopperThickness":1.50,"coatingAboveSubstrate":1.00,"coatingAboveTrace":0.60,"coatingBetweenTraces":1.00,"layerType":1,"baseCopperThickness":1.00},{"impedanceConfigCoverlayId":560413206669881358,"systemCopperThickness":1.00,"coatingAboveSubstrate":1.00,"coatingAboveTrace":0.60,"coatingBetweenTraces":1.00,"layerType":2,"baseCopperThickness":1.00},{"impedanceConfigCoverlayId":560413206669881361,"systemCopperThickness":2.00,"coatingAboveSubstrate":1.20,"coatingAboveTrace":0.80,"coatingBetweenTraces":1.20,"layerType":1,"baseCopperThickness":1.50},{"impedanceConfigCoverlayId":560413206669881364,"systemCopperThickness":1.50,"coatingAboveSubstrate":1.00,"coatingAboveTrace":0.60,"coatingBetweenTraces":1.00,"layerType":2,"baseCopperThickness":1.50},{"impedanceConfigCoverlayId":560413206669881367,"systemCopperThickness":2.50,"coatingAboveSubstrate":1.20,"coatingAboveTrace":0.80,"coatingBetweenTraces":1.20,"layerType":1,"baseCopperThickness":2.00},{"impedanceConfigCoverlayId":560413206669881370,"systemCopperThickness":2.00,"coatingAboveSubstrate":1.20,"coatingAboveTrace":0.80,"coatingBetweenTraces":1.20,"layerType":2,"baseCopperThickness":2.00}]}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"success":true,"code":200,"message":null,"errorCode":null,"data":[{"impedanceConfigCopperTraceWidthId":560411994507636740,"baseCopperThickness":0.33,"systemCopperThickness":1.00,"traceCopperThickness":1.20,"traceWidthDelta":0.50,"layerType":1},{"impedanceConfigCopperTraceWidthId":560411994507636743,"baseCopperThickness":0.50,"systemCopperThickness":1.00,"traceCopperThickness":1.60,"traceWidthDelta":0.50,"layerType":1},{"impedanceConfigCopperTraceWidthId":560411994507636746,"baseCopperThickness":1.00,"systemCopperThickness":1.50,"traceCopperThickness":2.20,"traceWidthDelta":1.00,"layerType":1},{"impedanceConfigCopperTraceWidthId":560411994507636749,"baseCopperThickness":1.50,"systemCopperThickness":2.00,"traceCopperThickness":2.85,"traceWidthDelta":1.00,"layerType":1},{"impedanceConfigCopperTraceWidthId":560411994507636752,"baseCopperThickness":2.00,"systemCopperThickness":2.50,"traceCopperThickness":3.50,"traceWidthDelta":1.20,"layerType":1},{"impedanceConfigCopperTraceWidthId":560411994507636755,"baseCopperThickness":2.00,"systemCopperThickness":2.00,"traceCopperThickness":2.50,"traceWidthDelta":1.20,"layerType":2},{"impedanceConfigCopperTraceWidthId":560411994507636758,"baseCopperThickness":1.50,"systemCopperThickness":1.50,"traceCopperThickness":1.90,"traceWidthDelta":1.00,"layerType":2},{"impedanceConfigCopperTraceWidthId":560411994507636761,"baseCopperThickness":1.00,"systemCopperThickness":1.00,"traceCopperThickness":1.20,"traceWidthDelta":0.80,"layerType":2},{"impedanceConfigCopperTraceWidthId":560411994507636764,"baseCopperThickness":0.50,"systemCopperThickness":0.50,"traceCopperThickness":0.60,"traceWidthDelta":0.50,"layerType":2}]}
+1
View File
@@ -0,0 +1 @@
kiutils==1.4.8
+144
View File
@@ -0,0 +1,144 @@
# Üretim, doğrulama ve routing akışı
## Gereksinimler
- KiCad 10.x ve `kicad-cli`.
- KiCad ile aynı sürümden `/usr/bin/python3` ve `pcbnew` modülü.
- Python paketleri: `pip install -r requirements.txt`.
- Yoğun sinyal routing aşaması için isteğe bağlı Freerouting 2.3.x.
`pcbnew` kullanan scriptler sistem Python'u ile çalıştırılmalıdır. Normal
Python ortamına yalnızca `pip install pcbnew` yapmak KiCad ABI uyumluluğunu
garanti etmez.
## Dosya üretim sırası
Repository kökünden:
```bash
python3 scripts/generate_footprints.py
python3 scripts/generate_kicad.py
python3 scripts/generate_design_tables.py
/usr/bin/python3 scripts/generate_pcb.py
```
Bu sıralama:
1. Özel footprintleri üretir.
2. `design_data.py` üzerinden şema hiyerarşisini ve BOM'u üretir.
3. Efinity C529 paket verisine karşı pin tablolarını doğrular ve üretir.
4. 8 katmanlı stackup, kurallar, zone'lar ve placement ile PCB'yi üretir.
`design_data.py` çalıştırıldığında dahili bağlantı assertion'ları da yürütülür:
```bash
python3 scripts/design_data.py
```
## Şema ve placement doğrulaması
```bash
kicad-cli sch erc --severity-all \
-o outputs/erc_final_reset.rpt hardware/board.kicad_sch
kicad-cli pcb drc --severity-all \
-o outputs/drc_final_placement.rpt hardware/board.kicad_pcb
```
Unrouted placement aşamasında unconnected-pad ve isolated-zone kayıtları
beklenir. Clearance, short, courtyard, solder-mask, edge ve footprint hataları
beklenmez.
## Routing sırası
### 1. BGA escape
```bash
/usr/bin/python3 scripts/preroute_bga.py \
hardware/board.kicad_pcb hardware/board_prerouted.kicad_pcb
```
Ti375'in bağlı ball'larına kilitli 0.8 mm pitch dogbone/via escape ekler.
### 2. Yerel plane bağlantıları
```bash
/usr/bin/python3 scripts/stitch_plane_pads.py \
hardware/board_prerouted.kicad_pcb \
hardware/board_plane_stitched.kicad_pcb
```
Yalnızca altında gerçekten aynı nete ait dolu plane bulunan SMD güç/GND
padlerini kısa dogbone ile bağlar. Bu işlem yüksek akım buck loop routinginin
yerini tutmaz.
### 3. Güç katı
KiCad içinde önce aşağıdaki hatlar elle route edilmelidir:
- TPS6287B15 giriş kapasitörü, SW, indüktör, çıkış kapasitörü ve remote-sense.
- TPS62867 1.8 V ve 3.3 V converter loopları.
- SYS5 dağıtımı ve ana güç geçişleri.
- LDO giriş/çıkış bypass bağlantıları.
SW node bakırı küçük tutulmalı; feedback/sense hatları SW ve indüktörden uzak,
Kelvin bağlantılı götürülmelidir. Autorouter bu kararları vermez.
### 4. Freerouting için sınıf bazlı DSN
```bash
/usr/bin/python3 scripts/export_routing_stage.py \
hardware/board_plane_stitched.kicad_pcb outputs/signal_stage.dsn \
--classes "Default;BGA_ESCAPE;CLOCK" \
--preview outputs/signal_stage_preview.kicad_pcb
python3 scripts/prepare_freerouting_dsn.py \
outputs/signal_stage.dsn outputs/signal_stage_freerouting.dsn
```
İkinci script Freerouting 2.3.0/KiCad 10 DSN clearance ölçek farkını düzeltir;
koordinatlara, track genişliklerine, via veya keepoutlara dokunmaz. Freerouting
arayüzünde düzeltilmiş DSN açılır, en fazla 8 thread kullanılır ve sonuç `.ses`
olarak kaydedilir.
RF, USB, güç converter loopları ve hassas clock kararları otomatik sonuca
bırakılmamalıdır. `to route` sayısının uzun süre düşmemesi halinde aynı işlemi
saatlerce sürdürmek yerine placement/escape/keepout çatışması incelenmelidir.
### 5. Kritik hatları kur ve session'ı sonlandır
```bash
/usr/bin/python3 scripts/finalize_routing.py \
outputs/signal_stage.ses \
--output hardware/board_routed.kicad_pcb
```
Bu işlem Freerouter'ın RF ve USB üzerindeki copperını kaldırır, denetlenmiş
RF/USB geometrisini ekler, RF GND via fence'i kurar ve zone'ları doldurur.
### 6. Final kontroller
```bash
kicad-cli pcb drc --severity-all --schematic-parity --refill-zones \
--save-board -o outputs/drc_final_routed.rpt \
hardware/board_routed.kicad_pcb
```
Final kartta unconnected item, short, clearance, isolated copper veya
schematic-parity hatası kabul edilmez. RF uzunlukları, USB eşleşmesi, güç
loopları, return path ve test-point erişimi görsel olarak da incelenmelidir.
## Script özeti
| Script | Görev |
|---|---|
| `design_data.py` | Tek kaynak komponent/net verisi ve bağlantı assertion'ları |
| `generate_footprints.py` | Üretici land-patternlerinden özel footprint üretimi |
| `generate_kicad.py` | Şema, sembol ve BOM üretimi |
| `generate_design_tables.py` | Ti375 pinout/constraint ve MAX2771 tablo üretimi |
| `generate_pcb.py` | Stackup, rule, zone ve deterministic placement üretimi |
| `preroute_bga.py` | Kilitli Ti375 dogbone escape |
| `stitch_plane_pads.py` | Yerel pad-to-plane bağlantıları |
| `export_routing_stage.py` | Seçili net-class için DSN üretimi |
| `prepare_freerouting_dsn.py` | Freerouting 2.3 clearance düzeltmesi |
| `finalize_routing.py` | SES importu ve denetlenmiş RF/USB geometrisi |
+794
View File
@@ -0,0 +1,794 @@
#!/usr/bin/env python3
"""Single-source component and connectivity data for the GNSS/IMU FPGA PCB.
Generated KiCad, BOM, pinout, and assembly data import this module. Ti375 ball
data comes from the Efinity 2025.2 C529 resource DB, never a hand transcription.
"""
from __future__ import annotations
import csv
from dataclasses import dataclass, field
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
@dataclass
class Pin:
number: str
name: str
net: str | None
etype: str = "passive"
@dataclass
class Component:
ref: str
value: str
mpn: str
manufacturer: str
footprint: str
pins: list[Pin]
description: str = ""
assembly: str = "SMT"
dnp: bool = False
fields: dict[str, str] = field(default_factory=dict)
def p(number: str | int, name: str, net: str | None, etype: str = "passive") -> Pin:
return Pin(str(number), name, net, etype)
components: list[Component] = []
_refs = {"R": 0, "C": 0, "L": 0, "FB": 0, "TP": 0}
def add(component: Component) -> Component:
assert not any(c.ref == component.ref for c in components), component.ref
components.append(component)
return component
def two_pin(prefix: str, value: str, mpn: str, manufacturer: str,
footprint: str, net1: str, net2: str, description: str,
*, dnp: bool = False, ref: str | None = None) -> Component:
if ref is None:
_refs[prefix] += 1
ref = f"{prefix}{_refs[prefix]}"
return add(Component(ref, value, mpn, manufacturer, footprint,
[p(1, "1", net1), p(2, "2", net2)],
description, dnp=dnp))
def r(value: str, net1: str, net2: str, *, mpn: str = "",
description: str = "Resistor", dnp: bool = False) -> Component:
values = {
"0R": "RC0402JR-070RL", "22R": "RC0402FR-0722RL",
"27R": "RC0402FR-0727RL", "33R": "RC0402FR-0733RL",
"825R": "RC0402FR-07825RL", "1K": "RC0402FR-071KL", "1.24K": "RC0402FR-071K24L",
"2.1K": "RC0402FR-072K1L", "2.2K": "RC0402FR-072K2L",
"4.7K": "RC0402FR-074K7L", "10K": "RC0402FR-0710KL",
"12K": "RC0402FR-0712KL", "15K": "RC0402FR-0715KL",
"22.1K": "RC0402FR-0722K1L", "100K": "RC0402FR-07100KL",
"133K": "RC0402FR-07133KL", "205K": "RC0402FR-07205KL",
"232K": "RC0402FR-07232KL", "383K": "RC0402FR-07383KL",
"442K": "RC0402FR-07442KL", "900K": "RC0402FR-07909KL",
"1M": "RC0402FR-071ML",
}
return two_pin("R", value, mpn or values.get(value, ""), "Yageo",
"Resistor_SMD:R_0402_1005Metric", net1, net2, description,
dnp=dnp)
def c(value: str, net1: str, net2: str, *, mpn: str = "",
footprint: str = "Capacitor_SMD:C_0402_1005Metric",
description: str = "MLCC", dnp: bool = False) -> Component:
values = {
"10pF": "GRM1555C1H100JA01D", "15pF": "GRM1555C1H150JA01D",
"27pF": "600L270JT200T", "750pF": "GRM1555C1H751JA01D",
"1.8nF": "GRM155R71H182KA01D", "4.7nF": "GRM155R71H472KA01D",
"10nF": "GRM155R71H103KA88D", "100nF": "GRM155R71A104KA01D",
"470nF": "GCM155C71A474KE36D", "1uF": "GRM155R60J105KE19D",
"10uF": "GRM188R60J106ME47D", "22uF": "GRM21BZ70J226ME44L",
"47uF": "GRM32ER70J476ME19L", "100uF": "GRT32EC70J107ME13L",
}
return two_pin("C", value, mpn or values.get(value, ""), "Murata",
footprint, net1, net2, description, dnp=dnp)
def tp(net: str, label: str) -> Component:
_refs["TP"] += 1
return add(Component(f"TP{_refs['TP']}", label, "", "",
"TestPoint:TestPoint_Pad_D1.0mm",
[p(1, label, net)], "Local labelled SMT bring-up test pad", "SMT"))
def add_ic(ref: str, value: str, mpn: str, manufacturer: str, footprint: str,
pins: list[Pin], description: str) -> Component:
return add(Component(ref, value, mpn, manufacturer, footprint, pins, description))
# Ti375 C529: represent every package ball exactly once.
pinout = {row["ball"]: row for row in csv.DictReader(
(ROOT / "docs" / "ti375_pinout.csv").open(newline=""))}
package = list(csv.DictReader((ROOT / "docs" / "ti375_c529_package.csv").open(newline="")))
def fpga_net(row: dict[str, str]) -> str | None:
ball = row["ball"]
if ball in pinout:
return pinout[ball]["signal"]
name = row["official_pad_name"]
if name in ("GND", "VQPS"):
return "GND"
if name == "VCC" or name.startswith("VCCA_") or name == "VDD_SOC":
return "VCC0V95"
if name == "VCCAUX":
return "VCC1V8"
vccio = {
"VCCIO4C": "VCC1V8", "VCCIO4A_4B": "VCC1V8", "VCCIO4D": "VCC1V8",
"VCCIO2A": "VCC1V8", "VCCIO2B": "VCC1V8", "VCCIO2C": "VCC1V8",
"VCCIO2D": "VCC1V8", "VCCIO2E": "VCC1V8",
"VCCIO33_BR0": "VCC3V0_DIG", "VCCIO33_TR0": "VCC3V0_DIG",
"VCCIO33_TR1": "VCC3V3", "VCCIO33_TR2": "VCC3V3",
"VCCIO33_BR3_BR4": "VCC3V3", "VCCIO33_TL1_TL5": "VCC3V3",
"VCCIO33_BL2_BL3": "VCC3V3",
}
if name in vccio:
return vccio[name]
if name.startswith("REF_RES_"):
return name
# JTAG_VCCIO_SEL floats for 3.3-V BR3/BR4. Official NC, unused DDR
# signals, and unused DDR rails remain open per Efinix's unused table.
return None
fpga_pins = []
for row in package:
etype = {"power": "power_in", "input": "input", "output": "output"}.get(
row["direction"], "bidirectional")
fpga_pins.append(p(row["ball"], row["official_pad_name"], fpga_net(row), etype))
add_ic("U1", "Ti375C529C3", "Ti375C529C3", "Efinix",
"Package_BGA:BGA-529_19x19mm_Layout23x23_P0.8mm", fpga_pins,
"Titanium Ti375 FPGA, commercial standard-power 0.95-V option, C529")
for name in ("REF_RES_4A", "REF_RES_4B", "REF_RES_4D", "REF_RES_2E", "REF_RES_2A"):
r("10K", name, "GND", description="Efinix mandatory 10-kohm 1% reference resistor")
# USB-C and sink role detection.
add_ic("J1", "USB-C USB2 sink", "USB4105-GF-A-120", "GCT",
"Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal", [
p("A1", "GND", "GND"), p("A4", "VBUS", "VBUS_RAW"), p("A5", "CC1", "USB_CC1"),
p("A6", "D+", "USB_D_P"), p("A7", "D-", "USB_D_N"), p("A8", "SBU1", None),
p("A9", "VBUS", "VBUS_RAW"), p("A12", "GND", "GND"),
p("B1", "GND", "GND"), p("B4", "VBUS", "VBUS_RAW"), p("B5", "CC2", "USB_CC2"),
p("B6", "D+", "USB_D_P"), p("B7", "D-", "USB_D_N"), p("B8", "SBU2", None),
p("B9", "VBUS", "VBUS_RAW"), p("B12", "GND", "GND"), p("SH", "SHIELD", "USB_SHIELD")],
"USB 2.0 Type-C receptacle, UFP/sink")
add_ic("U5", "TUSB320LAI", "TUSB320LAIRSW(R)", "Texas Instruments",
"Package_DFN_QFN:Texas_X2QFN-12_1.6x1.6mm_P0.4mm", [
p(1, "CC1", "USB_CC1", "bidirectional"), p(2, "CC2", "USB_CC2", "bidirectional"),
p(3, "PORT", "GND", "input"), p(4, "VBUS_DET", "USB_VBUS_DET", "input"),
p(5, "ADDR", None), p(6, "OUT3", None, "output"),
p(7, "OUT1", "TUSB_OUT1", "output"), p(8, "OUT2", "TUSB_OUT2", "output"),
p(9, "ID", None, "output"), p(10, "GND", "GND", "power_in"),
p(11, "EN_N", "GND", "input"), p(12, "VDD", "VCC3V3_AUX", "power_in")],
"USB Type-C port controller in UFP GPIO mode; integrated Rd on CC1/CC2")
r("900K", "VBUS_RAW", "USB_VBUS_DET", description="TUSB320 VBUS_DET current limiter")
r("10K", "VCC3V3_AUX", "TUSB_OUT1", description="TUSB320 open-drain OUT1 pull-up")
r("10K", "VCC3V3_AUX", "TUSB_OUT2", description="TUSB320 open-drain OUT2 pull-up")
c("100nF", "VCC3V3_AUX", "GND", description="TUSB320 local bypass")
add_ic("U6", "TPD2EUSB30A", "TPD2EUSB30ADRTR", "Texas Instruments",
"Package_TO_SOT_SMD:Texas_DRT-3", [p(1, "IO1", "USB_D_P"), p(2, "GND", "GND"), p(3, "IO2", "USB_D_N")],
"Low-capacitance USB 2.0 ESD protection")
c("4.7nF", "USB_SHIELD", "GND", description="USB shield HF coupling")
r("1M", "USB_SHIELD", "GND", description="USB shield bleed")
r("0R", "USB_SHIELD", "GND", description="Optional direct shield bond", dnp=True)
add_ic("J3", "EXT_5V", "1935161", "Phoenix Contact",
"TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal", [
p(1, "EXT_5V", "EXT5_RAW", "power_in"), p(2, "GND", "GND", "power_in")],
"Clearly labelled external regulated 5-V input")
components[-1].assembly = "THT"
def add_efuse(ref: str, input_net: str, output_net: str, ilim: str) -> None:
add_ic(ref, "TPS259470A", "TPS259470ARPWR", "Texas Instruments",
"board:Texas_RPW0010A_QFN10", [
p(1, "EN/UVLO", f"{ref}_ENUV", "input"), p(2, "OVLO", f"{ref}_OV", "input"),
p(3, "AUXOFF", None, "open_collector"), p(4, "FLT", f"{ref}_FLT", "open_collector"),
p(5, "IN", input_net, "power_in"), p(6, "OUT", output_net, "power_out"),
p(7, "DVDT", f"{ref}_DVDT", "output"), p(8, "GND", "GND", "power_in"),
p(9, "ILM", f"{ref}_ILM", "output"), p(10, "ITIMER", None)],
"True-reverse-blocking eFuse; UV/OV/current/inrush protection")
r("232K", input_net, f"{ref}_ENUV", description="4.0-V nominal eFuse UV divider top")
r("100K", f"{ref}_ENUV", "GND", description="eFuse UV divider bottom")
r("383K", input_net, f"{ref}_OV", description="5.8-V nominal eFuse OV divider top")
r("100K", f"{ref}_OV", "GND", description="eFuse OV divider bottom")
r(ilim, f"{ref}_ILM", "GND", description="eFuse RILM=3334/ILIM")
c("4.7nF", f"{ref}_DVDT", "GND", description="eFuse output slew control")
c("1uF", input_net, "GND", description="eFuse local input bypass")
c("10uF", output_net, "GND", description="eFuse local output bypass")
tp(f"{ref}_FLT", f"{ref} FLT")
add_efuse("U7", "VBUS_RAW", "USB5_PROT", "1.24K") # 2.69 A typical, <3 A max.
add_efuse("U8", "EXT5_RAW", "EXT5_PROT", "825R") # 4.04 A typical.
add_ic("U9", "TPS2121", "TPS2121RUXR", "Texas Instruments", "board:Texas_RUX0012A_VQFN12", [
p(1, "OUT", "SYS5", "power_out"), p(2, "IN2", "EXT5_PROT", "power_in"), p(3, "CP2", "VCC3V3_AUX", "input"),
p(4, "OV2", "MUX_OV2", "input"), p(5, "OV1", "MUX_OV1", "input"), p(6, "PR1", "GND", "input"),
p(7, "IN1", "USB5_PROT", "power_in"), p(8, "OUT", "SYS5", "power_out"), p(9, "ST", "MUX_ST", "output"),
p(10, "ILM", "MUX_ILM", "output"), p(11, "SS", "MUX_SS", "output"), p(12, "GND", "GND", "power_in")],
"4.5-A power mux; external input wins near-equal valid 5-V inputs")
r("442K", "USB5_PROT", "MUX_OV1", description="TPS2121 IN1 5.75-V OV divider top")
r("100K", "MUX_OV1", "GND", description="TPS2121 IN1 OV divider bottom")
r("442K", "EXT5_PROT", "MUX_OV2", description="TPS2121 IN2 5.75-V OV divider top")
r("100K", "MUX_OV2", "GND", description="TPS2121 IN2 OV divider bottom")
r("22.1K", "MUX_ILM", "GND", description="TPS2121 4.5-A typical output limit")
c("10nF", "MUX_SS", "GND", description="TPS2121 soft-start")
for _ in range(2):
c("47uF", "SYS5", "GND", footprint="Capacitor_SMD:C_1210_3225Metric", description="5-V system bulk")
add_ic("U10", "SN74LVC2G02", "SN74LVC2G02DCUR", "Texas Instruments",
"Package_SO:VSSOP-8_2.3x2mm_P0.5mm", [
p(1, "1Y", "USB_3A_OK", "output"), p(2, "1A", "TUSB_OUT1", "input"), p(3, "1B", "TUSB_OUT2", "input"),
p(4, "GND", "GND", "power_in"), p(5, "2A", "MUX_ST", "input"), p(6, "2B", "MUX_ST", "input"),
p(7, "2Y", "EXT_SELECTED", "output"), p(8, "VCC", "VCC3V3_AUX", "power_in")],
"USB 3-A advertisement NOR decode and mux-status inversion")
add_ic("U11", "SN74LVC1G32", "SN74LVC1G32DBVR", "Texas Instruments", "Package_TO_SOT_SMD:SOT-23-5", [
p(1, "A", "USB_3A_OK", "input"), p(2, "B", "EXT_SELECTED", "input"), p(3, "GND", "GND", "power_in"),
p(4, "Y", "MAIN_EN", "output"), p(5, "VCC", "VCC3V3_AUX", "power_in")],
"Main-rail enable OR: qualified 3-A USB or selected external 5 V")
c("100nF", "VCC3V3_AUX", "GND", description="Power-qualification logic local bypass")
c("100nF", "VCC3V3_AUX", "GND", description="Power qualification logic bypass")
# Rail generation and Efinix sequencing.
def add_ldo(ref: str, value: str, mpn: str, vin: str, vout: str, enable: str, desc: str) -> None:
add_ic(ref, value, mpn, "Texas Instruments", "Package_TO_SOT_SMD:SOT-23-5", [
p(1, "IN", vin, "power_in"), p(2, "GND", "GND", "power_in"), p(3, "EN", enable, "input"),
p(4, "NC", None), p(5, "OUT", vout, "power_out")], desc)
c("1uF", vin, "GND", description=f"{ref} local input capacitor")
c("1uF", vout, "GND", description=f"{ref} low-noise LDO output capacitor")
add_ldo("U12", "TPS7A2033", "TPS7A2033PDBVR", "SYS5", "VCC3V3_AUX", "SYS5",
"Always-on 300-mA auxiliary 3.3-V LDO")
add_ic("U13", "TPS6287B15HA0", "TPS6287B15HA0WRZVR", "Texas Instruments",
"board:Texas_RZV0024A_WQFN24", [
p(1, "VOSNS", "CORE_SENSE_P", "input"), p(2, "EN", "CORE_EN_R", "input"),
p(3, "VSET1", "GND", "input"), p(4, "VSET2", "SYS5", "input"),
p(5, "VIN", "SYS5", "power_in"), p(6, "VIN", "SYS5", "power_in"),
p(7, "GND", "GND", "power_in"), p(8, "GND", "GND", "power_in"),
p(9, "SW", "CORE_SW", "power_out"), p(10, "SW", "CORE_SW", "power_out"),
p(11, "SW", "CORE_SW", "power_out"), p(12, "SW", "CORE_SW", "power_out"),
p(13, "GND", "GND", "power_in"), p(14, "GND", "GND", "power_in"),
p(15, "VIN", "SYS5", "power_in"), p(16, "VIN", "SYS5", "power_in"),
p(17, "SYNCOUT", None, "output"), p(18, "MODE/SYNC", "SYS5", "input"),
p(19, "SDA", "GND", "bidirectional"), p(20, "SCL", "GND", "bidirectional"),
p(21, "PG", "CORE_PG", "open_collector"), p(22, "AGND", "GND", "power_in"),
p(23, "COMP", "CORE_COMP", "input"), p(24, "GOSNS", "CORE_SENSE_N", "input"),
p(25, "THERMAL_PADS", "GND", "power_in")],
"15-A synchronous 0.95-V FPGA core/VCCA/VDD_SOC buck, fixed PWM")
r("15K", "MAIN_EN", "CORE_EN_R", description="TPS6287B mandatory >=15-kohm EN series resistor")
r("0R", "VCC0V95", "CORE_SENSE_P", description="Remote positive sense link at FPGA PDN")
r("0R", "GND", "CORE_SENSE_N", description="Remote ground sense link at FPGA PDN")
r("2.1K", "CORE_COMP", "CORE_COMP_RC", description="TPS6287B calculated compensation RZ")
c("1.8nF", "CORE_COMP_RC", "GND", description="TPS6287B calculated compensation CC")
c("10pF", "CORE_COMP", "GND", description="TPS6287B HF compensation bypass CC2")
two_pin("L", "100nH", "XEL4030-101MEC", "Coilcraft", "board:Coilcraft_XEL4030",
"CORE_SW", "VCC0V95", "Core inductor: 30-A saturation, 1.5-mohm DCR")
for _ in range(4):
c("22uF", "SYS5", "GND", mpn="GCM31CR71A226KE02L",
footprint="Capacitor_SMD:C_1206_3216Metric", description="Core buck butterfly input capacitor")
for _ in range(4):
c("100uF", "VCC0V95", "GND", footprint="Capacitor_SMD:C_1210_3225Metric",
description="Core output; 400-uF nominal, >=195-uF effective target")
r("10K", "VCC3V3_AUX", "CORE_PG", description="Core buck PG pull-up")
def add_tps62867(ref: str, output: str, sw: str, en: str, pg: str, vset: str, value: str) -> None:
add_ic(ref, f"TPS62867 {value}", "TPS62867RQYR", "Texas Instruments",
"board:Texas_RQY0009A_VQFN9", [
p(1, "AGND", "GND", "power_in"), p(2, "PGND", "GND", "power_in"),
p(3, "VIN", "SYS5", "power_in"), p(4, "EN", en, "input"),
p(5, "PG", pg, "open_collector"), p(6, "VSET/MODE", f"{ref}_VSET", "input"),
p(7, "SW", sw, "power_out"), p(8, "VOS", output, "input"), p(9, "FB", output, "input")],
f"6-A synchronous {value} FPGA auxiliary/I/O buck")
r(vset, f"{ref}_VSET", "GND", description=f"TPS62867 fixed {value} VSET resistor")
two_pin("L", "240nH", "DFE201612E-R24M=P2", "Murata", "board:Murata_DFE201612E",
sw, output, "TPS62867 manufacturer-recommended 6.6-A inductor")
for _ in range(2):
c("10uF", "SYS5", "GND", description=f"{ref} input capacitor")
for _ in range(2):
c("22uF", output, "GND", footprint="Capacitor_SMD:C_0805_2012Metric",
description=f"{ref} output capacitor")
add_tps62867("U14", "VCC1V8", "BUCK1V8_SW", "SEQ_FLAG1", "PG_1V8", "133K", "1.8 V")
add_tps62867("U15", "VCC3V3", "BUCK3V3_SW", "SEQ_FLAG2", "PG_3V3", "205K", "3.3 V")
add_ic("U16", "LM3880-1AA", "LM3880MF-1AA/NOPB", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-23-6", [
p(1, "VCC", "VCC3V3_AUX", "power_in"), p(2, "GND", "GND", "power_in"),
p(3, "EN", "CORE_PG", "input"), p(4, "FLAG3", "SEQ_FLAG3", "open_collector"),
p(5, "FLAG2", "SEQ_FLAG2", "open_collector"), p(6, "FLAG1", "SEQ_FLAG1", "open_collector")],
"Three-rail sequencer, 10-ms delay per rail")
for net in ("SEQ_FLAG1", "SEQ_FLAG2"):
r("10K", "VCC3V3_AUX", net, description="LM3880 open-drain flag pull-up")
c("100nF", "VCC3V3_AUX", "GND", description="LM3880 bypass")
# Keep the four independent rail-valid indications separate from CRESET_N.
# They are combined below by always-on logic; this prevents an intentional
# configuration reset from corrupting the power-good state used to isolate the
# FTDI drivers.
r("10K", "VCC1V8", "FPGA_CRESET_N", description="FPGA CRESET_N configuration-rail pull-up")
r("0R", "SEQ_FLAG3", "PWR_SEQ_OK", description="Sequencer final-flag sense link")
r("0R", "PG_1V8", "PWR_1V8_OK", description="1.8-V buck power-good sense link")
r("0R", "PG_3V3", "PWR_3V3_OK", description="3.3-V buck power-good sense link")
add_ldo("U17", "TPS7A2030", "TPS7A2030PDBVR", "VCC3V3", "VCC3V0_RF", "VCC3V3",
"Dedicated low-noise 3.0-V MAX2771 analog LDO")
add_ldo("U18", "TPS7A2030", "TPS7A2030PDBVR", "VCC3V3", "VCC3V0_DIG", "VCC3V3",
"Dedicated low-noise 3.0-V MAX2771 digital and FPGA-bank LDO")
add_ldo("U19", "TPS7A2030", "TPS7A2030PDBVR", "VCC3V3", "VCC3V0_CLK", "VCC3V3",
"Dedicated low-noise 3.0-V oscillator LDO")
add_ldo("U20", "TPS7A2033", "TPS7A2033PDBVR", "SYS5", "VCC3V3_ANT", "MAIN_EN",
"Clean 3.3-V active-antenna bias LDO")
# The supervisor is powered from the always-on auxiliary rail, so its open-drain
# output remains authoritative even while the monitored 3.0-V FPGA I/O rail is
# absent. Its 20-ms (CT open) timeout also guarantees the configuration delay
# after the last FPGA supply becomes valid. Power-good is kept separate from
# user/FTDI reset so the JTAG buffers stay enabled during deliberate resets.
add_ic("U28", "TPS3808G30", "TPS3808G30DBVR", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-23-6", [
p(1, "RESET_N", "FPGA_POWER_OK_N", "open_collector"), p(2, "GND", "GND", "power_in"),
p(3, "MR_N", "VCC3V3_AUX", "input"), p(4, "CT", None, "input"),
p(5, "SENSE", "VCC3V0_DIG", "input"), p(6, "VDD", "VCC3V3_AUX", "power_in")],
"3.0-V FPGA-bank supervisor; open-drain reset with 20-ms release delay")
# Always-on AND tree creates a true all-rail-valid signal. The fourth gate
# includes LM3880 FLAG3, so both the programmed power-up interval and every
# converter/supervisor indication must be valid before FPGA-facing FTDI
# drivers are enabled or CRESET_N is released.
add_ic("U34", "SN74LVC08A", "SN74LVC08APWR", "Texas Instruments",
"Package_SO:TSSOP-14_4.4x5mm_P0.65mm", [
p(1, "1A", "CORE_PG", "input"), p(2, "1B", "PWR_1V8_OK", "input"),
p(3, "1Y", "PWR_OK_A", "output"),
p(4, "2A", "PWR_3V3_OK", "input"), p(5, "2B", "FPGA_POWER_OK_N", "input"),
p(6, "2Y", "PWR_OK_B", "output"), p(7, "GND", "GND", "power_in"),
p(8, "3Y", "PWR_OK_C", "output"), p(9, "3A", "PWR_OK_A", "input"),
p(10, "3B", "PWR_OK_B", "input"),
p(11, "4Y", "ALL_FPGA_POWER_OK", "output"),
p(12, "4A", "PWR_OK_C", "input"), p(13, "4B", "PWR_SEQ_OK", "input"),
p(14, "VCC", "VCC3V3_AUX", "power_in")],
"Always-on all-rail power-valid logic for reset release and debug isolation")
# Dense reference-design-style bypassing plus one bulk group per rail.
for _ in range(18):
c("100nF", "VCC0V95", "GND", description="Ti375 core/VCCA/VDD_SOC HF bypass")
for _ in range(4):
c("10uF", "VCC0V95", "GND", description="Ti375 core local bulk")
for _ in range(6):
c("100nF", "VCC1V8", "GND", description="Ti375 VCCAUX/HSIO/config bypass")
for _ in range(2):
c("10uF", "VCC1V8", "GND", description="Ti375 1.8-V local bulk")
for rail in ("VCC3V3", "VCC3V0_DIG"):
for _ in range(4):
c("100nF", rail, "GND", description=f"Ti375 HVIO bank bypass on {rail}")
c("10uF", rail, "GND", description=f"Ti375 I/O-rail bulk on {rail}")
# MAX2771 direct MIXIN_HI path and OFF/3.3-V/5-V active-antenna bias.
add_ic("J2", "GPS L1 SMA", "132289", "Amphenol RF",
"Connector_Coaxial:SMA_Amphenol_132289_EdgeMount",
[p(1, "RF", "RF_SMA"), p(2, "GND", "GND")],
"Edge-launch 50-ohm active GNSS antenna input")
components[-1].assembly = "THT"
add_ic("D1", "ESD501", "ESD501DPYR", "Texas Instruments", "board:Texas_DPY0002A_X1SON",
[p(1, "RF", "RF_SMA"), p(2, "GND", "GND")],
"0.3-pF bidirectional 12-V RF ESD protector")
c("27pF", "RF_SMA", "RF_PRE_SAW", mpn="600L270JT200T", footprint="board:Kyocera_600L_0402",
description="High-Q 200-V C0G GNSS RF DC block")
add_ic("FL1", "GPS L1/L1C SAW", "SF14-1582M5UUS2", "Kyocera", "board:Kyocera_SF14_5pad", [
p(1, "IN", "RF_PRE_SAW"), p(2, "GND", "GND"), p(3, "GND", "GND"),
p(4, "OUT", "RF_POST_SAW"), p(5, "GND", "GND")],
"1565.19-1585.65-MHz SAW, 1.2-dB typical insertion loss")
c("DNP", "RF_POST_SAW", "GND", mpn="", description="RF tuning shunt C1", dnp=True)
r("0R", "RF_POST_SAW", "MAX_MIXIN_HI", description="RF tuning series link")
c("DNP", "MAX_MIXIN_HI", "GND", mpn="", description="RF tuning shunt C2", dnp=True)
add_ic("J5", "ANT BIAS OFF/3V3/5V", "61300311121", "Wuerth Elektronik",
"Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical", [
p(1, "3V3", "VCC3V3_ANT", "power_in"), p(2, "SELECT", "ANT_BIAS_SEL", "power_in"),
p(3, "5V", "SYS5", "power_in")],
"One-shunt hardware antenna bias selection; no shunt is OFF")
components[-1].assembly = "THT"
add_ic("U27", "TPS22944", "TPS22944DCKR", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-353_SC-70-5", [
p(1, "VOUT", "ANT_BIAS_SW", "power_out"), p(2, "GND", "GND", "power_in"),
p(3, "OC", "ANT_BIAS_OC", "open_collector"), p(4, "ON", "ANT_BIAS_ON", "input"),
p(5, "VIN", "ANT_BIAS_SEL", "power_in")],
"Fixed 100-mA current-limited active-antenna load switch")
r("100K", "ANT_BIAS_SEL", "ANT_BIAS_ON", description="Bias switch follows selected source")
r("100K", "ANT_BIAS_ON", "GND", description="No-jumper default OFF")
r("10K", "VCC3V3_AUX", "ANT_BIAS_OC", description="Antenna overcurrent pull-up")
c("1uF", "ANT_BIAS_SEL", "GND", description="Bias-switch input bypass")
c("1uF", "ANT_BIAS_SW", "GND", description="Bias-switch output bypass before choke")
two_pin("L", "56nH", "0402HPH-56NXJRW", "Coilcraft", "Inductor_SMD:L_0402_1005Metric",
"ANT_BIAS_SW", "RF_SMA", "L1 bias-tee choke: SRF 2.1 GHz, Q 64, 330 mA")
tp("ANT_BIAS_OC", "ANT OC")
add_ic("U21", "MAX2771", "MAX2771ETI+", "Analog Devices",
"Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.25x3.25mm", [
p(1, "CPOUT", "MAX_CPOUT", "output"), p(2, "VCCCP", "VCC3V0_RF", "power_in"),
p(3, "XTAL", "MAX_XTAL", "input"), p(4, "CLKOUT", "MAX_CLKOUT_SRC", "output"),
p(5, "ADC_CLKIN", "MAX_ADC_CLKIN", "input"), p(6, "VCCD", "VCC3V0_DIG", "power_in"),
p(7, "SDATA", "MAX_SDATA_DEV", "bidirectional"), p(8, "SCLK", "MAX_SCLK_DEV", "input"),
p(9, "CSN", "MAX_CSN_DEV", "input"), p(10, "Q1", "MAX_Q1_DEV", "output"),
p(11, "Q0", "MAX_Q0_DEV", "output"), p(12, "I0", "MAX_I0_DEV", "output"),
p(13, "I1", "MAX_I1_DEV", "output"), p(14, "VCCADC", "VCC3V0_DIG", "power_in"),
p(15, "ANAIPOUT", None, "output"), p(16, "ANAINOUT", None, "output"),
p(17, "LD", "MAX_LD_DEV", "output"), p(18, "SHDN", "MAX_SHDN_DEV", "input"),
p(19, "LNAIN_HI", None, "input"), p(20, "LNAIN_LO", None, "input"), p(21, "NC", None),
p(22, "VCCRF", "VCC3V0_RF", "power_in"), p(23, "LNAOUT_LO", None, "output"),
p(24, "LNAOUT_HI", None, "output"), p(25, "MIXIN_HI", "MAX_MIXIN_HI", "input"),
p(26, "MIXIN_LO", None, "input"), p(27, "VCCIF", "VCC3V0_RF", "power_in"),
p(28, "VCCVCO", "VCC3V0_RF", "power_in"), p(29, "EP", "GND", "power_in")],
"GNSS receiver; both LNAs disabled; direct high-band mixer input")
# Official typical topology: CPOUT has a small direct capacitor and an R-C
# series integrating branch to ground.
c("15pF", "MAX_CPOUT", "GND", description="MAX2771 PLL loop-filter shunt capacitor")
r("15K", "MAX_CPOUT", "MAX_LOOP_RC", description="MAX2771 PLL loop-filter resistor")
c("750pF", "MAX_LOOP_RC", "GND", description="MAX2771 PLL loop integrating capacitor")
c("10nF", "TCXO16_OUT", "MAX_XTAL", description="MAX2771 external reference AC coupling")
r("33R", "OSC40_OUT", "MAX_ADC_CLKIN", description="40-MHz ADC-clock source termination")
for signal in ("MAX_CLKOUT", "MAX_I0", "MAX_I1", "MAX_Q0", "MAX_Q1", "MAX_LD"):
source = f"{signal}_SRC" if signal == "MAX_CLKOUT" else f"{signal}_DEV"
r("22R", source, signal, description="MAX2771 source-series digital damping")
for signal in ("MAX_SCLK", "MAX_CSN", "MAX_SDATA", "MAX_SHDN"):
r("22R", signal, f"{signal}_DEV", description="MAX2771 serial/control source damping")
r("100K", "MAX_SHDN_DEV", "GND", description="MAX2771 remains shut down before FPGA configuration")
for rail, count in (("VCC3V0_RF", 5), ("VCC3V0_DIG", 2)):
for _ in range(count):
c("100nF", rail, "GND", description=f"MAX2771 local {rail} bypass")
c("1uF", rail, "GND", description=f"MAX2771 local {rail} bulk")
add_ic("U23", "16.368 MHz TCXO", "X1G005441030125", "Epson", "board:Epson_TG2016SMN", [
p(1, "NC", None), p(2, "GND", "GND", "power_in"), p(3, "OUT", "TCXO16_OUT", "output"),
p(4, "VCC", "VCC3V0_CLK", "power_in")],
"TG2016SMN clipped-sine ±0.5-ppm MAX2771 reference")
c("100nF", "VCC3V0_CLK", "GND", description="16.368-MHz TCXO bypass")
c("1uF", "VCC3V0_CLK", "GND", description="Clock-rail local bulk")
add_ic("U24", "40.000 MHz XO", "X1G004171041100", "Epson",
"Oscillator:Oscillator_SMD_SeikoEpson_SG210-4Pin_2.5x2.0mm", [
p(1, "ST", "VCC3V0_CLK", "input"), p(2, "GND", "GND", "power_in"),
p(3, "OUT", "OSC40_OUT", "output"), p(4, "VCC", "VCC3V0_CLK", "power_in")],
"SG-210STF ±25-ppm CMOS FPGA/system ADC oscillator")
r("33R", "OSC40_OUT", "CLK_40M_FPGA", description="40-MHz FPGA-clock source termination")
c("100nF", "VCC3V0_CLK", "GND", description="40-MHz oscillator bypass")
# Exact Murata SCH16T-K01-1 SafeSPI pinout and carrier-board capacitors.
add_ic("U22", "SCH16T-K01-1", "SCH16T-K01-1", "Murata", "board:Murata_SCH16T_K01", [
p(1, "HS_GND", "GND", "power_in"), p(2, "RESERVED", None),
p(3, "TA9_GND", "GND", "power_in"), p(4, "TA8_GND", "GND", "power_in"),
p(5, "RESERVED_GND", "GND", "power_in"), p(6, "EXTRESN", "IMU_EXTRESN", "input"),
p(7, "RESERVED_GND", "GND", "power_in"), p(8, "V3P3", "IMU_3V3", "power_in"),
p(9, "GND", "GND", "power_in"), p(10, "VREGA2", "IMU_VREGA2", "power_out"),
p(11, "VREGA", "IMU_VREGA2", "power_out"), p(12, "GND", "GND", "power_in"),
p(13, "GND", "GND", "power_in"), p(14, "VREGD2", "IMU_VREGD", "power_out"),
p(15, "VREGD", "IMU_VREGD", "power_out"), p(16, "GND", "GND", "power_in"),
p(17, "V3P3", "IMU_3V3", "power_in"), p(18, "VDDIO", "VCC3V3", "power_in"),
p(19, "MISO", "IMU_MISO_DEV", "output"), p(20, "DRY_SYNC", "IMU_DRY_SYNC", "bidirectional"),
p(21, "SCK", "IMU_SCK_DEV", "input"), p(22, "CS", "IMU_CS_DEV", "input"),
p(23, "MOSI", "IMU_MOSI_DEV", "input"), p(24, "HS_GND", "GND", "power_in")],
"Six-DoF SafeSPI IMU, exact K01-1 variant")
two_pin("FB", "600R@100MHz", "BLM15AG601SN1D", "Murata", "Inductor_SMD:L_0402_1005Metric",
"VCC3V3", "IMU_3V3", "IMU supply ferrite isolation")
for signal in ("IMU_SCK", "IMU_MOSI", "IMU_CS"):
r("22R", signal, f"{signal}_DEV", description="SafeSPI source-series damping")
r("22R", "IMU_MISO_DEV", "IMU_MISO", description="SafeSPI MISO source damping at IMU")
r("10K", "IMU_EXTRESN", "GND", description="Hold IMU reset until FPGA releases it")
c("100nF", "IMU_3V3", "GND", description="Murata V3P3 HF bypass")
c("1uF", "IMU_3V3", "GND", description="Murata V3P3 local capacitor")
c("10uF", "IMU_VREGA2", "GND", description="Murata required VREGA2 capacitor")
c("1uF", "IMU_VREGD", "GND", description="Murata required VREGD capacitor")
c("100nF", "VCC3V3", "GND", description="Murata VDDIO bypass")
# FT4232H follows the Efinix development-kit interface order:
# A/interface 0 = RISC-V JTAG, B/interface 1 = FPGA hard JTAG.
ftdi_pins = [
p(1, "EECS", "FTDI_EECS", "output"), p(2, "VCORE", "FTDI_1V8", "power_in"),
p(3, "OSCI", "FTDI_OSCI", "input"), p(4, "OSCO", None, "output"),
p(5, "VPHY", "FTDI_VPHY", "power_in"), p(6, "REF", "FTDI_REF", "input"),
p(7, "DM", "FTDI_D_N", "bidirectional"), p(8, "DP", "FTDI_D_P", "bidirectional"),
p(9, "VPLL", "FTDI_VPLL", "power_in"), p(10, "TEST", "GND", "input"),
p(11, "RESET_N", "FTDI_RESET_N", "input"),
p(12, "ADBUS0/TCK", "FTDI_A_TCK_SRC", "bidirectional"),
p(13, "ADBUS1/TDI", "FTDI_A_TDI_SRC", "bidirectional"),
p(14, "ADBUS2/TDO", "FTDI_A_TDO_SRC", "bidirectional"),
p(15, "ADBUS3/TMS", "FTDI_A_TMS_SRC", "bidirectional"),
p(16, "VCCIO", "VCC3V3_AUX", "power_in"),
p(17, "ADBUS4", None, "bidirectional"), p(18, "ADBUS5", None, "bidirectional"),
p(19, "ADBUS6", None, "bidirectional"), p(20, "ADBUS7", None, "bidirectional"),
p(21, "GND", "GND", "power_in"),
p(22, "BDBUS0/TCK", "FTDI_B_TCK_SRC", "bidirectional"),
p(23, "BDBUS1/TDI", "FTDI_B_TDI_SRC", "bidirectional"),
p(24, "BDBUS2/TDO", "FTDI_B_TDO_SRC", "bidirectional"),
p(25, "BDBUS3/TMS", "FTDI_B_TMS_SRC", "bidirectional"),
p(26, "BDBUS4", "FTDI_B_RESET_N_SRC", "bidirectional"), p(27, "BDBUS5", None, "bidirectional"),
p(28, "BDBUS6", None, "bidirectional"), p(29, "BDBUS7", None, "bidirectional"),
p(30, "SUSPEND_N", None, "output"), p(31, "VCORE", "FTDI_1V8", "power_in"),
p(32, "CDBUS0/TXD", "FTDI_C_TXD_SRC", "bidirectional"),
p(33, "CDBUS1/RXD", "FTDI_C_RXD_SRC", "bidirectional"),
p(34, "CDBUS2", None, "bidirectional"), p(35, "CDBUS3", None, "bidirectional"),
p(36, "VCCIO", "VCC3V3_AUX", "power_in"),
p(37, "CDBUS4", None, "bidirectional"), p(38, "CDBUS5", None, "bidirectional"),
p(39, "CDBUS6", None, "bidirectional"), p(40, "CDBUS7", None, "bidirectional"),
p(41, "GND", "GND", "power_in"),
p(42, "DDBUS0/TXD", "FTDI_D_TXD_SRC", "bidirectional"),
p(43, "VREGOUT", "FTDI_1V8", "power_out"), p(44, "VREGIN", "VCC3V3_AUX", "power_in"),
p(45, "GND", "GND", "power_in"),
p(46, "DDBUS1/RXD", "FTDI_D_RXD_SRC", "bidirectional"),
p(47, "DDBUS2/RTS", "FTDI_D_DBG_SRC", "bidirectional"),
p(48, "DDBUS3", None, "bidirectional"), p(49, "DDBUS4", None, "bidirectional"),
p(50, "VCCIO", "VCC3V3_AUX", "power_in"),
p(51, "DDBUS5", None, "bidirectional"), p(52, "DDBUS6", None, "bidirectional"),
p(53, "DDBUS7", None, "bidirectional"), p(54, "PWREN_N", None, "output"),
p(55, "EEDATA", "FTDI_EEDATA", "bidirectional"), p(56, "EECLK", "FTDI_EECLK", "output"),
p(57, "EP", "GND", "power_in")]
add_ic("U2", "FT4232H-56Q", "FT4232H-56Q-REEL", "FTDI", "board:FTDI_VQFN56_EP5p9",
ftdi_pins, "Quad high-speed USB bridge; all four channels assigned")
r("27R", "USB_D_P", "FTDI_D_P", description="FTDI USB D+ series termination")
r("27R", "USB_D_N", "FTDI_D_N", description="FTDI USB D- series termination")
r("12K", "FTDI_REF", "GND", description="FT4232H USB PHY reference resistor, 1%")
r("4.7K", "VBUS_RAW", "FTDI_RESET_N", description="Self-powered VBUS-present reset divider top")
r("10K", "FTDI_RESET_N", "GND", description="Self-powered VBUS-present reset divider bottom")
for _ in range(2):
c("100nF", "VCC3V3_AUX", "GND", description="FT4232H VCCIO/VREGIN bypass")
for _ in range(2):
c("100nF", "FTDI_1V8", "GND", description="FT4232H VCORE bypass")
c("1uF", "FTDI_1V8", "GND", description="FT4232H regulator output capacitor")
two_pin("FB", "600R@100MHz", "BLM15AG601SN1D", "Murata", "Inductor_SMD:L_0402_1005Metric",
"VCC3V3_AUX", "FTDI_VPHY", "FTDI USB-PHY supply ferrite")
two_pin("FB", "600R@100MHz", "BLM15AG601SN1D", "Murata", "Inductor_SMD:L_0402_1005Metric",
"VCC3V3_AUX", "FTDI_VPLL", "FTDI PLL supply ferrite")
c("100nF", "FTDI_VPHY", "GND", description="FTDI VPHY bypass")
c("100nF", "FTDI_VPLL", "GND", description="FTDI VPLL bypass")
add_ic("U25", "12.000 MHz XO", "ECS-2520MV-120-BN-TR", "ECS",
"Oscillator:Oscillator_SMD_ECS_2520MV-xxx-xx-4Pin_2.5x2.0mm", [
p(1, "OE", "VCC3V3_AUX", "input"), p(2, "GND", "GND", "power_in"),
p(3, "OUT", "FTDI_OSC12", "output"), p(4, "VDD", "VCC3V3_AUX", "power_in")],
"Current-production 12-MHz CMOS FT4232H clock")
r("33R", "FTDI_OSC12", "FTDI_OSCI", description="FTDI oscillator source termination")
c("100nF", "VCC3V3_AUX", "GND", description="FTDI oscillator local bypass")
add_ic("U3", "93LC56B x16", "93LC56BT-I/OT", "Microchip", "Package_TO_SOT_SMD:SOT-23-6", [
p(1, "CS", "FTDI_EECS", "input"), p(2, "CLK", "FTDI_EECLK", "input"),
p(3, "DI", "FTDI_EEDATA", "input"), p(4, "DO", "FTDI_EEDO", "output"),
p(5, "VSS", "GND", "power_in"), p(6, "VCC", "VCC3V3_AUX", "power_in")],
"FTDI descriptor/channel-mode EEPROM, fixed 16-bit organization")
r("2.2K", "FTDI_EEDO", "FTDI_EEDATA", description="EEPROM shared-data isolation")
r("10K", "FTDI_EEDO", "VCC3V3_AUX", description="EEPROM DO pull-up")
c("100nF", "VCC3V3_AUX", "GND", description="FTDI EEPROM bypass")
# FTDI is intentionally powered from the always-on debug rail. All signals
# that can drive the FPGA therefore pass through Ioff-capable buffers powered
# by the FPGA's 3.3-V I/O rail. When the FPGA rail is absent, the buffer
# outputs are high impedance and no unpowered FPGA pin can be back-driven.
add_ic("U29", "SN74LVC244A", "SN74LVC244APWR", "Texas Instruments",
"Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm", [
p(1, "1OE_N", "FTDI_FPGA_BUF_OE_N", "input"),
p(2, "1A1", "FTDI_A_TCK_SRC", "input"), p(18, "1Y1", "BUF_A_TCK", "output"),
p(4, "1A2", "FTDI_A_TDI_SRC", "input"), p(16, "1Y2", "BUF_A_TDI", "output"),
p(6, "1A3", "FTDI_A_TMS_SRC", "input"), p(14, "1Y3", "BUF_A_TMS", "output"),
p(8, "1A4", "FTDI_B_TCK_SRC", "input"), p(12, "1Y4", "BUF_B_TCK", "output"),
p(19, "2OE_N", "FTDI_FPGA_BUF_OE_N", "input"),
p(11, "2A1", "FTDI_B_TDI_SRC", "input"), p(9, "2Y1", "BUF_B_TDI", "output"),
p(13, "2A2", "FTDI_B_TMS_SRC", "input"), p(7, "2Y2", "BUF_B_TMS", "output"),
p(15, "2A3", "FTDI_C_TXD_SRC", "input"), p(5, "2Y3", "BUF_C_TXD", "output"),
p(17, "2A4", "FTDI_D_TXD_SRC", "input"), p(3, "2Y4", "BUF_D_TXD", "output"),
p(10, "GND", "GND", "power_in"), p(20, "VCC", "VCC3V3", "power_in")],
"Ioff-protected FPGA-input buffer; automatically isolates when FPGA 3.3 V is off")
add_ic("U30", "SN74LVC1G125", "SN74LVC1G125DBVR", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-23-5", [p(1, "OE_N", "FTDI_FPGA_BUF_OE_N", "input"),
p(2, "A", "FTDI_D_DBG_SRC", "input"),
p(3, "GND", "GND", "power_in"), p(4, "Y", "BUF_D_DBG", "output"),
p(5, "VCC", "VCC3V3", "power_in")],
"Ioff-protected tri-state debug-GPIO buffer powered from FPGA 3.3 V")
add_ic("U31", "SN74LVC1G07", "SN74LVC1G07DBVR", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-23-5", [p(1, "NC", None), p(2, "A", "FTDI_B_RESET_N_SRC", "input"),
p(3, "GND", "GND", "power_in"), p(4, "Y_OD", "FPGA_CRESET_N", "open_collector"),
p(5, "VCC", "VCC3V3_AUX", "power_in")],
"Open-drain FTDI reset request into FPGA CRESET_N")
add_ic("U32", "SN74LVC1G07", "SN74LVC1G07DBVR", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-23-5", [p(1, "NC", None), p(2, "A", "ALL_FPGA_POWER_OK", "input"),
p(3, "GND", "GND", "power_in"), p(4, "Y_OD", "FPGA_CRESET_N", "open_collector"),
p(5, "VCC", "VCC3V3_AUX", "power_in")],
"Open-drain all-rail-valid translation into FPGA CRESET_N")
add_ic("U33", "SN74LVC1G07", "SN74LVC1G07DBVR", "Texas Instruments",
"Package_TO_SOT_SMD:SOT-23-5", [p(1, "NC", None), p(2, "A", "EXT_RESET_FILTER_N", "input"),
p(3, "GND", "GND", "power_in"), p(4, "Y_OD", "FPGA_CRESET_N", "open_collector"),
p(5, "VCC", "VCC1V8", "power_in")],
"Open-drain external/manual reset isolation into FPGA CRESET_N")
add_ic("Q1", "MMBT3904", "MMBT3904LT1G", "onsemi", "Package_TO_SOT_SMD:SOT-23", [
p(1, "B", "FTDI_BUF_OE_BASE", "input"), p(2, "E", "GND", "power_in"),
p(3, "C", "FTDI_FPGA_BUF_OE_N", "open_collector")],
"Power-good inverter: enables FTDI-to-FPGA buffers only after all rails are valid")
for src, dst in (("BUF_B_TCK", "HARD_TCK"), ("BUF_B_TMS", "HARD_TMS"),
("BUF_B_TDI", "HARD_TDI"), ("HARD_TDO", "FTDI_B_TDO_SRC")):
r("33R", src, dst, description="FTDI interface-1 hard-JTAG source damping")
r("10K", "VCC3V3", "HARD_TMS", description="Efinix-required hard-JTAG weak pull-up")
c("100nF", "VCC3V3_AUX", "GND", description="Additional FT4232H channel-A VCCIO bypass")
for src, dst in (("BUF_A_TCK", "RISCV_TCK"), ("BUF_A_TDI", "RISCV_TDI"),
("BUF_A_TMS", "RISCV_TMS"), ("RISCV_TDO", "FTDI_A_TDO_SRC"),
("BUF_C_TXD", "UART0_RX"), ("UART0_TX", "FTDI_C_RXD_SRC"),
("BUF_D_TXD", "UART1_RX"), ("UART1_TX", "FTDI_D_RXD_SRC"),
("BUF_D_DBG", "FTDI_DBG_GPIO")):
r("33R", src, dst, description="FT4232H channel signal damping")
# Active-serial flash and four compact Digilent-format PMOD connectors.
add_ic("U26", "512-Mbit QSPI flash", "IS25WP512M-JLLE", "ISSI",
"Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm", [
p(1, "CS_N", "QSPI_CS_N", "input"), p(2, "SO/IO1", "QSPI_IO1", "bidirectional"),
p(3, "WP_N/IO2", "QSPI_IO2", "bidirectional"), p(4, "GND", "GND", "power_in"),
p(5, "SI/IO0", "QSPI_IO0", "bidirectional"), p(6, "SCLK", "QSPI_SCLK", "input"),
p(7, "HOLD_N/IO3", "QSPI_IO3", "bidirectional"), p(8, "VCC", "VCC1V8", "power_in"),
p(9, "EP", "GND", "power_in")],
"1.8-V 512-Mbit FPGA active-serial configuration flash")
r("10K", "VCC1V8", "QSPI_CS_N", description="Configuration flash CS pull-up")
r("10K", "VCC1V8", "FPGA_TEST_N", description="Efinix mandatory TEST_N weak pull-up")
r("10K", "VCC1V8", "FPGA_CSI", description="Efinix mandatory CSI weak pull-up")
for net in ("QSPI_IO2", "QSPI_IO3"):
r("10K", "VCC1V8", net, description="Configuration flash hold/write-protect pull-up")
c("100nF", "VCC1V8", "GND", description="Configuration flash bypass")
c("1uF", "VCC1V8", "GND", description="Configuration flash local bulk")
def add_pmod(ref: str, prefix: str, rail: str, voltage: str) -> None:
pins = [p(i, f"IO{i}", f"{prefix}_{i}") for i in (1, 2, 3, 4)]
pins += [p(5, "GND", "GND"), p(6, voltage, rail)]
pins += [p(i, f"IO{i}", f"{prefix}_{i}") for i in (7, 8, 9, 10)]
pins += [p(11, "GND", "GND"), p(12, voltage, rail)]
add_ic(ref, f"PMOD {voltage}", "67997-412HLF", "Amphenol ICC",
"board:Digilent_PMOD_2x6_P2.54mm", pins,
f"Digilent 2x6 PMOD: eight {voltage} GPIO, two GND, two {voltage}")
components[-1].assembly = "THT"
add_pmod("JPMOD1", "PMOD1", "VCC3V3", "3.3 V")
add_pmod("JPMOD2", "PMOD2", "VCC3V3", "3.3 V")
add_pmod("JPMOD3", "PMOD3", "VCC1V8", "1.8 V")
add_pmod("JPMOD4", "PMOD4", "VCC1V8", "1.8 V")
for net, label in (("VBUS_RAW", "USB VBUS"), ("EXT5_RAW", "EXT 5V"), ("SYS5", "SYS 5V"),
("VCC3V3_AUX", "AUX 3V3"), ("VCC0V95", "CORE 0V95"),
("VCC1V8", "1V8"), ("VCC3V3", "3V3"), ("VCC3V0_RF", "RF 3V0"),
("VCC3V0_DIG", "DIG 3V0"), ("FPGA_CRESET_N", "CRESET_N"),
("FPGA_CDONE", "CDONE"), ("GND", "GND")):
tp(net, label)
# Configuration/JTAG pulls are located on the FPGA side of the isolation
# buffers and use the voltage of their respective I/O bank.
r("10K", "VCC1V8", "FPGA_CDONE", description="Efinix-required CDONE open-drain pull-up")
for net in ("HARD_TCK", "HARD_TDI", "HARD_TDO"):
r("10K", "VCC3V3", net, description="Efinix-required hard-JTAG weak pull-up")
for net in ("RISCV_TCK", "RISCV_TMS", "RISCV_TDI", "RISCV_TDO"):
r("10K", "VCC3V3", net, description="RISC-V JTAG idle-state pull-up")
# Supervisor support and reset-request fan-in. FTDI BDBUS4 uses the
# Efinix-compatible active-low convention. Independent open-drain paths avoid
# output contention and allow JTAG to remain live while CRESET_N is asserted.
r("10K", "VCC3V3_AUX", "FTDI_B_RESET_N_SRC", description="FTDI FPGA-reset request default release")
r("10K", "VCC3V3_AUX", "FPGA_POWER_OK_N", description="TPS3808 open-drain power-good pull-up")
r("10K", "VCC3V3", "FTDI_FPGA_BUF_OE_N", description="Keep FTDI-to-FPGA buffers disabled until power-good")
r("10K", "ALL_FPGA_POWER_OK", "FTDI_BUF_OE_BASE", description="All-rail-good inverter base-current limiter")
r("100K", "FTDI_BUF_OE_BASE", "GND", description="Power-good inverter default-off base pull-down")
r("10K", "VCC1V8", "EXT_RESET_FILTER_N", description="External/manual reset input pull-up")
r("1K", "EXT_RESET_N", "EXT_RESET_FILTER_N", description="External-reset input current and ESD limiting")
r("10K", "VCC3V3_AUX", "PWR_SEQ_OK", description="LM3880 final-flag pull-up for all-power logic")
r("10K", "VCC3V3_AUX", "PWR_1V8_OK", description="1.8-V power-good pull-up for all-power logic")
r("10K", "VCC3V3_AUX", "PWR_3V3_OK", description="3.3-V power-good pull-up for all-power logic")
c("4.7nF", "VCC3V0_DIG", "GND", description="TPS3808 SENSE transient filter")
c("4.7nF", "EXT_RESET_FILTER_N", "GND", description="Manual/external reset cable-noise filter")
c("100nF", "VCC3V3_AUX", "GND", description="TPS3808 local bypass")
c("100nF", "VCC3V3", "GND", description="SN74LVC244A local bypass")
c("100nF", "VCC3V3", "GND", description="SN74LVC1G125 local bypass")
c("100nF", "VCC3V3_AUX", "GND", description="SN74LVC1G07 local bypass")
c("100nF", "VCC3V3_AUX", "GND", description="Power-good open-drain buffer local bypass")
c("100nF", "VCC1V8", "GND", description="External-reset open-drain buffer local bypass")
c("100nF", "VCC3V3_AUX", "GND", description="All-rail-valid logic local bypass")
add_ic("J4", "EXT RESET_N", "SM02B-SRSS-TB(LF)(SN)", "JST",
"Connector_JST:JST_SH_SM02B-SRSS-TB_1x02-1MP_P1.00mm_Horizontal", [
p(1, "EXT_RESET_N", "EXT_RESET_N", "input"), p(2, "GND", "GND", "power_in")],
"External active-low open-drain reset input; JST-SH 1.0-mm")
add_ic("SW1", "FPGA RESET", "B3U-1000P", "Omron",
"Button_Switch_SMD:SW_SPST_B3U-1000P", [
p(1, "RESET", "EXT_RESET_FILTER_N", "passive"), p(2, "GND", "GND", "passive")],
"User-accessible momentary FPGA configuration reset")
add_ic("D2", "RESET ESD", "ESD5Z3.3T1G", "onsemi", "Diode_SMD:D_SOD-523", [
p(1, "K", "EXT_RESET_N", "passive"), p(2, "A", "GND", "passive")],
"External-reset connector ESD clamp")
def validate() -> None:
refs = [x.ref for x in components]
assert len(refs) == len(set(refs))
u1 = next(x for x in components if x.ref == "U1")
assert len(u1.pins) == 529 and len({x.number for x in u1.pins}) == 529
assert next(x for x in u1.pins if x.number == "G10").net == "HARD_TCK"
assert {pin.number: pin.net for pin in u1.pins if pin.number in {
"G10", "G12", "G9", "G13", "F12", "V19", "P18", "T18"
}} == {
"G10": "HARD_TCK", "G12": "HARD_TMS", "G9": "HARD_TDI", "G13": "HARD_TDO",
"F12": "RISCV_TCK", "V19": "RISCV_TDI", "P18": "RISCV_TMS", "T18": "RISCV_TDO",
}
assert next(x for x in u1.pins if x.number == "B11").net == "MAX_CLKOUT"
maxic = next(x for x in components if x.ref == "U21")
assert next(x for x in maxic.pins if x.number == "25").net == "MAX_MIXIN_HI"
assert all(next(x for x in maxic.pins if x.number == n).net is None
for n in ("19", "20", "23", "24", "26"))
pmods = [next(x for x in components if x.ref == f"JPMOD{i}") for i in range(1, 5)]
assert all(len(x.pins) == 12 for x in pmods)
assert all(sum(pin.net == "GND" for pin in x.pins) == 2 for x in pmods)
assert all(sum((pin.net or "").startswith("PMOD") for pin in x.pins) == 8 for x in pmods)
assert all(sum(pin.net == "VCC3V3" for pin in x.pins) == 2 for x in pmods[:2])
assert all(sum(pin.net == "VCC1V8" for pin in x.pins) == 2 for x in pmods[2:])
assert not any((pin.net or "").startswith("EXP_") for pin in u1.pins)
u2 = next(x for x in components if x.ref == "U2")
assert {pin.number: pin.net for pin in u2.pins if pin.number in {
"12", "13", "14", "15", "22", "23", "24", "25"
}} == {
"12": "FTDI_A_TCK_SRC", "13": "FTDI_A_TDI_SRC",
"14": "FTDI_A_TDO_SRC", "15": "FTDI_A_TMS_SRC",
"22": "FTDI_B_TCK_SRC", "23": "FTDI_B_TDI_SRC",
"24": "FTDI_B_TDO_SRC", "25": "FTDI_B_TMS_SRC",
}
assert not any(c.ref in {"U4", "J6"} for c in components)
assert not any((pin.net or "").startswith("FTDI_HARD_") or pin.net == "JTAG_SW_OE_N"
for c in components for pin in c.pins)
def has_link(net_a: str, net_b: str, value: str = "33R") -> bool:
return any(c.value == value and len(c.pins) == 2 and
{c.pins[0].net, c.pins[1].net} == {net_a, net_b}
for c in components)
for src, dst in (
("BUF_A_TCK", "RISCV_TCK"), ("BUF_A_TMS", "RISCV_TMS"),
("BUF_A_TDI", "RISCV_TDI"), ("FTDI_A_TDO_SRC", "RISCV_TDO"),
("BUF_B_TCK", "HARD_TCK"), ("BUF_B_TMS", "HARD_TMS"),
("BUF_B_TDI", "HARD_TDI"), ("FTDI_B_TDO_SRC", "HARD_TDO"),
):
assert has_link(src, dst), (src, dst)
assert next(pin for pin in u2.pins if pin.number == "26").net == "FTDI_B_RESET_N_SRC"
u28 = next(x for x in components if x.ref == "U28")
assert {pin.name: pin.net for pin in u28.pins} == {
"RESET_N": "FPGA_POWER_OK_N", "GND": "GND", "MR_N": "VCC3V3_AUX",
"CT": None, "SENSE": "VCC3V0_DIG", "VDD": "VCC3V3_AUX"}
u34 = next(x for x in components if x.ref == "U34")
assert {pin.number: pin.net for pin in u34.pins if pin.number in {"1", "2", "4", "5", "12", "13"}} == {
"1": "CORE_PG", "2": "PWR_1V8_OK", "4": "PWR_3V3_OK",
"5": "FPGA_POWER_OK_N", "12": "PWR_OK_C", "13": "PWR_SEQ_OK"}
assert next(pin for pin in next(x for x in components if x.ref == "U32").pins
if pin.number == "2").net == "ALL_FPGA_POWER_OK"
assert not any(c.value == "0R" and "FPGA_CRESET_N" in {pin.net for pin in c.pins}
for c in components)
for net, rail in (("FPGA_CDONE", "VCC1V8"), ("HARD_TCK", "VCC3V3"),
("HARD_TMS", "VCC3V3"), ("HARD_TDI", "VCC3V3"),
("HARD_TDO", "VCC3V3")):
assert has_link(net, rail, "10K"), (net, rail)
assert {pin.net for pin in next(x for x in components if x.ref == "J4").pins} == {
"EXT_RESET_N", "GND"}
assert [x.ref for x in components if x.ref.startswith("TP")] == [f"TP{i}" for i in range(1, 16)]
j5 = next(x for x in components if x.ref == "J5")
assert {x.net for x in j5.pins} == {"VCC3V3_ANT", "ANT_BIAS_SEL", "SYS5"}
validate()
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/env python3
"""Export a routing-stage DSN containing only selected net classes."""
from __future__ import annotations
import argparse
from pathlib import Path
import pcbnew
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("board", type=Path)
parser.add_argument("dsn", type=Path)
parser.add_argument("--classes", required=True,
help="Exact KiCad net-class names separated by ';' (or ',' for legacy single names)")
parser.add_argument("--preview", type=Path,
help="Optional filtered KiCad board for inspection")
args = parser.parse_args()
# KiCad can report a compound effective class such as "CLOCK,POWER" when
# two pattern assignments match one net. Semicolons let that exact class
# name pass through without being split.
separator = ";" if ";" in args.classes else ","
keep = {name.strip() for name in args.classes.split(separator) if name.strip()}
board = pcbnew.LoadBoard(str(args.board))
kept_pads = 0
omitted_pads = 0
kept_nets: set[str] = set()
for fp in board.GetFootprints():
for pad in fp.Pads():
if not pad.GetNetname():
continue
if pad.GetNetClassName() in keep:
kept_pads += 1
kept_nets.add(pad.GetNetname())
else:
pad.SetNetCode(0)
omitted_pads += 1
board.BuildListOfNets()
if args.preview:
pcbnew.SaveBoard(str(args.preview), board)
if not pcbnew.ExportSpecctraDSN(board, str(args.dsn)):
raise RuntimeError(f"Failed to export {args.dsn}")
print(f"Classes: {', '.join(sorted(keep))}")
print(f"Kept {kept_pads} pads on {len(kept_nets)} nets; omitted {omitted_pads} pads")
print(f"Saved {args.dsn}")
if __name__ == "__main__":
main()
+129
View File
@@ -0,0 +1,129 @@
#!/usr/bin/env python3
"""Export the authoritative Ti375 C529 package map from Efinity.
Run with Efinity's bundled Python because the resource pickle contains Efinity
classes. No pin name or ball assignment is embedded in this script.
"""
from __future__ import annotations
import argparse
import csv
import gzip
import hashlib
import json
import pickle
import re
from pathlib import Path
HSIO_BANKS = {"2A", "2B", "2C", "2D", "2E", "4A_4B", "4C", "4D"}
HVIO_BANKS = {"BL2_BL3", "BR0", "BR3_BR4", "TL1_TL5", "TR0", "TR1", "TR2"}
def natural_ball(ball: str) -> tuple[str, int]:
match = re.fullmatch(r"([A-Z]+)([0-9]+)", ball)
if not match:
return ball, 0
return match.group(1), int(match.group(2))
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument(
"--db",
type=Path,
default=Path("/tools/efinix/efinity/2025.2/pt/db/resource/Ti375C529.db"),
)
parser.add_argument("--csv", type=Path, default=Path("docs/ti375_c529_package.csv"))
parser.add_argument("--meta", type=Path, default=Path("docs/ti375_c529_package.meta.json"))
args = parser.parse_args()
with gzip.open(args.db, "rb") as stream:
device = pickle.load(stream)
package = device.get_package()
io_db = device._PeripheryDevice__io_pad
io_by_pad = {
vars(item)["_IOPadInfo__pad_name"]: vars(item)
for item in io_db.get_all_io_pads()
}
rows: list[dict[str, str]] = []
for ball, mapping in sorted(package.get_package_pad_map().items(), key=lambda pair: natural_ball(pair[0])):
pad = mapping.get_pad_name()
info = io_by_pad.get(pad, {})
die_bank = info.get("_IOPadInfo__bank_name", "")
package_bank = info.get("_IOPadInfo__pkg_bank_name", "")
direction_obj = info.get("_IOPadInfo__direction")
direction = getattr(direction_obj, "name", "")
instances = info.get("_IOPadInfo__instances", [])
if package_bank in HSIO_BANKS:
bank_class = "HSIO"
allowed_vccio = "1.2;1.35;1.5;1.8"
elif package_bank in HVIO_BANKS:
bank_class = "HVIO"
allowed_vccio = "1.8;2.5;3.0;3.3"
else:
bank_class = "HARD/POWER"
allowed_vccio = ""
special: list[str] = []
upper_pad = pad.upper()
if "CLK" in upper_pad:
special.append("CLOCK_CAPABLE")
if "PLLIN" in upper_pad:
special.append("PLL_INPUT")
if "EXTFB" in upper_pad:
special.append("PLL_EXTFB")
if "CDI" in upper_pad:
special.append("CORE_DATA_INPUT")
if "EXTSPI" in upper_pad:
special.append("EXT_SPI")
if "CBSEL" in upper_pad:
special.append("CONFIG_BOOT_SELECT")
if re.search(r"_(P|N)(?:_|$)", upper_pad):
special.append("DIFFERENTIAL_MEMBER")
is_fabric_gpio = pad.startswith(("GPIOB_", "GPIOT_", "GPIOL_", "GPIOR_"))
rows.append(
{
"ball": ball,
"official_pad_name": pad,
"die_bank": die_bank,
"package_bank": package_bank,
"bank_class": bank_class,
"allowed_vccio_v": allowed_vccio,
"direction": direction,
"function": info.get("_IOPadInfo__function", ""),
"periphery_instances": ";".join(instances),
"instance_pin": info.get("_IOPadInfo__pin", "") or "",
"special_capability": ";".join(special),
"fabric_gpio": "yes" if is_fabric_gpio else "no",
}
)
args.csv.parent.mkdir(parents=True, exist_ok=True)
with args.csv.open("w", newline="", encoding="utf-8") as stream:
writer = csv.DictWriter(stream, fieldnames=list(rows[0]))
writer.writeheader()
writer.writerows(rows)
digest = hashlib.sha256(args.db.read_bytes()).hexdigest()
metadata = {
"device": device.get_device_name(),
"mapped_device": device.get_device_mapped_name(),
"package": package.get_package_name(),
"package_status": package.get_status_str(),
"source_database": str(args.db),
"source_sha256": digest,
"row_count": len(rows),
"fabric_gpio_count": sum(row["fabric_gpio"] == "yes" for row in rows),
"package_banks": package.get_package_bank_names(),
}
args.meta.write_text(json.dumps(metadata, indent=2, sort_keys=True) + "\n", encoding="utf-8")
if __name__ == "__main__":
main()
+246
View File
@@ -0,0 +1,246 @@
#!/usr/bin/env python3
"""Import a Specctra session and install audited RF/USB copper.
Freerouting is used only for the dense non-critical interconnect. The GPS
front end and USB2 pair are removed from that result and rebuilt here with
deterministic geometry derived from the selected JLC08161H-3313 stackup.
"""
from __future__ import annotations
import argparse
import math
import shutil
from pathlib import Path
import pcbnew
ROOT = Path(__file__).resolve().parents[1]
PLACED = ROOT / "hardware" / "board.kicad_pcb"
ROUTED = ROOT / "hardware" / "board_routed.kicad_pcb"
RF_NETS = {"RF_SMA", "RF_PRE_SAW", "RF_POST_SAW", "MAX_MIXIN_HI"}
USB_NETS = {"USB_D_P", "USB_D_N", "FTDI_D_P", "FTDI_D_N"}
CRITICAL_NETS = RF_NETS | USB_NETS
def mm(value: float) -> int:
return pcbnew.FromMM(value)
def point(x: float, y: float) -> pcbnew.VECTOR2I:
return pcbnew.VECTOR2I_MM(x, y)
def footprint(board: pcbnew.BOARD, ref: str) -> pcbnew.FOOTPRINT:
item = board.FindFootprintByReference(ref)
if item is None:
raise RuntimeError(f"Missing footprint {ref}")
return item
def pads(board: pcbnew.BOARD, ref: str, number: str) -> list[pcbnew.PAD]:
result = [pad for pad in footprint(board, ref).Pads() if pad.GetNumber() == str(number)]
if not result:
raise RuntimeError(f"Missing pad {ref}.{number}")
return result
def pad_xy(board: pcbnew.BOARD, ref: str, number: str, index: int = 0) -> tuple[float, float]:
position = pads(board, ref, number)[index].GetPosition()
return pcbnew.ToMM(position.x), pcbnew.ToMM(position.y)
def assert_ref_nets(board: pcbnew.BOARD, ref: str, expected: set[str]) -> None:
actual = {pad.GetNetname() for pad in footprint(board, ref).Pads() if pad.GetNetname()}
if actual != expected:
raise RuntimeError(f"{ref} net mismatch: expected {sorted(expected)}, got {sorted(actual)}")
def add_segment(board: pcbnew.BOARD, net_name: str,
start: tuple[float, float], end: tuple[float, float],
width: float, layer: int = pcbnew.F_Cu, locked: bool = True) -> None:
if start == end:
return
track = pcbnew.PCB_TRACK(board)
track.SetStart(point(*start))
track.SetEnd(point(*end))
track.SetWidth(mm(width))
track.SetLayer(layer)
track.SetNet(board.FindNet(net_name))
track.SetLocked(locked)
board.Add(track)
def add_polyline(board: pcbnew.BOARD, net_name: str,
vertices: list[tuple[float, float]], width: float,
layer: int = pcbnew.F_Cu) -> None:
for start, end in zip(vertices, vertices[1:]):
add_segment(board, net_name, start, end, width, layer)
def add_via(board: pcbnew.BOARD, net_name: str, position: tuple[float, float],
diameter: float = 0.45, drill: float = 0.225) -> None:
via = pcbnew.PCB_VIA(board)
via.SetPosition(point(*position))
via.SetWidth(mm(diameter))
via.SetDrill(mm(drill))
via.SetLayerPair(pcbnew.F_Cu, pcbnew.B_Cu)
via.SetNet(board.FindNet(net_name))
via.SetLocked(True)
board.Add(via)
def remove_critical_routes(board: pcbnew.BOARD) -> int:
doomed = [item for item in board.GetTracks() if item.GetNetname() in CRITICAL_NETS]
for item in doomed:
board.Remove(item)
return len(doomed)
def remove_temporary_keepouts(board: pcbnew.BOARD) -> int:
doomed = [zone for zone in board.Zones()
if zone.GetIsRuleArea() and zone.GetZoneName().startswith("TEMP_")]
for zone in doomed:
board.Remove(zone)
return len(doomed)
def route_rf(board: pcbnew.BOARD) -> None:
# 0.164-mm L1 CPWG with 0.200-mm ground gap: 49.65 ohms on the exact
# JLC08161H-3313 L1/L2 dielectric construction.
for ref, expected in {
"C83": {"RF_SMA", "RF_PRE_SAW"},
"C84": {"RF_POST_SAW", "GND"},
"R39": {"RF_POST_SAW", "MAX_MIXIN_HI"},
"C85": {"MAX_MIXIN_HI", "GND"},
}.items():
assert_ref_nets(board, ref, expected)
w = 0.164
j2 = pad_xy(board, "J2", "1")
dc_block_1 = pad_xy(board, "C83", "1")
l4_2 = pad_xy(board, "L4", "2")
add_polyline(board, "RF_SMA", [j2, l4_2, dc_block_1], w)
d1 = pad_xy(board, "D1", "1")
add_polyline(board, "RF_SMA", [d1, (d1[0], 45.07)], w)
add_polyline(board, "RF_PRE_SAW",
[pad_xy(board, "C83", "2"), pad_xy(board, "FL1", "1")], w)
fl_out = pad_xy(board, "FL1", "4")
tune1 = pad_xy(board, "C84", "1")
series_1 = pad_xy(board, "R39", "1")
add_polyline(board, "RF_POST_SAW", [fl_out, tune1, series_1], w)
series_2 = pad_xy(board, "R39", "2")
mixin = pad_xy(board, "U21", "25")
add_polyline(board, "MAX_MIXIN_HI",
[series_2, (159.69, 41.80), (mixin[0], 41.80), mixin], w)
tune2 = pad_xy(board, "C85", "1")
add_polyline(board, "MAX_MIXIN_HI", [tune2, (tune2[0], 41.80)], w)
def route_usb(board: pcbnew.BOARD) -> None:
# Main device-side pair uses the upper receptacle contact pair. The two
# mirrored USB-C contacts join through a sub-1.5-mm L3 crossover so neither
# polarity creates a same-layer crossing at the receptacle.
w = 0.135
dm_main = pad_xy(board, "J1", "B7")
dp_main = pad_xy(board, "J1", "A6")
dm_mirror = pad_xy(board, "J1", "A7")
dp_mirror = pad_xy(board, "J1", "B6")
dm_join, dp_join = (28.30, 47.25), (28.80, 47.75)
dm_aux, dp_aux = (27.30, 48.25), (27.80, 48.75)
add_polyline(board, "USB_D_N", [dm_main, dm_join], w)
add_polyline(board, "USB_D_P", [dp_main, dp_join], w)
add_polyline(board, "USB_D_N", [dm_mirror, dm_aux], w)
add_polyline(board, "USB_D_P", [dp_mirror, dp_aux], w)
for net, location in (("USB_D_N", dm_join), ("USB_D_P", dp_join),
("USB_D_N", dm_aux), ("USB_D_P", dp_aux)):
add_via(board, net, location)
add_polyline(board, "USB_D_N", [dm_aux, dm_join], w, pcbnew.In2_Cu)
add_polyline(board, "USB_D_P", [dp_aux, dp_join], w, pcbnew.In2_Cu)
dm_esd = pad_xy(board, "U6", "3")
dp_esd = pad_xy(board, "U6", "1")
add_polyline(board, "USB_D_N", [dm_join, (30.00, 49.00), (30.00, 50.70), dm_esd], w)
add_polyline(board, "USB_D_P", [dp_join, (30.285, 49.285), (30.285, 51.64), dp_esd], w)
dm_r = pad_xy(board, "R64", "1")
dp_r = pad_xy(board, "R63", "1")
add_polyline(board, "USB_D_N",
[dm_esd, (31.00, 51.40), (34.00, 54.40), (35.80, 54.40), dm_r], w)
add_polyline(board, "USB_D_P",
[dp_esd, (30.715, 51.685), (33.715, 54.685), (35.80, 54.685), dp_r], w)
# Equal 1.511-mm post-termination legs into the FT4232H USB PHY.
add_polyline(board, "FTDI_D_N", [pad_xy(board, "R64", "2"), pad_xy(board, "U2", "7")], w)
add_polyline(board, "FTDI_D_P", [pad_xy(board, "R63", "2"), pad_xy(board, "U2", "8")], w)
def add_rf_ground(board: pcbnew.BOARD) -> None:
zone = pcbnew.ZONE(board)
zone.SetLayer(pcbnew.F_Cu)
zone.SetNet(board.FindNet("GND"))
zone.SetLocalClearance(mm(0.20))
zone.SetMinThickness(mm(0.10))
zone.SetPadConnection(pcbnew.ZONE_CONNECTION_FULL)
zone.SetIslandRemovalMode(pcbnew.ISLAND_REMOVAL_MODE_NEVER)
zone.SetAssignedPriority(100)
outline = zone.Outline()
outline.NewOutline()
for x, y in ((152.0, 36.0), (174.5, 36.0), (174.5, 49.5), (152.0, 49.5)):
outline.Append(point(x, y))
board.Add(zone)
# Lambda/20 is about 9.5 mm at GPS L1 in FR-4. This 2-mm fence is much
# tighter and also gives every local shunt/EP a short plane connection.
fence = [(x, 38.7) for x in range(153, 174, 2)]
fence += [(x, 45.0) for x in range(161, 174, 2)]
for location in fence:
add_via(board, "GND", location, 0.45, 0.225)
def routed_lengths(board: pcbnew.BOARD) -> dict[str, float]:
totals = {net: 0.0 for net in CRITICAL_NETS}
for item in board.GetTracks():
net = item.GetNetname()
if net not in totals or isinstance(item, pcbnew.PCB_VIA):
continue
start, end = item.GetStart(), item.GetEnd()
totals[net] += math.hypot(pcbnew.ToMM(end.x - start.x), pcbnew.ToMM(end.y - start.y))
return totals
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("session", type=Path, help="Freerouting .ses file")
parser.add_argument("--output", type=Path, default=ROUTED)
args = parser.parse_args()
board = pcbnew.LoadBoard(str(PLACED))
if not pcbnew.ImportSpecctraSES(board, str(args.session)):
raise RuntimeError(f"Could not import {args.session}")
removed = remove_critical_routes(board)
removed_keepouts = remove_temporary_keepouts(board)
route_rf(board)
route_usb(board)
add_rf_ground(board)
if not pcbnew.ZONE_FILLER(board).Fill(board.Zones()):
raise RuntimeError("Final zone fill failed")
pcbnew.SaveBoard(str(args.output), board)
for suffix in (".kicad_pro", ".kicad_dru"):
source = PLACED.with_suffix(suffix)
if source.exists():
shutil.copyfile(source, args.output.with_suffix(suffix))
print(f"Removed {removed} autorouted critical-net items")
print(f"Removed {removed_keepouts} temporary critical-route keepouts")
print(f"Saved {args.output}")
for net, length in sorted(routed_lengths(board).items()):
print(f"{net:16s} {length:8.3f} mm")
if __name__ == "__main__":
main()
+258
View File
@@ -0,0 +1,258 @@
#!/usr/bin/env python3
"""Generate the authoritative Ti375 pin tables and MAX2771 register image.
The package source is exported directly from Efinity 2025.2's Ti375C529
resource database by export_ti375_package.py. This script deliberately fails
if a named ball, bank, voltage, or clock capability does not match that source.
"""
from __future__ import annotations
import csv
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
PACKAGE_CSV = ROOT / "docs" / "ti375_c529_package.csv"
# signal, ball, direction, subsystem, selected I/O standard, design note
ASSIGNMENTS = [
("HARD_TCK", "G10", "input", "hard_jtag", "3.3 V LVCMOS", "Dedicated hard TAP TCK; FT4232H interface 1 BDBUS0 through power-domain isolation"),
("HARD_TMS", "G12", "input", "hard_jtag", "3.3 V LVCMOS", "Dedicated hard TAP TMS; FT4232H interface 1 BDBUS3 through power-domain isolation"),
("HARD_TDI", "G9", "input", "hard_jtag", "3.3 V LVCMOS", "Dedicated hard TAP TDI; FT4232H interface 1 BDBUS1 through power-domain isolation"),
("HARD_TDO", "G13", "output", "hard_jtag", "3.3 V LVCMOS", "Dedicated hard TAP TDO; FT4232H interface 1 BDBUS2 through power-domain isolation"),
("FPGA_CRESET_N", "F9", "input", "configuration", "1.8 V LVCMOS", "Open-drain fan-in of all-rail-valid, FTDI, and filtered external/manual reset requests"),
("FPGA_CDONE", "F8", "output", "configuration", "1.8 V LVCMOS", "Configuration status test point"),
("QSPI_CS_N", "A7", "output", "configuration", "1.8 V LVCMOS", "SPI-active SSL_N"),
("QSPI_SCLK", "G6", "output", "configuration", "1.8 V LVCMOS", "SPI-active CCK; official CCK_PLLIN0 pin"),
("QSPI_IO0", "H4", "bidirectional", "configuration", "1.8 V LVCMOS", "SPI-active CDI0"),
("QSPI_IO1", "H5", "bidirectional", "configuration", "1.8 V LVCMOS", "SPI-active CDI1"),
("QSPI_IO2", "G5", "bidirectional", "configuration", "1.8 V LVCMOS", "SPI-active CDI2"),
("QSPI_IO3", "B7", "bidirectional", "configuration", "1.8 V LVCMOS", "SPI-active CDI3"),
("FPGA_TEST_N", "J2", "input", "configuration", "1.8 V LVCMOS", "Mandatory external weak pull-up disables test mode during configuration"),
("FPGA_CSI", "J5", "input", "configuration", "1.8 V LVCMOS", "Mandatory external weak pull-up selects this FPGA throughout configuration"),
("RISCV_TCK", "F12", "input", "secondary_jtag", "3.3 V LVCMOS", "Fabric RISC-V JTAG clock moved off the plain-GPIO PMOD allocation"),
("RISCV_TDI", "V19", "input", "secondary_jtag", "3.3 V LVCMOS", "Official development-kit hardened RISC-V JTAG assignment"),
("RISCV_TMS", "P18", "input", "secondary_jtag", "3.3 V LVCMOS", "Clock-capable fabric pin; official development-kit assignment"),
("RISCV_TDO", "T18", "output", "secondary_jtag", "3.3 V LVCMOS", "Official development-kit hardened RISC-V JTAG assignment"),
("MAX_CLKOUT", "B11", "input", "max2771", "3.0 V LVCMOS", "Source-synchronous ADC capture clock on dedicated clock-capable input"),
("MAX_I0", "D10", "input", "max2771", "3.0 V LVCMOS", "ADC I bit 0"),
("MAX_I1", "D11", "input", "max2771", "3.0 V LVCMOS", "ADC I bit 1; clock-capable pad retained in same BR0 bank"),
("MAX_Q0", "E10", "input", "max2771", "3.0 V LVCMOS", "ADC Q bit 0; PLL-capable pad in same BR0 bank"),
("MAX_Q1", "E11", "input", "max2771", "3.0 V LVCMOS", "ADC Q bit 1; PLL-capable pad in same BR0 bank"),
("MAX_LD", "F11", "input", "max2771", "3.0 V LVCMOS", "PLL lock status"),
("MAX_SCLK", "F16", "output", "max2771", "3.0 V LVCMOS", "Three-wire serial clock"),
("MAX_CSN", "F17", "output", "max2771", "3.0 V LVCMOS", "Three-wire active-low chip select"),
("MAX_SDATA", "G16", "bidirectional", "max2771", "3.0 V LVCMOS", "Single bidirectional three-wire serial data; not split MOSI/MISO"),
("MAX_SHDN", "G17", "output", "max2771", "3.0 V LVCMOS", "MAX2771 hardware shutdown control"),
("IMU_SCK", "A8", "output", "sch16t", "3.3 V LVCMOS", "SafeSPI mode-0 clock"),
("IMU_MOSI", "A9", "output", "sch16t", "3.3 V LVCMOS", "SafeSPI controller-to-sensor data"),
("IMU_MISO", "B9", "input", "sch16t", "3.3 V LVCMOS", "SafeSPI sensor-to-controller data"),
("IMU_CS", "B10", "output", "sch16t", "3.3 V LVCMOS", "SafeSPI active-low chip select"),
("IMU_DRY_SYNC", "A11", "bidirectional", "sch16t", "3.3 V LVCMOS", "Murata multiplexed Data Ready output / SYNC input"),
("IMU_EXTRESN", "C10", "output", "sch16t", "3.3 V LVCMOS", "External active-low reset"),
("CLK_40M_FPGA", "U17", "input", "clock", "3.3 V LVCMOS", "40 MHz oscillator branch on clock-capable pin"),
("UART0_RX", "P17", "input", "ft4232", "3.3 V LVCMOS", "FT4232H channel C TXD to FPGA RX"),
("UART0_TX", "R17", "output", "ft4232", "3.3 V LVCMOS", "FPGA TX to FT4232H channel C RXD"),
("UART1_RX", "R18", "input", "ft4232", "3.3 V LVCMOS", "FT4232H channel D TXD to FPGA RX"),
("UART1_TX", "T19", "output", "ft4232", "3.3 V LVCMOS", "FPGA TX to FT4232H channel D RXD"),
("FTDI_DBG_GPIO", "U19", "bidirectional", "ft4232", "3.3 V LVCMOS", "Channel D debug GPIO/test point; PLL-capable"),
("PMOD1_1", "U6", "bidirectional", "pmod_3v3", "3.3 V LVCMOS", "PMOD 1 pin 1; plain HVIO GPIO"),
("PMOD1_2", "V4", "bidirectional", "pmod_3v3", "3.3 V LVCMOS", "PMOD 1 pin 2; plain HVIO GPIO"),
("PMOD1_3", "A13", "bidirectional", "pmod_tr1", "3.3 V LVCMOS", "PMOD 1 pin 3"),
("PMOD1_4", "C9", "bidirectional", "pmod_3v3", "3.3 V LVCMOS", "PMOD 1 pin 4; plain HVIO GPIO"),
("PMOD1_7", "C12", "bidirectional", "pmod_tr1", "3.3 V LVCMOS", "PMOD 1 pin 7"),
("PMOD1_8", "C13", "bidirectional", "pmod_tr1", "3.3 V LVCMOS", "PMOD 1 pin 8"),
("PMOD1_9", "C14", "bidirectional", "pmod_tr1", "3.3 V LVCMOS", "PMOD 1 pin 9"),
("PMOD1_10", "D12", "bidirectional", "pmod_tr1", "3.3 V LVCMOS", "PMOD 1 pin 10"),
("PMOD2_1", "V20", "bidirectional", "pmod_3v3", "3.3 V LVCMOS", "PMOD 2 pin 1; plain HVIO GPIO"),
("PMOD2_2", "D13", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 2"),
("PMOD2_3", "E13", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 3"),
("PMOD2_4", "E14", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 4"),
("PMOD2_7", "E16", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 7"),
("PMOD2_8", "F13", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 8"),
("PMOD2_9", "E15", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 9"),
("PMOD2_10", "F14", "bidirectional", "pmod_tr2", "3.3 V LVCMOS", "PMOD 2 pin 10"),
# The two 1.8-V PMODs use plain HSIO pairs only. None of these pads has
# a configuration, clock, PLL, or external-feedback alternate function.
("PMOD3_1", "C20", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 1; HSIO pair 51 P"),
("PMOD3_2", "B20", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 2; HSIO pair 51 N"),
("PMOD3_3", "C17", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 3; HSIO pair 52 P"),
("PMOD3_4", "B17", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 4; HSIO pair 52 N"),
("PMOD3_7", "A16", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 7; HSIO pair 53 P"),
("PMOD3_8", "A17", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 8; HSIO pair 53 N"),
("PMOD3_9", "C19", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 9; HSIO pair 54 P"),
("PMOD3_10", "B19", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 3 pin 10; HSIO pair 54 N"),
("PMOD4_1", "B14", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 1; HSIO pair 55 P"),
("PMOD4_2", "A14", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 2; HSIO pair 55 N"),
("PMOD4_3", "J18", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 3; HSIO pair 56 P"),
("PMOD4_4", "H18", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 4; HSIO pair 56 N"),
("PMOD4_7", "A18", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 7; HSIO pair 57 P"),
("PMOD4_8", "A19", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 8; HSIO pair 57 N"),
("PMOD4_9", "D16", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 9; HSIO pair 58 P"),
("PMOD4_10", "D17", "bidirectional", "pmod_2e", "1.8 V LVCMOS", "PMOD 4 pin 10; HSIO pair 58 N"),
]
EXPECTED_HARD_NAMES = {
"G10": "TCK", "G12": "TMS", "G9": "TDI", "G13": "TDO",
"F9": "CRESET_N", "F8": "CDONE", "C8": "JTAG_VCCIO_SEL",
}
def load_package() -> tuple[list[dict[str, str]], dict[str, dict[str, str]]]:
with PACKAGE_CSV.open(newline="") as f:
rows = list(csv.DictReader(f))
assert len(rows) == 529, f"C529 package source has {len(rows)} rows, expected 529"
by_ball = {r["ball"]: r for r in rows}
assert len(by_ball) == 529
for ball, name in EXPECTED_HARD_NAMES.items():
assert by_ball[ball]["official_pad_name"] == name, (ball, by_ball[ball], name)
return rows, by_ball
def output_pin_tables(rows: list[dict[str, str]], by_ball: dict[str, dict[str, str]]) -> None:
assigned: dict[str, dict[str, str]] = {}
out_rows: list[dict[str, str]] = []
for signal, ball, direction, subsystem, standard, note in ASSIGNMENTS:
assert ball not in assigned, f"duplicate assignment at {ball}"
pkg = by_ball[ball]
if "clock" in note.lower() and "clock-capable" in note.lower():
assert "CLOCK_CAPABLE" in pkg["special_capability"], (signal, ball, pkg)
if standard.startswith("3.3"):
assert "3.3" in pkg["allowed_vccio_v"], (signal, ball, pkg)
if standard.startswith("3.0"):
assert "3.0" in pkg["allowed_vccio_v"], (signal, ball, pkg)
if standard.startswith("1.8"):
assert "1.8" in pkg["allowed_vccio_v"], (signal, ball, pkg)
item = {
"signal": signal,
"ball": ball,
"official_pin_name": pkg["official_pad_name"],
"die_bank": pkg["die_bank"],
"package_bank": pkg["package_bank"],
"vccio": standard.split()[0] + " V",
"io_standard": standard,
"direction": direction,
"clock_capability": "yes" if "CLOCK_CAPABLE" in pkg["special_capability"] else "no",
"special_function": pkg["special_capability"],
"subsystem": subsystem,
"connector": "on-board",
"connector_pin": "",
"note": note,
}
if subsystem.startswith("pmod_"):
pmod_number = signal.removeprefix("PMOD").split("_", 1)[0]
item["connector"] = f"JPMOD{pmod_number}"
item["connector_pin"] = signal.rsplit("_", 1)[1]
assigned[ball] = item
out_rows.append(item)
# Only the four PMODs are exposed. All other fabric GPIOs remain physically
# unconnected, reducing connector count, board area, and escape-routing load.
inventory: list[dict[str, str]] = []
for pkg in rows:
if pkg["fabric_gpio"] != "yes":
continue
ball = pkg["ball"]
if ball in assigned:
a = assigned[ball]
inventory.append({
"ball": ball, "official_pin_name": pkg["official_pad_name"],
"package_bank": pkg["package_bank"], "bank_class": pkg["bank_class"],
"selected_vccio": a["vccio"], "io_standard": a["io_standard"],
"clock_capability": a["clock_capability"], "special_function": pkg["special_capability"],
"status": "used", "signal": a["signal"], "connector": a["connector"],
"connector_pin": a["connector_pin"], "note": a["note"],
})
continue
voltage = "3.3 V" if pkg["bank_class"] == "HVIO" else "1.8 V"
standard = "3.3 V LVCMOS" if pkg["bank_class"] == "HVIO" else "1.8 V LVCMOS"
inventory.append({
"ball": ball, "official_pin_name": pkg["official_pad_name"],
"package_bank": pkg["package_bank"], "bank_class": pkg["bank_class"],
"selected_vccio": voltage, "io_standard": standard,
"clock_capability": "yes" if "CLOCK_CAPABLE" in pkg["special_capability"] else "no",
"special_function": pkg["special_capability"],
"status": "unused", "signal": "", "connector": "",
"connector_pin": "", "note": "Unused fabric GPIO; left unconnected at the BGA",
})
all_gpio = {r["ball"] for r in rows if r["fabric_gpio"] == "yes"}
assert len(all_gpio) == 227
used_gpio = set(assigned) & all_gpio
# Two former stand-alone auxiliary probes were deliberately released when
# the connector-like test-point bank was removed.
assert len(used_gpio) == 66
assert len(all_gpio - used_gpio) == 161
fieldnames = list(out_rows[0])
with (ROOT / "docs" / "ti375_pinout.csv").open("w", newline="") as f:
w = csv.DictWriter(f, fieldnames=fieldnames)
w.writeheader()
w.writerows(sorted(out_rows, key=lambda r: r["ball"]))
with (ROOT / "docs" / "unused_gpio_inventory.csv").open("w", newline="") as f:
w = csv.DictWriter(f, fieldnames=list(inventory[0]))
w.writeheader()
w.writerows(sorted(inventory, key=lambda r: r["ball"]))
with (ROOT / "docs" / "ti375_pin_constraints.isf").open("w") as f:
f.write("# Efinity interface constraints generated from the official Ti375C529 database.\n")
f.write("# Verify port names against the final RTL top level before importing.\n")
for a in sorted(out_rows, key=lambda r: r["signal"]):
f.write(f'set_pin_assignment -pin_name {a["ball"]} -port_name {a["signal"]}\n')
def output_max2771_registers() -> None:
defaults = {
0x0: 0xBEA41603, 0x1: 0x20550288, 0x2: 0x0EAFA1DC,
0x3: 0x698C0008, 0x4: 0x00C00080, 0x5: 0x08000070,
0x6: 0x08000000, 0x7: 0x010061B2, 0x8: 0x01E0F401,
0x9: 0x00C00002, 0xA: 0x010061B0,
}
regs = dict(defaults)
# GPS L1/L1C wideband example from MAX2771 Rev 2 Applications Information.
regs[0x0] = (regs[0x0] & ~(1 << 17)) | (1 << 17) # MIXPOLE=36 MHz
regs[0x0] = (regs[0x0] & ~(0x3 << 15)) | (0x2 << 15) # both LNAs disabled
regs[0x0] = (regs[0x0] & ~(0x3 << 13)) | (0x0 << 13) # high-band mixer
regs[0x0] = (regs[0x0] & ~(0x7 << 3)) | (0x3 << 3) # 23.4 MHz LPF
regs[0x0] &= ~(1 << 2) # 5th order
regs[0x0] &= ~(1 << 1) # low-pass, not polyphase
regs[0x3] |= 1 << 3 # integer-N PLL
regs[0x4] = (regs[0x4] & ~((0x7FFF << 13) | (0x3FF << 3))) | (1540 << 13) | (16 << 3)
regs[0x7] |= 1 << 28 # external ADC clock on ADC_CLKIN
regs[0xA] |= 1 << 2 # CLKOUT outputs ADC sampling clock
assert (regs[0] >> 22) & 0xFF == 0xFA # required reserved field
assert (regs[9] >> 22) & 0x7 == 0x3 # required reserved field
assert regs[4] == 0x00C08080
assert abs(16.368 / 16 * 1540 - 1575.42) < 1e-9
with (ROOT / "docs" / "max2771_registers.csv").open("w", newline="") as f:
fieldnames = ["address", "value_hex", "default_hex", "changed", "purpose"]
w = csv.DictWriter(f, fieldnames=fieldnames)
w.writeheader()
purposes = {
0: "MIXIN_HI, both LNAs disabled, 23.4 MHz 5th-order LPF, 36 MHz mixer pole",
3: "Integer-N L1 PLL",
4: "NDIV=1540, RDIV=16: 16.368 MHz / 16 * 1540 = 1575.42 MHz",
7: "External 40 MHz ADC sampling clock on ADC_CLKIN",
10: "Route ADC sampling clock to CLKOUT for source-synchronous FPGA capture",
}
for addr in range(11):
w.writerow({
"address": f"0x{addr:X}", "value_hex": f"0x{regs[addr]:08X}",
"default_hex": f"0x{defaults[addr]:08X}",
"changed": "yes" if regs[addr] != defaults[addr] else "no",
"purpose": purposes.get(addr, "Preserve MAX2771 documented reset/default value"),
})
def main() -> None:
rows, by_ball = load_package()
output_pin_tables(rows, by_ball)
output_max2771_registers()
if __name__ == "__main__":
main()
+300
View File
@@ -0,0 +1,300 @@
#!/usr/bin/env python3
"""Generate manufacturer-recommended custom footprints used by board.kicad_sch.
Dimensions are in millimetres and come from the package/land-pattern drawings
listed in docs/reference_manifest.md. No generic IPC generator is used for
the irregular high-current and sensor packages.
"""
from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
OUT = ROOT / "hardware" / "board.pretty"
OUT.mkdir(parents=True, exist_ok=True)
def fmt(value: float) -> str:
return f"{value:.4f}".rstrip("0").rstrip(".") or "0"
def header(name: str, description: str, courtyard: tuple[float, float], body: tuple[float, float]) -> list[str]:
cw, ch = courtyard
bw, bh = body
return [
f'(footprint "{name}"',
' (version 20240108)',
' (generator "board-footprints")',
' (layer "F.Cu")',
f' (descr "{description}")',
' (attr smd)',
' (property "Reference" "REF**" (at 0 -5 0) (layer "F.SilkS")',
' (effects (font (size 1 1) (thickness 0.15))))',
' (property "Value" "" (at 0 5 0) (layer "F.Fab") hide',
' (effects (font (size 1 1) (thickness 0.15))))',
f' (fp_rect (start {fmt(-bw/2)} {fmt(-bh/2)}) (end {fmt(bw/2)} {fmt(bh/2)})',
' (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))',
f' (fp_rect (start {fmt(-cw/2)} {fmt(-ch/2)}) (end {fmt(cw/2)} {fmt(ch/2)})',
' (stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))',
]
def silk_box(lines: list[str], width: float, height: float, mark: tuple[float, float] | None = None) -> None:
x, y = width / 2, height / 2
for x1, y1, x2, y2 in ((-x, -y, x, -y), (x, -y, x, y), (x, y, -x, y), (-x, y, -x, -y)):
lines.append(
f' (fp_line (start {fmt(x1)} {fmt(y1)}) (end {fmt(x2)} {fmt(y2)}) '
'(stroke (width 0.15) (type default)) (layer "F.SilkS"))'
)
if mark:
lines.append(
f' (fp_circle (center {fmt(mark[0])} {fmt(mark[1])}) (end {fmt(mark[0]+0.25)} {fmt(mark[1])}) '
'(stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))'
)
def pad(lines: list[str], number: str, x: float, y: float, sx: float, sy: float,
shape: str = "roundrect", layers: str = '"F.Cu" "F.Paste" "F.Mask"',
rotation: float = 0.0) -> None:
rot = f" {fmt(rotation)}" if rotation else ""
lines.append(
f' (pad "{number}" smd {shape} (at {fmt(x)} {fmt(y)}{rot}) '
f'(size {fmt(sx)} {fmt(sy)}) (layers {layers})'
+ (' (roundrect_rratio 0.15)' if shape == "roundrect" else '') + ')'
)
def finish(name: str, lines: list[str]) -> None:
lines.append(' (embedded_fonts no)')
lines.append(')')
(OUT / f"{name}.kicad_mod").write_text("\n".join(lines) + "\n")
def texas_rpw0010a() -> None:
name = "Texas_RPW0010A_QFN10"
l = header(name, "TI RPW0010A VQFN-HR; TI land pattern 4225183/A", (3.0, 3.0), (2.0, 2.0))
silk_box(l, 2.35, 2.35, (-1.45, -1.15))
# Corner lands are the union of a 0.25 x 0.60 vertical land and a
# 0.60 x 0.30 horizontal land, exactly matching TI's L-shaped examples.
for number, sx, sy in (("1", -1, -1), ("4", -1, 1), ("7", 1, 1), ("10", 1, -1)):
pad(l, number, sx * 0.725, sy * 0.9, 0.25, 0.60)
pad(l, number, sx * 0.9, sy * 0.75, 0.60, 0.30)
pad(l, "2", -0.9, -0.225, 0.60, 0.25)
pad(l, "3", -0.9, 0.225, 0.60, 0.25)
pad(l, "5", -0.25, 0, 0.30, 2.40)
pad(l, "6", 0.25, 0, 0.30, 2.40)
pad(l, "8", 0.9, 0.225, 0.60, 0.25)
pad(l, "9", 0.9, -0.225, 0.60, 0.25)
finish(name, l)
def texas_rux0012a() -> None:
name = "Texas_RUX0012A_VQFN12"
l = header(name, "TI RUX0012A VQFN-HR; TI land pattern 4224010/A", (3.4, 3.4), (2.5, 2.5))
silk_box(l, 2.65, 2.65, (-1.45, -1.2))
# Large current pads, left pins 1/2 and right pins 8/7.
for number, x, y in (("1", -0.675, -0.35), ("2", -0.675, 0.35),
("8", 0.675, -0.35), ("7", 0.675, 0.35)):
pad(l, number, x, y, 1.05, 0.40)
for number, x in zip(("12", "11", "10", "9"), (-0.75, -0.25, 0.25, 0.75)):
pad(l, number, x, -1.15, 0.20, 0.60)
for number, x in zip(("3", "4", "5", "6"), (-0.75, -0.25, 0.25, 0.75)):
pad(l, number, x, 1.15, 0.20, 0.60)
finish(name, l)
def texas_rqy0009a() -> None:
name = "Texas_RQY0009A_VQFN9"
l = header(name, "TI RQY0009A VQFN-HR; TI land pattern 4225639/A", (2.8, 3.2), (1.5, 2.0))
silk_box(l, 1.75, 2.45, (-1.05, -1.25))
for number, x in zip(("1", "9", "8"), (-0.5, 0, 0.5)):
pad(l, number, x, -1.175, 0.25, 0.55)
for number, x in zip(("4", "5", "6"), (-0.5, 0, 0.5)):
pad(l, number, x, 1.175, 0.25, 0.55)
pad(l, "2", -0.475, -0.40, 0.95, 0.20)
pad(l, "3", -0.475, 0.40, 0.95, 0.20)
pad(l, "7", 0.475, 0, 0.95, 0.20)
finish(name, l)
def texas_rzv0024a() -> None:
name = "Texas_RZV0024A_WQFN24"
l = header(name, "TI RZV0024A WQFN-FCRLF; TI land pattern 4228538/A", (3.5, 4.5), (3.05, 4.05))
silk_box(l, 3.15, 4.15, (-1.75, -2.1))
# Left pins 1..8 and right pins 20..13. The four corner pins use TI's
# L-shaped lands; repeated pad numbers create one electrical pad in KiCad.
for number, sx, sy in (("1", -1, -1), ("8", -1, 1), ("13", 1, 1), ("20", 1, -1)):
# Trim only the two inward tips from the TI nominal 0.60-mm L shape.
# This keeps the outer solder fillet while meeting JLC's 0.10-mm
# copper web to the two adjacent lands.
pad(l, number, sx * 1.25, sy * 1.825, 0.25, 0.45)
pad(l, number, sx * 1.325, sy * 1.75, 0.45, 0.25)
for number, y in zip(("2", "3", "4", "5", "6", "7"), (-1.25, -0.75, -0.25, 0.25, 0.75, 1.25)):
pad(l, number, -1.25, y, 0.60, 0.25)
for number, y in zip(("19", "18", "17", "16", "15", "14"), (-1.25, -0.75, -0.25, 0.25, 0.75, 1.25)):
pad(l, number, 1.25, y, 0.60, 0.25)
for number, x in zip(("24", "23", "22", "21"), (-0.75, -0.25, 0.25, 0.75)):
pad(l, number, x, -1.75, 0.25, 0.60)
for number, x in zip(("9", "10", "11", "12"), (-0.75, -0.25, 0.25, 0.75)):
pad(l, number, x, 1.75, 0.25, 0.60)
# TI calls out three separate exposed-metal zones, all connected to GND.
# Leave a JLC-process-compatible 0.10-mm minimum copper gap to the
# perimeter lands while retaining the package's three-zone topology.
zones = ((-0.425, -0.65, 0.60, 1.10), (0.425, -0.65, 0.60, 1.10), (0, 0.65, 1.45, 1.10))
for x, y, sx, sy in zones:
pad(l, "25", x, y, sx, sy, "rect", '"F.Cu" "F.Mask"')
# 70-75% paste coverage, split so there are no large paste deposits.
nx = 2 if sx > 1.0 else 1
for ix in range(nx):
px = x + (ix - (nx - 1) / 2) * (sx / nx)
pad(l, "", px, y, sx / nx - 0.12, sy - 0.18, "roundrect", '"F.Paste"')
finish(name, l)
def simple_two_pad(name: str, description: str, body: tuple[float, float],
centres: float, size: tuple[float, float], courtyard: tuple[float, float]) -> None:
l = header(name, description, courtyard, body)
silk_box(l, body[0] + 0.15, body[1] + 0.15, (-body[0] / 2 - 0.2, -body[1] / 2))
pad(l, "1", -centres, 0, *size)
pad(l, "2", centres, 0, *size)
finish(name, l)
def texas_dpy0002a() -> None:
simple_two_pad("Texas_DPY0002A_X1SON", "TI DPY0002A X1SON; ESD501 official land", (1.0, 0.6),
0.35, (0.30, 0.50), (1.4, 1.0))
def murata_dfe201612e() -> None:
simple_two_pad("Murata_DFE201612E", "Murata DFE201612E recommended land J(E)TE243A-0006", (2.0, 1.6),
0.8, (0.80, 1.80), (2.8, 2.4))
def coilcraft_xel4030() -> None:
simple_two_pad("Coilcraft_XEL4030", "Coilcraft XEL4030 recommended land, March 2026", (4.0, 4.0),
1.675, (0.98, 3.40), (5.0, 4.8))
def kyocera_600l() -> None:
simple_two_pad("Kyocera_600L_0402", "KYOCERA AVX 600L 0402 recommended land", (1.0, 0.5),
0.65, (0.90, 0.70), (2.2, 1.2))
def kyocera_sf14() -> None:
name = "Kyocera_SF14_5pad"
l = header(name, "KYOCERA SF14-1582M5UUS2 SAW; official five-pad land", (1.8, 1.5), (1.1, 0.9))
silk_box(l, 1.2, 1.0, (-0.8, 0))
for number, x, y in (("1", -0.5, 0), ("2", 0, 0.2875), ("3", 0.5, 0.2875),
("4", 0.5, -0.2875), ("5", 0, -0.2875)):
pad(l, number, x, y, 0.25, 0.325)
finish(name, l)
def epson_tg2016smn() -> None:
name = "Epson_TG2016SMN"
l = header(name, "Epson TG2016SMN official 2.0 x 1.6 mm land", (3.0, 2.6), (2.0, 1.6))
silk_box(l, 2.15, 1.75, (-1.35, -0.85))
for number, x, y in (("1", -0.825, -0.565), ("2", -0.825, 0.565),
("3", 0.825, 0.565), ("4", 0.825, -0.565)):
pad(l, number, x, y, 0.60, 0.75)
finish(name, l)
def murata_sch16t() -> None:
name = "Murata_SCH16T_K01"
l = header(name, "Murata SCH16T-K01-1 official PCB land pattern", (15.2, 12.8), (13.4, 11.8))
silk_box(l, 13.55, 11.95, (-7.15, -5.45))
ys = [-4.4 + 0.8 * i for i in range(12)]
for number, y in zip(range(1, 13), ys):
pad(l, str(number), -6.165, y, 1.87, 0.50)
for number, y in zip(range(24, 12, -1), ys):
pad(l, str(number), 6.165, y, 1.87, 0.50)
# Assembly-critical inertial orientation marking.
l += [
' (fp_text user "X+ ->" (at 0 -2) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.14))))',
' (fp_text user "Y+ ^" (at 0 0) (layer "F.SilkS") (effects (font (size 0.8 0.8) (thickness 0.14))))',
]
finish(name, l)
def ftdi_vqfn56() -> None:
name = "FTDI_VQFN56_EP5p9"
l = header(name, "FTDI FT4232H-56Q VQFN56 land from TN_166; 5.9-mm EP", (9.2, 9.2), (8.0, 8.0))
silk_box(l, 8.15, 8.15, (-4.4, -3.85))
coords = [-3.25 + 0.5 * i for i in range(14)]
for number, y in zip(range(1, 15), coords):
pad(l, str(number), -4.00, y, 0.80, 0.25)
for number, x in zip(range(15, 29), coords):
pad(l, str(number), x, 4.00, 0.25, 0.80)
for number, y in zip(range(29, 43), reversed(coords)):
pad(l, str(number), 4.00, y, 0.80, 0.25)
for number, x in zip(range(43, 57), reversed(coords)):
pad(l, str(number), x, -4.00, 0.25, 0.80)
pad(l, "57", 0, 0, 5.90, 5.90, "rect", '"F.Cu" "F.Mask"')
for x in (-2.22, -0.74, 0.74, 2.22):
for y in (-2.22, -0.74, 0.74, 2.22):
pad(l, "", x, y, 1.20, 1.20, "roundrect", '"F.Paste"')
finish(name, l)
def amphenol_jtag() -> None:
name = "Amphenol_20021121_00010C4LF"
l = header(name, "Amphenol Minitek127 20021121-00010C4LF vertical SMT 2x5", (7.4, 6.0), (7.0, 4.6))
silk_box(l, 7.0, 4.7, (-3.8, 2.3))
xs = (-2.54, -1.27, 0, 1.27, 2.54)
for col, x in enumerate(xs):
pad(l, str(1 + col * 2), x, 1.95, 0.76, 2.40)
pad(l, str(2 + col * 2), x, -1.95, 0.76, 2.40)
finish(name, l)
def digilent_pmod_2x6() -> None:
"""2.54-mm dual-row PMOD with Digilent's row-wise pin numbering.
Generic KiCad 2xN headers use IDC odd/even numbering. A PMOD instead has
pins 1..6 on one physical row and 7..12 on the other, so a dedicated
footprint prevents a silent GND/VCC and signal-position mismatch.
"""
name = "Digilent_PMOD_2x6_P2.54mm"
l = [
f'(footprint "{name}"',
' (version 20240108)',
' (generator "board-footprints")',
' (layer "F.Cu")',
' (descr "Digilent PMOD 2x6, 2.54-mm pitch, row-wise pins 1-6 and 7-12")',
' (attr through_hole)',
' (property "Reference" "REF**" (at 6.35 -2.5 0) (layer "F.SilkS")',
' (effects (font (size 1 1) (thickness 0.15))))',
' (property "Value" "" (at 6.35 5 0) (layer "F.Fab") hide',
' (effects (font (size 1 1) (thickness 0.15))))',
' (fp_rect (start -1.27 -1.27) (end 13.97 3.81)',
' (stroke (width 0.15) (type default)) (fill none) (layer "F.SilkS"))',
' (fp_rect (start -1.5 -1.5) (end 14.2 4.04)',
' (stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))',
' (fp_circle (center -0.8 -0.8) (end -0.5 -0.8)',
' (stroke (width 0.15) (type default)) (fill solid) (layer "F.SilkS"))',
]
for number in range(1, 13):
row = 0 if number <= 6 else 1
column = number - 1 if number <= 6 else number - 7
shape = "rect" if number == 1 else "circle"
l.append(
f' (pad "{number}" thru_hole {shape} (at {fmt(column * 2.54)} {fmt(row * 2.54)}) '
'(size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask"))'
)
finish(name, l)
def main() -> None:
for generator in (texas_rpw0010a, texas_rux0012a, texas_rzv0024a, texas_rqy0009a,
murata_dfe201612e, texas_dpy0002a, kyocera_600l, kyocera_sf14,
epson_tg2016smn, murata_sch16t, ftdi_vqfn56,
coilcraft_xel4030, amphenol_jtag, digilent_pmod_2x6):
generator()
print(f"Generated {len(list(OUT.glob('*.kicad_mod')))} custom footprints in {OUT}")
if __name__ == "__main__":
main()
+460
View File
@@ -0,0 +1,460 @@
#!/usr/bin/env python3
"""Generate the KiCad schematic hierarchy and BOM tables from design_data."""
from __future__ import annotations
import csv
import copy
import math
import re
import sys
import uuid
from collections import defaultdict
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "scripts"))
from design_data import Component, Pin, components # noqa: E402
HW = ROOT / "hardware"
DOCS = ROOT / "docs"
OUT = ROOT / "outputs"
HW.mkdir(exist_ok=True)
DOCS.mkdir(exist_ok=True)
OUT.mkdir(exist_ok=True)
def q(text: str) -> str:
return text.replace("\\", "\\\\").replace('"', '\\"')
def safe(text: str) -> str:
value = re.sub(r"[^A-Za-z0-9_]+", "_", text)
return value.strip("_") or "PIN"
def category(comp: Component) -> str:
nets = {pin.net or "" for pin in comp.pins}
if comp.ref == "U1" or any(n.startswith("REF_RES") for n in nets):
return "fpga"
if comp.ref in {"J2", "J5", "D1", "FL1", "U21", "U23", "U24", "U27"} or any(
n.startswith(("RF_", "MAX_", "ANT_", "TCXO", "OSC40")) for n in nets):
return "rf_clock"
if comp.ref == "U22" or any(n.startswith("IMU_") for n in nets):
return "imu"
if comp.ref in {"U2", "U3", "U25"} or any(
n.startswith(("FTDI_", "HARD_", "RISCV_", "UART")) for n in nets):
return "usb_debug"
if comp.ref == "U26" or comp.ref.startswith(("JPMOD", "JH", "JHV")) or any(
n.startswith(("QSPI_", "EXP_", "PMOD")) for n in nets):
return "configuration_expansion"
return "power_usb"
SHEETS = ["power_usb", "rf_clock", "imu", "usb_debug", "configuration_expansion", "fpga"]
def chunks(comp: Component) -> list[list[Pin]]:
if comp.ref == "U1":
# Fourteen units keeps every unit below 40 balls and the complete 529-ball
# package readable without losing the common U1 reference.
size = math.ceil(len(comp.pins) / 14)
return [comp.pins[i:i + size] for i in range(0, len(comp.pins), size)]
return [comp.pins]
def geometry(pins: list[Pin]) -> tuple[int, int, dict[str, tuple[int, int, str]]]:
left = pins[::2]
right = pins[1::2]
rows = max(len(left), len(right), 2)
half_h = max(150, (rows - 1) * 50 + 100)
endpoints: dict[str, tuple[int, int, str]] = {}
start_y = (len(left) - 1) * 50
for idx, pin in enumerate(left):
endpoints[pin.number] = (-700, start_y - idx * 100, "R")
start_y = (len(right) - 1) * 50
for idx, pin in enumerate(right):
endpoints[pin.number] = (700, start_y - idx * 100, "L")
return 500, half_h, endpoints
def symbol_library() -> str:
lines = ["EESchema-LIBRARY Version 2.4", "#encoding utf-8"]
etypes = {
"input": "I", "output": "O", "bidirectional": "B", "power_in": "W",
"power_out": "w", "open_collector": "C", "passive": "P",
}
for comp in components:
name = f"BOARD_{safe(comp.ref)}"
units = chunks(comp)
lines += ["#", f"# {name}", "#",
f"DEF {name} {comp.ref[0]} 0 30 Y Y {len(units)} L N",
f'F0 "{q(comp.ref)}" 0 200 50 H V C CNN',
f'F1 "{q(comp.value)}" 0 100 50 H V C CNN',
f'F2 "{q(comp.footprint)}" 0 -100 50 H I C CNN',
f'F3 "" 0 0 50 H I C CNN', "DRAW"]
for unit, pins in enumerate(units, 1):
half_w, half_h, endpoints = geometry(pins)
lines.append(f"S {-half_w} {half_h} {half_w} {-half_h} {unit} 1 10 f")
for pin in pins:
x, y, orient = endpoints[pin.number]
lines.append(
f"X {safe(pin.name)} {pin.number} {x} {y} 200 {orient} 30 30 {unit} 1 "
f"{etypes.get(pin.etype, 'P')}"
)
lines += ["ENDDRAW", "ENDDEF"]
lines += ["#", "#End Library"]
return "\n".join(lines) + "\n"
def component_block(comp: Component, unit: int, x: int, y: int, stamp: int) -> list[str]:
name = f"BOARD_{safe(comp.ref)}"
f0y = y - 100
return [
"$Comp", f"L {name} {comp.ref}", f"U {unit} 1 {stamp:08X}", f"P {x} {y}",
f'F 0 "{q(comp.ref)}" H {x} {f0y} 50 0000 C CNN',
f'F 1 "{q(comp.value)}" H {x} {y + 100} 50 0000 C CNN',
f'F 2 "{q(comp.footprint)}" H {x} {y - 200} 50 0001 C CNN',
f'F 3 "" H {x} {y} 50 0001 C CNN',
f'F 4 "{q(comp.mpn)}" H {x} {y} 50 0001 C CNN "MPN"',
f'F 5 "{q(comp.manufacturer)}" H {x} {y} 50 0001 C CNN "Manufacturer"',
f"\t{unit} {x} {y}", "\t1 0 0 -1", "$EndComp",
]
def add_pin_connections(lines: list[str], pins: list[Pin], x: int, y: int) -> None:
_, _, endpoints = geometry(pins)
for pin in pins:
px, py, side = endpoints[pin.number]
px += x
py += y
if pin.net is None:
lines.append(f"NoConn ~ {px} {py}")
continue
wire_end = px - 150 if side == "R" else px + 150
lines.append(f"Wire Wire Line\n\t{px} {py} {wire_end} {py}")
orient = 2 if side == "R" else 0
lines.append(f"Text GLabel {wire_end} {py} {orient} 30 BiDi ~ 0\n{pin.net}")
def sheet_file(sheet: str, comps: list[Component], sheet_index: int) -> str:
lines = [
"EESchema Schematic File Version 4", "LIBS:board-cache", "EELAYER 29 0",
"EELAYER END", "$Descr A0 46811 33110", "encoding utf-8", "Sheet 1 1",
f'Title "Ti375 GNSS/IMU board - {sheet.replace("_", " ").title()}"',
'Date "2026-08-15"', 'Rev "A0"', 'Comp "Open hardware design for JLCPCB"',
'Comment1 "Generated from scripts/design_data.py; do not hand-edit"',
'Comment2 "No LEDs, no push buttons"', 'Comment3 "Ti375C529C3 / MAX2771 / SCH16T-K01-1"',
'Comment4 "JLC08161H-3313 eight-layer stack"', "$EndDescr",
]
x, y = 1800, 1800
column_width = 3000
bottom = 31600
stamp = 0x65000000 + sheet_index * 0x10000
for comp in comps:
for unit, pins in enumerate(chunks(comp), 1):
_, half_h, _ = geometry(pins)
height = 2 * half_h + 500
if y + half_h > bottom:
x += column_width
y = 1800
if x > 45000:
raise RuntimeError(f"{sheet} overflow at {comp.ref}")
stamp += 1
lines += component_block(comp, unit, x, y, stamp)
add_pin_connections(lines, pins, x, y)
y += height
lines += ["$EndSCHEMATC"]
return "\n".join(lines) + "\n"
def root_file() -> str:
lines = [
"EESchema Schematic File Version 4", "LIBS:board-cache", "EELAYER 29 0", "EELAYER END",
"$Descr A4 11693 8268", "encoding utf-8", "Sheet 1 7",
'Title "Ti375 C529 GNSS/IMU acquisition board"', 'Date "2026-08-15"', 'Rev "A0"',
'Comp "JLCPCB manufacture/assembly package"',
'Comment1 "USB-C 5 V primary; protected external 5 V; no back-feed"',
'Comment2 "GPS L1/L1C direct MAX2771 MIXIN_HI; selectable active-antenna bias"',
'Comment3 "Every Ti375 programmable GPIO has a documented disposition"',
'Comment4 "Generated source - see docs/design_audit.md"', "$EndDescr",
]
for idx, sheet in enumerate(SHEETS, 1):
x = 1400 + ((idx - 1) % 2) * 4800
y = 1000 + ((idx - 1) // 2) * 1900
lines += [
"$Sheet", f"S {x} {y} 3600 1200", f"U {0x66000000 + idx:08X}",
f'F0 "{sheet.replace("_", " ").upper()}" 60', f'F1 "{sheet}.sch" 60', "$EndSheet",
]
lines += ["$EndSCHEMATC"]
return "\n".join(lines) + "\n"
def write_boms() -> None:
fields = ["Reference", "Qty", "Value", "Manufacturer", "MPN", "Footprint",
"Assembly", "DNP", "Description"]
grouped: dict[tuple[str, ...], list[str]] = defaultdict(list)
for comp in components:
key = (comp.value, comp.manufacturer, comp.mpn, comp.footprint,
comp.assembly, "yes" if comp.dnp else "no", comp.description)
grouped[key].append(comp.ref)
with (OUT / "bom.csv").open("w", newline="") as f:
w = csv.DictWriter(f, fieldnames=fields)
w.writeheader()
for key, refs in sorted(grouped.items(), key=lambda item: item[1][0]):
value, manufacturer, mpn, footprint, assembly, dnp, desc = key
w.writerow(dict(zip(fields, [",".join(refs), len(refs), value, manufacturer,
mpn, footprint, assembly, dnp, desc])))
jlc_fields = ["Comment", "Designator", "Footprint", "LCSC Part #", "Manufacturer",
"Manufacturer Part Number", "Quantity", "Assembly Type", "DNP"]
with (OUT / "jlcpcb_bom.csv").open("w", newline="") as f:
w = csv.DictWriter(f, fieldnames=jlc_fields)
w.writeheader()
for key, refs in sorted(grouped.items(), key=lambda item: item[1][0]):
value, manufacturer, mpn, footprint, assembly, dnp, _ = key
w.writerow({"Comment": value, "Designator": ",".join(refs), "Footprint": footprint,
"LCSC Part #": "", "Manufacturer": manufacturer,
"Manufacturer Part Number": mpn, "Quantity": len(refs),
"Assembly Type": assembly if not dnp == "yes" else "DNP", "DNP": dnp})
def duid(text: str) -> str:
"""Stable UUIDs keep generated KiCad diffs reproducible."""
return str(uuid.uuid5(uuid.UUID("830005da-d201-4458-b73e-8946620d7012"), text))
def write_native_schematic() -> None:
"""Write a flat, native KiCad schematic using kiutils' format model.
Flat global-label connectivity is deliberate: it keeps 529 FPGA balls and
273 physical components machine-auditable without hidden hierarchical pins.
"""
try:
from kiutils.schematic import Schematic
from kiutils.symbol import Symbol, SymbolLib, SymbolPin
from kiutils.items.common import (Effects, Fill, Font, PageSettings,
Position, Property, Stroke, TitleBlock)
from kiutils.items.schitems import (GlobalLabel, HierarchicalSheetInstance,
NoConnect, SchematicSymbol, SymbolInstance)
from kiutils.items.syitems import SyRect
except ImportError as exc:
raise SystemExit("Install the pinned generator dependency: python3 -m pip install -r requirements.txt") from exc
sch = Schematic.create_new()
sch.version = "20231120"
sch.generator = "board_generator"
sch.uuid = duid("schematic-root")
sch.paper = PageSettings(paperSize="A0")
sch.titleBlock = TitleBlock(
title="Ti375 C529 GPS L1/L1C + SCH16T acquisition board",
date="2026-08-15", revision="A0", company="JLCPCB manufacturing design",
comments={1: "Generated from official-package connectivity in scripts/design_data.py",
2: "USB-C 5 V primary / protected EXT_5V / no source back-feed",
3: "MAX2771 RF connects only to MIXIN_HI; internal LNAs unused",
4: "No LEDs and no push buttons"})
# create_new supplies the root instance; make the path explicit and stable.
sch.sheetInstances = [HierarchicalSheetInstance(instancePath="/", page="1")]
font = Font(width=0.8, height=0.8)
hidden = Effects(font=font, hide=True)
shown = Effects(font=font)
etypes = {
"input": "input", "output": "output", "bidirectional": "bidirectional",
"power_in": "power_in", "power_out": "power_out",
"open_collector": "open_collector", "passive": "passive",
}
def ngeom(pins: list[Pin]):
left, right = pins[::2], pins[1::2]
rows = max(len(left), len(right), 2)
half_h = max(3.81, (rows - 1) * 1.27 + 2.54)
endpoints = {}
for side_pins, x, angle in ((left, -17.78, 0), (right, 17.78, 180)):
start_y = -(len(side_pins) - 1) * 1.27
for idx, pin in enumerate(side_pins):
endpoints[pin.number] = (x, start_y + idx * 2.54, angle)
return 12.7, half_h, endpoints
lib_by_ref = {}
for comp in components:
symbol_name = f"BOARD_{safe(comp.ref)}"
parent = Symbol.create_new(f"board:{symbol_name}", comp.ref[0], comp.value, comp.footprint)
parent.pinNames = True
parent.pinNamesOffset = 0.508
parent.properties.extend([
Property(key="MPN", value=comp.mpn, id=4, effects=hidden),
Property(key="Manufacturer", value=comp.manufacturer, id=5, effects=hidden),
Property(key="Description", value=comp.description, id=6, effects=hidden),
])
seen_power_out_nets: set[str] = set()
for unit_idx, pins in enumerate(chunks(comp), 1):
unit = Symbol()
unit.libId = f"{symbol_name}_{unit_idx}_1"
half_w, half_h, endpoints = ngeom(pins)
unit.graphicItems.append(SyRect(start=Position(-half_w, -half_h),
end=Position(half_w, half_h),
stroke=Stroke(width=0.254, type="default"),
fill=Fill(type="background")))
for pin in pins:
x, y, angle = endpoints[pin.number]
electrical_type = etypes.get(pin.etype, "passive")
if pin.net == "GND" and electrical_type == "bidirectional":
# Deliberately strapped bidirectional configuration pins
# (for example unused TPS6287B I2C) are passive straps in
# this design, not active bus drivers.
electrical_type = "passive"
if electrical_type == "power_out" and pin.net in seen_power_out_nets:
electrical_type = "passive"
elif electrical_type == "power_out" and pin.net is not None:
seen_power_out_nets.add(pin.net)
unit.pins.append(SymbolPin(
electricalType=electrical_type, graphicalStyle="line",
position=Position(x, y, angle), length=5.08,
name=pin.name, number=pin.number,
nameEffects=Effects(font=Font(width=0.65, height=0.65)),
numberEffects=Effects(font=Font(width=0.65, height=0.65))))
parent.units.append(unit)
sch.libSymbols.append(parent)
lib_by_ref[comp.ref] = parent
# Pack tallest symbols first within functional groups, using generous label clearance.
ordered = sorted(components, key=lambda comp: (SHEETS.index(category(comp)),
-max(len(x) for x in chunks(comp)), comp.ref))
# All origins and margins are exact multiples of KiCad's 1.27-mm
# connection grid. Symbol-library Y coordinates are Cartesian (positive
# up), whereas schematic sheet Y coordinates grow downward.
x, y = 50.8, 38.1
column_width, bottom = 127.0, 800.1
for comp in ordered:
for unit_idx, pins in enumerate(chunks(comp), 1):
_, half_h, endpoints = ngeom(pins)
height = 2 * half_h + 10.16
if y + half_h > bottom:
x += column_width
y = 38.1
if x > 1150.0:
raise RuntimeError(f"native A0 sheet overflow at {comp.ref}")
origin_y = y + half_h
inst_uuid = duid(f"symbol:{comp.ref}:{unit_idx}")
inst = SchematicSymbol()
inst.libId = f"board:BOARD_{safe(comp.ref)}"
inst.position = Position(x, origin_y, 0)
inst.unit = unit_idx
inst.inBom = not comp.dnp
inst.onBoard = True
inst.dnp = comp.dnp
inst.uuid = inst_uuid
inst.properties = [
Property(key="Reference", value=comp.ref, id=0,
position=Position(x, origin_y - half_h - 2.0, 0), effects=shown),
Property(key="Value", value=comp.value, id=1,
position=Position(x, origin_y + half_h + 2.0, 0), effects=shown),
Property(key="Footprint", value=comp.footprint, id=2,
position=Position(x, origin_y, 0), effects=hidden),
Property(key="Datasheet", value="", id=3,
position=Position(x, origin_y, 0), effects=hidden),
Property(key="MPN", value=comp.mpn, id=4,
position=Position(x, origin_y, 0), effects=hidden),
Property(key="Manufacturer", value=comp.manufacturer, id=5,
position=Position(x, origin_y, 0), effects=hidden),
]
for pin in pins:
inst.pins[pin.number] = duid(f"pin:{comp.ref}:{unit_idx}:{pin.number}")
px, py, angle = endpoints[pin.number]
pos = Position(x + px, origin_y - py, angle)
if pin.net is None:
sch.noConnects.append(NoConnect(position=pos,
uuid=duid(f"nc:{comp.ref}:{unit_idx}:{pin.number}")))
else:
sch.globalLabels.append(GlobalLabel(
text=pin.net, shape="bidirectional", position=pos, effects=shown,
uuid=duid(f"label:{comp.ref}:{unit_idx}:{pin.number}")))
sch.schematicSymbols.append(inst)
sch.symbolInstances.append(SymbolInstance(
path=f"/{inst_uuid}", reference=comp.ref, unit=unit_idx,
value=comp.value, footprint=comp.footprint))
y += height
# ERC power flags are schematic-only assertions. They are generated only
# for nets containing power-input pins but no direct power-output pin (for
# example GND, external connector feeds, and ferrite-isolated subrails).
power_inputs = {pin.net for comp in components for pin in comp.pins
if pin.etype == "power_in" and pin.net is not None}
power_outputs = {pin.net for comp in components for pin in comp.pins
if pin.etype == "power_out" and pin.net is not None}
flag_nets = sorted(power_inputs - power_outputs)
flag_lib = Symbol.create_new("board:PWR_FLAG", "#FLG", "PWR_FLAG")
flag_lib.inBom = False
flag_lib.onBoard = False
flag_lib.isPower = True
flag_unit = Symbol()
flag_unit.libId = "PWR_FLAG_1_1"
flag_unit.pins.append(SymbolPin(
electricalType="power_out", graphicalStyle="line",
position=Position(0, 0, 0), length=0, name="~", number="1",
nameEffects=shown, numberEffects=shown))
flag_lib.units.append(flag_unit)
sch.libSymbols.append(flag_lib)
for idx, net in enumerate(flag_nets, 1):
fx = 1117.6 if idx <= 24 else 1168.4
fy = 304.8 + ((idx - 1) % 24) * 12.7
flag_uuid = duid(f"power-flag:{net}")
flag = SchematicSymbol()
flag.libId = "board:PWR_FLAG"
flag.position = Position(fx, fy, 0)
flag.unit = 1
flag.inBom = False
flag.onBoard = False
flag.uuid = flag_uuid
ref = f"#FLG{idx:03d}"
flag.properties = [
Property(key="Reference", value=ref, id=0,
position=Position(fx, fy, 0), effects=hidden),
Property(key="Value", value="PWR_FLAG", id=1,
position=Position(fx, fy, 0), effects=hidden),
Property(key="Footprint", value="", id=2,
position=Position(fx, fy, 0), effects=hidden),
Property(key="Datasheet", value="", id=3,
position=Position(fx, fy, 0), effects=hidden),
]
flag.pins["1"] = duid(f"power-flag-pin:{net}")
sch.schematicSymbols.append(flag)
sch.globalLabels.append(GlobalLabel(
text=net, shape="bidirectional", position=Position(fx, fy, 0), effects=shown,
uuid=duid(f"power-flag-label:{net}")))
sch.symbolInstances.append(SymbolInstance(
path=f"/{flag_uuid}", reference=ref, unit=1, value="PWR_FLAG", footprint=""))
sch.to_file(str(HW / "board.kicad_sch"))
external_symbols = copy.deepcopy(sch.libSymbols)
for symbol in external_symbols:
symbol.libraryNickname = None
SymbolLib(version="20231120", generator="board_generator",
symbols=external_symbols).to_file(str(HW / "board.kicad_sym"))
(HW / "sym-lib-table").write_text(
'(sym_lib_table\n (version 7)\n'
' (lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/board.kicad_sym")(options "")(descr "Generated board symbols"))\n)\n')
(HW / "fp-lib-table").write_text(
'(fp_lib_table\n (version 7)\n'
' (lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/board.pretty")(options "")(descr "Official-land-pattern custom footprints"))\n)\n')
def main() -> None:
(HW / "board-cache.lib").write_text(symbol_library())
assignments = {sheet: [] for sheet in SHEETS}
for comp in components:
assignments[category(comp)].append(comp)
for idx, sheet in enumerate(SHEETS, 1):
(HW / f"{sheet}.sch").write_text(sheet_file(sheet, assignments[sheet], idx))
(HW / "board.sch").write_text(root_file())
write_boms()
write_native_schematic()
(HW / "board.kicad_pro").write_text(
'{\n "meta": { "filename": "board.kicad_pro", "version": 1 },\n'
' "erc": {}, "net_settings": {}, "text_variables": {}\n}\n')
print(f"generated {len(components)} components on {len(SHEETS)} hierarchical sheets")
if __name__ == "__main__":
main()
+599
View File
@@ -0,0 +1,599 @@
#!/usr/bin/env python3
"""Create the placed eight-layer KiCad PCB from the audited design database.
The script is deterministic so placement, net assignments, stackup, and rules
can be regenerated and independently audited. Routing uses the staged
BGA/plane/Freerouting flow in scripts/README.md; finalize_routing.py replaces
autorouted RF/USB copper with audited deterministic geometry.
"""
from __future__ import annotations
import math
import re
import sys
from collections import defaultdict
from pathlib import Path
import pcbnew
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "scripts"))
from design_data import components # noqa: E402
HW = ROOT / "hardware"
BOARD_FILE = HW / "board.kicad_pcb"
STOCK = Path("/usr/share/kicad/footprints")
# The distributed SMT test pads and removal of the former bottom test-point
# field allow a compact 155 x 90 mm outline.
X0, Y0, X1, Y1 = 20.0, 20.0, 175.0, 110.0
def mm(value: float) -> int:
return pcbnew.FromMM(value)
def point(x: float, y: float) -> pcbnew.VECTOR2I:
return pcbnew.VECTOR2I_MM(x, y)
def footprint_path(identifier: str) -> tuple[Path, str]:
library, name = identifier.split(":", 1)
if library == "board":
return HW / "board.pretty", name
return STOCK / f"{library}.pretty", name
MAJOR = {
# FPGA/configuration. All four PMODs are on the north edge, close to the
# BGA side carrying their I/O banks. Rotation makes the connector field
# shallow and keeps all modules clear of the RF and IMU regions.
"U1": (108, 72, 0), "U26": (97, 54, 0),
"JPMOD1": (78, 24, 0), "JPMOD2": (96, 24, 0),
"JPMOD3": (114, 24, 0), "JPMOD4": (132, 24, 0),
# USB-C and debug block.
"J1": (23.1, 48, 270), "U5": (30.5, 44.5, 0), "U6": (30.5, 51.5, 0),
"U2": (43, 55, 0), "U25": (35, 62, 0), "U3": (51, 63, 0),
"U29": (60, 54.5, 0), "U30": (67, 58.5, 0), "U31": (62, 63.5, 0),
# Mechanically quiet IMU region.
"U22": (51, 84, 0),
# Protected input and switching-power block.
"J3": (24, 100, 90), "U7": (34, 96, 0), "U8": (42, 104, 0), "U9": (46, 96, 0),
"U10": (54, 104, 0), "U11": (59, 104, 0), "U12": (64, 94, 0),
# High-current FPGA rails sit directly south of the BGA. This keeps the
# 15-A core path and both 6-A I/O-rail paths short enough to enter their
# local plane patches without long high-current traces.
"U13": (100, 93, 0), "U14": (115, 97, 0), "U15": (130, 97, 0), "U16": (90, 98, 0),
"U17": (143, 63, 0), "U18": (136, 67, 0), "U19": (152, 67, 0), "U20": (163, 63, 0),
"U28": (141, 72.5, 0), "U32": (136, 74.5, 0), "U34": (88, 88, 0),
"Q1": (70, 62, 0),
# User reset controls remain edge-accessible; only the tiny protection and
# open-drain circuitry sit inward from the connector/button.
"J4": (73, 106.5, 180), "SW1": (82, 106, 0), "D2": (78, 100.5, 0),
"U33": (87, 103, 0),
# RF front end. J2's launch reference is exactly on the right PCB edge.
"J2": (175, 42, 0), "D1": (170.45, 40.75, 0), "FL1": (164.0, 42.1, 180),
"J5": (171, 56, 0), "U27": (165, 52, 0), "U21": (155.5, 45, 0),
"U23": (149, 53, 0), "U24": (137, 55, 0),
}
# Parts whose exact physical location materially affects signal integrity,
# power-loop area, or mechanical performance.
SPECIAL = {
# RF series parts are collinear. L4 pad 2 lands directly on the SMA feed
# rather than creating a bias-tee stub; the optional shunt-tuning pad 1s
# likewise land on the two controlled-impedance sections.
"C83": (167.5, 42.1, 180), "C84": (162.15, 41.45, 90), "R39": (160.5, 42.1, 180),
"C85": (159.0, 40.70, 90), "L4": (169.5, 42.585, 90),
"L1": (105.0, 91.0, 0), "L2": (115.0, 91.0, 0), "L3": (130.0, 91.0, 0),
"FB1": (60.0, 88.5, 0), "FB2": (36.0, 49.0, 0), "FB3": (39.0, 46.5, 0),
"R63": (37.0, 55.50, 0), "R64": (37.0, 54.50, 0),
# MAX2771 output damping sits at the receiver; FPGA-driven 3-wire control
# damping sits at the BGA source. R55 holds SHDN low at the receiver.
"R45": (151.0, 44.5, 0),
"R46": (154.6, 50.2, 90), "R47": (155.8, 50.2, 90),
"R48": (157.0, 50.2, 90), "R49": (158.2, 50.2, 90),
"R50": (160.5, 47.5, 90),
"R51": (121.5, 65.5, 0), "R52": (121.5, 66.7, 0),
"R53": (121.5, 67.9, 0), "R54": (121.5, 69.1, 0),
"R55": (161.7, 44.5, 90), "C89": (146.5, 53.0, 0),
# 40-MHz termination is at U24. SafeSPI controller outputs are terminated
# beside the FPGA; MISO and EXTRESN bias remain beside the IMU.
"R56": (140.2, 54.35, 0),
"R57": (102.0, 58.8, 0), "R58": (104.0, 58.8, 0),
"R59": (106.0, 58.8, 0), "R60": (60.0, 83.6, 0),
"R61": (41.0, 83.6, 0),
# Buffered FTDI interface-1 hard JTAG. Output-series parts sit directly
# after the power-domain buffer; the TDO part is retained at the FPGA side.
"R70": (65.0, 52.0, 0), "R71": (65.0, 53.2, 0),
"R72": (65.0, 54.4, 0), "R73": (96.0, 70.0, 0),
"R74": (96.0, 71.2, 0),
}
# Small SMT bring-up pads live beside the circuit they measure; there is no
# connector-like test-point bank along the board edge.
SPECIAL.update({
"TP1": (37.5, 94.0, 0), "TP2": (45.5, 104.0, 0),
"TP3": (166.5, 54.0, 0), "TP4": (29.0, 39.0, 0),
"TP5": (22.0, 89.0, 0), "TP6": (49.5, 98.5, 0),
"TP7": (66.5, 90.0, 0), "TP8": (105.0, 98.0, 0),
"TP9": (118.0, 102.0, 0), "TP10": (133.0, 102.0, 0),
"TP11": (146.0, 61.0, 0), "TP12": (137.0, 70.0, 0),
"TP13": (97.0, 58.0, 0), "TP14": (99.0, 58.0, 0),
"TP15": (91.5, 103.0, 0),
# Added configuration/JTAG pulls and reset-domain support.
"R89": (96.0, 65.0, 0),
"R90": (96.0, 66.2, 0), "R91": (96.0, 67.4, 0), "R92": (96.0, 68.6, 0),
"R93": (96.0, 72.4, 0), "R94": (96.0, 73.6, 0),
"R95": (96.0, 74.8, 0), "R96": (96.0, 76.0, 0),
"R97": (59.0, 65.5, 0), "R98": (145.0, 74.5, 0),
"R99": (73.0, 60.0, 0), "R100": (73.0, 61.2, 0), "R101": (73.0, 62.4, 0),
"R102": (84.0, 100.5, 0), "R103": (80.0, 102.0, 0),
"C120": (145.0, 72.5, 0), "C121": (82.0, 102.0, 0),
"C122": (142.0, 76.5, 0), "C123": (64.0, 48.5, 0),
"C124": (69.5, 56.0, 0), "C125": (62.0, 66.5, 0),
"C126": (136.0, 78.0, 0), "C127": (90.0, 100.5, 0),
"R104": (83.0, 86.8, 0), "R105": (83.0, 88.0, 0),
"R106": (83.0, 89.2, 0), "C128": (93.0, 88.0, 0),
})
# Critical placement references must never silently drift when parts are added
# earlier in design_data.py. A mismatch here would corrupt RF geometry or put
# a source-series resistor at the receiver end of a long digital trace.
CRITICAL_REF_NETS = {
"C83": {"RF_SMA", "RF_PRE_SAW"},
"C84": {"RF_POST_SAW", "GND"},
"R39": {"RF_POST_SAW", "MAX_MIXIN_HI"},
"C85": {"MAX_MIXIN_HI", "GND"},
"R56": {"OSC40_OUT", "CLK_40M_FPGA"},
"R57": {"IMU_SCK", "IMU_SCK_DEV"},
"R58": {"IMU_MOSI", "IMU_MOSI_DEV"},
"R59": {"IMU_CS", "IMU_CS_DEV"},
"R60": {"IMU_MISO", "IMU_MISO_DEV"},
}
_component_by_ref = {component.ref: component for component in components}
for _ref, _expected_nets in CRITICAL_REF_NETS.items():
_actual_nets = {pin.net for pin in _component_by_ref[_ref].pins if pin.net}
assert _actual_nets == _expected_nets, (_ref, _actual_nets, _expected_nets)
def local_offsets(count: int, clearance_radius: float) -> list[tuple[float, float]]:
"""Return dense candidate rings for collision-aware group placement."""
result: list[tuple[float, float]] = []
ring = 0
while len(result) < count:
r = clearance_radius + ring * 1.20
slots = max(12, int(2 * math.pi * r / 0.80))
for idx in range(slots):
angle = -math.pi / 2 + idx * 2 * math.pi / slots
result.append((r * math.cos(angle), r * math.sin(angle)))
if len(result) == count:
return result
ring += 1
return result
def courtyard_box(fp: pcbnew.FOOTPRINT, margin: float = 0.12) -> tuple[float, float, float, float]:
layers = pcbnew.LSET()
layers.AddLayer(pcbnew.F_CrtYd)
layers.AddLayer(pcbnew.B_CrtYd)
box = fp.GetLayerBoundingBox(layers)
return (pcbnew.ToMM(box.GetX()) - margin, pcbnew.ToMM(box.GetY()) - margin,
pcbnew.ToMM(box.GetRight()) + margin, pcbnew.ToMM(box.GetBottom()) + margin)
def boxes_overlap(a: tuple[float, float, float, float], b: tuple[float, float, float, float]) -> bool:
return a[0] < b[2] and a[2] > b[0] and a[1] < b[3] and a[3] > b[1]
def add_text(board: pcbnew.BOARD, value: str, x: float, y: float, size: float = 1.0,
layer: int = pcbnew.F_SilkS, angle: float = 0) -> None:
text = pcbnew.PCB_TEXT(board)
text.SetText(value)
text.SetPosition(point(x, y))
text.SetTextSize(pcbnew.VECTOR2I(mm(size), mm(size)))
text.SetTextThickness(mm(max(0.15, size * 0.15)))
text.SetLayer(layer)
text.SetTextAngle(pcbnew.EDA_ANGLE(angle, pcbnew.DEGREES_T))
board.Add(text)
def add_outline(board: pcbnew.BOARD) -> None:
for start, end in (((X0, Y0), (X1, Y0)), ((X1, Y0), (X1, Y1)),
((X1, Y1), (X0, Y1)), ((X0, Y1), (X0, Y0))):
seg = pcbnew.PCB_SHAPE(board)
seg.SetShape(pcbnew.SHAPE_T_SEGMENT)
seg.SetStart(point(*start))
seg.SetEnd(point(*end))
seg.SetWidth(mm(0.05))
seg.SetLayer(pcbnew.Edge_Cuts)
board.Add(seg)
def configure_rules(board: pcbnew.BOARD) -> None:
ds = board.GetDesignSettings()
ds.SetBoardThickness(mm(1.6))
ds.m_TrackMinWidth = mm(0.10)
ds.m_MinClearance = mm(0.10)
ds.m_ViasMinSize = mm(0.45)
ds.m_MinThroughDrill = mm(0.225)
ds.m_ViasMinAnnularWidth = mm(0.10)
ds.m_CopperEdgeClearance = mm(0.25)
ds.m_HoleClearance = mm(0.19)
settings = ds.m_NetSettings
default = settings.GetDefaultNetclass()
default.SetClearance(mm(0.10))
default.SetTrackWidth(mm(0.12))
default.SetViaDiameter(mm(0.45))
default.SetViaDrill(mm(0.225))
default.SetDiffPairWidth(mm(0.135))
default.SetDiffPairGap(mm(0.15))
def netclass(name: str, clearance: float, width: float, via: float = 0.45, drill: float = 0.225,
diff_width: float | None = None, diff_gap: float | None = None) -> None:
nc = pcbnew.NETCLASS(name)
nc.SetClearance(mm(clearance))
nc.SetTrackWidth(mm(width))
nc.SetViaDiameter(mm(via))
nc.SetViaDrill(mm(drill))
if diff_width is not None:
nc.SetDiffPairWidth(mm(diff_width))
if diff_gap is not None:
nc.SetDiffPairGap(mm(diff_gap))
settings.SetNetclass(name, nc)
netclass("BGA_ESCAPE", 0.10, 0.10)
netclass("RF50_CPWG", 0.20, 0.164)
netclass("USB90_DIFF", 0.15, 0.135, diff_width=0.135, diff_gap=0.15)
netclass("CLOCK", 0.15, 0.15)
# A 0.45/0.225-mm dogbone via with 0.10-mm clearance fits the Ti375's
# 0.8-mm BGA pitch. The 0.40-mm trunk width is retained; Freerouting's
# automatic neck-down is allowed only inside the escape field.
netclass("POWER", 0.10, 0.40, 0.45, 0.225)
for pattern in ("RF_SMA", "RF_PRE_SAW", "RF_POST_SAW", "MAX_MIXIN_HI"):
settings.SetNetclassPatternAssignment(pattern, "RF50_CPWG")
for pattern in ("USB_D_P", "USB_D_N", "FTDI_D_P", "FTDI_D_N"):
settings.SetNetclassPatternAssignment(pattern, "USB90_DIFF")
# Use exact clock families so VCC3V0_CLK does not acquire an accidental
# aggregate CLOCK,POWER effective class.
for pattern in ("MAX_CLKOUT*", "MAX_SCLK*", "MAX_ADC_CLKIN", "QSPI_SCLK",
"CLK_40M_FPGA", "OSC40_OUT", "TCXO16_OUT", "FTDI_OSC12",
"FTDI_OSCI", "IMU_SCK*", "*TCK*"):
settings.SetNetclassPatternAssignment(pattern, "CLOCK")
for pattern in ("VCC*", "SYS5", "VBUS_RAW", "USB5_PROT", "EXT5_*", "GND", "CORE_SW",
"BUCK1V8_SW", "BUCK3V3_SW", "ANT_BIAS_SEL", "ANT_BIAS_SW",
"FTDI_1V8", "FTDI_VPHY", "FTDI_VPLL", "IMU_3V3",
"IMU_VREGA2", "IMU_VREGD", "USB_SHIELD"):
settings.SetNetclassPatternAssignment(pattern, "POWER")
settings.SetNetclassPatternAssignment("EXP_*", "BGA_ESCAPE")
settings.SetNetclassPatternAssignment("PMOD*", "BGA_ESCAPE")
def add_stackup(board: pcbnew.BOARD) -> None:
board.SetCopperLayerCount(8)
board.SetLayerName(pcbnew.In1_Cu, "L2_GND")
board.SetLayerName(pcbnew.In2_Cu, "L3_SIG")
board.SetLayerName(pcbnew.In3_Cu, "L4_PWR")
board.SetLayerName(pcbnew.In4_Cu, "L5_SIG")
board.SetLayerName(pcbnew.In5_Cu, "L6_SIG")
board.SetLayerName(pcbnew.In6_Cu, "L7_GND")
board.SetLayerType(pcbnew.In1_Cu, pcbnew.LT_POWER)
board.SetLayerType(pcbnew.In3_Cu, pcbnew.LT_POWER)
board.SetLayerType(pcbnew.In6_Cu, pcbnew.LT_POWER)
def place_components(board: pcbnew.BOARD) -> dict[str, pcbnew.FOOTPRINT]:
net_items: dict[str, pcbnew.NETINFO_ITEM] = {}
for comp in components:
for pin in comp.pins:
if pin.net and pin.net not in net_items:
item = pcbnew.NETINFO_ITEM(board, pin.net)
board.Add(item)
net_items[pin.net] = item
loaded: dict[str, pcbnew.FOOTPRINT] = {}
current_group = "U1"
groups: dict[str, list] = defaultdict(list)
for comp in components:
if comp.ref in MAJOR:
current_group = comp.ref
if comp.ref not in MAJOR and comp.ref not in SPECIAL:
if comp.description.startswith("Ti375 ") or "Efinix mandatory" in comp.description:
groups["U1"].append(comp)
else:
groups[current_group].append(comp)
group_positions: dict[str, list[tuple[float, float]]] = {}
for group, members in groups.items():
radius = 4.0
if group == "U1":
radius = 11.5
elif group in {"U2", "U13", "U21", "U22"}:
radius = 5.5
# Extra candidates let the actual courtyard collision pass skip places
# occupied by adjacent functional blocks and larger bulk capacitors.
group_positions[group] = local_offsets(max(1000, len(members) * 40), radius)
automatic: list[tuple[object, str]] = []
current_group = "U1"
for comp in components:
path, name = footprint_path(comp.footprint)
fp = pcbnew.FootprintLoad(str(path), name)
if fp is None:
raise RuntimeError(f"Cannot load {comp.footprint} for {comp.ref}")
fp.SetReference(comp.ref)
fp.SetValue(comp.value)
fp.Reference().SetVisible(False)
fp.Value().SetVisible(False)
fp.Reference().SetLayer(pcbnew.F_Fab)
fp.Value().SetLayer(pcbnew.F_Fab)
# Dense components retain complete assembly/Fab graphics, while the
# production silkscreen is limited to functional labels and the IMU
# orientation mark so it cannot print on fine-pitch copper.
for graphic in fp.GraphicalItems():
if graphic.GetLayer() == pcbnew.F_SilkS:
graphic.SetLayer(pcbnew.F_Fab)
if comp.ref in MAJOR:
current_group = comp.ref
x, y, rotation = MAJOR[comp.ref]
elif comp.ref in SPECIAL:
x, y, rotation = SPECIAL[comp.ref]
else:
group = "U1" if (comp.description.startswith("Ti375 ") or "Efinix mandatory" in comp.description) else current_group
ax, ay, _ = MAJOR[group]
x, y, rotation = ax, ay, 0
automatic.append((comp, group))
fp.SetPosition(point(x, y))
fp.SetOrientationDegrees(rotation)
if comp.dnp:
fp.SetDNP(True)
fp.SetExcludedFromPosFiles(True)
fp.SetField("MPN", comp.mpn)
fp.SetField("Manufacturer", comp.manufacturer)
for field_name in ("MPN", "Manufacturer"):
field = fp.GetField(field_name)
field.SetVisible(False)
field.SetLayer(pcbnew.F_Fab)
board.Add(fp)
loaded[comp.ref] = fp
pad_map: dict[str, list[pcbnew.PAD]] = defaultdict(list)
for physical_pad in fp.Pads():
if physical_pad.GetNumber():
pad_map[physical_pad.GetNumber()].append(physical_pad)
for pin in comp.pins:
for physical_pad in pad_map[str(pin.number)]:
if pin.net:
physical_pad.SetNet(net_items[pin.net])
# Place all automatic local parts after the fixed functional floorplan is
# known, using their actual KiCad courtyards rather than nominal body size.
occupied = [courtyard_box(loaded[ref]) for ref in (*MAJOR.keys(), *SPECIAL.keys()) if ref in loaded]
search_start: dict[str, int] = defaultdict(int)
for comp, group in automatic:
fp = loaded[comp.ref]
ax, ay, _ = MAJOR[group]
candidates = group_positions[group]
placed = False
for idx in range(search_start[group], len(candidates)):
dx, dy = candidates[idx]
x, y = ax + dx, ay + dy
fp.SetPosition(point(x, y))
candidate = courtyard_box(fp)
# Keep assembly courtyards on-board; edge connectors are all fixed
# members and are intentionally permitted to protrude.
if candidate[0] < X0 + 0.5 or candidate[2] > X1 - 0.5 or candidate[1] < Y0 + 0.5 or candidate[3] > Y1 - 0.5:
continue
if any(boxes_overlap(candidate, used) for used in occupied):
continue
occupied.append(candidate)
search_start[group] = idx + 1
placed = True
break
if not placed:
raise RuntimeError(f"Could not place {comp.ref} near {group} without courtyard overlap")
board.BuildListOfNets()
return loaded
def add_mounting_holes(board: pcbnew.BOARD) -> None:
path = STOCK / "MountingHole.pretty"
# The lower-left power connector owns the corner; offset H3 so its screw
# head and courtyard cannot collide with J3.
for idx, (x, y) in enumerate(((24, 24), (171, 24), (31, 106), (171, 106)), 1):
fp = pcbnew.FootprintLoad(str(path), "MountingHole_3.2mm_M3")
if fp is None:
raise RuntimeError("Missing KiCad M3 mounting-hole footprint")
fp.SetReference(f"H{idx}")
fp.Reference().SetVisible(False)
fp.SetPosition(point(x, y))
board.Add(fp)
def add_zone(board: pcbnew.BOARD, net_name: str, layer: int,
bounds: tuple[float, float, float, float], priority: int = 0) -> None:
"""Add a retained solid inner-layer plane region.
These regions are retained even before fanout vias exist so the Specctra
export contains real plane targets for the router. The final refill then
clears anti-pads around every unrelated via and plated hole.
"""
net = board.FindNet(net_name)
if net is None:
raise RuntimeError(f"Cannot create plane for missing net {net_name}")
x0, y0, x1, y1 = bounds
zone = pcbnew.ZONE(board)
zone.SetLayer(layer)
zone.SetNet(net)
zone.SetLocalClearance(mm(0.20))
zone.SetMinThickness(mm(0.10))
zone.SetThermalReliefGap(mm(0.20))
zone.SetThermalReliefSpokeWidth(mm(0.25))
zone.SetPadConnection(pcbnew.ZONE_CONNECTION_FULL)
zone.SetIslandRemovalMode(pcbnew.ISLAND_REMOVAL_MODE_NEVER)
zone.SetAssignedPriority(priority)
outline = zone.Outline()
outline.NewOutline()
for x, y in ((x0, y0), (x1, y0), (x1, y1), (x0, y1)):
outline.Append(point(x, y))
board.Add(zone)
def add_power_planes(board: pcbnew.BOARD) -> None:
# Continuous reference planes immediately below the two outer signal
# layers. A 0.50-mm inset exceeds JLCPCB's copper-to-edge requirement.
for layer in (pcbnew.In1_Cu, pcbnew.In6_Cu):
add_zone(board, "GND", layer, (X0 + 0.50, Y0 + 0.50, X1 - 0.50, Y1 - 0.50))
# L4 is a deliberately split DC plane. Islands follow the functional
# floorplan; no high-speed route uses L4 and no signal crosses a split on
# either adjacent routing layer without a nearby return transition.
islands = (
("VCC3V3_AUX", (20.50, 38.00, 67.00, 72.00)),
("VCC3V3", (39.00, 73.00, 68.00, 85.10)),
("SYS5", (20.50, 85.50, 90.00, 109.50)),
("SYS5", (90.40, 106.40, 140.00, 109.50)),
# Core balls are interspersed with GND/auxiliary balls, so a complete
# local patch (with automatic anti-pads) replaces the invalid left/right
# voltage split that previously crossed the BGA field.
("VCC0V95", (95.00, 60.50, 119.00, 94.00)),
("VCC3V3", (119.50, 87.00, 140.00, 106.00)),
("VCC3V0_CLK", (126.00, 50.00, 148.50, 72.00)),
("VCC3V0_DIG", (119.50, 60.50, 125.50, 72.00)),
("VCC3V0_DIG", (148.90, 50.40, 164.00, 72.00)),
("VCC3V3_ANT", (164.40, 50.40, 174.50, 70.00)),
("VCC3V0_RF", (145.00, 36.00, 174.50, 50.00)),
)
for priority, (net_name, bounds) in enumerate(islands, 1):
add_zone(board, net_name, pcbnew.In3_Cu, bounds, priority)
# Local BGA supply patches. L2/L7 remain uninterrupted ground planes;
# only the area below and immediately south of U1 is reserved on these
# otherwise routable signal layers.
add_zone(board, "VCC1V8", pcbnew.In4_Cu, (97.50, 60.50, 122.00, 101.00), 50)
add_zone(board, "VCC3V3", pcbnew.In5_Cu, (97.50, 60.50, 140.00, 101.00), 50)
def add_temporary_critical_keepouts(board: pcbnew.BOARD) -> None:
"""Reserve the layers below RF and USB while Freerouting is running.
F.Cu deliberately remains available so the autorouted critical nets reserve
their own top-layer corridors. The rule areas prevent unrelated signal
tracks and through vias from crossing underneath. finalize_routing.py
removes these temporary areas before installing the audited copper.
"""
layers = pcbnew.LSET()
for layer in (pcbnew.In2_Cu, pcbnew.In4_Cu, pcbnew.In5_Cu, pcbnew.B_Cu):
layers.AddLayer(layer)
for name, bounds in (
("TEMP_RF_NO_DIGITAL_BELOW", (152.0, 36.0, 174.5, 49.5)),
("TEMP_USB_NO_CROSSING_BELOW", (22.0, 41.5, 44.5, 57.5))):
x0, y0, x1, y1 = bounds
area = pcbnew.ZONE(board)
area.SetZoneName(name)
area.SetIsRuleArea(True)
area.SetLayerSet(layers)
area.SetDoNotAllowTracks(True)
area.SetDoNotAllowVias(True)
area.SetDoNotAllowPads(False)
area.SetDoNotAllowFootprints(False)
area.SetDoNotAllowZoneFills(False)
outline = area.Outline()
outline.NewOutline()
for x, y in ((x0, y0), (x1, y0), (x1, y1), (x0, y1)):
outline.Append(point(x, y))
board.Add(area)
def add_documentation_graphics(board: pcbnew.BOARD) -> None:
add_text(board, "Ti375 GNSS / SCH16T", 105, 33.0, 1.1)
add_text(board, "REV A1 JLC08161H-3313 8L", 105, 35.2, 0.8)
add_text(board, "USB-C 5V", 31, 35.5, 0.9)
add_text(board, "EXT_5V", 28, 108.0, 0.9)
add_text(board, "GPS L1/L1C ACTIVE", 162, 34, 0.9)
add_text(board, "BIAS J5: 3V3-OFF-5V", 163, 72, 0.8)
add_text(board, "RF - NO DIGITAL ROUTING BELOW", 151, 69, 0.8)
add_text(board, "IMU PIN1", 42, 78, 0.8)
add_text(board, "X+ -> Y+ ^", 51, 84, 0.8)
add_text(board, "USB JTAG / UART", 55, 38.5, 0.8)
add_text(board, "EXT_RST", 73, 101.5, 0.8)
add_text(board, "FPGA RESET", 82, 109.0, 0.8)
add_text(board, "PMOD1 3V3", 78, 30, 0.8)
add_text(board, "PMOD2 3V3", 96, 30, 0.8)
add_text(board, "PMOD3 1V8", 114, 30, 0.8)
add_text(board, "PMOD4 1V8", 132, 30, 0.8)
STACKUP = '''\t\t(stackup
\t\t\t(layer "F.SilkS" (type "Top Silk Screen"))
\t\t\t(layer "F.Paste" (type "Top Solder Paste"))
\t\t\t(layer "F.Mask" (type "Top Solder Mask") (thickness 0.01))
\t\t\t(layer "F.Cu" (type "copper") (thickness 0.035))
\t\t\t(layer "dielectric 1" (type "prepreg") (thickness 0.0994) (material "JLC 3313") (epsilon_r 4.1) (loss_tangent 0.02))
\t\t\t(layer "L2_GND" (type "copper") (thickness 0.0152))
\t\t\t(layer "dielectric 2" (type "core") (thickness 0.1) (material "JLC FR-4 core") (epsilon_r 4.36) (loss_tangent 0.02))
\t\t\t(layer "L3_SIG" (type "copper") (thickness 0.0152))
\t\t\t(layer "dielectric 3" (type "prepreg") (thickness 0.3568) (material "JLC 3x2116") (epsilon_r 4.16) (loss_tangent 0.02))
\t\t\t(layer "L4_PWR" (type "copper") (thickness 0.0152))
\t\t\t(layer "dielectric 4" (type "core") (thickness 0.3) (material "JLC FR-4 core") (epsilon_r 4.41) (loss_tangent 0.02))
\t\t\t(layer "L5_SIG" (type "copper") (thickness 0.0152))
\t\t\t(layer "dielectric 5" (type "prepreg") (thickness 0.3568) (material "JLC 3x2116") (epsilon_r 4.16) (loss_tangent 0.02))
\t\t\t(layer "L6_SIG" (type "copper") (thickness 0.0152))
\t\t\t(layer "dielectric 6" (type "core") (thickness 0.1) (material "JLC FR-4 core") (epsilon_r 4.36) (loss_tangent 0.02))
\t\t\t(layer "L7_GND" (type "copper") (thickness 0.0152))
\t\t\t(layer "dielectric 7" (type "prepreg") (thickness 0.0994) (material "JLC 3313") (epsilon_r 4.1) (loss_tangent 0.02))
\t\t\t(layer "B.Cu" (type "copper") (thickness 0.035))
\t\t\t(layer "B.Mask" (type "Bottom Solder Mask") (thickness 0.01))
\t\t\t(layer "B.Paste" (type "Bottom Solder Paste"))
\t\t\t(layer "B.SilkS" (type "Bottom Silk Screen"))
\t\t\t(copper_finish "ENIG")
\t\t\t(dielectric_constraints yes)
\t\t)'''
def inject_stackup(path: Path) -> None:
data = path.read_text()
if "\n\t\t(stackup\n" in data:
data = re.sub(r"\n\t\t\(stackup\n.*?\n\t\t\)\n", "\n" + STACKUP + "\n", data, count=1, flags=re.S)
else:
data = data.replace("\n\t(setup\n", "\n\t(setup\n" + STACKUP + "\n", 1)
data = data.replace("(allow_soldermask_bridges_in_footprints no)",
"(allow_soldermask_bridges_in_footprints yes)")
path.write_text(data)
def main() -> None:
board = pcbnew.BOARD()
add_stackup(board)
configure_rules(board)
add_outline(board)
loaded = place_components(board)
add_mounting_holes(board)
add_power_planes(board)
add_temporary_critical_keepouts(board)
add_documentation_graphics(board)
title = board.GetTitleBlock()
title.SetTitle("Ti375 C529 GPS L1/L1C + SCH16T acquisition board")
title.SetRevision("A0")
title.SetCompany("JLCPCB manufacturing design")
title.SetComment(0, "USB-C 5 V primary; protected EXT_5V; no back-feed")
title.SetComment(1, "JLC08161H-3313 exact eight-layer construction")
if not pcbnew.ZONE_FILLER(board).Fill(board.Zones()):
raise RuntimeError("Initial inner-plane fill failed")
pcbnew.SaveBoard(str(BOARD_FILE), board)
inject_stackup(BOARD_FILE)
print(f"Placed {len(loaded)} schematic components plus four NPTH mounting holes")
print(f"Saved {BOARD_FILE}")
if __name__ == "__main__":
main()
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/env python3
"""Compensate Freerouting 2.3.0's KiCad-10 DSN clearance scale mismatch.
KiCad exports widths and clearances in micrometres. Freerouting 2.3.0 keeps
the widths but internally imports DSN clearance values at one quarter of the
intended physical value. Scaling only ``(clearance N)`` entries by four makes
the router's physical rules match the source KiCad board. Coordinates, track
widths, vias, drills, padstacks, and keepouts are deliberately untouched.
"""
from __future__ import annotations
import argparse
import re
from pathlib import Path
CLEARANCE = re.compile(r"(\(clearance\s+)(\d+(?:\.\d+)?)")
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("input", type=Path)
parser.add_argument("output", type=Path)
parser.add_argument("--factor", type=float, default=4.0)
args = parser.parse_args()
source = args.input.read_text()
original = [float(match.group(2)) for match in CLEARANCE.finditer(source)]
if not original:
raise RuntimeError(f"No clearance rules found in {args.input}")
def scale(match: re.Match[str]) -> str:
value = float(match.group(2)) * args.factor
rendered = str(int(value)) if value.is_integer() else f"{value:g}"
return match.group(1) + rendered
converted, count = CLEARANCE.subn(scale, source)
scaled = [float(match.group(2)) for match in CLEARANCE.finditer(converted)]
assert count == len(original) == len(scaled)
assert all(after == before * args.factor
for before, after in zip(original, scaled, strict=True))
# A conversion must never touch the board geometry or trace-width rules.
assert source.count("(width ") == converted.count("(width ")
assert source.count("(polygon ") == converted.count("(polygon ")
args.output.write_text(converted)
print(f"Scaled {count} clearance rules by {args.factor:g}x")
print(f"Saved {args.output}")
if __name__ == "__main__":
main()
+94
View File
@@ -0,0 +1,94 @@
#!/usr/bin/env python3
"""Install deterministic 0.8-mm-pitch dogbone escapes for connected Ti375 balls."""
from __future__ import annotations
import argparse
import shutil
from pathlib import Path
import pcbnew
ROOT = Path(__file__).resolve().parents[1]
DEFAULT_INPUT = ROOT / "hardware" / "board.kicad_pcb"
DEFAULT_OUTPUT = ROOT / "hardware" / "board_prerouted.kicad_pcb"
POWER_NETS = {
"GND", "VCC0V95", "VCC1V8", "VCC3V3", "VCC3V0_DIG",
}
def mm(value: float) -> int:
return pcbnew.FromMM(value)
def add_segment(board: pcbnew.BOARD, pad: pcbnew.PAD,
end: pcbnew.VECTOR2I, width_mm: float) -> None:
track = pcbnew.PCB_TRACK(board)
track.SetStart(pad.GetPosition())
track.SetEnd(end)
track.SetWidth(mm(width_mm))
track.SetLayer(pcbnew.F_Cu)
track.SetNet(pad.GetNet())
track.SetLocked(True)
board.Add(track)
def add_via(board: pcbnew.BOARD, pad: pcbnew.PAD,
position: pcbnew.VECTOR2I) -> None:
via = pcbnew.PCB_VIA(board)
via.SetPosition(position)
via.SetWidth(mm(0.45))
via.SetDrill(mm(0.225))
via.SetLayerPair(pcbnew.F_Cu, pcbnew.B_Cu)
via.SetNet(pad.GetNet())
via.SetLocked(True)
board.Add(via)
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("input", nargs="?", type=Path, default=DEFAULT_INPUT)
parser.add_argument("output", nargs="?", type=Path, default=DEFAULT_OUTPUT)
args = parser.parse_args()
board = pcbnew.LoadBoard(str(args.input))
fpga = board.FindFootprintByReference("U1")
if fpga is None:
raise RuntimeError("U1 Ti375 footprint is missing")
centre = fpga.GetPosition()
occupied: set[tuple[int, int]] = set()
counts = {"power": 0, "signal": 0}
for pad in fpga.Pads():
if not pad.GetNetname():
continue
position = pad.GetPosition()
# Move each ball toward its package quadrant. Centre-row/column balls
# use the positive direction, leaving a full 0.8-mm via grid without
# duplicated interstitial locations.
dx = 0.4 if position.x >= centre.x else -0.4
dy = 0.4 if position.y >= centre.y else -0.4
via_position = pcbnew.VECTOR2I(position.x + mm(dx), position.y + mm(dy))
key = (via_position.x, via_position.y)
if key in occupied:
raise RuntimeError(f"Duplicate dogbone via at {key} for U1.{pad.GetNumber()}")
occupied.add(key)
is_power = pad.GetNetname() in POWER_NETS
add_segment(board, pad, via_position, 0.15 if is_power else 0.10)
add_via(board, pad, via_position)
counts["power" if is_power else "signal"] += 1
if not pcbnew.ZONE_FILLER(board).Fill(board.Zones()):
raise RuntimeError("Zone fill failed after BGA fanout")
pcbnew.SaveBoard(str(args.output), board)
for suffix in (".kicad_pro", ".kicad_dru"):
source = args.input.with_suffix(suffix)
if source.exists():
shutil.copyfile(source, args.output.with_suffix(suffix))
print(f"Installed {counts['power']} power/GND and {counts['signal']} signal dogbones")
print(f"Saved {args.output}")
if __name__ == "__main__":
main()
+195
View File
@@ -0,0 +1,195 @@
#!/usr/bin/env python3
"""Connect SMT power/ground pads locally to their intended solid planes.
This deliberately does not replace power-stage routing. It only installs
short pad-to-via connections where a filled, same-net plane is physically
present below the candidate via. High-current converter loops and plane
bridges are handled separately.
"""
from __future__ import annotations
import argparse
import math
import shutil
from pathlib import Path
import pcbnew
ROOT = Path(__file__).resolve().parents[1]
DEFAULT_INPUT = ROOT / "hardware" / "board_prerouted.kicad_pcb"
DEFAULT_OUTPUT = ROOT / "hardware" / "board_plane_stitched.kicad_pcb"
PLANE_NETS = {
"GND", "SYS5", "VCC0V95", "VCC1V8", "VCC3V3", "VCC3V3_AUX",
"VCC3V0_CLK", "VCC3V0_DIG", "VCC3V0_RF", "VCC3V3_ANT",
}
VIA_DIAMETER = 0.45
VIA_DRILL = 0.225
CLEARANCE = 0.10
def mm(value: float) -> int:
return pcbnew.FromMM(value)
def distance_mm(a: pcbnew.VECTOR2I, b: pcbnew.VECTOR2I) -> float:
return math.hypot(pcbnew.ToMM(a.x - b.x), pcbnew.ToMM(a.y - b.y))
def add_track(board: pcbnew.BOARD, pad: pcbnew.PAD,
end: pcbnew.VECTOR2I, width: float) -> None:
track = pcbnew.PCB_TRACK(board)
track.SetStart(pad.GetPosition())
track.SetEnd(end)
track.SetWidth(mm(width))
track.SetLayer(pad.GetLayer())
track.SetNet(pad.GetNet())
track.SetLocked(True)
board.Add(track)
def add_via(board: pcbnew.BOARD, pad: pcbnew.PAD,
position: pcbnew.VECTOR2I) -> pcbnew.PCB_VIA:
via = pcbnew.PCB_VIA(board)
via.SetPosition(position)
via.SetWidth(mm(VIA_DIAMETER))
via.SetDrill(mm(VIA_DRILL))
via.SetLayerPair(pcbnew.F_Cu, pcbnew.B_Cu)
via.SetNet(pad.GetNet())
via.SetLocked(True)
board.Add(via)
return via
def plane_at(zones_by_net: dict[str, list[pcbnew.ZONE]], net: str,
position: pcbnew.VECTOR2I) -> bool:
return any(zone.HitTestFilledArea(zone.GetLayer(), position)
for zone in zones_by_net.get(net, ()))
def clear_of_other_copper(position: pcbnew.VECTOR2I, net: str,
pads: list[pcbnew.PAD], vias: list[pcbnew.PCB_VIA]) -> bool:
x, y = pcbnew.ToMM(position.x), pcbnew.ToMM(position.y)
margin = VIA_DIAMETER / 2 + CLEARANCE + 0.03
for other in pads:
if other.GetNetname() == net:
continue
box = other.GetBoundingBox()
x0, y0 = pcbnew.ToMM(box.GetX()) - margin, pcbnew.ToMM(box.GetY()) - margin
x1, y1 = pcbnew.ToMM(box.GetRight()) + margin, pcbnew.ToMM(box.GetBottom()) + margin
if x0 <= x <= x1 and y0 <= y <= y1:
return False
for other in vias:
minimum = (VIA_DIAMETER + pcbnew.ToMM(other.GetWidth(pcbnew.F_Cu))) / 2 + CLEARANCE
if distance_mm(position, other.GetPosition()) < minimum:
return False
return True
def clear_track_path(start: pcbnew.VECTOR2I, end: pcbnew.VECTOR2I, net: str,
source: pcbnew.PAD, pads: list[pcbnew.PAD], width: float) -> bool:
"""Conservatively reject short dogbones that cross another pad bbox."""
margin = width / 2 + CLEARANCE + 0.02
for step in range(1, 12):
fraction = step / 12
sample = pcbnew.VECTOR2I(
round(start.x + (end.x - start.x) * fraction),
round(start.y + (end.y - start.y) * fraction),
)
x, y = pcbnew.ToMM(sample.x), pcbnew.ToMM(sample.y)
for other in pads:
if other is source or other.GetNetname() == net:
continue
box = other.GetBoundingBox()
if (pcbnew.ToMM(box.GetX()) - margin <= x <= pcbnew.ToMM(box.GetRight()) + margin and
pcbnew.ToMM(box.GetY()) - margin <= y <= pcbnew.ToMM(box.GetBottom()) + margin):
return False
return True
def candidates(pad: pcbnew.PAD, footprint: pcbnew.FOOTPRINT) -> list[pcbnew.VECTOR2I]:
pad_pos = pad.GetPosition()
fp_pos = footprint.GetPosition()
away = math.atan2(pad_pos.y - fp_pos.y, pad_pos.x - fp_pos.x)
if pad_pos == fp_pos:
away = 0.0
radius = max(pcbnew.ToMM(pad.GetSizeX()), pcbnew.ToMM(pad.GetSizeY())) / 2
radius += VIA_DIAMETER / 2 + CLEARANCE + 0.08
angles = [away]
for delta_deg in (30, -30, 60, -60, 90, -90, 120, -120, 150, -150, 180):
angles.append(away + math.radians(delta_deg))
result = []
for scale in (1.0, 1.35, 1.75):
for angle in angles:
result.append(pcbnew.VECTOR2I(
pad_pos.x + mm(radius * scale * math.cos(angle)),
pad_pos.y + mm(radius * scale * math.sin(angle)),
))
return result
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("input", nargs="?", type=Path, default=DEFAULT_INPUT)
parser.add_argument("output", nargs="?", type=Path, default=DEFAULT_OUTPUT)
args = parser.parse_args()
board = pcbnew.LoadBoard(str(args.input))
if not pcbnew.ZONE_FILLER(board).Fill(board.Zones()):
raise RuntimeError("Could not fill planes before stitching")
zones_by_net: dict[str, list[pcbnew.ZONE]] = {}
for zone in board.Zones():
if not zone.GetIsRuleArea() and zone.GetNetname() in PLANE_NETS:
zones_by_net.setdefault(zone.GetNetname(), []).append(zone)
all_pads = [pad for fp in board.GetFootprints() for pad in fp.Pads()]
all_vias = [item for item in board.GetTracks() if isinstance(item, pcbnew.PCB_VIA)]
connected: dict[str, int] = {}
skipped: dict[str, int] = {}
for fp in board.GetFootprints():
if fp.GetReference() == "U1":
continue
for pad in fp.Pads():
net = pad.GetNetname()
if net not in PLANE_NETS or pad.GetAttribute() != pcbnew.PAD_ATTRIB_SMD:
continue
chosen = None
pad_min = min(pcbnew.ToMM(pad.GetSizeX()), pcbnew.ToMM(pad.GetSizeY()))
width = max(0.15, min(0.30, pad_min * 0.65))
for candidate in candidates(pad, fp):
x, y = pcbnew.ToMM(candidate.x), pcbnew.ToMM(candidate.y)
if not (20.5 < x < 174.5 and 20.5 < y < 109.5):
continue
if not plane_at(zones_by_net, net, candidate):
continue
if not clear_of_other_copper(candidate, net, all_pads, all_vias):
continue
if not clear_track_path(pad.GetPosition(), candidate, net, pad, all_pads, width):
continue
chosen = candidate
break
if chosen is None:
skipped[net] = skipped.get(net, 0) + 1
continue
add_track(board, pad, chosen, width)
all_vias.append(add_via(board, pad, chosen))
connected[net] = connected.get(net, 0) + 1
if not pcbnew.ZONE_FILLER(board).Fill(board.Zones()):
raise RuntimeError("Could not refill planes after stitching")
pcbnew.SaveBoard(str(args.output), board)
for suffix in (".kicad_pro", ".kicad_dru"):
source = args.input.with_suffix(suffix)
if source.exists():
shutil.copyfile(source, args.output.with_suffix(suffix))
print("Plane connections:", ", ".join(f"{n}={k}" for n, k in sorted(connected.items())))
print("Pads without a local same-net plane:",
", ".join(f"{n}={k}" for n, k in sorted(skipped.items())))
print(f"Saved {args.output}")
if __name__ == "__main__":
main()