<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wx="http://ilps.science.uva.nl/WikiXML/wx" xml:lang="it" lang="it">
<head>
<title>SystemC</title>
<meta name="wx_namespace" content="0"/>
<meta name="wx_pagename" content="SystemC"/>
<meta name="wx_page_id" content="1234689"/>
</head>
<body>
<div id="wx_article">
<wx:section level="1" title="SystemC" id="wxsec1"><h1 class="pagetitle" id="wx1">SystemC</h1>

<wx:template id="wx_t1" pagename="Template:T" page_id="531531"/>
<table style="margin-bottom:5px; margin-top:5px;" class="metadata plainlinks avviso avviso-informazioni" id="wx2">
<tr id="wx3">
<td class="avviso-immagine" id="wx4">
<div style="width:52px;" id="wx5"><a href="/wit/Immagine:Exquisite-kwrite.png" title="" wx:linktype="image" wx:pagename="Immagine:Exquisite-kwrite.png" id="wx6"><img src="/wit/Immagine:Exquisite-kwrite.png" alt="" width="40" id="wx7"/></a></div>
</td>
<td class="avviso-testo" id="wx8"><b id="wx9">Questa voce riguardante un argomento di <a href="/wit/Informatica" title="Informatica" wx:linktype="known" wx:pagename="Informatica" wx:page_id="1681180" id="wx10">informatica</a> non è ancora stata <a href="/wit/Aiuto:Come_tradurre_una_voce" title="Aiuto:Come tradurre una voce" wx:linktype="known" wx:pagename="Aiuto:Come_tradurre_una_voce" id="wx11">tradotta</a> completamente dalla <a href="/wit/Lingua_inglese" title="Lingua inglese" wx:linktype="known" wx:pagename="Lingua_inglese" wx:page_id="2523" id="wx12">lingua inglese</a>.</b> 

<hr id="wx13"/>
<div style="font-size: 90%;" id="wx14">
<p id="wx15">Se sei in grado, potresti <a href="http://wit/wit/index.php?title=SystemC&amp;action=edit" class="external text" wx:linktype="external" rel="nofollow" id="wx16">contribuire</a> a terminarla.<br id="wx17"/>
Il testo da tradurre potrebbe essere nascosto: clicca su <a href="http://wit/wit/index.php?title=SystemC&amp;action=edit" class="external text" wx:linktype="external" rel="nofollow" id="wx18">modifica</a> per visualizzarlo. Non usare <a href="/wit/Pesce_di_Babele" title="Pesce di Babele" wx:linktype="known" wx:pagename="Pesce_di_Babele" wx:page_id="100511" id="wx19">programmi di traduzione automatica</a>.</p>
</div>
</td>
<td class="avviso-immaginedestra" id="wx20">
<div style="width:52px;" id="wx21"><a href="/wit/Immagine:No_babelfish.svg" title="" wx:linktype="image" wx:pagename="Immagine:No_babelfish.svg" id="wx22"><img src="/wit/Immagine:No_babelfish.svg" alt="" width="40" id="wx23"/></a></div>
</td>
</tr>
</table>

<wx:templateend start="wx_t1"/>
<p id="wx24">Spesso si pensa al <b id="wx25">SystemC</b> come ad un <a href="/wit/Linguaggio_di_descrizione_hardware" class="new" title="Linguaggio di descrizione hardware" wx:linktype="unknown" wx:pagename="Linguaggio_di_descrizione_hardware" id="wx26">linguaggio di descrizione hardware</a>, simile al <a href="/wit/VHDL" title="VHDL" wx:linktype="known" wx:pagename="VHDL" wx:page_id="124166" id="wx27">VHDL</a> o al <a href="/wit/Verilog" title="Verilog" wx:linktype="known" wx:pagename="Verilog" wx:page_id="1043965" id="wx28">Verilog</a>, ma più precisamente è un linguaggio di descrizione dei sistemi, poiché mostra la sua potenza di funzionamento nei modelli a transizione di livelli e comportamentali.</p>

<p id="wx29">Il SystemC è un set di <a href="/wit/Libreria_software" title="Libreria software" wx:linktype="known" wx:pagename="Libreria_software" wx:page_id="41504" id="wx30">librerie</a> in <a href="/wit/C%2B%2B" title="C++" wx:linktype="known" wx:pagename="C++" wx:page_id="26839" id="wx31">C++</a> 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 in questo modo possono comunicare in un ambiente simulato <a href="/wit/Real-time" title="Real-time" wx:linktype="known" wx:pagename="Real-time" wx:page_id="177329" id="wx32">real-time</a> attraverso tutti i tipi di segnale che offre il C++, ed altri offerti dalle librerie SystemC, oltre a quelli definiti dal programmatore.</p>

