// // Generated by Bluespec Compiler // // // Ports: // Name I/O size props // CLK I 1 clock // RST_N I 1 reset // // No combinational paths from inputs to outputs // // `ifdef BSV_ASSIGNMENT_DELAY `else `define BSV_ASSIGNMENT_DELAY `endif `ifdef BSV_POSITIVE_RESET `define BSV_RESET_VALUE 1'b1 `define BSV_RESET_EDGE posedge `else `define BSV_RESET_VALUE 1'b0 `define BSV_RESET_EDGE negedge `endif module sysActionVec(CLK, RST_N); input CLK; input RST_N; // register idx reg [1 : 0] idx; wire [1 : 0] idx$D_IN; wire idx$EN; // ports of submodule fs_0 wire [7 : 0] fs_0$D_IN; wire fs_0$CLR, fs_0$DEQ, fs_0$ENQ, fs_0$FULL_N; // ports of submodule fs_1 wire [7 : 0] fs_1$D_IN; wire fs_1$CLR, fs_1$DEQ, fs_1$ENQ, fs_1$FULL_N; // ports of submodule fs_2 wire [7 : 0] fs_2$D_IN; wire fs_2$CLR, fs_2$DEQ, fs_2$ENQ, fs_2$FULL_N; // rule scheduling signals reg WILL_FIRE_RL_r; // submodule fs_0 FIFO2 #(.width(32'd8), .guarded(1'd1)) fs_0(.RST(RST_N), .CLK(CLK), .D_IN(fs_0$D_IN), .ENQ(fs_0$ENQ), .DEQ(fs_0$DEQ), .CLR(fs_0$CLR), .D_OUT(), .FULL_N(fs_0$FULL_N), .EMPTY_N()); // submodule fs_1 FIFO2 #(.width(32'd8), .guarded(1'd1)) fs_1(.RST(RST_N), .CLK(CLK), .D_IN(fs_1$D_IN), .ENQ(fs_1$ENQ), .DEQ(fs_1$DEQ), .CLR(fs_1$CLR), .D_OUT(), .FULL_N(fs_1$FULL_N), .EMPTY_N()); // submodule fs_2 FIFO2 #(.width(32'd8), .guarded(1'd1)) fs_2(.RST(RST_N), .CLK(CLK), .D_IN(fs_2$D_IN), .ENQ(fs_2$ENQ), .DEQ(fs_2$DEQ), .CLR(fs_2$CLR), .D_OUT(), .FULL_N(fs_2$FULL_N), .EMPTY_N()); // rule RL_r always@(idx or fs_0$FULL_N or fs_1$FULL_N or fs_2$FULL_N) begin case (idx) 2'd0: WILL_FIRE_RL_r = fs_0$FULL_N; 2'd1: WILL_FIRE_RL_r = fs_1$FULL_N; 2'd2: WILL_FIRE_RL_r = fs_2$FULL_N; 2'd3: WILL_FIRE_RL_r = 1'd1; endcase end // register idx assign idx$D_IN = 2'h0 ; assign idx$EN = 1'b0 ; // submodule fs_0 assign fs_0$D_IN = 8'd0 ; assign fs_0$ENQ = WILL_FIRE_RL_r && idx == 2'd0 ; assign fs_0$DEQ = 1'b0 ; assign fs_0$CLR = 1'b0 ; // submodule fs_1 assign fs_1$D_IN = 8'd0 ; assign fs_1$ENQ = WILL_FIRE_RL_r && idx == 2'd1 ; assign fs_1$DEQ = 1'b0 ; assign fs_1$CLR = 1'b0 ; // submodule fs_2 assign fs_2$D_IN = 8'd0 ; assign fs_2$ENQ = WILL_FIRE_RL_r && idx == 2'd2 ; assign fs_2$DEQ = 1'b0 ; assign fs_2$CLR = 1'b0 ; // handling of inlined registers always@(posedge CLK) begin if (RST_N == `BSV_RESET_VALUE) begin idx <= `BSV_ASSIGNMENT_DELAY 2'd0; end else begin if (idx$EN) idx <= `BSV_ASSIGNMENT_DELAY idx$D_IN; end end // synopsys translate_off `ifdef BSV_NO_INITIAL_BLOCKS `else // not BSV_NO_INITIAL_BLOCKS initial begin idx = 2'h2; end `endif // BSV_NO_INITIAL_BLOCKS // synopsys translate_on endmodule // sysActionVec