This uart.v fix works better here under mecrisp-ice, it allows to RX at 36MHz//115k (PLL based), UP5k.
As I've explained in my comment ("serial data corruption at 460800 ") I've changed the baudrate counters such they compare around 0, not at the limit. That could be faster than (coutner == limit).
I've added a 2FF synchronizer at uart_rx input (3FF could be even better).
This uart.v fix works better here under mecrisp-ice, it allows to RX at 36MHz//115k (PLL based), UP5k. As I've explained in my comment ("serial data corruption at 460800 ") I've changed the baudrate counters such they compare around 0, not at the limit. That could be faster than (coutner == limit). I've added a 2FF synchronizer at uart_rx input (3FF could be even better).
uart_IM.txt