Skip to content

Commit 7e795e5

Browse files
committed
[utils] Refactor the pin mapping scripts
Don't add empty pin list to the block_io_to_pin_map dictionary. Signed-off-by: Douglas Reis <doreis@lowrisc.org>
1 parent 79ddc13 commit 7e795e5

1 file changed

Lines changed: 11 additions & 16 deletions

File tree

util/top_gen/generator.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -225,10 +225,10 @@ def pin_direction(pin: Pin) -> Direction:
225225
def block_io_to_pin_map(
226226
blocks: list[BlockIoFlat], pins: list[PinFlat]
227227
) -> BlockIoToPinsMap:
228-
mapping: BlockIoToPinsMap = {block_io.uid: [] for block_io in blocks}
228+
mapping: BlockIoToPinsMap = {}
229229
for pin in pins:
230230
for link in pin.block_io_links:
231-
mapping[link].append(pin)
231+
mapping.setdefault(link, []).append(pin)
232232
return mapping
233233

234234

@@ -242,16 +242,12 @@ def output_block_ios_iter(
242242
):
243243
continue
244244

245-
possible_pins = block_io_to_pins[block_io.uid]
246-
247-
if len(possible_pins) == 0:
248-
continue
249-
250-
yield OutputBlockIo(
251-
block_io,
252-
possible_pins,
253-
max(len(possible_pins) + 1, 2),
254-
)
245+
if possible_pins := block_io_to_pins.get(block_io.uid):
246+
yield OutputBlockIo(
247+
block_io,
248+
possible_pins,
249+
max(len(possible_pins) + 1, 2),
250+
)
255251

256252

257253
def output_pins_iter(
@@ -325,10 +321,9 @@ def block_port_definitions(block: Block) -> Iterator[str]:
325321
def generate_top(config: TopConfig) -> None:
326322
"""Generate a top from a top configuration."""
327323

328-
block_ios = list(flatten_block_ios(config.blocks))
329-
pins = list(flatten_pins(config.pins, block_ios))
330-
331-
block_io_to_pins = block_io_to_pin_map(block_ios, pins)
324+
block_ios: list[BlockIoFlat] = list(flatten_block_ios(config.blocks))
325+
pins: list[PinFlat] = list(flatten_pins(config.pins, block_ios))
326+
block_io_to_pins: BlockIoToPinsMap = block_io_to_pin_map(block_ios, pins)
332327

333328
template_variables = {
334329
"config": config,

0 commit comments

Comments
 (0)