Skip to content

Conversation

@BenkangPeng
Copy link
Collaborator

This PR supports the link overrides between dataSPM and tiles.

Comment on lines +32 to +33
src_tile_x: -1
src_tile_y: -1
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using -1 to indicate SPM sounds fine to me. However, how we decide which tile connects to SPM at beginning? i.e., which ones connects/existence are true?

CgraRTL.py has the left and bottom tiles connecting to SPM:

VectorCGRA/cgra/CgraRTL.py

Lines 249 to 253 in 87ab489

if i % width == 0 or i // width == 0:
s.tile[i].to_mem_raddr //= s.data_mem.recv_raddr[width + i // width - 1 if i >= width else i % width]
s.tile[i].from_mem_rdata //= s.data_mem.send_rdata[width + i // width - 1 if i >= width else i % width]
s.tile[i].to_mem_waddr //= s.data_mem.recv_waddr[width + i // width - 1 if i >= width else i % width]
s.tile[i].to_mem_wdata //= s.data_mem.recv_wdata[width + i // width - 1 if i >= width else i % width]

However, we don't have such default connections in arch.yaml or CgraTemplateRTL. How should we make such connections as default, but leveraging your -1 with existence: false to remove the connect?

s.tile[tile_id].send_data[PORT_WEST] //= s.send_data_on_boundary_west[row]
if PORT_WEST not in TileList[tile_id].getInvalidInPorts():
s.tile[tile_id].recv_data[PORT_WEST] //= s.recv_data_on_boundary_west[row]
else:#cgra_idx_x = 0
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

else:#cgra_idx_x = 0 -> else: #cgra_idx_x == 0


def parse_dataSPM(self):
return DataSPM(self.per_cgra_columns, self.per_cgra_columns)
return DataSPM(self.per_cgra_rows, self.per_cgra_rows)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of rows, can we initialize SPM ports with

data_mem_num_rd_tiles = height + width - 1
data_mem_num_wr_tiles = height + width - 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants