SystemC
Tipus | programari |
---|---|
Desenvolupador | Open SystemC Initiative (OSCI — ara Accellera) |
Darrera versió estable | 3.0.1 () |
Llenguatge de programació | C++ |
Codi font | Codi font |
Llicència | Llicència Apache, versió 2.0 |
Etiqueta d'Stack Exchange | Etiqueta |
Pàgina web | systemc.org |
SystemC és un conjunt de classes i macros C++ que proporcionen una interfície de simulació basada en esdeveniments (vegeu també simulació d'esdeveniments discrets). Aquestes instal·lacions permeten al dissenyador simular processos concurrents, cadascun descrit utilitzant la sintaxi C++ senzilla. Els processos SystemC es poden comunicar en un entorn simulat en temps real, utilitzant senyals de tots els tipus de dades que ofereix C++, alguns addicionals que ofereix la biblioteca SystemC, així com els definits per l'usuari. En certs aspectes, SystemC imita deliberadament els llenguatges de descripció de maquinari VHDL i Verilog, però es descriu més adequadament com un llenguatge de modelatge a nivell de sistema.[1]
SystemC s'aplica al modelatge a nivell de sistema, exploració arquitectònica, modelatge de rendiment, desenvolupament de programari, verificació funcional i síntesi d'alt nivell. SystemC s'associa sovint amb el disseny a nivell de sistema electrònic (ESL) i amb el modelatge a nivell de transacció (TLM).[2]
Especificació del llenguatge
[modifica]SystemC està definit i promogut per l'Open SystemC Initiative (OSCI, ara Accellera), i ha estat aprovat per l'IEEE Standards Association com a IEEE 1666-2011,[3] el SystemC Language Reference Manual (LRM). El LRM proporciona la declaració definitiva de la semàntica de SystemC. OSCI també ofereix un simulador de prova de concepte de codi obert (de vegades conegut incorrectament com a simulador de referència), que es pot descarregar des del lloc web de l'OSCI. Tot i que la intenció d'OSCI era que els venedors comercials i el món acadèmic poguessin crear programari original compatible amb IEEE 1666, a la pràctica la majoria de les implementacions de SystemC s'han basat almenys en part en el simulador de prova de concepte OSCI.[4]
En comparació amb els HDL
[modifica]SystemC té similituds semàntiques amb VHDL i Verilog, però es pot dir que té una sobrecàrrega sintàctica en comparació amb aquests quan s'utilitza com a llenguatge de descripció de maquinari. D'altra banda, ofereix un ventall d'expressió més gran, similar a la partició de disseny orientat a objectes i classes de plantilles. Tot i que estrictament una biblioteca de classes C++, SystemC de vegades es veu com un llenguatge per dret propi. El codi font es pot compilar amb la biblioteca SystemC (que inclou un nucli de simulació) per donar un executable. El rendiment de la implementació de codi obert OSCI és normalment pitjor que els simuladors comercials VHDL/Verilog quan s'utilitzen per a la simulació de nivell de transferència de registre.
Referències
[modifica]- ↑ «systemc.org» (en anglès). [Consulta: 13 desembre 2023].
- ↑ «Learn SystemC» (en anglès). [Consulta: 13 desembre 2023].
- ↑ «Browse Standards» (en anglès). standards.ieee.org. Arxivat de l'original el 2010-11-02. [Consulta: 13 desembre 2023].
- ↑ «SystemC» (en anglès). [Consulta: 13 desembre 2023].