(I have read some method of oversampling, but well, I hate this methodology......)(I am very unhappy about these async things(mismatching over baud rates, clock jitter, etc...) )...... I would rather does with I2C or SPI.
So how to achieve clock synchronizing over UART?(like the serdes's clock data recovery?)
maybe need some analog things (achieve some phase moving?) instead of RTL? (means that you need to pay some $ while making ASICs instead of working over FPGAs)
It's unclear what you are actually trying to do here ? What does
'achieve clock synchronizing' mean ?
A UART peripheral is normally designed to talk to UARTS, that's implicit in its name.
It is time proven, and simple, but has some compromises.
UART oversampling used to be 16x, but these days you can find x8 and x4 designs, as vendors want to support higher Baud and lower sysclks.
Better UART peripherals allow fractional baud, giving more freedom on sysclk and baud choices, and expanding that
higher bauds at lower clocks.A common example these days is allowing 9600 Baud from 32.768kHz RTC clocks. N = 3.413333333 here.
Some uart peripherals include Autobaud ability, to help insulate users form baud settings.
If you hope to create a x1 UART that 'locks' sampling with a x1 UART clock, such a design becomes very fragile, as not all UARTS have fixed stop bit quanta.
Better ones are gap-less and jitter-less, but I've measured many with fractional bit creep and jitter.
Another UART does not care, but some fancy clock extraction design will need to tolerate that, which brings you back to xN oversampling. Simple and proven.