Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
 Stiahnuť balíček SystemC . SystemC možné voľne stiahnuť z internetu . Pred stiahnutím , budete vyzvaní k registrácii s SystemC komunity . Akonáhle je registračný proces je kompletný , balíček možno stiahnuť po prihlásení na webové stránky so zadaným užívateľským menom a heslom . 
 2 
 Rozbaľte komprimovaný balíček . Komprimovaný súbor bude mať príponu súboru s názvom " tgz " . Predpokladajme , že názov súboru je "   gunzip   tar - XVF   použite nasledujúci kód ako napríklad modelovať hardvérové systémy . Príkladom je , že z návrhu systému s dvoma procesmi . Prvý proces vyplní jeden hlboký vyrovnávacej pamäti vždy , keď je prázdna . Druhý proces sa vymaže a zobrazí hodnotu vyrovnávacej pamäti . Obidva procesy pracujú na rôznych frekvenciách hodiny . Kód je vysvetlené ďalej :   Zahrnúť potrebné hlavičkové súbory   # include " systemc.h "   # include   # . patrí   triedy " mybuf " je má dva vstupné hodiny , CLK1 a clk2 . Dve metódy a to , vložiť a odstrániť je definovaná , kde " vložiť " je vyvolaná pri pozitívnom okraji CLK1 , a " odstrániť " je vyvolaná pri pozitívnom okraji " CLK2 "   trieda mybuf : . Verejné sc_module {   verejnosť :   sc_in_clk clk1 ;   sc_in_clk clk2 , Spojené   std :: deque   SC_HAS_PROCESS ( mybuf ) ;   mybuf ( meno sc_module_name ) : sc_module ( meno ) {   inicializácia ( ) ;   SC_METHOD ( vložka ) ;   citlivá < < clk1.pos ( ) ;   SC_METHOD ( odstrániť ) , Spojené   citlivé << clk2.pos ( ) ;   }   void insert ( ) ;   void remove ( ) ;   void initialize ( ) ;   } ;   Nasledujúce riadky kódu implementovať vkladanie a vyberanie metódy , spolu s metódou inicializačný   void mybuf :: inicializácia ( ) {   values.clear ( ) ;   }   neplatné mybuf . : : odstráňte ( ) {   if ( values.size ( ) > 0 ) {   std :: cout << sc_time_stamp ( ) << " " << values.front ( ) << endl ;   values.pop_front ( ) ;   }   }   void mybuf :: insert ( ) {   if ( values.size ( ) == 0 ) {   int r = rand ( ) % 100 ;   values.push_back ( r) ;   }   }   Nasledujúci úsek kódu implementuje skúšobnej lavice pre príklad . Hodiny clk1 a clk2 sú poháňané z tejto skúšobni klipart   triedy mybuf_tb : public sc_module {   verejnosti : .   Sc_out   sc_out   SC_HAS_PROCESS ( mybuf_tb ) ;   mybuf_tb ( meno sc_module_name ) : sc_module ( meno ) {   SC_THREAD ( CLOCK1 ) ;   SC_THREAD ( clock2 ) ;   }   void CLOCK1 ( ) ;   void clock2 ( ) ;   } ;   void mybuf_tb :: CLOCK1 ( ) {   while ( true ) {   clk1 = 0 ;   čakať ( 10 , SC_NS ) ;   clk1 = 1 ;   čakať ( 10 , SC_NS ) ;   }   }   void mybuf_tb :: clock2 ( ) {   while ( true ) {   clk2 = 0 ;   čakať ( 20 , SC_NS ) ;   clk2 = 1 ;   čakať ( 20 , SC_NS ) ;   }   }   Nasledujúci úsek kódu inštanciu návrhu modulu a jeho skúšobnej lavice . Potom sa viaže na hodiny tak , aby skúšobné lavica poskytuje hodnoty , hodiny na navrhovanie module .   Int sc_main ( int argc , char * argv [ ] ) {   sc_signal   sc_signal   mybuf newbuf ( " mybuffer " ) ;   newbuf.clk1 ( clk1 ) ;   newbuf . clk2 ( clk2 ) ;   mybuf_tb 1 ;   } 
 
  decht 
 3 < .. p > Prejdite do rozbaleného adresára pomocou " cd 
 4