Understanding RISC-V ISA (RV32I), Verilog implementation of custom RISC-V CPU, LED GPIO, UART and porting to FPGA