uvm实战-学习笔记 - 百度文库 ÏÂÔر¾ÎÄ

¿ÉÒÔÖØÔØ uvm_sequence_item uvm_sequence uvm_component. ¶¼ÊÇÔÚcaseµÄbuild_phaseÖе÷£¬¶øÇÒ¶¼ÊÇÖ±½ÓÓÃfactoryµÄ·½·¨

µÚ9Õ UVMµÄ´úÂëÖØÓà 9.1 callback»úÖÆ

Ö»¸øcallback»úÖÆ×öÁ˱ʼǡ£

uvmµÄcallbackºÍvmmµÄ²î²»¶à¡£ ´úÂë²½ÖèÈçÏ£º

1£© ÏÈʵÏÖÒ»¸öuvm_callbackµÄÅÉÉúÀàA,ÒÔ¼°AµÄvirtual task/function 2£© typedef uvm_callbacks#(my_driver,A) A_pool ×¢Òâs

3£© ÔÚmy_driverÖÐ×¢²ácallback: `uvm_register_cb(my)driver,A) 4£© my_driverÖÐʹÓà `uvm_do_callbacks(my_driver,A,task()) ×¢Òâs 5£© ´ÓAÅÉÉú³öÒ»¸öʵ¼ÊÓõ½µÄÀà my_callback £¬ ʵÏÖtask

6£© ÔÚcaseµÄconnect_phaseÖÐʵÀý»¯my_callback£¨¼ÙÉèÊÇmy_cb£©£¬²¢createËü£¬È»ºó

A_pool::add(my_driverµÄ·¾¶Ö¸Õ룬my_cb) -------- ÒòΪmy_driverÊÇÔÚmain_phaseÀïµ÷callbackµÄ£¬ËùÒÔÒªÔÚmain_phaseÇ°Ãæ×öÕâ¸ö¹¤×÷

9.1.4Õ½ÚʾÀý´úÂ룺