You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

55 lines
2.0 KiB

`include "config.v"
/*
* Hacky baud rate generator to divide a 50MHz clock into a 115200 baud
* rx/tx pair where the rx clcken oversamples by 16x.
*/
module rd_data_router (
input [31:0] addr,
input [31:0] stm32_rd_data,
input [31:0] fpga_test_rd_data,
input [31:0] control_sensor_rd_data,
input [31:0] ttlin1_rd_data,
input [31:0] ttlin2_rd_data,
input [31:0] ttlin3_rd_data,
input [31:0] ttlin4_rd_data,
input [31:0] timecode_in_rd_data,
input [31:0] genlock_in_rd_data,
input [31:0] ttlout1_rd_data,
input [31:0] ttlout2_rd_data,
input [31:0] ttlout3_rd_data,
input [31:0] ttlout4_rd_data,
input [31:0] timecode_out_rd_data,
input [31:0] genlock_out_rd_data,
input [31:0] stm32_if_rd_data,
input [31:0] debuger_rd_data,
output reg [31:0] rd_data_out
);
always @(*) begin
case (addr >> 8)
`REG_ADD_OFF_STM32 >> 8: rd_data_out = stm32_rd_data;
`REG_ADD_OFF_FPGA_TEST >> 8: rd_data_out = fpga_test_rd_data;
`REG_ADD_OFF_CONTROL_SENSOR >> 8: rd_data_out = control_sensor_rd_data;
`REG_ADD_OFF_TTLIN1 >> 8: rd_data_out = ttlin1_rd_data;
`REG_ADD_OFF_TTLIN2 >> 8: rd_data_out = ttlin2_rd_data;
`REG_ADD_OFF_TTLIN3 >> 8: rd_data_out = ttlin3_rd_data;
`REG_ADD_OFF_TTLIN4 >> 8: rd_data_out = ttlin4_rd_data;
`REG_ADD_OFF_TIMECODE_IN >> 8: rd_data_out = timecode_in_rd_data;
`REG_ADD_OFF_GENLOCK_IN >> 8: rd_data_out = genlock_in_rd_data;
`REG_ADD_OFF_TTLOUT1 >> 8: rd_data_out = ttlout1_rd_data;
`REG_ADD_OFF_TTLOUT2 >> 8: rd_data_out = ttlout2_rd_data;
`REG_ADD_OFF_TTLOUT3 >> 8: rd_data_out = ttlout3_rd_data;
`REG_ADD_OFF_TTLOUT4 >> 8: rd_data_out = ttlout4_rd_data;
`REG_ADD_OFF_TIMECODE_OUT >> 8: rd_data_out = timecode_out_rd_data;
`REG_ADD_OFF_GENLOCK_OUT >> 8: rd_data_out = genlock_out_rd_data;
`REG_ADD_OFF_STM32_IF >> 8: rd_data_out = stm32_if_rd_data;
`REG_ADD_OFF_DEBUGER >> 8: rd_data_out = debuger_rd_data;
default: rd_data_out = 0;
endcase
end
endmodule