VHDLVHDL est un langage de description de matériel destiné à représenter le comportement ainsi que l'architecture d’un système électronique numérique. Son nom complet est VHSIC Hardware Description Language. L'intérêt d'une telle description réside dans son caractère exécutable : une spécification décrite en VHDL peut être vérifiée par simulation, avant que la conception détaillée ne soit terminée.
Langage de description de matérielUn langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage informatique permettant la description d'un circuit électronique au niveau des transferts de registres (RTL). Celui-ci peut décrire les fonctions réalisées par le circuit (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle). Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à la simulation.
VerilogLe Verilog, de son nom complet Verilog HDL est un langage de description matériel de circuits logiques en électronique, utilisé pour la conception d'ASICs (application-specific integrated circuits, circuits spécialisés) et de FPGAs (field-programmable gate array). Le sigle anglais HDL -Hardware Description Language- signifie Langage de Description du Matériel. « Verilog HDL » ne doit pas être abrégé en VHDL, ce sigle étant utilisé pour le langage concurrent VHSIC Hardware Description Language.
AccelleraAccellera Systems Initiative (Accellera) is a standards organization that supports a mix of user and vendor standards and open interfaces development in the area of electronic design automation (EDA) and integrated circuit (IC) design and manufacturing. It is less constrained than the Institute of Electrical and Electronics Engineers (IEEE) and is therefore the starting place for many standards. Once mature and adopted by the broader community, the standards are usually transferred to the IEEE.
SystemVerilogSystemVerilog est à la fois un langage de description, se basant pour cela sur Verilog, et un langage de vérification de matériel, permettant de faire de la simulation et vérification. Il est standardisé sous le numéro IEEE 1800 par l'Institute of Electrical and Electronics Engineers (IEEE). En 2020, le langage en était à la septième révision en 20 ans avec IEEE 1800-2017 publié en février 2018. Le développement de la norme est fait de façon transparente et collaborative, via le site accellera.mantishub.
Circuit designThe process of circuit design can cover systems ranging from complex electronic systems down to the individual transistors within an integrated circuit. One person can often do the design process without needing a planned or structured design process for simple circuits. Still, teams of designers following a systematic approach with intelligently guided computer simulation are becoming increasingly common for more complex designs.
Conception de circuits intégrésLa conception (ou le design) de circuits intégrés (ou puces électroniques) consiste à réaliser les nombreuses étapes de développement (flot de conception ou design flow) nécessaires pour concevoir correctement et sans erreurs une puce électronique. Le point d'entrée est une spécification fonctionnelle qui décrit le fonctionnement voulu de la puce, ainsi que des contraintes non fonctionnelles (surface, coût, consommation...).
C to HDLC to HDL tools convert C language or C-like computer code into a hardware description language (HDL) such as VHDL or Verilog. The converted code can then be synthesized and translated into a hardware device such as a field-programmable gate array. Compared to software, equivalent designs in hardware consume less power (yielding higher performance per watt) and execute faster with lower latency, more parallelism and higher throughput.
Langage de vérification de matérielUn langage de vérification de matériel (Hardware verification language, ou HVL) est un langage permettant de vérifier et valider un circuit défini dans un langage de description de matériel (HDL). SystemVerilog est par exemple un HVL pour Verilog ; ce langage est notamment supporté par le logiciel libre Verilator. La méthodologie de vérification universelle (Universal Verification Methodology, ou UVM), est décrite dans le standard IEEE 1800.2-2020, et peut être effectuée à l'aide du module en langage Python pyuvm.
Field-programmable gate arrayA field-programmable gate array (FPGA) is an integrated circuit designed to be configured after manufacturing. The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). Circuit diagrams were previously used to specify the configuration, but this is increasingly rare due to the advent of electronic design automation tools. FPGAs contain an array of programmable logic blocks, and a hierarchy of reconfigurable interconnects allowing blocks to be wired together.
Signal propagation delayPropagation delay is the time duration taken for a signal to reach its destination. It can relate to networking, electronics or physics. In computer networks, propagation delay is the amount of time it takes for the head of the signal to travel from the sender to the receiver. It can be computed as the ratio between the link length and the propagation speed over the specific medium. Propagation delay is equal to d / s where d is the distance and s is the wave propagation speed. In wireless communication, s=c, i.
Traitement numérique du signalLe traitement numérique du signal étudie les techniques de traitement (filtrage, compression, etc), d'analyse et d'interprétation des signaux numérisés. À la différence du traitement des signaux analogiques qui est réalisé par des dispositifs en électronique analogique, le traitement des signaux numériques est réalisé par des machines numériques (des ordinateurs ou des circuits dédiés). Ces machines numériques donnent accès à des algorithmes puissants, tel le calcul de la transformée de Fourier.
Schéma électriquethumb|Légende d'un circuit électrique. (Symboles US) Un schéma électrique est une représentation graphique d'un circuit électrique, basée sur des conventions. Il traduit, sous forme de symboles normalisés, les composants du circuit ainsi que l'alimentation et les signaux reliant ces composants. La position graphique des composants et de leurs interconnexions ne reflète pas toujours le positionnement physique de ceux-ci, contrairement aux positions qui figurent sur un schéma-bloc ou sur un schéma de câblage.
Simulation de phénomènesLa simulation de phénomènes est un outil utilisé dans le domaine de la recherche et du développement. Elle permet d'étudier les réactions d'un système à différentes contraintes pour en déduire les résultats recherchés en se passant d'expérimentation. Les systèmes technologiques (infrastructures, véhicules, réseaux de communication, de transport ou d'énergie) sont soumis à différentes contraintes et actions. Le moyen le plus simple d'étudier leurs réactions serait d'expérimenter, c'est-à-dire d'exercer l'action souhaitée sur l'élément en cause pour observer ou mesurer le résultat.
Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Integrated circuit layoutIn integrated circuit design, integrated circuit (IC) layout, also known IC mask layout or mask design, is the representation of an integrated circuit in terms of planar geometric shapes which correspond to the patterns of metal, oxide, or semiconductor layers that make up the components of the integrated circuit. Originally the overall process was called tapeout, as historically early ICs used graphical black crepe tape on mylar media for photo imaging (erroneously believed to reference magnetic data—the photo process greatly predated magnetic media).
Programmation informatiquevignette|Liste d'instructions sur le Commodore 64 La programmation, appelée aussi codage dans le domaine informatique, désigne l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante du développement de logiciels (voire de matériel). L'écriture d'un programme se fait dans un langage de programmation. Un logiciel est un ensemble de programmes (qui peuvent être écrits dans des langages de programmation différents) destiné à la réalisation de certaines tâches par un (ou plusieurs) utilisateurs du logiciel.
Processeur de signal numériqueUn DSP (de l'anglais « Digital Signal Processor », qu'on pourrait traduire par « processeur de signal numérique » ou « traitement numérique de signal ») est un microprocesseur optimisé pour exécuter des applications de traitement numérique du signal (filtrage, extraction de signaux) le plus rapidement possible. Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel. On les trouve dans les modems (modem RTC, modem ADSL), les téléphones mobiles, les appareils multimédia (lecteur MP3), les récepteurs GPS.
Traitement du signalLe traitement du signal est la discipline qui développe et étudie les techniques de traitement, d'analyse et d' des . Parmi les types d'opérations possibles sur ces signaux, on peut dénoter le contrôle, le filtrage, la compression et la transmission de données, la réduction du bruit, la déconvolution, la prédiction, l'identification, la classification Bien que cette discipline trouve son origine dans les sciences de l'ingénieur (particulièrement l'électronique et l'automatique), elle fait aujourd'hui largement appel à de nombreux domaines des mathématiques, comme la , les processus stochastiques, les espaces vectoriels et l'algèbre linéaire et des mathématiques appliquées, notamment la théorie de l'information, l'optimisation ou encore l'analyse numérique.
Programmation déclarativevignette|Binario cropped. La programmation déclarative est un paradigme de programmation qui consiste à créer des applications sur la base de composants logiciels indépendants du contexte et ne comportant aucun état interne. Autrement dit, l'appel d'un de ces composants avec les mêmes arguments produit exactement le même résultat, quel que soit le moment et le contexte de l'appel. En programmation déclarative, on décrit le quoi, c'est-à-dire le problème.