Tim Edwards
11/25/2020, 3:19 PMcaravel/verilog/dv/caravel/mgmt_soc/uart/
. This only exercises ser_tx
but the ser_rx
line is easy to set up as an input. As you guessed, you would use GPIO_MODE_USER_STD_OUTPUT and GPIO_MODE_USER_STD_INPUT on GPIO 6 and 5, respectively, to switch those pins from the managment SoC UART to your own UART. Those two GPIO pins will be directly connected to an FTDI chip on the development/demonstration board, so they would be the ones you want to use. It will be a single-channel FTDI which is connected to the housekeeping SPI pins, so there will be jumpers to connect the Tx and Rx lines; then the host program needs to put the FTDI into serial mode. This is the default setup for an FTDI chip through the Linux driver. The UART baud rate will need to be set to be matched between the FTDI chip (which can set a variable baud rate over a large range with fine increments) and your circuit.Matt Venn
11/25/2020, 3:49 PMMatt Venn
11/25/2020, 3:49 PMRiking28
11/25/2020, 4:37 PMRiking28
11/25/2020, 4:38 PMMatt Venn
11/25/2020, 4:40 PMMatt Venn
11/25/2020, 4:41 PMMatt Venn
11/25/2020, 4:42 PMTim Edwards
11/25/2020, 4:43 PMTim Edwards
11/25/2020, 4:49 PMMatt Venn
11/25/2020, 4:50 PMHadir Khan
11/25/2020, 6:13 PMreg_uart_clkdiv
since it is a tx pin. I wouldn't need to configure the same for ser_rx
pin would I? since it would be connected to my Uart inside the user area which will have a uart receiver with a hardcoded baudrate and frequency that is equivalent to the wb_clk_i
.Tim Edwards
11/25/2020, 6:14 PMHadir Khan
11/25/2020, 6:19 PMreg_mprj_io_5 = GPIO_MODE_USER_STD_INPUT;
and then
reg_uart_enable = 1;
reg_mprj_xfer = 1;
while (reg_mprj_xfer == 1)