SystemC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunte alcune informazioni sul contesto applicativo.
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(14 versioni intermedie di 12 utenti non mostrate)
Riga 1:
'''SystemC''' vieneè spessoun pensatotipo come undi [[linguaggio di descrizione hardware]], simile al [[VHDL]] o al [[Verilog]], mautilizzato più precisamente è un linguaggio dinella descrizione dei [[Sistema|sistemi]], poiché mostra la sua potenza di funzionamento con [[Modello (scienza)|modelli]] a livello transazionale e comportamentali, nei quali il grado di dettaglio dell'andamento nel tempo dei segnali di uscita viene tralasciato in favore di una più concisa rappresentazione della descrizione della funzione richiesta.
 
== Storia ==
Il SystemC è un insieme di [[Libreria software|librerie]] e [[Macro (informatica)|macro]] scritte in [[C++]] con cui è possibile simulare processi concorrenti, ovvero che avvengono nello stesso momento, ognuno descritto attraverso la sintassi C++. Nell'ambiente di lavoro del SystemC, gli oggetti descritti possono comunicare in un contesto simulato ''[[real-time]]'' usando segnali di tutti i tipi di dato offerti dal C++, insieme ad altri offerti dalle librerie SystemC, oltre a quelli definiti dall'utilizzatore.
* 27 settembre [[1999]]: annunciata ''Open SystemC Initiative''
* 1º marzo [[2000]]: rilasciatodistribuito SystemC v0.91
* 28 marzo [[2000]]: rilasciatodistribuito SystemC v1.0
* 1º febbraio [[2001]]: rilasciatedistribuite specifiche del SystemC v2.0 ed il [[codice sorgente]] della v1.2 Beta
* 3 giugno [[2003]]: rilasciatodistribuito SystemC 2.0.1 LRM (''language reference manual'')
* 6 giugno [[2005]]: rilasciatodistribuito SystemC 2.1 LRM and TLM 1.0 (''transaction-level modeling'')
* 12 dicembre [[2005]]: [[Institute of Electrical and Electronics Engineers|IEEE]] approva lo [[norma tecnica|standard]] IEEE 1666-2005 per il SystemC
* 13 aprile [[2007]]: rilasciatodistribuito SystemC v2.2
 
ARM Ltd., CoWare, Synopsys e CynApps unirono le forze per sviluppare SystemC (successivamente CynApps divenne Forte Design Systems), pubblicando la prima bozza nel 1999. Il concorrente principale all'epoca era SpecC, un altro pacchetto ''[[open source]]'' basato sul C++, sviluppato da membri dell'[[Università della California, Irvine|Università di Irvine]], [[California]], e da alcune compagnie giapponesi.
 
A giugno del 2000 venne formato un gruppo di standardizzazione denominato ''[[Open SystemC Initiative]]'' con il compito di organizzare le attività e permettere ai concorrenti di [[Synopsys]], Cadence e [[Mentor Graphics]], di avere voce nello sviluppo.
 
A luglio 2004 Synopsys terminò il proprio coinvolgimento in SystemC.
 
== Descrizione ==
 
Il SystemC è un insieme di [[Libreria software|librerie]] e [[Macro (informatica)|macro]] scritte in [[C++]] con cui è possibile simulare processi concorrenti, ovvero che avvengono nello stesso momento, ognuno descritto attraverso la sintassi C++. Nell'ambiente di lavoro del SystemC, gli oggetti descritti possono comunicare in un contesto simulato ''[[sistema real-time]]'' usando segnali di tutti i tipi di dato offerti dal C++, insieme ad altri offerti dalle librerie SystemC, oltre a quelli definiti dall'utilizzatore.
 
<!--
Riga 11 ⟶ 29:
 
La parte che aveva destato più interesse nella fase di sviluppo vivace della modellazione transazionale, ovvero la formalizzazione dei concetti di connessione tramite port/export, canali, e socket, è stata riproposta in SystemVerilog, organizzata secondo i dettami della programmazione a [[Design pattern|pattern]], all'interno della libreria di classi [http://accellera.org/downloads/standards/uvm UVM], che attualmente rappresenta l'elemento di maggior successo nell'ambito della progettazione di ambienti e componenti di verifica per la progettazione di dispositivi digitali e ''mixed signal''.
 
