“…The focus of this paper is on design bugs, which are frequently caused due to incorrect interpretation of the design's architectural intent. Such bugs are manifested in the register transfer level (RTL) implementation, and may be classified into three major types [2, 3], namely, logic bugs , which refer to bugs arising out of incorrect coding, algorithmic bugs , which refer to bugs arising out of the incorrect interpretation of the architectural specification, and timing/synchronisation bugs , which refer to bugs arising out of incorrect encoding of the timing in the design.…”