²é¿´: 297  |  »Ø¸´: 0
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] SystemC¡ª¡ªÒ»Ì×½«C++À©Õ¹ÎªÓ²¼þÃèÊöÓïÑÔµÄClass Library

1. SystemC ÊÇÒ»Ì×C++ Class Library£¬½«C++À©Õ¹³ÉÁËÒ»ÃÅÓ²¼þÃèÊöÓïÑÔ(HDL)¡£ÎҸоõ£¬Ñ§Ï°SystemCÖÁÉÙÒª¶®Á½Ñù¶«Î÷£ºC++¡¢Ò»ÃÅÓ²¼þÃèÊöÓïÑÔ¡£ÎÒÊìϤC++£¬²¢ÇÒÊìϤVerilog£¬Òò´ËѧSystemCÄܾÙÒ»·´Èý¡¢´¥ÀàÅÔͨ¡£

2. SystemC ʹÓÃÁËC++µÄºÜ¶àÌØÐÔ£º¶àÖØ¼Ì³Ð¡¢ÐéÄâ¼Ì³Ð¡¢Ä£°å¡¢RTTI (at least for dynamic_cast)¡¢Òì³£´¦Àí¡¢²Ù×÷·ûÖØÔØ¡£ËƺõûÓÐʹÓÃSTL¡£

3. SystemC ÊÇÒ»Ì×Application Framework£¬¸öÈ˸оõ£¬ÉõÖÁºÍMFCÆÄÓÐÏàËÆÖ®´¦£º

һЩsomewhat¹Å¹ÖµÄºê£ºSC_METHOD¡¢SC_THREAD¡¢SC_CTOR µÈµÈ
Ò»¸öÈ«¾ÖµÄmanager sc_simcontext (ÀàËÆMFCÖеÄCWinAPP)£¬ÓÃsc_get_curr_simcontext()Äܵõ½¸ÃÈ«¾Ö¶ÔÏóµÄµØÖ·(ÀàËÆMFCÖеÄAfxGetApp() )
main() ²ØÉíÓÚSystemCÖУ¬ÄãÒª×öµÄÊÇдһ¸ösc_main()º¯Êý×÷Ϊ³ÌÐòµÄÈë¿Ú£¬SystemC»áµ÷ÓÃÄãµÄsc_main()
ʹÓñíÇý¶¯¼¼Êõ£¬¾ÍÏñMFCÖеÄMessage´«µÝ¡£SystemCÓÃÉÏÃæÄÇЩºê½«class£¨SystemC³ÆÎªmodule£©µÄmember function£¨SystemC³ÆÎªprocess£©×¢²áµ½È«¾ÖµÄ±íÖС£È»ºóSystemCÕâÌ×Application Framework»á¸ù¾Ý·¢ÉúµÄʼþÀ´µ÷ÓÃÄãµÄ´úÂë¡£
4. ´ÓʵÏÖ¼¼ÊõÉÏ¿´£¬SystemCÓÐ×Ô¼ºµÄgarbage collector¡¢×Ô¼ºµÄ memory pool¡¢×Ô¼ºµÄÈÝÆ÷(Ìæ´úSTL)¡£

¸öÈËÌå»á£ºSystemC ÔÚWinXP + VS.NET 2003ϵÄʹÓò½Öè

1. SystemC ÒÔÔ´Â뷽ʽ·¢²¼£¬ÏÈʹÓÃVC7.1±àÒëµÃµ½Ò»¸ö¿âÎļþ£ºsystemc.lib

2. ÎÒÃÇдµÄ SystemC ³ÌÐòʵ¼ÊÉÏÊÇC++³ÌÐò£¬Ð´ºÃÒ»¸öSystemC³ÌÐò£¨»òÕß½ÐÉè¼Æ£©£¬ÓÃC++±àÒëÆ÷±àÒëΪobjectÎļþ£¬ÔÙÓësystemc.libÁ´½ÓµÃµ½¿ÉÖ´ÐÐÎļþ¡£

3. Ö´ÐдËexeÎļþ£¬½øÐзÂÕæ¡£´ÓÊä³ö£¨Îļþ»òstdout£©µÃÖª·ÂÕæ½á¹û¡£

¸½£ºÒ»¸ö×î¼òµ¥µÄSystemC module

££i nclude "systemc.h"

// °ë¼ÓÆ÷

struct half_adder : sc_module
{
    sc_in a, b;
    sc_out sum, carry;

    void prc_half_adder()
    {
        sum = a ^ b;
        carry = a & b;
    }

