// // Generated by Bluespec Compiler, version 2019.05.beta2 (build a88bf40db, 2019-05-24) // // // // // Ports: // Name I/O size props // client_request_get O 77 reg // RDY_client_request_get O 1 reg // RDY_client_response_put O 1 reg // RDY_server_request_put O 1 reg // server_response_get O 65 reg // RDY_server_response_get O 1 reg // trace_data_out_get O 427 reg // RDY_trace_data_out_get O 1 reg // CLK I 1 clock // RST_N I 1 reset // client_response_put I 65 reg // server_request_put I 77 reg // EN_client_response_put I 1 // EN_server_request_put I 1 // EN_client_request_get I 1 // EN_server_response_get I 1 // EN_trace_data_out_get I 1 // // 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 mkDM_CSR_Tap(CLK, RST_N, EN_client_request_get, client_request_get, RDY_client_request_get, client_response_put, EN_client_response_put, RDY_client_response_put, server_request_put, EN_server_request_put, RDY_server_request_put, EN_server_response_get, server_response_get, RDY_server_response_get, EN_trace_data_out_get, trace_data_out_get, RDY_trace_data_out_get); input CLK; input RST_N; // actionvalue method client_request_get input EN_client_request_get; output [76 : 0] client_request_get; output RDY_client_request_get; // action method client_response_put input [64 : 0] client_response_put; input EN_client_response_put; output RDY_client_response_put; // action method server_request_put input [76 : 0] server_request_put; input EN_server_request_put; output RDY_server_request_put; // actionvalue method server_response_get input EN_server_response_get; output [64 : 0] server_response_get; output RDY_server_response_get; // actionvalue method trace_data_out_get input EN_trace_data_out_get; output [426 : 0] trace_data_out_get; output RDY_trace_data_out_get; // signals for module outputs wire [426 : 0] trace_data_out_get; wire [76 : 0] client_request_get; wire [64 : 0] server_response_get; wire RDY_client_request_get, RDY_client_response_put, RDY_server_request_put, RDY_server_response_get, RDY_trace_data_out_get; // ports of submodule f_req_in wire [76 : 0] f_req_in$D_IN, f_req_in$D_OUT; wire f_req_in$CLR, f_req_in$DEQ, f_req_in$EMPTY_N, f_req_in$ENQ, f_req_in$FULL_N; // ports of submodule f_req_out wire [76 : 0] f_req_out$D_IN, f_req_out$D_OUT; wire f_req_out$CLR, f_req_out$DEQ, f_req_out$EMPTY_N, f_req_out$ENQ, f_req_out$FULL_N; // ports of submodule f_rsp wire [64 : 0] f_rsp$D_IN, f_rsp$D_OUT; wire f_rsp$CLR, f_rsp$DEQ, f_rsp$EMPTY_N, f_rsp$ENQ, f_rsp$FULL_N; // ports of submodule f_trace_data wire [426 : 0] f_trace_data$D_IN, f_trace_data$D_OUT; wire f_trace_data$CLR, f_trace_data$DEQ, f_trace_data$EMPTY_N, f_trace_data$ENQ, f_trace_data$FULL_N; // rule scheduling signals wire CAN_FIRE_RL_request, CAN_FIRE_client_request_get, CAN_FIRE_client_response_put, CAN_FIRE_server_request_put, CAN_FIRE_server_response_get, CAN_FIRE_trace_data_out_get, WILL_FIRE_RL_request, WILL_FIRE_client_request_get, WILL_FIRE_client_response_put, WILL_FIRE_server_request_put, WILL_FIRE_server_response_get, WILL_FIRE_trace_data_out_get; // remaining internal signals wire [63 : 0] x__h577; // actionvalue method client_request_get assign client_request_get = f_req_out$D_OUT ; assign RDY_client_request_get = f_req_out$EMPTY_N ; assign CAN_FIRE_client_request_get = f_req_out$EMPTY_N ; assign WILL_FIRE_client_request_get = EN_client_request_get ; // action method client_response_put assign RDY_client_response_put = f_rsp$FULL_N ; assign CAN_FIRE_client_response_put = f_rsp$FULL_N ; assign WILL_FIRE_client_response_put = EN_client_response_put ; // action method server_request_put assign RDY_server_request_put = f_req_in$FULL_N ; assign CAN_FIRE_server_request_put = f_req_in$FULL_N ; assign WILL_FIRE_server_request_put = EN_server_request_put ; // actionvalue method server_response_get assign server_response_get = f_rsp$D_OUT ; assign RDY_server_response_get = f_rsp$EMPTY_N ; assign CAN_FIRE_server_response_get = f_rsp$EMPTY_N ; assign WILL_FIRE_server_response_get = EN_server_response_get ; // actionvalue method trace_data_out_get assign trace_data_out_get = f_trace_data$D_OUT ; assign RDY_trace_data_out_get = f_trace_data$EMPTY_N ; assign CAN_FIRE_trace_data_out_get = f_trace_data$EMPTY_N ; assign WILL_FIRE_trace_data_out_get = EN_trace_data_out_get ; // submodule f_req_in FIFO2 #(.width(32'd77), .guarded(32'd1)) f_req_in(.RST(RST_N), .CLK(CLK), .D_IN(f_req_in$D_IN), .ENQ(f_req_in$ENQ), .DEQ(f_req_in$DEQ), .CLR(f_req_in$CLR), .D_OUT(f_req_in$D_OUT), .FULL_N(f_req_in$FULL_N), .EMPTY_N(f_req_in$EMPTY_N)); // submodule f_req_out FIFO2 #(.width(32'd77), .guarded(32'd1)) f_req_out(.RST(RST_N), .CLK(CLK), .D_IN(f_req_out$D_IN), .ENQ(f_req_out$ENQ), .DEQ(f_req_out$DEQ), .CLR(f_req_out$CLR), .D_OUT(f_req_out$D_OUT), .FULL_N(f_req_out$FULL_N), .EMPTY_N(f_req_out$EMPTY_N)); // submodule f_rsp FIFO2 #(.width(32'd65), .guarded(32'd1)) f_rsp(.RST(RST_N), .CLK(CLK), .D_IN(f_rsp$D_IN), .ENQ(f_rsp$ENQ), .DEQ(f_rsp$DEQ), .CLR(f_rsp$CLR), .D_OUT(f_rsp$D_OUT), .FULL_N(f_rsp$FULL_N), .EMPTY_N(f_rsp$EMPTY_N)); // submodule f_trace_data FIFO2 #(.width(32'd427), .guarded(32'd1)) f_trace_data(.RST(RST_N), .CLK(CLK), .D_IN(f_trace_data$D_IN), .ENQ(f_trace_data$ENQ), .DEQ(f_trace_data$DEQ), .CLR(f_trace_data$CLR), .D_OUT(f_trace_data$D_OUT), .FULL_N(f_trace_data$FULL_N), .EMPTY_N(f_trace_data$EMPTY_N)); // rule RL_request assign CAN_FIRE_RL_request = f_req_in$EMPTY_N && f_req_out$FULL_N && (!f_req_in$D_OUT[76] || f_trace_data$FULL_N) ; assign WILL_FIRE_RL_request = CAN_FIRE_RL_request ; // submodule f_req_in assign f_req_in$D_IN = server_request_put ; assign f_req_in$ENQ = EN_server_request_put ; assign f_req_in$DEQ = CAN_FIRE_RL_request ; assign f_req_in$CLR = 1'b0 ; // submodule f_req_out assign f_req_out$D_IN = f_req_in$D_OUT ; assign f_req_out$ENQ = CAN_FIRE_RL_request ; assign f_req_out$DEQ = EN_client_request_get ; assign f_req_out$CLR = 1'b0 ; // submodule f_rsp assign f_rsp$D_IN = client_response_put ; assign f_rsp$ENQ = EN_client_response_put ; assign f_rsp$DEQ = EN_server_response_get ; assign f_rsp$CLR = 1'b0 ; // submodule f_trace_data assign f_trace_data$D_IN = { 235'h0EAAAAAAAAAAAAAAA955555554AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, x__h577, f_req_in$D_OUT[63:0], 64'hAAAAAAAAAAAAAAAA } ; assign f_trace_data$ENQ = WILL_FIRE_RL_request && f_req_in$D_OUT[76] ; assign f_trace_data$DEQ = EN_trace_data_out_get ; assign f_trace_data$CLR = 1'b0 ; // remaining internal signals assign x__h577 = { 52'd0, f_req_in$D_OUT[75:64] } ; endmodule // mkDM_CSR_Tap