Skip to content

[WIP] Script generating symbols for Xilinx FPGA

KiCad Bot requested to merge github/fork/ObKo/master into master

Created by: ObKo

Intro

Xilinx has CSV files describing FPGA pinout (https://www.xilinx.com/support/package-pinout-files.html). This scripts generates symbols from those files, similar to current STM32 generator.

Some background:

  • Xilinx FPGA pins are divided into banks
  • Each bank can be powered separately (from 1.2V to 3.3V)
  • Most of pins are general purpose and bidirectional
  • There are some dedicated pins (like reset, JTAG, config clk, etc). All of them are placed into bank 0
  • Each FPGA has at least 3 power rails - VCCINT, VCCAUX, VCCBRAM each comes from several pins.
  • There is always huge amount of GND pins.
  • Total number of I/O pins >100

This scripts generates multi-unit kicad symbol, each KiCAD unit = FPGA Bank

Example

Here you can see generated symbol for xc7s6 FPGA in ftgb196 package:

Screenshot_20190426_154740

Bank 0 is on top and contains all dedicated pins and common power rails. Other two units - Bank 14 and Bank 34 with 50 I/O and power.

Current progress:

  • CSV parsing and pin extraction (checked for Spartan-7 family).
  • Pin grouping by banks and function
  • Symbol generation and pin layout
  • Electrical types
  • VCC* and GND pin stacking
  • Footprint generation - should be synced to current PRs in KiCAD libraries: https://github.com/KiCad/kicad-footprints/issues/1560
  • Adopt for families other than Spartan-7
Edited by Bob Cousins

Merge request reports