| #!/usr/bin/env python3 |
| |
| # Python libs |
| import os.path |
| import sys |
| |
| import icebox |
| |
| # FIXME: Move this into icebox |
| parts = [ |
| # LP Series (Low Power) |
| "lp384", |
| "lp1k", |
| "lp8k", |
| # Unsupported: "lp640", "lp4k" (alias for lp8k), |
| |
| # LM Series (Low Power, Embedded IP) |
| # Unsupported: "lm1k", "lm2k", |
| "lm4k", |
| |
| # HX Series (High Performance) |
| "hx1k", |
| "hx8k", |
| # Unsupported: "hx4k" (alias for hx8k) |
| |
| # iCE40 UltraLite |
| # Unsupported: "ul640", "ul1k", |
| |
| # iCE40 Ultra |
| # Unsupported: "ice5lp1k", "ice5lp2k", "ice5lp4k", |
| |
| # iCE40 UltraPLus |
| # Unsupported: "up3k", |
| "up5k", |
| ] |
| |
| |
| def versions(part): |
| return [p for p in parts if p.endswith(part)] |
| |
| |
| if __name__ == "__main__": |
| for name, pins in icebox.pinloc_db.items(): |
| part, package = name.split('-') |
| if ':' in package: |
| continue |
| for v in versions(part): |
| device = "{}.{}".format(v, package) |
| print(device) |