<div id="wx_toc"/>

<a id="Storia" name="Storia"/>
<wx:section level="2" title="Storia" id="wxsec2"><h2 id="wx33">Storia</h2>

<ul id="wx34">
<li id="wx35"><a href="/wit/27_settembre" title="27 settembre" wx:linktype="known" wx:pagename="27_settembre" wx:page_id="5247" id="wx36">27 settembre</a> <a href="/wit/1999" title="1999" wx:linktype="known" wx:pagename="1999" wx:page_id="4664" id="wx37">1999</a>
<p id="wx38">: annunciata <i id="wx39">Open SystemC Initiative</i></p>
</li>

<li id="wx40"><a href="/wit/1_marzo" title="1 marzo" wx:linktype="known" wx:pagename="1_marzo" wx:page_id="1630397" id="wx41">1 marzo</a> <a href="/wit/2000" title="2000" wx:linktype="known" wx:pagename="2000" wx:page_id="1825322" id="wx42">2000</a>
<p id="wx43">: rilasciata SystemC v0.91</p>
</li>

<li id="wx44"><a href="/wit/28_marzo" title="28 marzo" wx:linktype="known" wx:pagename="28_marzo" wx:page_id="5046" id="wx45">28 marzo</a> <a href="/wit/2000" title="2000" wx:linktype="known" wx:pagename="2000" wx:page_id="1825322" id="wx46">2000</a>
<p id="wx47">: rilasciata SystemC v1.0</p>
</li>

<li id="wx48"><a href="/wit/1_febbraio" title="1 febbraio" wx:linktype="known" wx:pagename="1_febbraio" wx:page_id="1630017" id="wx49">1 febbraio</a> <a href="/wit/2001" title="2001" wx:linktype="known" wx:pagename="2001" wx:page_id="1828599" id="wx50">2001</a>
<p id="wx51">: rilasciate specifiche del SystemC v2.0 ed il <a href="/wit/Codice_sorgente" title="Codice sorgente" wx:linktype="known" wx:pagename="Codice_sorgente" wx:page_id="15812" id="wx52">codice sorgente</a> della v1.2 Beta</p>
</li>

<li id="wx53"><a href="/wit/3_giugno" title="3 giugno" wx:linktype="known" wx:pagename="3_giugno" wx:page_id="5114" id="wx54">3 giugno</a> <a href="/wit/2003" title="2003" wx:linktype="known" wx:pagename="2003" wx:page_id="4854" id="wx55">2003</a>
<p id="wx56">: rilasciato SystemC 2.0.1 LRM (<i id="wx57">language reference manual</i>)</p>
</li>

<li id="wx58"><a href="/wit/6_giugno" title="6 giugno" wx:linktype="known" wx:pagename="6_giugno" wx:page_id="5117" id="wx59">6 giugno</a> <a href="/wit/2005" title="2005" wx:linktype="known" wx:pagename="2005" wx:page_id="12300" id="wx60">2005</a>
<p id="wx61">: rilasciato SystemC 2.1 LRM and TLM 1.0 (<i id="wx62">transaction-level modeling</i>)</p>
</li>

<li id="wx63"><a href="/wit/12_dicembre" title="12 dicembre" wx:linktype="known" wx:pagename="12_dicembre" wx:page_id="5323" id="wx64">12 dicembre</a> <a href="/wit/2005" title="2005" wx:linktype="known" wx:pagename="2005" wx:page_id="12300" id="wx65">2005</a>
<p id="wx66">: <a href="/wit/Institute_of_Electrical_and_Electronics_Engineers" title="Institute of Electrical and Electronics Engineers" wx:linktype="known" wx:pagename="Institute_of_Electrical_and_Electronics_Engineers" wx:page_id="26042" id="wx67">IEEE</a> approva lo <a href="/wit/Standard" title="Standard" wx:linktype="known" wx:pagename="Standard" wx:page_id="110426" id="wx68">standard</a> IEEE 1666-2005 per il SystemC</p>
</li>

<li id="wx69"><a href="/wit/13_aprile" title="13 aprile" wx:linktype="known" wx:pagename="13_aprile" wx:page_id="5062" id="wx70">13 aprile</a> <a href="/wit/2007" title="2007" wx:linktype="known" wx:pagename="2007" wx:page_id="1221032" id="wx71">2007</a>
<p id="wx72">: SystemC v2.2 released</p>
</li>
</ul>

<a id="Caratteristiche" name="Caratteristiche"/>
</wx:section><wx:section level="2" title="Caratteristiche" id="wxsec3"><h2 id="wx73">Caratteristiche</h2>

<a id="Moduli" name="Moduli"/>
<wx:section level="3" title="Moduli" id="wxsec7"><h3 id="wx74">Moduli</h3>

<p id="wx75">I moduli costituiscono i blocchi base di un progetto SystemC. Un modello di solito consiste in diversi moduli che comunicano attraverso le porte.</p>

<a id="Porte" name="Porte"/>
</wx:section><wx:section level="3" title="Porte" id="wxsec8"><h3 id="wx76">Porte</h3>

<p id="wx77">Le porte permettono la comunicazione fra l'interno del modulo e l'esterno, verso altri moduli.</p>

<a id="Processi" name="Processi"/>
</wx:section><wx:section level="3" title="Processi" id="wxsec9"><h3 id="wx78">Processi</h3>

<p id="wx79">I Processi sono i componenti principali che realizzano l'elaborazione. Sono ad esecuzione concorrente.</p>

<a id="Canali" name="Canali"/>
</wx:section><wx:section level="3" title="Canali" id="wxsec10"><h3 id="wx80">Canali</h3>

<p id="wx81">I canali sono gli elementi che permettono la comunicazione nel SystemC. Possono essere sia semplici cavi o complessi sistemi di comunicazione, come <a href="/wit/FIFO" title="FIFO" wx:linktype="known" wx:pagename="FIFO" wx:page_id="82754" id="wx82">FIFO</a> o <a href="/wit/Bus_%28informatica%29" title="Bus (informatica)" wx:linktype="known" wx:pagename="Bus_(informatica)" wx:page_id="84310" id="wx83">bus</a></p>

<p id="wx84">Canali elementari:</p>

<ul id="wx85">
<li id="wx86">
<p id="wx87">signal</p>
</li>

<li id="wx88">
<p id="wx89">buffer</p>
</li>

<li id="wx90">
<p id="wx91">fifo</p>
</li>

<li id="wx92">
<p id="wx93">mutex</p>
</li>

<li id="wx94">
<p id="wx95">semaphore</p>
</li>
</ul>

<a id="Interfacce" name="Interfacce"/>
</wx:section><wx:section level="3" title="Interfacce" id="wxsec11"><h3 id="wx96">Interfacce</h3>

<p id="wx97">Le porte usano le interfacce per comunicare con i canali.</p>

<a id="Eventi" name="Eventi"/>
</wx:section><wx:section level="3" title="Eventi" id="wxsec12"><h3 id="wx98">Eventi</h3>

<p id="wx99">Permette la sincronizzazione fra i processi.</p>

<a id="Tipi_di_dati" name="Tipi_di_dati"/>
</wx:section><wx:section level="3" title="Tipi di dati" id="wxsec13"><h3 id="wx100">Tipi di dati</h3>

<p id="wx101">Il SystemC introduce alcuni tipi di dati che supportano dei modelli hardware.</p>

<p id="wx102">Tipi standard estesi:</p>

<ul id="wx103">
<li id="wx104">
<p id="wx105">sc_int&lt;&gt; 64-bit signed integer</p>
</li>

<li id="wx106">
<p id="wx107">sc_uint&lt;&gt; 64-bit unsigned integer</p>
</li>

<li id="wx108">
<p id="wx109">sc_bigint&lt;&gt; arbitrary precision signed integer</p>
</li>

<li id="wx110">
<p id="wx111">sc_biguint&lt;&gt; arbitrary precision unsigned integer</p>
</li>
</ul>

<p id="wx112">Tipi logici:</p>

<ul id="wx113">
<li id="wx114">
<p id="wx115">sc_bit 2-valued single bit</p>
</li>

<li id="wx116">
<p id="wx117">sc_logic 4-valued single bit</p>
</li>

<li id="wx118">
<p id="wx119">sc_bv&lt;&gt; vector of sc_bit</p>
</li>

<li id="wx120">
<p id="wx121">sc_lv&lt;&gt; vector of sc_logic</p>
</li>
</ul>

<p id="wx122">Fixed point types:</p>

