In this paper, we will discuss circuit minimization techniques based on the
multiple output capability of FPGA blocks. Since previous methods only con
sider two independent output functions, we will discuss a more complicated
case when the two functions are mutually related. We also discuss a method
to maximize flexibility of a specified cell output in the given FPGA block.
If a set of possible functions for a cell which will not change the FPGA o
utput function is large, we call that the flexibility of this cell is high.
The concept of Sets of Pairs of Functions to be Distinguished (SPFDs) intr
oduced by Yamashita et al. is a powerful tool to minimize a given FPGA circ
uits. In this paper, an extension of the concept, Priority based SPFDs (PSP
FDs) is introduced to maximize the flexibility of output functions realized
by such internal cells. By using PSPFDs for our new method, we can utilize
the multiple output capability very well. Combination with the previous me
thods with PSPFDs is also shown to be important. We have implemented these
methods and applied them to MCNC benchmarks mapped into 5-variable function
blocks. To make a comparison with other methods, we have implemented metho
ds using well-known merging algorithms utilizing the same multiple output c
apability. Experimental results show that our methods can reduce the number
of blocks in the initial circuits by 40% on average. This reduction ratio
is 16% higher than that of previous methods.