Deleted Added
sdiff udiff text old ( 13194:9c6b495e650c ) new ( 13206:c944ef4abb48 )
full compact
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

--- 482 unchanged lines hidden (view full) ---

491 ::sc_core::at_negedge(s);
492}
493
494
495void
496next_trigger()
497{
498 sc_gem5::Process *p = sc_gem5::scheduler.current();
499 p->setDynamic(nullptr);
500}
501
502void
503next_trigger(const sc_event &e)
504{
505 sc_gem5::Process *p = sc_gem5::scheduler.current();
506 p->setDynamic(new ::sc_gem5::SensitivityEvent(p, &e));
507}
508
509void
510next_trigger(const sc_event_or_list &eol)
511{
512 sc_gem5::Process *p = sc_gem5::scheduler.current();
513 p->setDynamic(new ::sc_gem5::SensitivityEventOrList(p, &eol));
514}
515
516void
517next_trigger(const sc_event_and_list &eal)
518{
519 sc_gem5::Process *p = sc_gem5::scheduler.current();
520 p->setDynamic(new ::sc_gem5::SensitivityEventAndList(p, &eal));
521}
522
523void
524next_trigger(const sc_time &t)
525{
526 sc_gem5::Process *p = sc_gem5::scheduler.current();
527 p->setDynamic(new ::sc_gem5::SensitivityTimeout(p, t));
528}
529
530void
531next_trigger(double d, sc_time_unit u)
532{
533 next_trigger(sc_time(d, u));
534}
535
536void
537next_trigger(const sc_time &t, const sc_event &e)
538{
539 sc_gem5::Process *p = sc_gem5::scheduler.current();
540 p->setDynamic(new ::sc_gem5::SensitivityTimeoutAndEvent(p, t, &e));
541}
542
543void
544next_trigger(double d, sc_time_unit u, const sc_event &e)
545{
546 next_trigger(sc_time(d, u), e);
547}
548
549void
550next_trigger(const sc_time &t, const sc_event_or_list &eol)
551{
552 sc_gem5::Process *p = sc_gem5::scheduler.current();
553 p->setDynamic(
554 new ::sc_gem5::SensitivityTimeoutAndEventOrList(p, t, &eol));
555}
556
557void
558next_trigger(double d, sc_time_unit u, const sc_event_or_list &eol)
559{
560 next_trigger(sc_time(d, u), eol);
561}
562
563void
564next_trigger(const sc_time &t, const sc_event_and_list &eal)
565{
566 sc_gem5::Process *p = sc_gem5::scheduler.current();
567 p->setDynamic(
568 new ::sc_gem5::SensitivityTimeoutAndEventAndList(p, t, &eal));
569}
570
571void
572next_trigger(double d, sc_time_unit u, const sc_event_and_list &eal)
573{
574 next_trigger(sc_time(d, u), eal);
575}
576

--- 7 unchanged lines hidden (view full) ---

584 return p->timedOut();
585}
586
587
588void
589wait()
590{
591 sc_gem5::Process *p = sc_gem5::scheduler.current();
592 p->setDynamic(nullptr);
593 sc_gem5::scheduler.yield();
594}
595
596void
597wait(int n)
598{
599 if (n <= 0) {
600 std::string msg = csprintf("n = %d", n);
601 SC_REPORT_ERROR("(E525) wait(n) is only valid for n > 0", msg.c_str());
602 }
603 for (int i = 0; i < n; i++)
604 wait();
605}
606
607void
608wait(const sc_event &e)
609{
610 sc_gem5::Process *p = sc_gem5::scheduler.current();
611 p->setDynamic(new ::sc_gem5::SensitivityEvent(p, &e));
612 sc_gem5::scheduler.yield();
613}
614
615void
616wait(const sc_event_or_list &eol)
617{
618 sc_gem5::Process *p = sc_gem5::scheduler.current();
619 p->setDynamic(new ::sc_gem5::SensitivityEventOrList(p, &eol));
620 sc_gem5::scheduler.yield();
621}
622
623void
624wait(const sc_event_and_list &eal)
625{
626 sc_gem5::Process *p = sc_gem5::scheduler.current();
627 p->setDynamic(new ::sc_gem5::SensitivityEventAndList(p, &eal));
628 sc_gem5::scheduler.yield();
629}
630
631void
632wait(const sc_time &t)
633{
634 sc_gem5::Process *p = sc_gem5::scheduler.current();
635 p->setDynamic(new ::sc_gem5::SensitivityTimeout(p, t));
636 sc_gem5::scheduler.yield();
637}
638
639void
640wait(double d, sc_time_unit u)
641{
642 wait(sc_time(d, u));
643}
644
645void
646wait(const sc_time &t, const sc_event &e)
647{
648 sc_gem5::Process *p = sc_gem5::scheduler.current();
649 p->setDynamic(new ::sc_gem5::SensitivityTimeoutAndEvent(p, t, &e));
650 sc_gem5::scheduler.yield();
651}
652
653void
654wait(double d, sc_time_unit u, const sc_event &e)
655{
656 wait(sc_time(d, u), e);
657}
658
659void
660wait(const sc_time &t, const sc_event_or_list &eol)
661{
662 sc_gem5::Process *p = sc_gem5::scheduler.current();
663 p->setDynamic(
664 new ::sc_gem5::SensitivityTimeoutAndEventOrList(p, t, &eol));
665 sc_gem5::scheduler.yield();
666}
667
668void
669wait(double d, sc_time_unit u, const sc_event_or_list &eol)
670{
671 wait(sc_time(d, u), eol);
672}
673
674void
675wait(const sc_time &t, const sc_event_and_list &eal)
676{
677 sc_gem5::Process *p = sc_gem5::scheduler.current();
678 p->setDynamic(
679 new ::sc_gem5::SensitivityTimeoutAndEventAndList(p, t, &eal));
680 sc_gem5::scheduler.yield();
681}
682
683void
684wait(double d, sc_time_unit u, const sc_event_and_list &eal)
685{
686 wait(sc_time(d, u), eal);
687}

--- 80 unchanged lines hidden ---