Professional Documents
Culture Documents
86
0-8186-5655-7/94 $03.00 0 1994 IEEE
FUNCTION
m
CONTROL
FUNCTION o o -xa
>
- EC
RO
K
(CLOCK) I\ 1
X
completely different basic cell (see figure 2). regular and-or decomposition, and fanin-limited
Based on a multiplexor architecture, the Act2 c- decomposition for LCA design. And-or decom-
module implements as diverse gates as 2-input position processes a complex equation, and rep-
AND gates, as well as AND-OR gates with five resents it as a tree of and gates and or gates only.
inputs with the same area and delay penalty. The tree representation is then mapped into an
LCA by merging gates with less then four fanins,
As a final example, the Altera MAX family (fig- and splitting gates with more than four fanins.
ure 3) is representative of the so-called complex
PLDs. The basic structure is the Logic Array For instance,
Block (LAB), which consist of a macrocell array,
an expander product term array, and an do control X = (A*(B+C))+(B*D)+(E*F*G*H*I)
block. The LAB implements 16 functions of up to
30 product terms.
after and-or decomposition would be as follows:
T5 = H*I
X = Tl+(T2*E)
Now the design is in AND/OR format, the Xilinx T1 = A*(B+C)+(B*D)
physical place and route software can be used to T2 = F*G*H*I
place the design into physical CLBs. This pro-
cess is referred to as "partitioning" by Xilinx,
Since the three expressions share no common in-
a l t h o u g h " p a c k i n g " is the m o r e f a v o r a b l e
puts, an optimal solution has been achieved.
terminology. In this example, T5 or T3 cannot be
merged because of fan-in limitations. T I may be
combined with X, but it would be better to com- The Actel logic module consists of three 2-to-1
bine T1 with T4 and X with T2. This gives the multiplexors and one 2-input OR gate. As such,
following partitioning into four CLBs: the Actel technology is often classified as a fine-
grain FPGA, and can be optimized and mapped
using traditional gate-array techniques [2]. How-
X = Tl+(B*D)+T3
ever, since the basic logic module is created from
T I = A*(B+C) multiplexors, mux-based optimization and bool-
T3 = E*F*G*TS ean mapping techniques are much more effective.
T5 = H*I
Consider the function:
The best partitioning for this example, however is
not the best solution overall. The initial logic de- f = a*b + !b*c + d
composition given to the place and route strongly
affects the final solution. A fanin-limited decom-
where ! symbolizes the boolean negation.
position, which is based on the knowledge that
the number of inputs only limits the logic to be Using the property:
implemented, yields a much better partioning into
three CLBs: d = (b + !b) d
88
to I/O Block
Programmable 16 Expander
Interconnect Product Terms
SignaIs
89
VERILOG HDL
I
parser
random ~
____-- -~ modgen
I
I library
I optimization
v
netlist
90
Figure 6. The Mancala Game implemented in FPGAs and mounted on an Aptix Field Programmable
Circuit Board.
91
to an inference engine that matches supported op- assign bincount-bus = bindselect[ I] ?
erators like addition with preferred implementa- bincountl : 8’bz;
tions in the module generation library. Matching
is performed on three levels: The high-impedance assignment synthesized fine
- name of the module generator in the Xilinx technology, where it resulted in a
each operator has an identifying name, total of 96 three-state buffers. Actel’s anti-fuse
e.g. ’modgen-add’ for ’+’. technology nor Altera’s FLEX 8000, however,
- generic value ’size’ support internal three-state buffers.Hence, to ac-
module generators can be defined for comodate the assign statement an automatic con-
any size in the natural range. version into multiplexed logic was performed.
- number of ports
the number of ports is defined by the The finalized design occupied 175 CLBs plus 96
module generator and its size. 3-state buffers (xilinx 4000), 893 modules (act2),
and 680 LCs (flex 8000). Figure 6 shows how the
devices are mounted on an Aptix Field Program-
Other generics, for instance for area and delay mable Circuit Board.
trade-offs, can be defined as well, but are not
mandatory for a match [3].
Conclusions
Pilot design
This paper has discussed aspects of a Verilog
HDL based FPGA design flow. It has shown that
The concept of Verilog HDL based FPGA design the Verilog HDL language itself is applicable to
as described in this paper has been tested and im- FPGA design, but that dedicated tools especially
plemented with a real-world design. The Mancala
for synthesis are required to obtain feasible
Game is a tradional African board game, that has
results. The approach taken has been validated
been emulated in hardware.
with the synthesis of a Verilog HDL description
of the Mancala game in actual hardware.
The Verilog description is approximately 700
lines, and has been synthesized into different
References
FPGAs. The printed circuit board implementation,
as shown in figure 6, contains three identical im-
[ 11 ’ELSS: A Logic Synthesis Tool for FPGAs’,
plementations of the game in an Actel 1280,
R.P Ranauro and M.M. Ligthart, proceedings of
Altera Flex, and a Xilinx 4008 device.
the 4th annual IEEE Asic conference and Exhibit,
1991, pp.13.2.1-13.2.4.
The pilot design illustrates another interesting as-
pect of device-specific FPGA synthesis. The
[2] ’Technology Mapping in MIS’, E. Detjens, G.
Mancala game requires 24 seven-segment dis-
Gannot et..al., proceedings of the ICCAD, 1987,
plays, which at four i/o pins each consume 96
pp.1 16-119.
device pins. In order to save i/o pins on the FP-
GAS, the data for the seven-segment displays
were multiplexed on a high-impedance output [3] ’Module Generation for VHDL synthesis’,
bus using the verilog assignment to ’z’: R.W. Dekker and M.M. Ligthart, proceedings of
the VIUF spring conference, 1993.
92