    SC_CTOR(half_adder)
    {
        SC_METHOD(prc_half_adder);
        sensitive << a << b;       // a, b ÔÚÃô¸ÐÁбíÖÐ
    }
};

µÈЧµÄVerilogÉè¼Æ£º

module half_adder(a, b, sum, carry);

    input  a, b;
    output sum, carry;

    reg    sum, carry;
   
    always @(a or b)               // a, b ÔÚÃô¸ÐÁбíÖÐ
    begin
      sum = a ^ b;
      carry = a & b;
    end
   
    /* ÒÔÉÏÎåÐпÉÌæ»»Îª£º
    assign sum = a ^ b;
    assign carry = a & b;
    */

endmodule

[ Last edited by sdlj8051 on 2006-11-1 at 10:25 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 306Çó0703µ÷¼ÁÒ»Ö¾Ô¸»ªÖÐʦ·¶ +10 Ö½Óãly 2026-03-21 11/550 2026-03-24 17:22 by qingfeng258
[¿¼ÑÐ] 292Çóµ÷¼Á +4 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-24 4/200 2026-03-24 16:41 by peike
[¿¼ÑÐ] 080500Çóµ÷¼Á +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[¿¼ÑÐ] 291Çóµ÷¼Á +3 HanBeiNingZC 2026-03-24 3/150 2026-03-24 16:34 by barlinike
[¿¼ÑÐ] ²ÄÁÏר˶331Çóµ÷¼Á +4 Ïʵ±Å£ 2026-03-24 4/200 2026-03-24 15:58 by JourneyLucky
[¿¼ÑÐ] 0856²ÄÁÏר˶353Çóµ÷¼Á +5 NIFFFfff 2026-03-20 5/250 2026-03-24 11:46 by 544594351
[¿¼ÑÐ] ¡¾Ë«Ò»Á÷ԺУÐÂÄÜÔ´¡¢»·¾³²ÄÁÏ£¬²ÄÁϼӹ¤ÓëÄ£ÄâÕÐÊÕ´óÁ¿µ÷¼Á¡¿ +4 Higraduate 2026-03-22 7/350 2026-03-24 11:23 by ÖÖ´óÊ÷
[¿¼²©] 26É격×Ô¼ö +3 whh869393 2026-03-24 3/150 2026-03-24 09:55 by 21018060
[»ù½ðÉêÇë] Çë½ÌÏ´ó¼Ò 2026Äê¹ú¼Ò»ù½ðÉêÇëÊÇ˫äÉóÂ𣿠+3 lishucheng1 2026-03-22 5/250 2026-03-24 08:22 by gltch
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ 070300 ѧ˶ 336·Ö Çóµ÷¼Á +7 vvÃÔ 2026-03-22 7/350 2026-03-23 23:44 by Txy@872106
[¿¼ÑÐ] 335·Ö | ²ÄÁÏÓ뻯¹¤×¨Ë¶ | GPA 4.07 | ÓпÆÑо­Àú +4 cccchenso 2026-03-23 4/200 2026-03-23 23:00 by Ðìckkk
[¿¼ÑÐ] 265Çóµ÷¼Á +10 ÁºÁºÐ£Ð£ 2026-03-17 10/500 2026-03-23 21:17 by Ò»ÇÐOK
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉÂʦ´óÉúÎïѧ071000£¬298·Ö£¬Çóµ÷¼Á +3 SYA£¡ 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[¿¼ÑÐ] 333Çóµ÷¼Á +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖйúʯÓÍ´óѧ£¨»ª¶«£© ±¾¿ÆÆë³¹¤Òµ´óѧ +4 ʯÄÜΰ 2026-03-17 4/200 2026-03-23 17:51 by 17862566385
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ071000£¬Çóµ÷¼Á +4 ÑØ°¶Óб´¿Ç6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[¿¼ÑÐ] ³õÊÔ 317 +7 °ëÀ­Ô±û 2026-03-20 7/350 2026-03-21 22:26 by peike
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶ 348·ÖÇóµ÷¼Á +3 ¶¬´Ç. 2026-03-17 5/250 2026-03-21 18:47 by ѧԱ8dgXkO
[¿¼ÑÐ] 085601µ÷¼Á 358·Ö +3 zzzzggh 2026-03-20 4/200 2026-03-21 10:21 by luoyongfeng
[¿¼ÑÐ] Ò»Ö¾Ô¸Öк£Ñó²ÄÁϹ¤³Ìר˶330·ÖÇóµ÷¼Á +8 С²Ä»¯±¾¿Æ 2026-03-18 8/400 2026-03-20 23:16 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û