Skip to content

arbiter_in and arbiter_out are almost identical #23

@AlexDaniel

Description

@AlexDaniel

Took a while to realize, but it finally came to me when I was looking at the tests…

Part arbiter_out arbiter_in
Requests X_N_Y, X_E_Y, X_W_Y, X_S_Y, X_L_Y req_X_N, req_X_E, req_X_W, req_X_S, req_X_L
Grants grant_Y_N, grant_Y_E, grant_Y_W, grant_Y_S, grant_Y_L X_N, X_E, X_W, X_S, X_L
States IDLE, North, East, West, South, Local IDLE, North, East, West, South, Local
Credit input credit Always 1 (constant)
? “Default” state IDLE Same as before (sticky)
Grant is given When preserving the state Always (unless no requests)

So everything except last two points can be done with arbiter_out, and of course last two points can be implemented in arbiter_out using parameterization. In fact, I'm not sure if the default state matters at all, but I don't understand that part of the behavior fully.

I think arbiter_in should be removed and arbiter_out can be renamed to just arbiter.

Somewhat related issue: #12

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions