Advanced hardware design for error correcting codes. ([2014])