== Storia ==
* 27 settembre [[1999]]: annunciata ''Open SystemC Initiative''
* 1º marzo [[2000]]: rilasciato SystemC v0.91
* 28 marzo [[2000]]: rilasciato SystemC v1.0
* 1º febbraio [[2001]]: rilasciate specifiche del SystemC v2.0 ed il [[codice sorgente]] della v1.2 Beta
* 3 giugno [[2003]]: rilasciato SystemC 2.0.1 LRM (''language reference manual'')
* 6 giugno [[2005]]: rilasciato SystemC 2.1 LRM and TLM 1.0 (''transaction-level modeling'')
* 12 dicembre [[2005]]: [[Institute of Electrical and Electronics Engineers|IEEE]] approva lo [[standard]] IEEE 1666-2005 per il SystemC
* 13 aprile [[2007]]: rilasciato SystemC v2.2
 
ARM Ltd., CoWare, Synopsys e CynApps unirono le forze per sviluppare SystemC (successivamente CynApps divenne Forte Design Systems), pubblicando la prima bozza nel 1999. Il concorrente principale all'epoca era SpecC, un altro pacchetto ''[[open source]]'' basato sul C++, sviluppato da membri dell'[[Università della California, Irvine|Università di Irvine]], [[California]], e da alcune compagnie giapponesi.
 
A giugno del 2000 venne formato un gruppo di standardizzazione denominato ''[[Open SystemC Initiative]]'' con il compito di organizzare le attività e permettere ai concorrenti di [[Synopsys]], Cadence e [[Mentor Graphics]], di avere voce nello sviluppo.
 
A luglio 2004 Synopsys terminò il proprio coinvolgimento in SystemC.
 
== Caratteristiche ==
Riga 77 ⟶ 79:
== Esempio ==
Esempio di codice per un sommatore:
<sourcesyntaxhighlight lang="cpp">
#include "systemc.h"
 
Riga 96 ⟶ 98:
}
};
</syntaxhighlight>
</source>
 
== Bibliografia ==
* T. Grötker, S. Liao, G. Martin, S. Swan, ''System Design with SystemC''. Springer, 2002. ISBN 1-4020-7072-1
* [{{cita web |1=http://sclive.blogsite.org/ |2=A SystemC based Linux Live CD with C++/SystemC tutorial] |accesso=16 luglio 2007 |urlarchivio=https://web.archive.org/web/20080820010200/http://sclive.blogsite.org/# |dataarchivio=20 agosto 2008 |urlmorto=sì }}
* J. Bhasker, ''A SystemC Primer'', Second Edition, Star Galaxy Publishing, 2004. ISBN 0-9650391-2-9
* D. C. Black, J. Donovan, ''SystemC: From the Ground Up'', Springer 2005. ISBN 0-387-29240-3
Riga 106 ⟶ 108:
 
== Collegamenti esterni ==
* {{en}}cita [web|1=http://www.systemc.org/ |2=Open SystemC 2.x]|lingua=en|accesso=16 luglio 2007|urlarchivio=https://web.archive.org/web/20081006172519/http://systemc.org/#|dataarchivio=6 ottobre 2008|urlmorto=sì}}
* {{en}}cita [httpweb|https://sourceforge.net/projects/systemc/ |Open SystemC 1.0]|lingua=en}}
* {{en}}cita [httpweb|url=https://wwwgithub.deit.univpm.itcom/orcioni/systemc-wms |titolo=SystemC-WMS Homepage]|lingua=en||}}
* {{en}}cita [web|1=http://standards.ieee.org/getieee/1666/ |2=IEEE 1666 Standard System C Language Reference Manual]|lingua=en|accesso=16 luglio 2007|dataarchivio=2 novembre 2010|urlarchivio=https://web.archive.org/web/20101102230506/http://standards.ieee.org/getieee/1666/|urlmorto=sì}}
{{Norme IEEE}}
{{Logica programmabile}}
{{portale|elettronica|informatica}}
 
[[Categoria:Librerie software]]