Low-power hight level synthesis for designing DSP applications on FPGA / Ghizlane Lhairech ; sous la direction d'Éric Martin et de Philippe Coussy

Date :

Editeur / Publisher : [S.l.] : [s.n.] , 2013

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : anglais / English

Circuits intégrés à faible consommation

Circuits intégrés numériques -- Conception et construction

Réseaux logiques programmables par l'utilisateur

Martin, Éric (1961-.... ; professeur en électronique) (Directeur de thèse / thesis advisor)

Coussy, Philippe (1974-...) (Directeur de thèse / thesis advisor)

Université de Bretagne Sud (1995-....) (Organisme de soutenance / degree-grantor)

École doctorale Santé, information-communication et mathématiques, matière (Brest, Finistère) (Ecole doctorale associée à la thèse / doctoral school)

Université européenne de Bretagne (2007-2016) (Autre partenaire associé à la thèse / thesis associated third party)

Résumé / Abstract : Power optimization has become one of the most challenging design objectives of modern and portable digital systems. Although Field Programmable Gate Arrays (FPGA) are more and more used, they are however still considered as power inefficient compared to standard-cell or full-custom technologies. Low-power high-level-synthesis flow is needed to tackle this power inefficiency. Both data-size i.e. bitwidth and data-rate i.e. clock frequency are key factors for designing low-power digital systems. The work presented in this thesis addresses low-power design through bitwidth aware and hierarchical high-level-synthesis flow that automatically generates bit-accurate and synchronous multiple-clock architectures. The first approach considers data bitwidth information in all the synthesis steps by using dedicated algorithms. Our clustering algorithm groups the operations according to their time characteristics. Our scheduling algorithm relies on heuristics in which the operations to be scheduled are listed by priority order related to the operation bitwidth. The resource binding algorithm performs a maximal weighted matching minimizing the final bitwidth and the steering logic. The second approach uses the specification hierarchy in order to generate multiple-clock architecture which allows to perform automatically frequency-scaling and clock-gating. The clock-frequency of the operators which implement non-time-critical operations is divided by an integer reduction-factor. The definition of the reduction factor and the non-time-critical operations is either user-driven or done automatically by using our partitioning algorithms. In both cases, we propose a hierarchical model to allow the use of complex operators in high-level-synthesis. In this thesis, the approaches we propose aim to use the knowledge of the structure of the FPGAs to guide optimization techniques at high level. Hence, bitwidth optimization aims to minimize the circuit activity and the number of wires. Hierarchical design aims to reduce the number of long wires and to use clock-gating techniques. Synchronous multiple-clock-region design aims to decrease the clock tree complexity and the clock-frequency. The experiments have been realized by using a Xilinx Virtex-5 device and the power measurement results show that the proposed approaches achieves power reduction on average 25% in bit-accurate architecture and 13% in synchronous-multiple-clock architecture.

Résumé / Abstract : L’optimisation de la consommation est devenue un challenge des plus importants dans la conception des systèmes numériques. Bien que les FPGAs soient de plus en plus utilisés, ils sont toujours considérés comme inefficaces en termes de consommation comparés aux ASICs. Les concepteurs ont besoin d’un flot de synthèse dédié pour la conception à faible puissance sur FPGA. Nous avons identifié deux facteurs clés pour la conception à faible puissance des applications de traitement numériques, à savoir, la largeur des données et la fréquence de leurs traitements. Dans cette thèse, Les travaux présentés adressent la conception faible puissance à travers un flot de synthèse de haut niveau qui prend en compte la largeur des données et la hiérarchie. Ce flot permet de générer automatiquement des architectures bit-prés et des architectures synchrones à horloge multiples. La première approche prend en compte la largeur des données durant toutes les étapes de synthèse en utilisant des algorithmes dédiés. L’algorithme de « clustering » que nous proposons groupe les opérations en fonction de leurs caractéristiques temporelles. Notre algorithme d'ordonnancement repose sur des heuristiques dans lesquelles les opérations ordonnançables sont triées par ordre de priorité basée sur leur taille. L'algorithme d’assignation réalise un MWBM en minimisant la taille et le nombre de multiplexeurs. Dans la seconde approche nous utilisons la synthèse hiérarchique afin de générer automatiquement des architectures constituées de plusieurs blocs ayant leurs propre horloge et communicant de façon synchrone. Le facteur de réduction d’horloge ainsi que les opérations pouvant être ralenties sont définis soit par le concepteur sous forme d’appels de fonctions ou automatiquement à travers nos algorithmes de partitionnement. Dans les deux cas, nous proposons un modèle hiérarchique pour permettre l’intégration d’opérateur complexe dans le flot de synthèse de haut niveau. Notre approche vise à utiliser les connaissances de la structure du FPGA afin de diriger les techniques d'optimisation à haut niveau. De ce fait, l’optimisation de la largeur des données vise à minimiser l'activité du circuit et le nombre de fils utilisés. La hiérarchie permet de réduire le nombre de longs fils, ainsi que de diminuer la complexité de réseau de distribution d'horloge et d'utiliser des techniques de gèle d'horloge. L’architecture synchrone à horloge multiples vise à réduire la fréquence d’horloge et la complexité de l’arbre d'horloge. Les expériences ont été réalisées en utilisant le circuit FPGA Xilinx Virtex-5 et les résultats de mesure de puissance montrent que les approches proposées réalisent une réduction de puissance en moyenne de 25% pour les architectures bit-prés et de 13% pour les architectures synchrones à horloges multiples.