We can update you automatically when our Tip of the Month
changes.
To receive regular notification of updates to our Tip of the
Month section, click here.
Following on from this months Model, consider how an 8-bit by 8-bit multiplication can be implemented in an FPGA device. The optimal implementation is influenced by many aspects of the design process, including the coding style, the synthesis tools features and the target technology. Many times, however, the optimal solution is most heavily influenced by the architecture chosen by the designer. There are a host of architectures to choose from in implementing a multiplier:
to name just a few.
In this tip, were going to look at the use of LUT-based multipliers implemented in a typical FPGA device. Advantage is taken of the RAM-like structures implemented in the latest FPGA devices. For example, in Altera FLEX10K devices, these structures are called embedded array blocks or EABs.
An EAB can be configured as a 256 x 8-bit logic function, allowing for the implementation of a 4-bit x 4-bit multiplier. The two 4-bit operands consume the 8-bit Address input to the EAB, the 8-bit Data Out output provides the product of the two inputs. For an 8-bit x 8-bit multiplier, four EABs can be arranged to accommodate the appropriate nibbles of the two inputs together for each EAB whilst the partial product outputs from each EAB can be added together using LEs.
A comparison of the EAB approach versus the LE-only approach yields the following results:
|
An EAB is equivalent to 8 LEs, so you do achieve a small reduction in resource usage of the FLEX10K device!
Implementing the multiplier using the EAB requires the feature to be available in the synthesis tool you are using perhaps the ability to infer EABs for logic functions in your HDL code along with a tool-specific directive. Alternatively, you may have to instantiate an LPM component in the HDL code if the synthesis tool you are using can map LPMs to EABs.
These device-specific considerations are taught in some detail in our Altera VHDL TechClass and our Comprehensive VHDL training courses.
Bye for now...
Comprehensive VHDL for FPGA / ASIC
Advanced VHDL for Synthesis
Copyright 1995-1999 Doulos
This page was last updated 4th January 1999
We welcome your e-mail comments. Please contact us at: webmaste@doulos.co.uk