sensitivity.hh (13288:f1c04129f709) | sensitivity.hh (13304:893e724efd57) |
---|---|
1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 62 unchanged lines hidden (view full) --- 71 72 virtual void addToEvent(const ::sc_core::sc_event *e) = 0; 73 virtual void delFromEvent(const ::sc_core::sc_event *e) = 0; 74 75 public: 76 virtual void clear() = 0; 77 78 void satisfy(); | 1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 62 unchanged lines hidden (view full) --- 71 72 virtual void addToEvent(const ::sc_core::sc_event *e) = 0; 73 virtual void delFromEvent(const ::sc_core::sc_event *e) = 0; 74 75 public: 76 virtual void clear() = 0; 77 78 void satisfy(); |
79 virtual bool notify(Event *e); | 79 virtual bool notifyWork(Event *e); 80 bool notify(Event *e); |
80 81 enum Category 82 { 83 Static, 84 Dynamic 85 }; 86 87 virtual Category category() = 0; --- 183 unchanged lines hidden (view full) --- 271{ 272 private: 273 friend void newDynamicSensitivityEventOrList( 274 Process *p, const sc_core::sc_event_or_list *eol); 275 276 DynamicSensitivityEventOrList( 277 Process *p, const sc_core::sc_event_or_list *eol); 278 | 81 82 enum Category 83 { 84 Static, 85 Dynamic 86 }; 87 88 virtual Category category() = 0; --- 183 unchanged lines hidden (view full) --- 272{ 273 private: 274 friend void newDynamicSensitivityEventOrList( 275 Process *p, const sc_core::sc_event_or_list *eol); 276 277 DynamicSensitivityEventOrList( 278 Process *p, const sc_core::sc_event_or_list *eol); 279 |
279 bool notify(Event *e) override; | 280 bool notifyWork(Event *e) override; |
280}; 281 282//XXX This sensitivity can't be reused. To reset it, it has to be deleted and 283//recreated. That works for dynamic sensitivities, but not for static. 284//Fortunately processes can't be statically sensitive to sc_event_and_lists. 285class DynamicSensitivityEventAndList : 286 public DynamicSensitivity, public SensitivityEvents 287{ 288 private: 289 friend void newDynamicSensitivityEventAndList( 290 Process *p, const sc_core::sc_event_and_list *eal); 291 292 DynamicSensitivityEventAndList( 293 Process *p, const sc_core::sc_event_and_list *eal); 294 | 281}; 282 283//XXX This sensitivity can't be reused. To reset it, it has to be deleted and 284//recreated. That works for dynamic sensitivities, but not for static. 285//Fortunately processes can't be statically sensitive to sc_event_and_lists. 286class DynamicSensitivityEventAndList : 287 public DynamicSensitivity, public SensitivityEvents 288{ 289 private: 290 friend void newDynamicSensitivityEventAndList( 291 Process *p, const sc_core::sc_event_and_list *eal); 292 293 DynamicSensitivityEventAndList( 294 Process *p, const sc_core::sc_event_and_list *eal); 295 |
295 bool notify(Event *e) override; | 296 bool notifyWork(Event *e) override; |
296}; 297 298} // namespace sc_gem5 299 300#endif //__SYSTEMC_CORE_SENSITIVITY_HH__ | 297}; 298 299} // namespace sc_gem5 300 301#endif //__SYSTEMC_CORE_SENSITIVITY_HH__ |