A method for testing a controller-data path RTL circuit using a BIST scheme
without imposing any major design restrictions on the circuit. A state
table is extracted from the controller netlist of the circuit using a
state machine extraction program. The untested RTL elements/modules in the
circuit are then selected, and the test control and data flow (TCDF) of
the circuit are extracted from the controller/data path. Once the TCDF is
extracted for the selected RTL elements, a symbolic testability analysis
(STA) is performed to obtain test environments for as many untested data
path elements as possible. The controller input sequence at the select
signals of these test multiplexers needed for the particular test
environment is noted and/or stored. A BIST controller is synthesized from
the stored input sequences and the circuit is integrated with the BIST
components using the thereby determined BIST architecture.