blob: 20b8fa3c8dc08ad24e369f67771c0d2fea269dc4 [file] [log] [blame]
module usb_fs_in_arb #(
parameter NUM_IN_EPS = 1
) (
////////////////////
// endpoint interface
////////////////////
input [NUM_IN_EPS-1:0] in_ep_req,
output reg [NUM_IN_EPS-1:0] in_ep_grant,
input [(NUM_IN_EPS*8)-1:0] in_ep_data,
////////////////////
// protocol engine interface
////////////////////
output reg [7:0] arb_in_ep_data
);
integer i;
reg grant;
always @* begin
grant = 0;
arb_in_ep_data <= 0;
for (i = 0; i < NUM_IN_EPS; i = i + 1) begin
in_ep_grant[i] <= 0;
if (in_ep_req[i] && !grant) begin
in_ep_grant[i] <= 1;
arb_in_ep_data <= in_ep_data[i * 8 +: 8];
grant = 1;
end
end
// if (!grant) begin
// arb_in_ep_data <= 0;
// end
end
endmodule