Can't help you with VHDL, and I've no idea what it's capable of, but serial reception is simple to do on any micro-controller, and just requires reading an input and accurate time delays:
1) Wait for input to go active (beginning of start bit).
2) Delay half a bit time (52uS for 9600 baud), to locate centre of bits.
3) Check if still start bit, else abort.
4) Delay one bit time (105uS for 9600 baud).
5) Read bit and shift into a register.
6) Repeat back to 4) to read all 8 bits.
7) Delay one bit time.
8) Check and confirm it's a stop bit.
That's all it takes, the low level instructions available in PIC assembler make it very easy to do, and requires very little code.