|
9 | 9 |
|
10 | 10 | from dataclasses import dataclass |
11 | 11 | from pprint import pformat |
12 | | -from typing import TYPE_CHECKING, List |
| 12 | +from typing import TYPE_CHECKING, List, Generic |
13 | 13 |
|
14 | 14 | from amaranth import Module, Signal, ClockDomain, ClockSignal, ResetSignal, unsigned |
15 | 15 | from amaranth.lib import wiring, io, data |
@@ -69,7 +69,7 @@ def elaborate(self, platform): |
69 | 69 | return m |
70 | 70 |
|
71 | 71 |
|
72 | | -class SiliconPlatformPort(io.PortLike): |
| 72 | +class SiliconPlatformPort(io.PortLike, Generic[Pin]): |
73 | 73 | def __init__(self, |
74 | 74 | name: str, |
75 | 75 | port_desc: PortDesc): |
@@ -454,8 +454,10 @@ def instantiate_ports(self, m: Module): |
454 | 454 | pinlock = load_pinlock() |
455 | 455 | for component, iface in pinlock.port_map.ports.items(): |
456 | 456 | for interface, v in iface.items(): |
457 | | - for name, port in v.items(): |
458 | | - self._ports[port.port_name] = port_for_process(self._config.chipflow.silicon.process)(port.port_name, port) |
| 457 | + for name, port_desc in v.items(): |
| 458 | + if port_desc.type == "power": |
| 459 | + continue |
| 460 | + self._ports[port_desc.port_name] = port_for_process(self._config.chipflow.silicon.process)(port_desc.port_name, port_desc) |
459 | 461 |
|
460 | 462 | for clock in pinlock.port_map.get_clocks(): |
461 | 463 | assert 'clock_domain' in clock.iomodel |
|
0 commit comments