<ul id="wx123">
<li id="wx124">
<p id="wx125">sc_fixed&lt;&gt; templated signed fixed point</p>
</li>

<li id="wx126">
<p id="wx127">sc_ufixed&lt;&gt; templated unsigned fixed point</p>
</li>

<li id="wx128">
<p id="wx129">sc_fix untemplated signed fixed point</p>
</li>

<li id="wx130">
<p id="wx131">sc_ufix untemplated unsigned fixed point</p>
</li>
</ul>

<a id="Esempio" name="Esempio"/>
</wx:section></wx:section><wx:section level="2" title="Esempio" id="wxsec4"><h2 id="wx132">Esempio</h2>

<p id="wx133">Esempio di codice per un sommatore: &lt;source lang="cpp"&gt;</p>

<ol id="wx134">
<li id="wx135">
<p id="wx136">include "systemc.h"</p>
</li>
</ol>

<p id="wx137">SC_MODULE(adder) // module (class) declaration {</p>

<pre id="wx138">
 sc_in&lt;int&gt; a, b;        // ports
 sc_out&lt;int&gt; sum;
</pre>

<pre id="wx139">
 void do_add()           // process
 {
   sum = a + b;
 }
</pre>

<pre id="wx140">
 SC_CTOR(adder)          // constructor
 {
   SC_METHOD(do_add);    // register do_add to kernel
   sensitive &lt;&lt; a &lt;&lt; b;  // sensitivity list of do_add
 }
</pre>

<p id="wx141">}; &lt;/source&gt;</p>

<a id="Bibliografia" name="Bibliografia"/>
</wx:section><wx:section level="2" title="Bibliografia" id="wxsec5"><h2 id="wx142">Bibliografia</h2>

<ul id="wx143">
<li id="wx144">
<p id="wx145">T. Grötker, S. Liao, G. Martin, S. Swan, <i id="wx146">System Design with SystemC</i>. Springer, 2002. <a href="/wit/index.php?title=Speciale:Booksources&amp;isbn=1402070721" class="internal" id="wx147">ISBN 1402070721</a></p>
</li>

<li id="wx148"><a href="http://sclive.blogsite.org/" class="external text" wx:linktype="external" rel="nofollow" id="wx149">A SystemC based Linux Live CD with C++/SystemC tutorial</a></li>

<li id="wx150">
<p id="wx151">J. Bhasker, <i id="wx152">A SystemC Primer</i>, Second Edition, Star Galaxy Publishing, 2004. <a href="/wit/index.php?title=Speciale:Booksources&amp;isbn=0965039129" class="internal" id="wx153">ISBN 0965039129</a></p>
</li>

<li id="wx154">
<p id="wx155">D. C. Black, J. Donovan, <i id="wx156">SystemC: From the Ground Up</i>, Springer 2005. <a href="/wit/index.php?title=Speciale:Booksources&amp;isbn=0387292403" class="internal" id="wx157">ISBN 0387292403</a></p>
</li>

<li id="wx158">
<p id="wx159">Frank Ghenassia (Editor), <i id="wx160">Transaction-Level Modeling with Systemc: Tlm Concepts and Applications for Embedded Systems</i>, Springer 2006. <a href="/wit/index.php?title=Speciale:Booksources&amp;isbn=0387262326" class="internal" id="wx161">ISBN 0387262326</a></p>
</li>
</ul>

<a id="Collegamenti_esterni" name="Collegamenti_esterni"/>
</wx:section><wx:section level="2" title="Collegamenti esterni" id="wxsec6"><h2 id="wx162">Collegamenti esterni</h2>

<ul id="wx163">
<li id="wx164"><wx:template id="wx_t2" pagename="Template:En" page_id="121878"/>
<p id="wx165">(<span style="font-weight:bolder; font-size:80%" id="wx166"><a href="/wit/Lingua_inglese" title="Lingua inglese" wx:linktype="known" wx:pagename="Lingua_inglese" wx:page_id="2523" id="wx167">EN</a></span>) <wx:templateend start="wx_t2"/> <a href="http://www.systemc.org/" class="external text" wx:linktype="external" rel="nofollow" id="wx168">Open SystemC 2.x</a></p>
</li>

<li id="wx169"><wx:template id="wx_t3" pagename="Template:En" page_id="121878"/>
<p id="wx170">(<span style="font-weight:bolder; font-size:80%" id="wx171"><a href="/wit/Lingua_inglese" title="Lingua inglese" wx:linktype="known" wx:pagename="Lingua_inglese" wx:page_id="2523" id="wx172">EN</a></span>) <wx:templateend start="wx_t3"/> <a href="http://sourceforge.net/projects/systemc/" class="external text" wx:linktype="external" rel="nofollow" id="wx173">Open SystemC 1.0</a></p>
</li>

