<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE article PUBLIC "-//NLM/DTD JATS (Z39.96) Journal Publishing DTD v1.2 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd">
    <!--<?xml-stylesheet type="text/xsl" href="article.xsl">-->
<article xmlns:ns0="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.2" xml:lang="en">
	<front>
		<journal-meta>
			<journal-id journal-id-type="eissn">3034-1558</journal-id>
			<journal-title-group>
				<journal-title>Cifra. Information technology and telecommunications</journal-title>
			</journal-title-group>
			<publisher>
				<publisher-name>Cifra LLC</publisher-name>
			</publisher>
		</journal-meta>
		<article-meta>
			<article-id pub-id-type="doi">10.60797/itech.2026.11.8</article-id>
			<article-categories>
				<subj-group>
					<subject>Brief communication</subject>
				</subj-group>
			</article-categories>
			<title-group>
				<article-title>SAT-Based Stuck-At ATPG on Elaborated RTL Without Logic Synthesis: An Experimental Validation Study and Outlook for Early-Stage Block Characterization</article-title>
			</title-group>
			<contrib-group>
				<contrib contrib-type="author" corresp="yes">
					<name>
						<surname>Muzalevsky</surname>
						<given-names>Yaroslav Yurievich</given-names>
					</name>
					<email>muzalevskij-8g@yandex.ru</email>
					<xref ref-type="aff" rid="aff-1">1</xref>
				</contrib>
			</contrib-group>
			<aff id="aff-1">
				<institution-wrap>
					<institution-id institution-id-type="ROR">https://ror.org/02hf6mx60</institution-id>
					<institution content-type="education">National Research University of Electronic Technology</institution>
				</institution-wrap>
			</aff>
			<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-07-14">
				<day>14</day>
				<month>07</month>
				<year>2026</year>
			</pub-date>
			<pub-date pub-type="collection">
				<year>2026</year>
			</pub-date>
			<volume>6</volume>
			<issue>11</issue>
			<fpage>1</fpage>
			<lpage>6</lpage>
			<history>
				<date date-type="received" iso-8601-date="2026-05-08">
					<day>08</day>
					<month>05</month>
					<year>2026</year>
				</date>
				<date date-type="accepted" iso-8601-date="2026-07-13">
					<day>13</day>
					<month>07</month>
					<year>2026</year>
				</date>
			</history>
			<permissions>
				<copyright-statement>Copyright: &amp;#x00A9; 2022 The Author(s)</copyright-statement>
				<copyright-year>2022</copyright-year>
				<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
					<license-p>
						This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International License (CC-BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See 
						<uri xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</uri>
					</license-p>
					.
				</license>
			</permissions>
			<self-uri xlink:href="https://itech.cifra.science/archive/3-11-2026-july/10.60797/itech.2026.11.8"/>
			<abstract>
				<p>A SAT-based automatic test pattern generation (ATPG) flow operating directly on the And-Inverter Graph (AIG) extracted from the elaborate stage of register-transfer-level (RTL) description — without invoking logic synthesis — is investigated. Test vectors generated by a SAT solver on the elaborated representation are conjectured to detect the same stuck-at faults in the synthesized gate-level netlist whenever the two representations are formally proven equivalent by logical-equivalence checking (LEC). The conjecture is examined experimentally on six combinational and sequential benchmarks of growing complexity using a fully open-source toolchain (Yosys, MiniSAT). For all benchmarks, both flows reach 100% fault coverage of the testable subset; logical equivalence is proven by Yosys for every case. A cross-validation protocol — applying vectors obtained from the synthesis-free flow to the synthesized AIG and vice versa — confirms complete transferability of test vectors for all combinational benchmarks. The redundant-logic benchmark exposes a discriminating effect: the synthesis-free flow detects two redundant stuck-at faults that synthesis collapses, providing a redundancy signal at the elaborate stage that is otherwise lost. The validated infrastructure opens a direct path to early-stage block characterization: properties traditionally measured after synthesis (testable fault count, vector-set length, redundancy indicators) become available at the RTL elaborate stage, where they can inform design decisions before synthesis is invoked.</p>
			</abstract>
			<kwd-group>
				<kwd>SAT</kwd>
				<kwd> ATPG</kwd>
				<kwd> RTL</kwd>
				<kwd> stuck-at</kwd>
				<kwd> elaborate</kwd>
				<kwd> AIG</kwd>
				<kwd> LEC</kwd>
				<kwd> Yosys</kwd>
				<kwd> MiniSAT</kwd>
				<kwd> design for testability</kwd>
				<kwd> early-stage analysis</kwd>
			</kwd-group>
		</article-meta>
	</front>
	<body>
		<sec>
			<title>HTML-content</title>
			<p>1. Introduction</p>
			<p>Design for testability (DFT) is integral to integrated-circuit design. Among DFT tasks, automatic test-pattern generation (ATPG) for stuck-at faults is one of the most computationally demanding stages of the verification flow [1], [2]. Conventionally, ATPG operates on a synthesized gate-level netlist: the RTL description is first compiled by a logic-synthesis tool, then technology-mapped to a standard-cell library, and only afterwards passed to the ATPG engine. The synthesis step itself is computationally expensive — on industrial system-on-chip designs it consumes minutes to hours per iteration.</p>
			<p>For a DFT engineer iterating on the RTL to improve testability — adding test points, restructuring scan chains, modifying control logic — the dependence on a full synthesis cycle creates a long feedback loop: a single RTL modification cannot be evaluated for testability without re-running synthesis. The cumulative cost of these iterations dominates the early stages of DFT exploration.</p>
			<p>The present work investigates whether the ATPG problem can be formulated and solved directly on the Boolean representation produced by the elaborate stage of RTL, prior to logic synthesis. The hypothesis is that test vectors found by a SAT solver on the AIG of elaborated RTL are sufficient to detect stuck-at faults in the synthesized netlist, provided the two representations are proven logically equivalent.</p>
			<p>Existing work on RTL-level testability addresses a related but distinct question. Thaker, Agrawal and Zaghloul [3] propose a register-level testability methodology; Corno, Sonza Reorda and Squillero [6] introduce the ITC'99 RTL benchmarks. Strauch's GIF model [4], [5] derives faults from the internal structure of complex RTL operators and demonstrates that 100% GIF coverage on RTL implies 100% stuck-at coverage at the gate level — a result that conceptually parallels the present work but adopts a different fault model. SAT-based RTL satisfiability has been studied in LPSAT [7] and USAT [8]. Larrabee's original SAT-ATPG construction [1], extended in [2], [9], [10], [11], remains the canonical formulation. Despite this body of work, no published study uses formal LEC as the bridge for transferring SAT-ATPG results obtained on the elaborated AIG of RTL to the synthesized gate-level netlist with experimental validation.</p>
			<p>The contributions of this paper are: (i) a methodological flow combining Yosys and MiniSAT in a Larrabee-style SAT-ATPG pipeline operating on elaborated RTL; (ii) an experimental cross-validation protocol that quantifies vector transferability between the two representations independently of LEC; (iii) an outline of early-stage block-characterization use cases enabled by the validated flow.</p>
			<p>2. Research methods and principles</p>
			<p>Tool flow</p>
			<p>Two parallel flows are considered (Fig. 1). Route A (reference) processes the RTL through full Yosys synthesis (synth -flatten), maps the netlist to AIG via abc -g AND, and feeds the result into the SAT-ATPG engine. Route B (proposed) processes the RTL through proc; flatten; opt only, then maps the result to AIG via the same abc -g AND step, and feeds it into the same SAT-ATPG engine. Sequential designs use the clk2fflogic pass to encode flip-flops as AIGER state elements. The full tool stack is open-source: Yosys 0.45+42, MiniSAT 2.2.0, Python 3.12; experiments run on x86_64 Ubuntu 24.04, Intel Core i5, 16 GB RAM. A 30-second per-fault timeout is imposed on the SAT solver. Test-vector compaction is not applied: one vector per fault.</p>
			<fig id="F1">
				<label>Figure 1</label>
				<caption>
					<p>Tool flow: Route A (full synthesis) versus Route B (elaborate only)</p>
				</caption>
				<alt-text>Tool flow: Route A (full synthesis) versus Route B (elaborate only)</alt-text>
				<graphic ns0:href="/media/images/2026-07-14/b11ef6e2-5ef4-48d5-ac1b-26aa95afc84b.png"/>
			</fig>
			<p>Fault model and miter construction</p>
			<p>The classical stuck-at fault model is applied to every variable in the AIG: primary inputs, AND-node outputs, primary outputs. For each  both stuck-at-0 and stuck-at-1 faults are considered. The Larrabee miter is constructed in conjunctive normal form (CNF) for each fault (Fig. 2): two copies of the circuit (good and faulty) are encoded by Tseitin transformation; in the faulty copy the driving AND clauses for the faulted conductor are cut (omitted) and the conductor is forced to the stuck value; corresponding primary inputs of the two copies are joined by equality clauses (skipped for the faulted primary input itself); outputs are compared by an XOR network with at least one mismatch demanded. The CNF is solved by MiniSAT. SAT returns a vector that activates and propagates the fault; UNSAT certifies the fault as untestable (redundant).</p>
			<fig id="F2">
				<label>Figure 2</label>
				<caption>
					<p>Larrabee miter construction for stuck-at fault detection</p>
				</caption>
				<alt-text>Larrabee miter construction for stuck-at fault detection</alt-text>
				<graphic ns0:href="/media/images/2026-07-14/13689288-2582-4357-b410-a064b1e62f0c.png"/>
			</fig>
			<p>LEC and cross-validation</p>
			<p>Logical equivalence between Route A and Route B is established by Yosys via equiv_make, equiv_simple, equiv_induct and equiv_status. Equivalence implies transferability of test vectors for functional faults (stuck-at on primary inputs and primary outputs): for any input vector the two functions agree, hence a vector that activates a functional fault in one representation activates the corresponding fault in the other. For internal faults — stuck-at on intermediate AND-node outputs — transferability does not follow from LEC because the fault universes differ structurally: the two AIGs realize the same Boolean function with different internal wiring. The cross-validation protocol fills this gap empirically: each Route B test vector is applied to Route A's AIG by topological simulation against a faulted copy, and the fraction of Route A's testable faults thereby detected is recorded; the dual measurement is performed in the opposite direction. A separate restricted measurement is reported for the PI/PO subset, where LEC theoretically guarantees 100% transferability.</p>
			<p>Benchmarks</p>
			<p>Six benchmarks of increasing complexity are used. bench_xor_a and bench_xor_b are two textually different yet semantically identical implementations of the XOR function (operator form (a|b)&amp;~(a&amp;b) versus the ^ operator) — a sanity probe for invariance of the SAT result under equivalent RTL spellings. bench_alu is a 16-bit arithmetic-logic unit; bench_shifter is a 22-bit barrel shifter; bench_redundant is a majority-of-three function with one logically redundant product term; bench_counter is a synchronous 8-bit counter with comparator — the only sequential benchmark in the set.</p>
			<p>3. Main results</p>
			<p>Fault coverage</p>
			<p>Table 1 reports stuck-at fault coverage for both flows. Fault coverage is defined as FC = det / (total − unt) × 100%, where det is the number of detected faults, total is the size of the fault universe, and unt is the number of provably untestable (redundant) faults. All six benchmarks reach 100% coverage of the testable subset on both flows.</p>
			<table-wrap id="T1">
				<label>Table 1</label>
				<caption>
					<p> Stuck-at fault coverage</p>
				</caption>
				<table>
					<tr>
						<td>Benchmark</td>
						<td>A: det/total</td>
						<td>A: FC, %</td>
						<td>A: unt</td>
						<td>B: det/total</td>
						<td>B: FC, %</td>
						<td>B: unt</td>
					</tr>
					<tr>
						<td>bench_xor_a</td>
						<td>10/10</td>
						<td>100.00</td>
						<td>0</td>
						<td>10/10</td>
						<td>100.00</td>
						<td>0</td>
					</tr>
					<tr>
						<td>bench_xor_b</td>
						<td>10/10</td>
						<td>100.00</td>
						<td>0</td>
						<td>10/10</td>
						<td>100.00</td>
						<td>0</td>
					</tr>
					<tr>
						<td>bench_alu</td>
						<td>480/480</td>
						<td>100.00</td>
						<td>0</td>
						<td>474/474</td>
						<td>100.00</td>
						<td>0</td>
					</tr>
					<tr>
						<td>bench_shifter</td>
						<td>1110/1112</td>
						<td>100.00</td>
						<td>2</td>
						<td>1142/1142</td>
						<td>100.00</td>
						<td>0</td>
					</tr>
					<tr>
						<td>bench_redundant</td>
						<td>16/16</td>
						<td>100.00</td>
						<td>0</td>
						<td>20/22</td>
						<td>100.00</td>
						<td>2</td>
					</tr>
					<tr>
						<td>bench_counter</td>
						<td>200/200</td>
						<td>100.00</td>
						<td>0</td>
						<td>200/200</td>
						<td>100.00</td>
						<td>0</td>
					</tr>
				</table>
			</table-wrap>
			<p>bench_xor_a and bench_xor_b, despite their different RTL spellings, produce byte-identical AIGER files after the elaborate stage (verified by SHA-256 hash equality), confirming the textual-form invariance of the SAT formulation. The differences in the total number of faults between flows on bench_alu, bench_shifter and bench_redundant reflect the different number of internal AND nodes; the testable coverage is identical. bench_redundant is the only benchmark where the unt counts diverge in a non-trivial direction: Route B reports two untestable faults — the stuck-at faults on the redundant majority term t4 = a &amp; b &amp; c, masked by the remaining terms; Route A reports zero, because synthesis collapses the redundant logic before ATPG sees it.</p>
			<p>Timing</p>
			<p>Table 2 reports per-benchmark wall-clock time. The Yosys preparation time of Route B is 20–65% of Route A's. On the present small benchmarks the SAT-solver time dominates the end-to-end flow, and the absolute speed-up is modest. On industrial designs where synthesis takes hours, the reduction in preparation time is expected to translate into a substantially shorter feedback loop.</p>
			<table-wrap id="T2">
				<label>Table 2</label>
				<caption>
					<p>Wall-clock time</p>
				</caption>
				<table>
					<tr>
						<td>Benchmark</td>
						<td>A: Yosys, </td>
						<td>A: ATPG, </td>
						<td>A: total, </td>
						<td>B: Yosys, </td>
						<td>B: ATPG, </td>
						<td>B: total, </td>
						<td>A/B</td>
					</tr>
					<tr>
						<td>bench_xor_a</td>
						<td>0.074</td>
						<td>0.040</td>
						<td>0.114</td>
						<td>0.048</td>
						<td>0.050</td>
						<td>0.098</td>
						<td>1.16×</td>
					</tr>
					<tr>
						<td>bench_xor_b</td>
						<td>0.068</td>
						<td>0.030</td>
						<td>0.098</td>
						<td>0.040</td>
						<td>0.030</td>
						<td>0.070</td>
						<td>1.40×</td>
					</tr>
					<tr>
						<td>bench_alu</td>
						<td>0.137</td>
						<td>3.010</td>
						<td>3.147</td>
						<td>0.090</td>
						<td>3.200</td>
						<td>3.290</td>
						<td>0.96×</td>
					</tr>
					<tr>
						<td>bench_shifter</td>
						<td>0.232</td>
						<td>11.760</td>
						<td>11.992</td>
						<td>0.144</td>
						<td>12.610</td>
						<td>12.754</td>
						<td>0.94×</td>
					</tr>
					<tr>
						<td>bench_redundant</td>
						<td>0.080</td>
						<td>0.050</td>
						<td>0.130</td>
						<td>0.016</td>
						<td>0.110</td>
						<td>0.126</td>
						<td>1.03×</td>
					</tr>
					<tr>
						<td>bench_counter</td>
						<td>0.113</td>
						<td>0.750</td>
						<td>0.863</td>
						<td>0.075</td>
						<td>0.780</td>
						<td>0.855</td>
						<td>1.01×</td>
					</tr>
				</table>
			</table-wrap>
			<p>Cross-validation</p>
			<p>Table 3 reports cross-validation results. For all five combinational benchmarks, vectors obtained on Route B detect 100% of testable faults of Route A and vice versa. The single deviation is bench_redundant in the A→B direction (90.91%): vectors from the synthesized flow cannot detect Route B's two redundant faults, which by definition have no input vector activating them. Restricted to the PI/PO subset, transferability is 100% in all directions, in agreement with the LEC-backed theoretical claim. bench_counter is excluded because the latch encoding of state in AIGER is not preserved under the two flows; aligning latch correspondences across representations is left as future work.</p>
			<table-wrap id="T3">
				<label>Table 3</label>
				<caption>
					<p>Cross-validation: detection of one flow's faults by the other flow's vectors</p>
				</caption>
				<table>
					<tr>
						<td>Benchmark</td>
						<td>Vec B</td>
						<td>Vec A</td>
						<td>FC B→A, %</td>
						<td>B→A PI/PO, %</td>
						<td>FC A→B, %</td>
						<td>A→B PI/PO, %</td>
					</tr>
					<tr>
						<td>bench_xor_a</td>
						<td>10</td>
						<td>10</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
					</tr>
					<tr>
						<td>bench_xor_b</td>
						<td>10</td>
						<td>10</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
					</tr>
					<tr>
						<td>bench_alu</td>
						<td>474</td>
						<td>480</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
					</tr>
					<tr>
						<td>bench_shifter</td>
						<td>1142</td>
						<td>1110</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
						<td>100</td>
					</tr>
					<tr>
						<td>bench_redundant</td>
						<td>20</td>
						<td>16</td>
						<td>100</td>
						<td>100</td>
						<td>90.91</td>
						<td>100</td>
					</tr>
					<tr>
						<td>bench_counter</td>
						<td>—</td>
						<td>—</td>
						<td>—</td>
						<td>—</td>
						<td>—</td>
						<td>—</td>
					</tr>
				</table>
			</table-wrap>
			<p>AIG structure</p>
			<p>Table 4 reports AIG-level metrics. The two flows produce structurally distinct AIGs of comparable size; for bench_counter the two AIGs are byte-identical because the increment-and-compare logic is already in canonical form and abc introduces no structural change. bench_redundant exhibits the largest structural divergence (5 vs 8 AND nodes), reflecting the redundancy collapsed by synthesis.</p>
			<table-wrap id="T4">
				<label>Table 4</label>
				<caption>
					<p> AIG structure and CNF size</p>
				</caption>
				<table>
					<tr>
						<td>Benchmark</td>
						<td>A: I/O/R/AND</td>
						<td>A: depth</td>
						<td>B: I/O/R/AND</td>
						<td>B: depth</td>
						<td>A: CNF v/c</td>
						<td>B: CNF v/c</td>
					</tr>
					<tr>
						<td>bench_xor_a</td>
						<td>2/1/0/3</td>
						<td>2</td>
						<td>2/1/0/3</td>
						<td>2</td>
						<td>6/9</td>
						<td>6/9</td>
					</tr>
					<tr>
						<td>bench_xor_b</td>
						<td>2/1/0/3</td>
						<td>2</td>
						<td>2/1/0/3</td>
						<td>2</td>
						<td>6/9</td>
						<td>6/9</td>
					</tr>
					<tr>
						<td>bench_alu</td>
						<td>19/9/0/221</td>
						<td>19</td>
						<td>19/9/0/218</td>
						<td>20</td>
						<td>241/663</td>
						<td>238/654</td>
					</tr>
					<tr>
						<td>bench_shifter</td>
						<td>22/21/0/534</td>
						<td>12</td>
						<td>22/21/0/549</td>
						<td>12</td>
						<td>557/1602</td>
						<td>572/1647</td>
					</tr>
					<tr>
						<td>bench_redundant</td>
						<td>3/1/0/5</td>
						<td>3</td>
						<td>3/1/0/8</td>
						<td>4</td>
						<td>9/15</td>
						<td>12/24</td>
					</tr>
					<tr>
						<td>bench_counter</td>
						<td>11/10/18/89</td>
						<td>12</td>
						<td>11/10/18/89</td>
						<td>12</td>
						<td>119/267</td>
						<td>119/267</td>
					</tr>
				</table>
			</table-wrap>
			<p>Legend: I — primary inputs; O — primary outputs; R — registers (D-flip-flops, encoded as AIGER state elements via clk2fflogic); AND — AIG AND-node count; depth — longest path from primary inputs to primary outputs; v/c — CNF variable / clause counts.</p>
			<p> LEC</p>
			<p>For all six benchmarks equiv_status -assert returns PROVEN. The combinational benches use a single equiv_simple invocation; bench_counter requires async2sync followed by equiv_induct -seq 10 for the sequential proof.</p>
			<p>4. Discussion</p>
			<p>The experimental evidence supports the central hypothesis: SAT-ATPG operating on the AIG produced by elaborated RTL — without logic synthesis — yields test vectors that detect stuck-at faults in the synthesized netlist with no measurable degradation in fault coverage of the testable subset. Logical equivalence is formally proven; cross-validation independently confirms vector transferability. The position relative to Strauch's GIF model [4], [5] is conservative: GIF proposes a new RTL-level fault model derived from the structure of complex RTL operators; the present method retains the standard stuck-at model on AIG and uses formal LEC as the bridge. This makes the method directly compatible with industrial coverage metrics and with existing gate-level ATPG pipelines that consume stuck-at coverage reports.</p>
			<p>The validated infrastructure shifts where DFT evaluation lives within the design loop — from a post-synthesis verification step to an early RTL-exploration step. Three classes of use cases follow directly. They are outlined here as enabled possibilities; concrete optimization algorithms for any of them are left as separate future contributions.</p>
			<p>(i) Test-count reduction by RTL-stage redundancy detection. The bench_redundant result shows that elaborate-stage SAT-ATPG identifies untestable redundant logic that synthesis would silently collapse. Surfacing this signal early lets the engineer either accept the redundancy intentionally (for hazard immunity, glitch suppression) or rewrite the RTL to expose the optimization explicitly to a downstream tool flow.</p>
			<p>(ii) Block-level effort estimation for built-in self-test (BIST) planning. The cardinality of the resulting test-vector set is a direct effort metric: which RTL block needs more BIST bandwidth, which fits within a tight pattern budget. Today this metric is available only after synthesis; the present flow makes it available at the elaborate stage.</p>
			<p>(iii) Comparative pre-synthesis evaluation of competing RTL implementations. The bench_xor_a versus bench_xor_b probe demonstrates that semantically identical RTL written in different operator forms produces byte-identical AIGER output, hence identical SAT-ATPG outcomes. Applied to non-trivially different RTL implementations of the same function, the same probe directly reveals which variant has the smaller AIG, smaller fault universe, or fewer redundant nodes — properties that until now could only be assessed after synthesis.</p>
			<p>The common pattern across (i)–(iii) is a re-positioning of testability evaluation within the design flow: tasks traditionally performed at the end (after synthesis) become accessible at the start (after elaborate). The expectation, supported by the present results, is that performing these evaluations early — when an RTL change can still be made cheaply — yields substantively different design decisions than performing them late, when the same change demands a full re-synthesis.</p>
			<p>Limitations are explicit. First, the LEC-backed transferability claim is rigorous for functional faults (PI/PO) and empirical for structural-internal faults; for designs with substantially different AIG topologies the empirical claim should be re-verified per design. Second, fault models requiring structural information (transition delay, cell-aware, bridging) remain the prerogative of gate-level ATPG. Third, the present sequential treatment via clk2fflogic covers full-scan-equivalent topologies; partial-scan, multi-clock-domain and BIST-instrumented designs require additional handling. Fourth, scalability to industrial-size projects requires confirmation on benchmarks of order 10⁵–10⁶ gates, where SAT-solver time may dominate even when synthesis cost is removed.</p>
			<p>5. Conclusion</p>
			<p>A SAT-based stuck-at ATPG flow operating on elaborated RTL — without logic synthesis — has been experimentally validated on six benchmarks using a fully open-source toolchain. All benchmarks reached 100% fault coverage of the testable subset on both the synthesis-based reference flow and the synthesis-free proposed flow; logical equivalence between the two representations was formally proven by Yosys for every case; cross-validation confirmed full transferability of test vectors between the two representations on all combinational benchmarks. A discriminating exception on the redundant-logic benchmark demonstrated that the synthesis-free flow exposes redundancy signals that are otherwise collapsed by synthesis.</p>
			<p>The validated infrastructure shifts testability evaluation from a post-synthesis verification step to an early RTL-exploration step, and outlines a direct path to early-stage block characterization use cases — test-count reduction, BIST effort estimation, and comparative RTL-variant evaluation — that until now required a full synthesis cycle to access. Concrete optimization algorithms enabled by this re-positioning are the subject of subsequent work in the series.</p>
		</sec>
		<sec sec-type="supplementary-material">
			<title>Additional File</title>
			<p>The additional file for this article can be found as follows:</p>
			<supplementary-material xmlns:xlink="http://www.w3.org/1999/xlink" id="S1" xlink:href="https://doi.org/10.5334/cpsy.78.s1">
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://itech.cifra.science/media/articles/25412.docx">25412.docx</inline-supplementary-material>]-->
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://itech.cifra.science/media/articles/25412.pdf">25412.pdf</inline-supplementary-material>]-->
				<label>Online Supplementary Material</label>
				<caption>
					<p>
						Further description of analytic pipeline and patient demographic information. DOI:
						<italic>
							<uri>https://doi.org/10.60797/itech.2026.11.8</uri>
						</italic>
					</p>
				</caption>
			</supplementary-material>
		</sec>
	</body>
	<back>
		<ack>
			<title>Acknowledgements</title>
			<p/>
		</ack>
		<sec>
			<title>Competing Interests</title>
			<p/>
		</sec>
		<ref-list>
			<ref id="B1">
				<label>1</label>
				<mixed-citation publication-type="confproc">Larrabee T. Test pattern generation using Boolean satisfiability / T. Larrabee // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. — 1992. — Vol. 11. — № 1. — P. 4–15. — DOI: 10.1109/43.108614.</mixed-citation>
			</ref>
			<ref id="B2">
				<label>2</label>
				<mixed-citation publication-type="confproc">Kunz W. Sat and ATPG: Algorithms for Boolean Decision Problems / W. Kunz, J.P. Marques-Silva, S. Malik // Logic Synthesis and Verification. — Boston : Springer, 2002. — P. 309–341. — DOI: 10.1007/978-1-4615-0817-5_12.</mixed-citation>
			</ref>
			<ref id="B3">
				<label>3</label>
				<mixed-citation publication-type="confproc">Thaker P.A. Register-transfer level fault modeling and test evaluation techniques for VLSI circuits / P.A. Thaker, V.D. Agrawal, M.E. Zaghloul // Proceedings of International Test Conference (ITC). — Atlantic City : IEEE, 2000. — P. 940–949. — DOI: 10.1109/TEST.2000.894305.</mixed-citation>
			</ref>
			<ref id="B4">
				<label>4</label>
				<mixed-citation publication-type="confproc">Strauch T. A novel RTL ATPG model based on Gate Inherent Faults (GIF-PO) of complex gates / T. Strauch // arXiv. — 2016. — URL: https://arxiv.org/abs/1612.05166 (accessed: 01.05.2026).</mixed-citation>
			</ref>
			<ref id="B5">
				<label>5</label>
				<mixed-citation publication-type="confproc">Strauch T. An RTL ATPG flow using the Gate Inherent Fault (GIF) model applied on non-, standard- and random-access-scan (RAS) / T. Strauch // Proceedings of IEEE International Test Conference (ITC). — Washington : IEEE, 2019. — P. 1–10. — DOI: 10.1109/DSD.2019.00018.</mixed-citation>
			</ref>
			<ref id="B6">
				<label>6</label>
				<mixed-citation publication-type="confproc">Corno F. RT-level ITC'99 benchmarks and first ATPG results / F. Corno, M.S. Reorda, G. Squillero // IEEE Design &amp;amp; Test of Computers. — 2000. — Vol. 17. — № 3. — P. 44–53. — DOI: 10.1109/54.867894.</mixed-citation>
			</ref>
			<ref id="B7">
				<label>7</label>
				<mixed-citation publication-type="confproc">Zeng Z. LPSAT: A unified approach to RTL satisfiability / Z. Zeng, P. Kalla, M. Ciesielski // Proceedings of Design, Automation and Test in Europe (DATE). — Munich : IEEE, 2001. — P. 186–190. — DOI: 10.1109/DATE.2001.915055.</mixed-citation>
			</ref>
			<ref id="B8">
				<label>8</label>
				<mixed-citation publication-type="confproc">Wu W.-M. USAT: An integrated platform for satisfiability solving and model checking / W.-M. Wu, M.-C. Chen // Proceedings of IEEE International Conference on Computer Design (ICCD). — Lake Tahoe : IEEE, 2008. — P. 440–445. — DOI: 10.1109/CSSE.2008.1352.</mixed-citation>
			</ref>
			<ref id="B9">
				<label>9</label>
				<mixed-citation publication-type="confproc">Kunz A. SAT and ATPG: Boolean engines for formal hardware verification / A. Kunz, W. Biere // Proceedings of IEEE/ACM International Conference on Computer-Aided Design (ICCAD). — San Jose : IEEE, 2002. — P. 782–785. — DOI: 10.1109/ICCAD.2002.1167620.</mixed-citation>
			</ref>
			<ref id="B10">
				<label>10</label>
				<mixed-citation publication-type="confproc">Drechsler S. Improved SAT-based ATPG: More constraints, better compaction / S. Drechsler, S. Eggersglüß, R. Drechsler // Proceedings of Asian Test Symposium (ATS). — Yilan : IEEE, 2013. — P. 85–90. — DOI: 10.1109/ICCAD.2013.6691102.</mixed-citation>
			</ref>
			<ref id="B11">
				<label>11</label>
				<mixed-citation publication-type="confproc">Tille D. A fast untestability proof for SAT-based ATPG / D. Tille, R. Drechsler // Proceedings of Design, Automation and Test in Europe (DATE). — Nice : IEEE, 2009. — P. 1–6. — DOI: 10.1109/DDECS.2009.5012096.</mixed-citation>
			</ref>
			<ref id="B12">
				<label>12</label>
				<mixed-citation publication-type="confproc">Wolf C. Yosys — A free Verilog synthesis suite / C. Wolf // Proceedings of Austrochip Workshop. — 2013. — P. 97–101. — URL: https://yosyshq.net/yosys/files/yosys-austrochip2013.pdf (accessed: 01.05.2026).</mixed-citation>
			</ref>
			<ref id="B13">
				<label>13</label>
				<mixed-citation publication-type="confproc">Eén N. An extensible SAT-solver / N. Eén, N. Sörensson // Theory and Applications of Satisfiability Testing (SAT). Lecture Notes in Computer Science, vol. 2919. — Berlin ; Heidelberg : Springer, 2003. — P. 502–518. — DOI: 10.1007/978-3-540-24605-3_37.</mixed-citation>
			</ref>
			<ref id="B14">
				<label>14</label>
				<mixed-citation publication-type="confproc">Biere A. The AIGER And-Inverter Graph (AIG) format version 20071012 / A. Biere. — 2007. — URL: https://fmv.jku.at/aiger/FORMAT.aiger (accessed: 01.05.2026).</mixed-citation>
			</ref>
			<ref id="B15">
				<label>15</label>
				<mixed-citation publication-type="confproc">Brayton R. ABC: An academic industrial-strength verification tool / R. Brayton, A. Mishchenko // Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 6174. — Berlin ; Heidelberg : Springer, 2010. — P. 24–40. — DOI: 10.1007/978-3-642-14295-6_5.</mixed-citation>
			</ref>
		</ref-list>
	</back>
	<fundings/>
</article>