Skip to content
This repository has been archived by the owner on Oct 2, 2020. It is now read-only.

SoC PolarFire: Add library for 5 PolarFire SoC parts #2843

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pthomas
Copy link

@pthomas pthomas commented Jul 6, 2020

Add the following parts in SoC_PolarFire.lib:
MPFS250T-FCVG484
MPFS250T-FCSG536
MPFS250T-FCVG784
MPFS250T-FCG1152
MPFS460T-FCG1152


Folks,

Some may be aware of Microchip's new RISC-V based SoC FPGAs:
https://www.microsemi.com/product-directory/soc-fpgas/5498-polarfire-soc-fpga#overview

Anyway I wanted to get a KiCad library and didn't see anything readily available, so I ended up playing with the tools in kicad-library-utils, and I'm reasonably happy with the result. For each part there is a released Excel spreadsheet in the Packing section of the link below:
https://www.microsemi.com/product-directory/soc-fpgas/5498-polarfire-soc-fpga#resources

Basically using a python script each part is built using the spreadsheets for name references and for the pad location. The ordering and how to break up the units is based both on the symbol in the dev kit schematic[1] and KLC[2]. Here is a listing of the biggest differences from the symbol in the reference schematic:

  1. U1J, U1K & U1H are all combined to one POWER unit using pin stacking for each net.
  2. For the KiCad library Bank 0 and Bank 1 Order Top->Bottom Left->Right, which is opposite from the Icicle reference.

I put this as an RFC because I know there are a couple of issues and wanted some feedback on other items.
*Packages: Right now none of the parts have packages. This is because there is some python issue with my footprint wizard, and I can't seem to figure out how to use SymbolGenerator.py to set the package anyway.
*Library name: I put it in as a unique library SoC_PolarFire.lib which is very convenient for generating the file. Other name would be fine too.
*NC Pins: if the part had NC pins (not all do) I ended up creating a separate unit and put them all in as non-stacked but invisible. That seemed to satisfy checklib.py, but I'm not sure what is most desired here?
Power pin location: When running checklib.py it complains that "Positive power pins should be placed at top of symbol". This would create a very strange power unit where it's very short and wide with tons of pins on top and a single one on the bottom?
*Power unit: as mentioned above I wasn't completely sure if I did the pin stacking correctly.

I know this is a lot to take in, let me know if there is anything else I can do.

thanks,
Paul

[1] https://www.microsemi.com/document-portal/doc_download/1244587-polarfire-soc-icicle-kit-schematics
[2] https://kicad-pcb.org/libraries/klc/

@CLAassistant
Copy link

CLAassistant commented Jul 6, 2020

CLA assistant check
All committers have signed the CLA.

@myfreescalewebpage myfreescalewebpage added Addition Adds new symbols to library Pending reviewer A pull request waiting for a reviewer labels Jul 7, 2020
@myfreescalewebpage myfreescalewebpage self-assigned this Sep 19, 2020
@myfreescalewebpage myfreescalewebpage removed the Pending reviewer A pull request waiting for a reviewer label Sep 19, 2020
@myfreescalewebpage
Copy link
Collaborator

Hello @pthomas

Not a full review but some first comments:

  • sym-lib-table file to be updated
  • Description and keywords can be enhanced, see for example MCU
  • Description should be terminated by the package name
  • Footprint and fp filter to be completed

Joel

Add the following parts in SoC_PolarFire.lib:
MPFS095T-FCVG484
MPFS160T-FCVG484
MPFS250T-FCVG484
MPFS250T-FCSG536
MPFS250T-FCVG784
MPFS250T-FCG1152
MPFS460T-FCG1152

There are not packages defined for the FCSG536 and FCVG784 parts
@myfreescalewebpage
Copy link
Collaborator

@pthomas ping

@pthomas
Copy link
Author

pthomas commented Sep 24, 2020 via email

@myfreescalewebpage
Copy link
Collaborator

myfreescalewebpage commented Sep 24, 2020

You can still push to this PR right now, the repo is locked so we cannot create new pull request, but we merge the maximum of pull request we can by the end of the month.

@pthomas
Copy link
Author

pthomas commented Sep 24, 2020 via email

@myfreescalewebpage
Copy link
Collaborator

since the previous commit of this PR were on your master branch, do it on your master branch to continue. 1 or 2 commits does not matter

@pthomas
Copy link
Author

pthomas commented Sep 24, 2020 via email

@myfreescalewebpage
Copy link
Collaborator

Will perform full review soon, but this is a large PR so it might take a while.
You can create a PR for the footprints now, so someone can also review them in parallel.

The names change:
BGA-484_19.0x19.0mm_Layout22x22_P0.8mm -> FCVG484_11x11mm_Layout22x22_P0.8mm
BGA-1152_35.0x35.0mm_Layout34x34_P1.0mm -> FCG1152_35x35mm_Layout34x34_P1.0mm
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Addition Adds new symbols to library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants