Skip to content

[P2] Cleanup the conditions for delivering types #188

@tancheng

Description

@tancheng

There are many places checking all CMD types for delivery:

elif (s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONFIG) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONFIG_PROLOGUE_FU) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONFIG_PROLOGUE_FU_CROSSBAR) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONFIG_PROLOGUE_ROUTING_CROSSBAR) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONFIG_TOTAL_CTRL_COUNT) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONFIG_COUNT_PER_ITER) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_CONST) | \
(s.recv_from_inter_cgra_noc.msg.payload.cmd == CMD_LAUNCH):

if (s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_PROLOGUE_FU) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_PROLOGUE_FU_CROSSBAR) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_PROLOGUE_ROUTING_CROSSBAR) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_LAUNCH) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_TERMINATE) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_PAUSE) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_TOTAL_CTRL_COUNT) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_COUNT_PER_ITER) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_CTRL_LOWER_BOUND) | \
(s.recv_pkt_queue.send.msg.payload.cmd == CMD_CONFIG_COUNT_PER_ITER):

VectorCGRA/tile/TileRTL.py

Lines 235 to 241 in ca33d73

((s.recv_from_controller_pkt.msg.payload.cmd == CMD_CONFIG) | \
(s.recv_from_controller_pkt.msg.payload.cmd == CMD_CONFIG_PROLOGUE_FU) | \
(s.recv_from_controller_pkt.msg.payload.cmd == CMD_CONFIG_PROLOGUE_FU_CROSSBAR) | \
(s.recv_from_controller_pkt.msg.payload.cmd == CMD_CONFIG_PROLOGUE_ROUTING_CROSSBAR) | \
(s.recv_from_controller_pkt.msg.payload.cmd == CMD_CONFIG_TOTAL_CTRL_COUNT) | \
(s.recv_from_controller_pkt.msg.payload.cmd == CMD_CONFIG_COUNT_PER_ITER) | \
(s.recv_from_controller_pkt.msg.payload.cmd == CMD_LAUNCH)):

This is easy to fail/forget when we add new types. I think we can somehow check if not some_types to make it easier.

Metadata

Metadata

Labels

Projects

Status

No status

Status

No status

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions