Mémoire de maîtrise (2022)
|
Libre accès au plein texte de ce document Conditions d'utilisation: Tous droits réservés Télécharger (819kB) |
Résumé
Avec la fin de la loi de Moore et de la mise à l'échelle de Dennard, les architectures à usage général (par exemple, les CPU RISC) deviennent insuffisantes pour répondre à nos besoins croissants en matière de calcul haute performance. Les architectures spécifiques à un domaine (par exemple, le TPU de Google) sont optimisées pour des applications spécifiques et peuvent donc atteindre de meilleures performances. Le développement de telles architectures spécifiques à un domaine nécessite généralement l'écriture de programmes dans des langages de description du matériel (HDL). Par rapport aux langages de programmation polyvalents (GPPL) traditionnels (par exemple, C++, Java, Python), le développement de programmes en HDL (par exemple, VHDL ou Verilog) a actuellement peu de soutien de la communauté de génie logiciel. Un tel déséquilibre dans le soutien aux GPPL et aux HDL entravera les progrès futurs des systèmes informatiques. L'une des raisons de ce déséquilibre semble être la méconnaissance des défis posés par les langages de description du matériel. Afin d'améliorer cette situation, dans ce mémoire, nous faisons une première tentative d'élucidation de ces défis, en étudiant les pratiques et les défis du développement de programmes en HDL, en examinant deux sources de données liées au développement de programmes HDL : 1) les forums techniques où les développeurs posent des questions relatives aux HDL, et 2) les projets open-source où les développeurs écrivent du code HDL. Les développeurs posent généralement des questions techniques et y répondent sur des plateformes tels que les forums Stack Exchange. Ces questions peuvent communiquer les défis rencontrés par ces derniers lors du développement de programmes HDL. Par conséquent, notre première étude identifie et analyse plus de 16 000 questions relatives au HDL provenant de deux forums Stack Exchange : Stack Overflow (SO) et Electrical Engineering (EE). Nous analysons ces questions en combinant une analyse qualitative et une modélisation automatique des sujets, afin de comprendre les défis auxquels sont confrontés les développeurs lors du développement de programmes HDL.
Abstract
Modern computer systems typically consist of two indispensable components: general-purpose hardware (e.g., CPU) and highly-versatile software (e.g., web applications). In this context, Turing award winners John Hennessy and David Patterson, in their recent Turing lecture, declared that computer architectures are at the point of shifting from a general-purpose approach to a domain-specific hardware-software co-design approach. Developing such domain specific architectures typically requires writing programs in Hardware Description Languages (HDLs). This work makes an initial attempt to understand the practices and challenges of developing HDL programs and explore opportunities for the Software Engineering community to support the practices of HDL program development, by examining two sources of data related to HDL program development: 1) technical forums where developers ask HDL-related questions, and 2) open-source projects where developers write HDL code. Developers usually ask and answer technical questions on technical forums such as Stack Exchange forums. These questions may communicate challenges faced by developers when developing HDL programs. Therefore, our first study identifies and analyzes over 16,000 HDL-related questions from two Stack Exchange forums: Stack Overflow (SO) and Electrical Engineering (EE) Stack Exchange. We analyze these HDL-related questions using a combination of qualitative analysis and automated topic modelling, in order to understand the challenges faced by developers when developing HDL programs.
Département: | Département de génie informatique et génie logiciel |
---|---|
Programme: | Génie informatique |
Directeurs ou directrices: |
Foutse Khomh |
URL de PolyPublie: | https://publications.polymtl.ca/10340/ |
Université/École: | Polytechnique Montréal |
Date du dépôt: | 07 oct. 2022 14:03 |
Dernière modification: | 07 avr. 2024 09:48 |
Citer en APA 7: | Yousefifeshki, F. (2022). Studying the Practices and Challenges of Developing Hardware Description Language Programs [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/10340/ |
---|---|
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements