⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arbiter_channel_ctrl.v

📁 基于4个mips核的noc设计
💻 V
字号:
module ARBITER_CHANNEL_CTRL(clk, rst, reqin, ackin, reqout, ackout, arb_req, arb_grant);    input clk;    wire clk;    input rst;    wire rst;    input reqin;    wire reqin;    input ackin;    wire ackin;    output reqout;    reg reqout;    output ackout;    reg ackout;    output arb_req;    reg arb_req;    input arb_grant;    wire arb_grant;    reg reqout_v;    reg arb_req_v;    reg [1:0] next_state;    reg [1:0] current_state;        always @(current_state or reqin or arb_grant)        begin : logic            reqout_v = 0;            arb_req_v = 0;            next_state = 2'b00;            case (current_state) //synopsys parallel_case full_case            0:              if (reqin)            begin                next_state = 2'b01;                arb_req_v = 1;            end            else                next_state = 2'b00;            1:  begin                arb_req_v = 1;                if (arb_grant)                begin                    reqout_v = 1;                    next_state = 2'b10;                end                else                begin                    arb_req_v = 1;                    next_state = 2'b01;                end            end            2:              if (reqin)            begin                reqout_v = 1;                next_state = 2'b10;            end            else                next_state = 2'b00;            endcase            reqout = reqout_v;            arb_req = arb_req_v;        end        always @(posedge clk or posedge rst)        begin : change_state            if (rst)                current_state <= 2'b00;            else                current_state <= next_state;        end        always @(ackin)        begin : forward_ack            ackout = ackin;        endendmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -