clk clk rst rst clk_period clk_period in_addr[7:0] in_addr[7:0] out_data[31:0] out_data[31:0] a_in[7:0] a_in[7:0] op_in[7:0] op_in[7:0] b_in[7:0] b_in[7:0] op_out[7:0] op_out[7:0] a_out[7:0] a_out[7:0] b_out[7:0] b_out[7:0] op_in[7:0] op_in[7:0] a_in[7:0] a_in[7:0] b_in[7:0] b_in[7:0] op_out[7:0] op_out[7:0] a_out[7:0] a_out[7:0] b_out[7:0] b_out[7:0] op_in[7:0] op_in[7:0] b_in[7:0] b_in[7:0] a_in[7:0] a_in[7:0] op_out[7:0] op_out[7:0] a_out[7:0] a_out[7:0] b_out[7:0] b_out[7:0] op_in[7:0] op_in[7:0] a_in[7:0] a_in[7:0] b_in[7:0] b_in[7:0] op_out[7:0] op_out[7:0] a_out[7:0] a_out[7:0] b_out[7:0] b_out[7:0] a_addr[3:0] a_addr[3:0] w_addr[3:0] w_addr[3:0] b_addr[3:0] b_addr[3:0] w w data[7:0] data[7:0] qa[7:0] qa[7:0] registres[0:15] registres[0:15] qb[7:0] qb[7:0]