| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- module InputMux #(
- parameter AXI_DATA_WIDTH = 64,
- parameter SPI_NUM = 3,
- parameter FIFO_TX1_ADDR = 64'h0000000000001028,
- parameter FIFO_TX2_ADDR = 64'h0000000000002028,
- parameter FIFO_TX3_ADDR = 64'h0000000000003028,
- parameter FIFO_TX4_ADDR = 64'h0000000000004028,
- parameter FIFO_TX5_ADDR = 64'h0000000000005028,
- parameter FIFO_TX6_ADDR = 64'h0000000000006028,
- parameter FIFO_TX7_ADDR = 64'h0000000000007028
- )(
- input Clk_i,
- input RstN_i,
- input Val_i,
- input [AXI_DATA_WIDTH-1:0] Data_i,
- input [AXI_DATA_WIDTH-1:0] Addr_i,
- output reg [AXI_DATA_WIDTH-1:0] ToRegMapAddr_o,
- output reg [SPI_NUM:0] Val_o,
- output reg [AXI_DATA_WIDTH-1:0] Data_o
- );
- //================================================================================
- // LOCALPARAMS
- //================================================================================
- //================================================================================
- // REG/WIRE
- //================================================================================
- //================================================================================
- // CODING
- //================================================================================
- always @(posedge Clk_i) begin
- if (!RstN_i) begin
- Data_o <= {AXI_DATA_WIDTH{1'b0}};
- Val_o <= {AXI_DATA_WIDTH{1'b0}};
- end
- else begin
- if (Val_i) begin
- Data_o <= Data_i;
- ToRegMapAddr_o <= Addr_i;
- case(Addr_i)
- FIFO_TX1_ADDR: begin
- Val_o[0] <= Val_i;
- end
- FIFO_TX2_ADDR: begin
- Val_o[1] <= Val_i;
- end
- FIFO_TX3_ADDR: begin
- Val_o[2] <= Val_i;
- end
- FIFO_TX4_ADDR: begin
- Val_o[3] <= Val_i;
- end
- FIFO_TX5_ADDR: begin
- Val_o[4] <= Val_i;
- end
- FIFO_TX6_ADDR: begin
- Val_o[5] <= Val_i;
- end
- FIFO_TX7_ADDR: begin
- Val_o[6] <= Val_i;
- end
- default: begin
- Val_o[SPI_NUM] <= Val_i;
- end
- endcase
- end
- else begin
- Val_o <= {SPI_NUM{1'b0}};
- end
- end
- end
- endmodule
|