<li id="wx174"><wx:template id="wx_t4" pagename="Template:En" page_id="121878"/>
<p id="wx175">(<span style="font-weight:bolder; font-size:80%" id="wx176"><a href="/wit/Lingua_inglese" title="Lingua inglese" wx:linktype="known" wx:pagename="Lingua_inglese" wx:page_id="2523" id="wx177">EN</a></span>) <wx:templateend start="wx_t4"/> <a href="http://www.deit.univpm.it/systemc-wms" class="external text" wx:linktype="external" rel="nofollow" id="wx178">SystemC-WMS Homepage</a></p>
</li>

<li id="wx179"><wx:template id="wx_t5" pagename="Template:En" page_id="121878"/>
<p id="wx180">(<span style="font-weight:bolder; font-size:80%" id="wx181"><a href="/wit/Lingua_inglese" title="Lingua inglese" wx:linktype="known" wx:pagename="Lingua_inglese" wx:page_id="2523" id="wx182">EN</a></span>) <wx:templateend start="wx_t5"/> <a href="http://standards.ieee.org/getieee/1666/" class="external text" wx:linktype="external" rel="nofollow" id="wx183">IEEE 1666 Standard System C Language Reference Manual</a></p>
</li>
</ul>
</wx:section></wx:section></div>
<div id="wx_categorylinks">
<a href="/wit/index.php?title=Speciale:Categories&amp;article=SystemC" title="Speciale:Categories" wx:linktype="known" wx:pagename="Speciale:Categories" id="wx184">Categorie</a>: <span dir="ltr" id="wx185"><a href="/wit/Categoria:Da_tradurre_-_informatica" title="Categoria:Da tradurre - informatica" wx:linktype="known" wx:pagename="Categoria:Da_tradurre_-_informatica" wx:page_id="534197" id="wx186">Da tradurre - informatica</a></span> | <span dir="ltr" id="wx187"><a href="/wit/Categoria:Da_tradurre_dalla_lingua_inglese" title="Categoria:Da tradurre dalla lingua inglese" wx:linktype="known" wx:pagename="Categoria:Da_tradurre_dalla_lingua_inglese" wx:page_id="126044" id="wx188">Da tradurre dalla lingua inglese</a></span> | <span dir="ltr" id="wx189"><a href="/wit/Categoria:Da_tradurre_luglio_2007" title="Categoria:Da tradurre luglio 2007" wx:linktype="known" wx:pagename="Categoria:Da_tradurre_luglio_2007" wx:page_id="1210759" id="wx190">Da tradurre luglio 2007</a></span> | <span dir="ltr" id="wx191"><a href="/wit/Categoria:Librerie_software" title="Categoria:Librerie software" wx:linktype="known" wx:pagename="Categoria:Librerie_software" wx:page_id="1014628" id="wx192">Librerie software</a></span></div>
<div id="wx_languagelinks">
Altre lingue: <a href="http://de.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="de:SystemC" id="wx193">Deutsch</a> | <a href="http://en.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="en:SystemC" id="wx194">English</a> | <a href="http://es.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="es:SystemC" id="wx195">Español</a> | <a href="http://fi.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="fi:SystemC" id="wx196">Suomi</a> | <a href="http://fr.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="fr:SystemC" id="wx197">Français</a> | <a href="http://ja.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="ja:SystemC" id="wx198">日本語</a> | <a href="http://pl.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="pl:SystemC" id="wx199">Polski</a> | <a href="http://zh.wikipedia.org/wiki/SystemC" class="external" wx:linktype="interwiki" wx:pagename="zh:SystemC" id="wx200">中文</a></div>
</body>
<wx:templatearguments for="wx_t1"><wx:argument name="lingua">
<p id="wx201">inglese</p>
</wx:argument><wx:argument name="argomento">
<p id="wx202">informatica</p>
</wx:argument><wx:argument name="data">
<p id="wx203">luglio 2007</p>
</wx:argument></wx:templatearguments>
<wx:templatearguments for="wx_t2"/>
<wx:templatearguments for="wx_t3"/>
<wx:templatearguments for="wx_t4"/>
<wx:templatearguments for="wx_t5"/>
</html>
