High-level synthesisHigh-level synthesis (HLS), sometimes referred to as C synthesis, electronic system-level (ESL) synthesis, algorithmic synthesis, or behavioral synthesis, is an automated design process that takes an abstract behavioral specification of a digital system and finds a register-transfer level structure that realizes the given behavior. Synthesis begins with a high-level specification of the problem, where behavior is generally decoupled from low-level circuit mechanics such as clock-level timing.
Code sourcevignette|redresse|Copie papier d'un code source en Fortran des années 1970, imprimé sur du , dédié aux fichiers textes. En informatique, le code source est un texte qui présente les instructions composant un programme sous une forme lisible, telles qu'elles ont été écrites dans un langage de programmation. Le code source se matérialise généralement sous la forme d'un ensemble de fichiers texte. Le code source est souvent traduit — par un assembleur ou un compilateur — en code binaire composé d'instructions exécutables par le processeur.
Problème SATvignette|Une instance du Sudoku peut être transformée en une formule de logique propositionnelle à satisfaire. Une assignation des variables propositionnelles donne une grille complétée. En informatique théorique, le problème SAT ou problème de satisfaisabilité booléenne est le problème de décision, qui, étant donné une formule de logique propositionnelle, détermine s'il existe une assignation des variables propositionnelles qui rend la formule vraie. Ce problème est important en théorie de la complexité.
Formule booléenne quantifiéeEn théorie de la complexité, en informatique théorique, en logique mathématique, une formule booléenne quantifiée (ou formule QBF pour quantified binary formula en anglais) est une formule de la logique propositionnelle où les variables propositionnelles sont quantifiées. Par exemple, est une formule booléenne quantifiée et se lit « pour toute valeur booléenne x, il existe une valeur booléenne y et une valeur booléenne z telles que ((x ou z) et y) ».
DebuggingIn computer programming and software development, debugging is the process of finding and resolving bugs (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve interactive debugging, control flow analysis, unit testing, integration testing, , monitoring at the application or system level, memory dumps, and profiling. Many programming languages and software development tools also offer programs to aid in debugging, known as debuggers.
False positives and false negativesA false positive is an error in binary classification in which a test result incorrectly indicates the presence of a condition (such as a disease when the disease is not present), while a false negative is the opposite error, where the test result incorrectly indicates the absence of a condition when it is actually present. These are the two kinds of errors in a binary test, in contrast to the two kinds of correct result (a and a ).
Sciences numériquesLes sciences numériques (traduction de l'anglais computational sciences), autrement dénommées calcul scientifique ou informatique scientifique, ont pour objet la construction de modèles mathématiques et de méthodes d'analyse quantitative, en se basant sur l'utilisation des sciences du numérique, pour analyser et résoudre des problèmes scientifiques. Cette approche scientifique basée sur un recours massif aux modélisations informatiques et mathématiques et à la simulation se décline en : médecine numérique, biologie numérique, archéologie numérique, mécanique numérique, par exemple.
Circuit asynchronethumb|upright=1.2|Principe du pipeline synchrone, en haut, où les données avancent au rythme de l'horloge, et du pipeline asynchrone, en bas, où les étages communiquent localement. Un circuit asynchrone est un circuit électronique numérique qui n'utilise pas de signal d'horloge global pour synchroniser ses différents éléments. À la place, ces derniers communiquent souvent localement en indiquant l'envoi et la réception de données. On parle parfois de « circuit auto-séquencé ».
Compilateur source à sourceUn compilateur source à source, transpileur ou transcompilateur est un type de compilateur qui prend le code source d'un langage de programmation et le compile dans un autre langage de programmation. Un compilateur source-à-source opère sur deux langages avec approximativement le même niveau d'abstraction, alors qu'un compilateur traditionnel compile un langage de haut niveau vers un langage de bas niveau. Un des premiers compilateurs de ce type était le XLT86 de Digital Research en 1981, un programme écrit par Gary Kildall qui compilait du code .
Code d'effacementEn théorie de l'information, un code d'effacement est un code de correction d'erreur directe pour le canal binaire d'effacement qui transforme un message composé de symboles en un message plus long composé de symboles tel que le message original peut être retrouvé à partir d'un sous-ensemble de ces symboles. La fraction est appelé « débit du code ». La fraction , où représente le nombre de symboles requis pour restaurer le message est appelée efficacité de la réception.