Résumé
SystemC est un langage de programmation compatible avec C++, pour la conception, la modélisation et la vérification au niveau système d'un circuit logique. Ce n'est pas un langage de description de matériel (HDL), mais un complément au niveau supérieur pour sa simulation. Son standard est standardisé et ratifié par lOpen SystemC Initiative (OSCI) aet Accellera Systems Initiative sous la norme IEEE Std. 1666-2011. SystemC est souvent confondu avec un langage de description de matériel (HDL), tel que VHDL ou Verilog. En fait, SystemC est un langage de description de plus haut niveau, puisqu'il permet une modélisation de systèmes au niveau comportemental. SystemC n'est pas un langage à part entière mais un ensemble de classes C++ qui introduisent les concepts nécessaires à la modélisation du matériel (par exemple la notion de processus concurrents). Conservant les fonctionnalités du C++, il reste possible de décrire des fonctions purement logicielles. SystemC permet donc de modéliser des systèmes matériels, logiciels, mixtes ou même non-partitionnés. Il est donc particulièrement approprié à la conception de systèmes de type SoC. SystemC intègre également la possibilité de simuler le modèle conçu, puis, par raffinements successifs, d'aboutir à une représentation implémentable. SystemC a été développé en commun par plusieurs entreprises. À cette fin, l'OSCI (Open SystemC Initiative) a été créé, chargé de diffuser, promouvoir et rédiger les spécifications de SystemC. En , SystemC est standardisé auprès de l'IEEE sous le nom de IEEE 1666-2005. En 2011, une évolution majeure de SystemC est publiée avec la version 2.3 de la bibliothèque correspondant au standard IEEE 1666-2011. Depuis, le développement et la diffusion du standard sont contrôlés par Accellera. Exemple de logique combinatoire: #include "systemc.h" SC_MODULE(and3) { sc_in e1; sc_in e2; sc_in e3; sc_out s; void compute_and() { s = e1 & e2 & e3; }; SC_CTOR(and3) { SC_METHOD(compute_and); sensitive < e1; sensitive < e2; sensitive < e3; } } Exemple de logique séquentielle: #include "systemc.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (1)
CS-476: Embedded system design
Hardware-software co-design is a well known concept in embedded system design.It is also a concept required in designing FPGA-accelerators in data-centers.This course teaches how to transform algorith