This design is a block diagram with behavioural VHDL blocks. The system demonstrates the capabilities of the Hamming Code (8 data bits, 5 parity bits) to perform single error corection and double error detection. The design makes use of a VHDL package containing the logical masks for selecting the data bits during encoding and decoding along with a function to perform reduction Exclusive-OR.