The authors describe efficient polynomial algorithms for the extraction of topologically minimal multilevel Boolean equations and don't care conditions from the C-based hardware description language CHDL, which has control constructs switch, if-then-else, and go-to. They show that significant savings in CPU cost, area cost, and robustness may be obtained by applying these algorithms as a preprocessing step before using higher cost minimization tools such as BOLD or misII. The approach is based on a control-flow-graph construct with embedded set-use-graph information. The algorithms parse a CHDL description into a directed, nonseries parallel control flow graph. In cases where the graph is also acyclic, graph search and decomposition algorithms are used to derive a Boolean network representing the implied combinational logic. The derived equations are topologically irredundant in the sense that the topological identities are associated with the fork, and join nodes of the control flow graph are accounted for in the code generation. Without this feature, multilevel logic optimizers would have to flatten the control expressions down to primary inputs to discover these identities.<<ETX>>
[1]
Robert K. Brayton,et al.
Multi-level logic minimization using implicit don't cares
,
1988,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[2]
Robert E. Tarjan,et al.
Finding Dominators in Directed Graphs
,
1974,
SIAM J. Comput..
[3]
Dov Harel,et al.
A linear algorithm for finding dominators in flow graphs and related problems
,
1985,
STOC '85.
[4]
William W. Cohen,et al.
Synthesis and Optimization of Multilevel Logic under Timing Constraints
,
1986,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[5]
Robert K. Brayton,et al.
MIS: A Multiple-Level Logic Optimization System
,
1987,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.