00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 #include "sysc/kernel/sc_event.h"
00070 #include "sysc/kernel/sc_kernel_ids.h"
00071 #include "sysc/kernel/sc_module.h"
00072 #include "sysc/kernel/sc_cthread_process.h"
00073 #include "sysc/kernel/sc_method_process.h"
00074 #include "sysc/kernel/sc_thread_process.h"
00075 #include "sysc/kernel/sc_process_handle.h"
00076 #include "sysc/kernel/sc_sensitive.h"
00077 #include "sysc/communication/sc_signal_ports.h"
00078 #include "sysc/utils/sc_utils_ids.h"
00079
00080 namespace sc_core {
00081
00082
00083
00084 static
00085 sc_method_handle
00086 as_method_handle( sc_process_b* handle_ )
00087 {
00088 return DCAST<sc_method_handle>( handle_ );
00089 }
00090
00091 static
00092 sc_thread_handle
00093 as_thread_handle( sc_process_b* handle_ )
00094 {
00095 return DCAST<sc_thread_handle>( handle_ );
00096 }
00097
00098 static
00099 void
00100 warn_no_parens()
00101 {
00102 static bool warn_no_parentheses=true;
00103 if ( warn_no_parentheses )
00104 {
00105 warn_no_parentheses=false;
00106 SC_REPORT_INFO(SC_ID_IEEE_1666_DEPRECATION_,
00107 "use of () to specify sensitivity is deprecated, use << instead" );
00108 }
00109 }
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119 sc_sensitive::sc_sensitive( sc_module* module_ )
00120 : m_module( module_ ),
00121 m_mode( SC_NONE_ ),
00122 m_handle( 0 )
00123 {}
00124
00125
00126
00127
00128 sc_sensitive::~sc_sensitive()
00129 {}
00130
00131
00132
00133
00134 sc_sensitive&
00135 sc_sensitive::operator << ( sc_process_handle handle_ )
00136 {
00137 switch ( handle_.proc_kind() )
00138 {
00139 case SC_CTHREAD_PROC_:
00140 case SC_THREAD_PROC_:
00141 m_mode = SC_THREAD_;
00142 break;
00143 case SC_METHOD_PROC_:
00144 m_mode = SC_METHOD_;
00145 break;
00146 default:
00147 assert(0);
00148 }
00149 m_handle = (sc_process_b*)handle_;
00150 return *this;
00151 }
00152
00153 sc_sensitive&
00154 sc_sensitive::operator << ( const sc_event& event_ )
00155 {
00156
00157 if( sc_is_running() ) {
00158 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_, "simulation running" );
00159 }
00160
00161
00162 switch( m_mode ) {
00163 case SC_METHOD_:
00164 case SC_THREAD_: {
00165 m_handle->add_static_event( event_ );
00166 break;
00167 }
00168 case SC_NONE_:
00169
00170 break;
00171 }
00172
00173 return *this;
00174 }
00175
00176 void
00177 sc_sensitive::make_static_sensitivity(
00178 sc_process_b* handle_, const sc_event& event_)
00179 {
00180 handle_->add_static_event( event_ );
00181 }
00182
00183
00184 sc_sensitive&
00185 sc_sensitive::operator << ( const sc_interface& interface_ )
00186 {
00187
00188 if( sc_is_running() ) {
00189 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_, "simulation running" );
00190 }
00191
00192
00193 switch( m_mode ) {
00194 case SC_METHOD_:
00195 case SC_THREAD_: {
00196 m_handle->add_static_event( interface_.default_event() );
00197 break;
00198 }
00199 case SC_NONE_:
00200
00201 break;
00202 }
00203
00204 return *this;
00205 }
00206
00207 void
00208 sc_sensitive::make_static_sensitivity(
00209 sc_process_b* handle_, const sc_interface& interface_)
00210 {
00211 handle_->add_static_event( interface_.default_event() );
00212 }
00213
00214 sc_sensitive&
00215 sc_sensitive::operator << ( const sc_port_base& port_ )
00216 {
00217
00218 if( sc_is_running() ) {
00219 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_, "simulation running" );
00220 }
00221
00222
00223 switch( m_mode ) {
00224 case SC_METHOD_: {
00225 port_.make_sensitive( as_method_handle( m_handle ) );
00226 break;
00227 }
00228 case SC_THREAD_: {
00229 port_.make_sensitive( as_thread_handle( m_handle ) );
00230 break;
00231 }
00232 case SC_NONE_:
00233
00234 break;
00235 }
00236
00237 return *this;
00238 }
00239
00240 void
00241 sc_sensitive::make_static_sensitivity(
00242 sc_process_b* handle_, const sc_port_base& port_)
00243 {
00244 sc_method_handle handle_m = as_method_handle( handle_ );
00245 if ( handle_m ) {
00246 port_.make_sensitive( handle_m );
00247 return;
00248 }
00249 sc_thread_handle handle_t = as_thread_handle( handle_ );
00250
00251 port_.make_sensitive( handle_t );
00252 }
00253
00254 sc_sensitive&
00255 sc_sensitive::operator << ( sc_event_finder& event_finder_ )
00256 {
00257
00258 if( sc_is_running() ) {
00259 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_, "simulation running" );
00260 }
00261
00262
00263 switch( m_mode ) {
00264 case SC_METHOD_: {
00265 event_finder_.port().make_sensitive( as_method_handle( m_handle ),
00266 &event_finder_ );
00267 break;
00268 }
00269 case SC_THREAD_: {
00270 event_finder_.port().make_sensitive( as_thread_handle( m_handle ),
00271 &event_finder_ );
00272 break;
00273 }
00274 case SC_NONE_:
00275
00276 break;
00277 }
00278
00279 return *this;
00280 }
00281
00282 void
00283 sc_sensitive::make_static_sensitivity(
00284 sc_process_b* handle_, sc_event_finder& event_finder_)
00285 {
00286 if (sc_is_running()) {
00287 handle_->add_static_event( event_finder_.find_event() );
00288 } else {
00289 sc_method_handle handle_m = as_method_handle( handle_ );
00290 if ( handle_m ) {
00291 event_finder_.port().make_sensitive( handle_m, &event_finder_ );
00292 return;
00293 }
00294 sc_thread_handle handle_t = as_thread_handle( handle_ );
00295
00296 event_finder_.port().make_sensitive( handle_t, &event_finder_);
00297 }
00298 }
00299
00300
00301 sc_sensitive&
00302 sc_sensitive::operator () ( const sc_event& event_ )
00303 {
00304 warn_no_parens();
00305 return operator << ( event_ );
00306 }
00307
00308 sc_sensitive&
00309 sc_sensitive::operator () ( const sc_interface& interface_ )
00310 {
00311 warn_no_parens();
00312 return operator << ( interface_ );
00313 }
00314
00315 sc_sensitive&
00316 sc_sensitive::operator () ( const sc_port_base& port_ )
00317 {
00318 warn_no_parens();
00319 return operator << ( port_ );
00320 }
00321
00322 sc_sensitive&
00323 sc_sensitive::operator () ( sc_event_finder& event_finder_ )
00324 {
00325 warn_no_parens();
00326 return operator << ( event_finder_ );
00327 }
00328
00329
00330 sc_sensitive&
00331 sc_sensitive::operator () ( sc_cthread_handle handle_,
00332 sc_event_finder& event_finder_ )
00333 {
00334 event_finder_.port().make_sensitive( handle_, &event_finder_ );
00335 return *this;
00336 }
00337
00338 sc_sensitive&
00339 sc_sensitive::operator () ( sc_cthread_handle handle_,
00340 const in_if_b_type& interface_ )
00341 {
00342 handle_->add_static_event( interface_.posedge_event() );
00343 return *this;
00344 }
00345
00346 sc_sensitive&
00347 sc_sensitive::operator () ( sc_cthread_handle handle_,
00348 const in_if_l_type& interface_ )
00349 {
00350 handle_->add_static_event( interface_.posedge_event() );
00351 return *this;
00352 }
00353
00354 sc_sensitive&
00355 sc_sensitive::operator () ( sc_cthread_handle handle_,
00356 const in_port_b_type& port_ )
00357 {
00358 port_.make_sensitive( handle_, &port_.pos() );
00359 return *this;
00360 }
00361
00362 sc_sensitive&
00363 sc_sensitive::operator () ( sc_cthread_handle handle_,
00364 const in_port_l_type& port_ )
00365 {
00366 port_.make_sensitive( handle_, &port_.pos() );
00367 return *this;
00368 }
00369
00370 sc_sensitive&
00371 sc_sensitive::operator () ( sc_cthread_handle handle_,
00372 const inout_port_b_type& port_ )
00373 {
00374 port_.make_sensitive( handle_, &port_.pos() );
00375 return *this;
00376 }
00377
00378 sc_sensitive&
00379 sc_sensitive::operator () ( sc_cthread_handle handle_,
00380 const inout_port_l_type& port_ )
00381 {
00382 port_.make_sensitive( handle_, &port_.pos() );
00383 return *this;
00384 }
00385
00386 void sc_sensitive::reset()
00387 {
00388 m_mode = SC_NONE_;
00389 }
00390
00391
00392
00393
00394
00395
00396
00397
00398 static void sc_deprecated_sensitive_pos()
00399 {
00400 static bool warn_sensitive_pos=true;
00401 if ( warn_sensitive_pos )
00402 {
00403 warn_sensitive_pos=false;
00404 SC_REPORT_INFO(SC_ID_IEEE_1666_DEPRECATION_,
00405 "sc_sensitive_pos is deprecated use sc_sensitive << with pos() instead" );
00406 }
00407 }
00408
00409
00410
00411 sc_sensitive_pos::sc_sensitive_pos( sc_module* module_ )
00412 : m_module( module_ ),
00413 m_mode( SC_NONE_ ),
00414 m_handle( 0 )
00415 {}
00416
00417
00418
00419
00420 sc_sensitive_pos::~sc_sensitive_pos()
00421 {}
00422
00423
00424
00425
00426 sc_sensitive_pos&
00427 sc_sensitive_pos::operator << ( sc_process_handle handle_ )
00428 {
00429 switch ( handle_.proc_kind() )
00430 {
00431 case SC_CTHREAD_PROC_:
00432 case SC_THREAD_PROC_:
00433 m_mode = SC_THREAD_;
00434 break;
00435 case SC_METHOD_PROC_:
00436 m_mode = SC_METHOD_;
00437 break;
00438 default:
00439 assert(0);
00440 }
00441 m_handle = (sc_process_b*)handle_;
00442 return *this;
00443 }
00444
00445 sc_sensitive_pos&
00446 sc_sensitive_pos::operator << ( sc_method_handle handle_ )
00447 {
00448 m_mode = SC_METHOD_;
00449 m_handle = handle_;
00450 return *this;
00451 }
00452
00453 sc_sensitive_pos&
00454 sc_sensitive_pos::operator << ( sc_thread_handle handle_ )
00455 {
00456 m_mode = SC_THREAD_;
00457 m_handle = handle_;
00458 return *this;
00459 }
00460
00461
00462 sc_sensitive_pos&
00463 sc_sensitive_pos::operator << ( const in_if_b_type& interface_ )
00464 {
00465 sc_deprecated_sensitive_pos();
00466
00467 if( sc_is_running() ) {
00468 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" );
00469 }
00470
00471
00472 switch( m_mode ) {
00473 case SC_METHOD_:
00474 case SC_THREAD_: {
00475 m_handle->add_static_event( interface_.posedge_event() );
00476 break;
00477 }
00478 case SC_NONE_:
00479
00480 break;
00481 }
00482
00483 return *this;
00484 }
00485
00486 sc_sensitive_pos&
00487 sc_sensitive_pos::operator << ( const in_if_l_type& interface_ )
00488 {
00489 sc_deprecated_sensitive_pos();
00490
00491 if( sc_is_running() ) {
00492 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" );
00493 }
00494
00495
00496 switch( m_mode ) {
00497 case SC_METHOD_:
00498 case SC_THREAD_: {
00499 m_handle->add_static_event( interface_.posedge_event() );
00500 break;
00501 }
00502 case SC_NONE_:
00503
00504 break;
00505 }
00506
00507 return *this;
00508 }
00509
00510 sc_sensitive_pos&
00511 sc_sensitive_pos::operator << ( const in_port_b_type& port_ )
00512 {
00513 sc_deprecated_sensitive_pos();
00514
00515 if( sc_is_running() ) {
00516 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" );
00517 }
00518
00519
00520 switch( m_mode ) {
00521 case SC_METHOD_: {
00522 port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() );
00523 break;
00524 }
00525 case SC_THREAD_: {
00526 port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() );
00527 break;
00528 }
00529 case SC_NONE_:
00530
00531 break;
00532 }
00533
00534 return *this;
00535 }
00536
00537 sc_sensitive_pos&
00538 sc_sensitive_pos::operator << ( const in_port_l_type& port_ )
00539 {
00540 sc_deprecated_sensitive_pos();
00541
00542 if( sc_is_running() ) {
00543 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" );
00544 }
00545
00546
00547 switch( m_mode ) {
00548 case SC_METHOD_: {
00549 port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() );
00550 break;
00551 }
00552 case SC_THREAD_: {
00553 port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() );
00554 break;
00555 }
00556 case SC_NONE_:
00557
00558 break;
00559 }
00560
00561 return *this;
00562 }
00563
00564 sc_sensitive_pos&
00565 sc_sensitive_pos::operator << ( const inout_port_b_type& port_ )
00566 {
00567 sc_deprecated_sensitive_pos();
00568
00569 if( sc_is_running() ) {
00570 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" );
00571 }
00572
00573
00574 switch( m_mode ) {
00575 case SC_METHOD_: {
00576 port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() );
00577 break;
00578 }
00579 case SC_THREAD_: {
00580 port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() );
00581 break;
00582 }
00583 case SC_NONE_:
00584
00585 break;
00586 }
00587
00588 return *this;
00589 }
00590
00591 sc_sensitive_pos&
00592 sc_sensitive_pos::operator << ( const inout_port_l_type& port_ )
00593 {
00594 sc_deprecated_sensitive_pos();
00595
00596 if( sc_is_running() ) {
00597 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_POS_, "simulation running" );
00598 }
00599
00600
00601 switch( m_mode ) {
00602 case SC_METHOD_: {
00603 port_.make_sensitive( as_method_handle( m_handle ), &port_.pos() );
00604 break;
00605 }
00606 case SC_THREAD_: {
00607 port_.make_sensitive( as_thread_handle( m_handle ), &port_.pos() );
00608 break;
00609 }
00610 case SC_NONE_:
00611
00612 break;
00613 }
00614
00615 return *this;
00616 }
00617
00618
00619 sc_sensitive_pos&
00620 sc_sensitive_pos::operator () ( const in_if_b_type& interface_ )
00621 {
00622 warn_no_parens();
00623 return operator << ( interface_ );
00624 }
00625
00626 sc_sensitive_pos&
00627 sc_sensitive_pos::operator () ( const in_if_l_type& interface_ )
00628 {
00629 warn_no_parens();
00630 return operator << ( interface_ );
00631 }
00632
00633 sc_sensitive_pos&
00634 sc_sensitive_pos::operator () ( const in_port_b_type& port_ )
00635 {
00636 warn_no_parens();
00637 return operator << ( port_ );
00638 }
00639
00640 sc_sensitive_pos&
00641 sc_sensitive_pos::operator () ( const in_port_l_type& port_ )
00642 {
00643 warn_no_parens();
00644 return operator << ( port_ );
00645 }
00646
00647 sc_sensitive_pos&
00648 sc_sensitive_pos::operator () ( const inout_port_b_type& port_ )
00649 {
00650 warn_no_parens();
00651 return operator << ( port_ );
00652 }
00653
00654 sc_sensitive_pos&
00655 sc_sensitive_pos::operator () ( const inout_port_l_type& port_ )
00656 {
00657 warn_no_parens();
00658 return operator << ( port_ );
00659 }
00660
00661 void sc_sensitive_pos::reset()
00662 {
00663 m_mode = SC_NONE_;
00664 }
00665
00666
00667
00668
00669
00670
00671
00672
00673 static void sc_deprecated_sensitive_neg()
00674 {
00675 static bool warn_sensitive_neg=true;
00676 if ( warn_sensitive_neg )
00677 {
00678 warn_sensitive_neg=false;
00679 SC_REPORT_INFO(SC_ID_IEEE_1666_DEPRECATION_,
00680 "sc_sensitive_neg is deprecated use sc_sensitive << with neg() instead" );
00681 }
00682 }
00683
00684
00685
00686 sc_sensitive_neg::sc_sensitive_neg( sc_module* module_ )
00687 : m_module( module_ ),
00688 m_mode( SC_NONE_ ),
00689 m_handle( 0 )
00690 {}
00691
00692
00693
00694
00695 sc_sensitive_neg::~sc_sensitive_neg()
00696 {}
00697
00698
00699
00700
00701 sc_sensitive_neg&
00702 sc_sensitive_neg::operator << ( sc_process_handle handle_ )
00703 {
00704 switch ( handle_.proc_kind() )
00705 {
00706 case SC_CTHREAD_PROC_:
00707 case SC_THREAD_PROC_:
00708 m_mode = SC_THREAD_;
00709 break;
00710 case SC_METHOD_PROC_:
00711 m_mode = SC_METHOD_;
00712 break;
00713 default:
00714 assert(0);
00715 }
00716 m_handle = (sc_process_b*)handle_;
00717 return *this;
00718 }
00719
00720 sc_sensitive_neg&
00721 sc_sensitive_neg::operator << ( sc_method_handle handle_ )
00722 {
00723 m_mode = SC_METHOD_;
00724 m_handle = handle_;
00725 return *this;
00726 }
00727
00728 sc_sensitive_neg&
00729 sc_sensitive_neg::operator << ( sc_thread_handle handle_ )
00730 {
00731 m_mode = SC_THREAD_;
00732 m_handle = handle_;
00733 return *this;
00734 }
00735
00736
00737 sc_sensitive_neg&
00738 sc_sensitive_neg::operator << ( const in_if_b_type& interface_ )
00739 {
00740 sc_deprecated_sensitive_neg();
00741
00742 if( sc_is_running() ) {
00743 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" );
00744 }
00745
00746
00747 switch( m_mode ) {
00748 case SC_METHOD_:
00749 case SC_THREAD_: {
00750 m_handle->add_static_event( interface_.negedge_event() );
00751 break;
00752 }
00753 case SC_NONE_:
00754
00755 break;
00756 }
00757
00758 return *this;
00759 }
00760
00761 sc_sensitive_neg&
00762 sc_sensitive_neg::operator << ( const in_if_l_type& interface_ )
00763 {
00764 sc_deprecated_sensitive_neg();
00765
00766 if( sc_is_running() ) {
00767 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" );
00768 }
00769
00770
00771 switch( m_mode ) {
00772 case SC_METHOD_:
00773 case SC_THREAD_: {
00774 m_handle->add_static_event( interface_.negedge_event() );
00775 break;
00776 }
00777 case SC_NONE_:
00778
00779 break;
00780 }
00781
00782 return *this;
00783 }
00784
00785 sc_sensitive_neg&
00786 sc_sensitive_neg::operator << ( const in_port_b_type& port_ )
00787 {
00788 sc_deprecated_sensitive_neg();
00789
00790 if( sc_is_running() ) {
00791 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" );
00792 }
00793
00794
00795 switch( m_mode ) {
00796 case SC_METHOD_: {
00797 port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() );
00798 break;
00799 }
00800 case SC_THREAD_: {
00801 port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() );
00802 break;
00803 }
00804 case SC_NONE_:
00805
00806 break;
00807 }
00808
00809 return *this;
00810 }
00811
00812 sc_sensitive_neg&
00813 sc_sensitive_neg::operator << ( const in_port_l_type& port_ )
00814 {
00815 sc_deprecated_sensitive_neg();
00816
00817 if( sc_is_running() ) {
00818 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" );
00819 }
00820
00821
00822 switch( m_mode ) {
00823 case SC_METHOD_: {
00824 port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() );
00825 break;
00826 }
00827 case SC_THREAD_: {
00828 port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() );
00829 break;
00830 }
00831 case SC_NONE_:
00832
00833 break;
00834 }
00835
00836 return *this;
00837 }
00838
00839 sc_sensitive_neg&
00840 sc_sensitive_neg::operator << ( const inout_port_b_type& port_ )
00841 {
00842 sc_deprecated_sensitive_neg();
00843
00844 if( sc_is_running() ) {
00845 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" );
00846 }
00847
00848
00849 switch( m_mode ) {
00850 case SC_METHOD_: {
00851 port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() );
00852 break;
00853 }
00854 case SC_THREAD_: {
00855 port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() );
00856 break;
00857 }
00858 case SC_NONE_:
00859
00860 break;
00861 }
00862
00863 return *this;
00864 }
00865
00866 sc_sensitive_neg&
00867 sc_sensitive_neg::operator << ( const inout_port_l_type& port_ )
00868 {
00869 sc_deprecated_sensitive_neg();
00870
00871 if( sc_is_running() ) {
00872 SC_REPORT_ERROR( SC_ID_MAKE_SENSITIVE_NEG_, "simulation running" );
00873 }
00874
00875
00876 switch( m_mode ) {
00877 case SC_METHOD_: {
00878 port_.make_sensitive( as_method_handle( m_handle ), &port_.neg() );
00879 break;
00880 }
00881 case SC_THREAD_: {
00882 port_.make_sensitive( as_thread_handle( m_handle ), &port_.neg() );
00883 break;
00884 }
00885 case SC_NONE_:
00886
00887 break;
00888 }
00889
00890 return *this;
00891 }
00892
00893
00894 sc_sensitive_neg&
00895 sc_sensitive_neg::operator () ( const in_if_b_type& interface_ )
00896 {
00897 warn_no_parens();
00898 return operator << ( interface_ );
00899 }
00900
00901 sc_sensitive_neg&
00902 sc_sensitive_neg::operator () ( const in_if_l_type& interface_ )
00903 {
00904 warn_no_parens();
00905 return operator << ( interface_ );
00906 }
00907
00908 sc_sensitive_neg&
00909 sc_sensitive_neg::operator () ( const in_port_b_type& port_ )
00910 {
00911 warn_no_parens();
00912 return operator << ( port_ );
00913 }
00914
00915 sc_sensitive_neg&
00916 sc_sensitive_neg::operator () ( const in_port_l_type& port_ )
00917 {
00918 warn_no_parens();
00919 return operator << ( port_ );
00920 }
00921
00922 sc_sensitive_neg&
00923 sc_sensitive_neg::operator () ( const inout_port_b_type& port_ )
00924 {
00925 warn_no_parens();
00926 return operator << ( port_ );
00927 }
00928
00929 sc_sensitive_neg&
00930 sc_sensitive_neg::operator () ( const inout_port_l_type& port_ )
00931 {
00932 warn_no_parens();
00933 return operator << ( port_ );
00934 }
00935
00936 void sc_sensitive_neg::reset()
00937 {
00938 m_mode = SC_NONE_;
00939 }
00940
00941 }
00942
00943