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