aboutsummaryrefslogtreecommitdiffstats
path: root/python/dump_design.py
blob: 5bac140dec6b417a013ac3ee6e9dfc825a86ba89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Run ./nextpnr-ice40 --json ice40/blinky.json --run python/dump_design.py
for cell in sorted(design.cells, key=lambda x: x.first):
    print("Cell {} : {}".format(cell.first, cell.second.type))
    print("\tPorts:")
    for port in sorted(cell.second.ports, key=lambda x: x.first):
        dir = (" <-- ", " --> ", " <-> ")[int(port.second.type)]
        if port.second.net is not None:
            print("\t\t{} {} {}".format(port.first, dir, port.second.net.name))

    if len(cell.second.attrs) > 0:
        print("\tAttrs:")
        for attr in cell.second.attrs:
            print("\t\t{}: {}".format(attr.first, attr.second))

    if len(cell.second.params) > 0:
        print("\tParams:")
        for param in cell.second.params:
            print("\t\t{}: {}".format(param.first, param.second))

    if not cell.second.bel.nil():
        print("\tBel: {}".format(chip.getBelName(cell.second.bel)))
    print()