Академический Документы
Профессиональный Документы
Культура Документы
computation of a minimal. The minimal of a subset of an Dlx 80 2,861 7,848 45,408 83 1.2 s
ordered set is an element such that no other element that is less Cc 95 3,369 9,029 435,456 46 0.8 s
than the minimal is in the subset. If we think of a minterm as a mp3 189 6,234 16,576 611,529,523,200 52 11.8 s
Pp 207 7,074 19,655 701,582,400 68 18.3 s
characteristic function of a subset where a variable being true
Stream 291 10,365 28,714 >291,404,905,665,527,808 127 23.4 s
indicates that the variable is in the set, then in terms of a
Boolean function, a minimal would be a minterm that does not Table 1. Extracting Operations
contain any other minterms in the function. This is different
from a minimal minterm which says that a minterm is minimal 5. Conclusion
iff it cannot be created by applying max to a subset of minterms. We have developed and proven a technique to represent a
Boolean function as a set of minimal minterms and a simple
Although there are several existing architecture description
generator relation. Results indicate that the technique is quite
language (ADL) efforts [2], leading research efforts, such as
efficient when compared to prime cube covers. We have
LISA [3], EXPRESSION [4], and nML [5], require the designer
primarily focused on how to apply this technique to represent
to specify the instruction set, and then map it to an architectural
the programmability of a system. If a system is modeled in
implementation. This mixed top-down and bottom-up approach
terms of logically consistent uses of its data path, then the
is different than our bottom-up approach because we extract the
minimal minterms represent the set of smallest atomic actions
instruction set from the architectural implementation. The body
supported by the system (i.e. instructions), and the generator
of work that most closely resembles ours is the MIMOLA effort,
relation (i.e. compatibility table [the dual of the conflict table])
particularly with respect to instruction set extraction [6]. The
represents the inherent parallelism among the instructions. From
key difference between MIMOLA and our methodology is that we
the extracted minimal minterms, conflict table, and data path
use minimal minterms and SAT, not cubes and BDDs.
description, we automatically generate the required software
4. Results development tools and hardware implementation. Our results
In order to determine the effectiveness of our method, we indicate that the technique is efficient in terms of the number of
compared the number of minimal minterms versus the number minimal minterms and runtimes required. Thus, we believe we
of cubes it takes to represent a function. We generated all have effectively addressed the issue of representing the
functions up to 4 variables and a random sample of functions programmability of a system.
with 5 to 18 variables. The minimal minterms were extracted
using our FMM algorithm, and the prime cube covers were
6. References
[1] S. J. Weber, M. W. Moskewicz, M. Gries, C. Sauer, K.
found using ESPRESSO [7]. Results show that minimal
Keutzer. “Fast Cycle-Accurate Simulation and Instruction
minterms are much more efficient. The ratio between cubes and
Set Generation for Constraint-Based Descriptions of
minimal minterms grows exponentially for functions with more
Programmable Architecturs.” CODES+ISSS 2004, 18-23.
than five variables.
[2] H. Tomiyama, A. Halambi, P. Grun, N. Dutt, and A.
140 Nicolau. “Architecture Description Languages for Systems-
120
on-Chip Design.” In APCHDL’99, 109-116.
100
[3] A. Hoffmann, H. Meyr, R. Leupers. Architecture Exploration
for Embedded Processors with LISA. Kluwer, 2002.
80
cubes/mm mean [4] A. Halambi, P. Grun, V. Ganesh, A. Khare, N. Dutt, A.
60 Nicolau. “EXPRESSION: A Language for Architecture
40 Exploration through Compiler/Simulator Retargetability.”
20
DATE 1999, 485-490.
[5] J. Van Praet, D. Lanneer, G. Goossens, W. Geurts, H. De
0
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Man. “A Graph Based Processor Model For Retargetable
Number of Variables in Function Generation”. DATE 1999, 102-107.
[6] R. Leupers, “Instruction-Set Extraction,” In Retargetable
Figure 9. Cubes vs. Minimal Minterms (mm) Code Generation for Digital Signal Processors, Kluwer
In order to determine the efficiency of using FMM to extract Academic Publishers, 1997, 45-83.
operations and a conflict table to represent the programmability [7] R. L. Rudell and A. Sangiovanni-Vincentelli, “Multiple-
of a system, we created five interesting data path systems. The Valued Minimization for PLA Optimization”, TCAD, Vol.
designs are a dlx processor (dlx), a convolution coding CAD-6, No. 5, Sept. 1987, 727-751.
processor (cc), a polyphase filter for mp3 (mp3), a packet [8] R. J. Bayardo Jr. and R. Schrag. “Using CSP look-back
processor (pp) and a stream processor (stream). Results on a techniques to solve exceptionally hard SAT instances.” In
1.69 GHz Pentium 4 with 1 GB RAM indicate that FMM is Proc. of the Second Int’l Conf. on Principles and Practice
highly effective at quickly finding a small number of minimal of Constraint Programming (Lecture Notes in Computer
minterms to represent large functions. In fact, the ratio of the Science 1118), Springer, 1996, 46-60.