SPI and UART peripheral modules in Verilog