The Wayback Machine - https://web.archive.org/web/20201108210037/https://github.com/SymbiFlow/prjxray/issues/1475
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor how fabric data is shared between parts #1475

Open
litghost opened this issue Oct 29, 2020 · 0 comments
Open

Refactor how fabric data is shared between parts #1475

litghost opened this issue Oct 29, 2020 · 0 comments

Comments

@litghost
Copy link
Contributor

@litghost litghost commented Oct 29, 2020

Before adding data for all parts (e.g. pinouts), a refactoring of how fabric data is shared is required. For terminology:

  • Fabric
    • The interior tile and routing layout within a FPGA silicon
  • Device
    • The name of the fabric used by Vivado
  • Package
    • A standardized pin layout that can be used with one or more devices.
  • Part
    • A device wire bonded to a package
  • Family
    • A collection of devices and parts that share some common traits.

Currently prjxray-db only has families (e.g. artix7, kintex7, zynq7) and parts (e.g. xc7a35tcpg236-1). Because prjxray-db is missing the explicit idea of a device and fabric, fabric data is currently duplicated between parts that have the same device. To be very specific:

  • The fabric for a part is defined in prjxray-db/<family>/<part> with the following files:
    • node_wires.json
    • tilegrid.json
    • tileconn.json

Because some parts share fabrics with multiple parts, these files are copied between the parts. This is wasteful. The solution is to:

  • Add a small file describing:
    • The list of parts in each family
    • The device for each part
    • The speed grades for each part
    • The fabric used in each device

Then the fabric data (e.g. tilegrid.json, etc) should be moved to fabric folder rather than a part folder. The prjxray library should be updated to transparently handle the fabric/device split from the part.

This change is required before adding part data for all parts.

@litghost litghost changed the title Refactor how shared fabric data is shared between parts Refactor how fabric data is shared between parts Oct 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.