您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制SystemC-sc_event_queue 正文
SystemC-sc_event_queue

SystemC-sc_event_queue

点击数:7140 次   录入时间:06-03 08:07:49   整理:http://www.55dianzi.com   电脑-单片机-自动控制

      sc_event_queue 与sc_event的共同点是都有notify(…)方法,而不同点是sc_event_queue实际上是一个分层通道,它可以有多个等待触发的通知,这些通知不互相覆盖。sc_event_queue实现的接口sc_event_queue_if定义如下:

  1. class sc_event_queue_if  
  2. : publIC virtual sc_interface  
  3. {  
  4. public:  
  5. virtual void notify( double , sc_time_unit ) = 0;  
  6. virtual void notify( const sc_time& ) = 0;  
  7. virtual void CANcel_all() = 0;  
  8. };  
  9. class sc_event_queue  
  10. : public sc_event_queue_if , public sc_module  
  11. {  
  12. public:  
  13. sc_event_queue();  
  14. explicit sc_event_queue( sc_module_name );  
  15. ~sc_event_queue();  
  16. virtual const char* kind() const;  
  17. virtual void notify( double , sc_time_unit );  
  18. virtual void notify( const sc_time& );  
  19. virtual void cancel_all();  
  20. virtual const sc_event& default_event() const;  
  21. }; 


      其中cancel_all()取消所有等待的通知。

  1. sc_event_queue EQ;  
  2. SC_CTOR(Mod)  
  3. {  
  4. SC_THREAD(T);  
  5. SC_METHOD(M);  
  6. sensitive << EQ;  
  7. dont_initialize();  
  8. }  
  9. void T()  
  10. {  
  11. EQ.notify(2, SC_NS); // M在2ns后执行  
  12. EQ.notify(1, SC_NS); // M在1ns后也执行  
  13. EQ.notify(SC_ZERO_TIME); // M在0ns执行  
  14. EQ.notify(1, SC_NS); // M在1ns后再次执行。  



本文关键字:暂无联系方式电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制

上一篇:SystemC-sc_export