Skip to content

gen_edge3: improvements for submaps and blocks

Tom Levens requested to merge (removed):edge3_submap_blocks into master

This MR implements improvements for handling of submaps and blocks.

Firstly "anonymous" submaps (without a filename) are now supported. These are generated like a memory as a single REG in the CSV with a depth equal to the submap size. Setting expand: False on any block/submap allows this behaviour to be used for any block/submap.

Secondly the handling of multiple blocks with the same name has been fixed. Before if we had a structure like:

- submap:
    name: S1
    children:
      - block:
          name: B
          children:
            - reg:
                name: R1
            - reg:
                name: R2
- submap:
    name: S2
    children:
      - block:
          name: B
          children:
            - reg:
                name: R3
            - reg:
                name: R4

The generated EDGE driver would only contain one block B with regs R1 and R2. This block would be included in both submaps S1 and S2. This is not correct as, although the blocks have the same name, they are not the same block.

Now two separate blocks will be generated with names S1_B and S2_B. This behaviour can be overridden by setting block-prefix: False on the block.

Closes #125 (closed) and #126 (closed)

Edited by Tom Levens

Merge request reports