Unknown values (Xs) may exist in a design due to uninitialized registers or blocks that are powered down. Due to X-pessimism in gate-level logic simulation, such Xs cannot be handled correctly, producing false Xs that result in inaccurate simulation values. To improve gate-level simulation accuracy when Xs exist, we first trace the fan-in cone of Xs to check whether they are real. For the Xs that are not real, we extract small sub-circuits responsible for creating the false Xs. We then generate auxiliary code to repair gate-level simulation by replacing the Xs with the correct values. Our experimental results on commercial designs show that the proposed methods are both effective and efficient.
Unknown values (Xs) may exist in a design due to uninitialized registers or blocks that are powered down. Due to limitations known as X-optimism and X-pessimism, such Xs cannot be handled correctly in logic simulation, producing inaccurate simulation values that can mask X bugs or corrupt simulation results. This can cause X bugs to escape verification and reduces design quality. To resolve such X-related issues, we propose a comprehensive methodology and several novel methods to detect masked Xs at the register transfer level and eliminate false Xs at the gate level. Our case studies show that the proposed methods are both effective and efficient.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.