Skip to content

[WIP] New auto-generated symbols for Xilinx Spartan/Artix/Kintex-7 and Zynq-7000 FPGAs

KiCad Bot requested to merge github/fork/ObKo/xilinx-fpga into master

Created by: ObKo

Intro

This pull request is part of reworking Xilinx FPGA symbols and footprints:

https://github.com/KiCad/kicad-footprints/issues/1560 https://github.com/KiCad/kicad-library-utils/pull/293 https://github.com/pointhi/kicad-footprint-generator/pull/345

Xilinx has CSV files describing FPGA pinout (https://www.xilinx.com/support/package-pinout-files.html). This PR is result of script generating 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

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

Example

Here you can see generated symbol for Spartan-7 FPGA:

Spartan-7

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.

Part of Artix-7 symbol:

Artix-7

Here you can see bank with GTP transceivers

Zynq-7000 symbol with memory bank:

Zynq-7000

Current progress:

  • CSV parsing and pin extraction
  • 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
  • Spartan-7
  • Artix-7
  • Zynq-7000
  • Kintex-7
  • Virtex-7

Library checking scripts generates S3.1 errors for some symbols because script checks symbol origin using pins regardless of unit it belongs to

Related issues

If those PRs will be merged they will fix following issues:

#964, #965, #969,


  • Provide a URL to a datasheet for the symbol(s) you are contributing
  • An example screenshot image is very helpful
  • Ensure that the associated footprints match the official footprint library
    • A new fitting footprint must be submitted if the library does not yet contain one.
  • If there are matching footprint PRs, provide link(s) as appropriate
  • Check the output of the Travis automated check scripts - fix any errors as required
  • Give a reason behind any intentional library convention rule violation.
Edited by Daniel Giesbrecht

Merge request reports