Artykuł ten prezentuje różne rozwiązania szybkiego układu mnożącego implementowanego w układach reprogramowalnych FPGA. Przedstawione rozwiązania to: pełno-funkcjonalny układ mnożący o zmiennym współczynniku mnożenia VCM (ang. Variable Coefficient Multiplier), układ mnożący przez stały współczynnik KCM (ang. Constant Coefficient Multiplier) oraz rozwiązanie pośrednie - układ mnożący przez stały współczynnik z możliwością dynamicznej rekonfiguracji DKCM (ang. Dynamic Constant Coefficient Multiplier). Dla ukladów FPGA, które mogą być szybko przeprogramowane, wybór pomiędzy VCM i KCM jest trudnym zagadnieniem, któremu ten artykuł poświęca dużo uwagi. Co więcej istnieje rozwiązanie pośrednie - układ DKCM, który może być szybciej przeprogramowany niż KCM, ale zajmuje więcej zasobów układu FPGA. W układach FPGA wybór architektury układu mnożącego jest uzależniony od trzech czynników: zajmowanych zasobów, czasu propagacji oraz czasu przeprogramowania. W celu zwiększenia szybkości projektowania układu mnożącego zostało opracowane narzędzie do automatycznej generacji optymalnej architektury układu mnożącego w postaci kodu języka VHDL, na podstawie parametrów wejściowych.
This paper studies different solutions for carrying out multiplication: a fully functional multiplier denoted as Variable Coefficient Multiplier (VCM), Constant Coefficient Multiplier (KCM) and self-configurable multiplier denoted as Dynamic Constant Coefficient Multiplier (DKCM). For FPGAs which can be easily reconfigured, the choice between the VCM and KCM cannot be easily defined. Furthermore, the DKCM is an additional, middle-way between the KCM and VCM solution, as it offers shorter reprogramming time but occupies more area in comparison with the KCM. ln FPGAs, the choice of the optimum multiplier involves three factors: area, propagation and reconfiguration time, which have been thoroughly studied and respective implementation results given. Furthermore, to speed-up implementation of multipliers a design-automated tool has been developed, which generates optimum (for given input parameters), VHDL description of multipliers.