Mémoire de maîtrise (2025)
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (2MB) |
Résumé
La multiplication d’une matrice constante par un vecteur constitue une opération de base dans de nombreuses applications embarquées et en temps réel, qui reposent sur l’accélération matérielle, notamment en traitement du signal numérique, en intelligence artificielle embarquée et en commande en temps réel. Sur FPGA, les approches classiques s’appuient sur des multiplieurs généralistes, coûteux en ressources logiques et peu efficaces sur le plan énergétique. Ce surcoût devient particulièrement contraignant dans les scénarios de calcul en périphérie, où les contraintes de surface, de puissance et de latence sont strictement encadrées. Cette recherche propose un algorithme évolutif à faible complexité, conçu pour éviter l’usage de multiplieurs matériels en exploitant l’arithmétique binaire fondée sur les décalages et les additions, ainsi que la réutilisation de résultats intermédiaires. La méthode repose sur une factorisation récursive des sous-expressions communes entre les lignes de la matrice, ce qui permet de réduire le nombre total d’additions et de produire un graphe de calcul de profondeur minimale. Trois implémentations cibles sur circuit logique programmable sont évaluées à partir de cet algorithme : une version purement combinatoire, une version segmentée en étapes (pipeline), et une version segmentée et regroupée. Les résultats expérimentaux obtenus sur les circuits Xilinx Zynq-7000 montrent des gains substantiels en termes de LUT pour des matrices allant de 5 × 5 à 100 × 100, avec des largeurs de mots de 6 à 16 bits.
Abstract
Constant matrix–vector multiplication is a core operation in many embedded and real-time applications that rely on hardware acceleration, particularly in digital signal processing, embedded artificial intelligence, and control systems. On FPGA, traditional methods depend on general-purpose multipliers, which are costly in logic resources and energy-inefficient. This overhead becomes especially problematic in edge computing scenarios, where constraints on area, power, and latency are tightly bounded. This work introduces a scalable, low-complexity algorithm designed to avoid hardware multipliers by leveraging binary arithmetic based on shifts and additions, along with the reuse of intermediate results. The method relies on a recursive factorization of common subexpressions across matrix rows, effectively reducing the total number of additions and generating a computation graph with minimal depth. Based on this algorithm, three FPGA-targeted hardware implementations are proposed: a purely combinational architecture, a pipelined architecture, and a pipeline-aggregated variant. These designs were evaluated on Xilinx Zynq-7000 devices, showing significant savings in logic utilization for matrices ranging from 5×5 to 100×100 and operand widths between 6 and 16 bits.
| Département: | Département de génie électrique |
|---|---|
| Programme: | Génie électrique |
| Directeurs ou directrices: |
Jean Pierre David |
| URL de PolyPublie: | https://publications.polymtl.ca/68207/ |
| Université/École: | Polytechnique Montréal |
| Date du dépôt: | 11 févr. 2026 09:36 |
| Dernière modification: | 11 févr. 2026 10:38 |
| Citer en APA 7: | Zeghaida, A.-A. (2025). Implémentation évolutive à faible complexité de circuits de multiplication par matrices constantes [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/68207/ |
|---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
