From 921490a0609a1f47fe7add6da551aa70b1707649 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Mon, 7 Jan 2013 13:05:39 -0500 Subject: sim: Fatal if a clocked object is set to have a clock of 0 This patch adds a check to the clocked object constructor to ensure it is not configured to have a clock period of 0. --- src/mem/cache/base.cc | 4 ---- src/sim/clocked_object.hh | 7 ++++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mem/cache/base.cc b/src/mem/cache/base.cc index 262573663..d126906d0 100644 --- a/src/mem/cache/base.cc +++ b/src/mem/cache/base.cc @@ -81,10 +81,6 @@ BaseCache::BaseCache(const Params *p) addrRanges(p->addr_ranges.begin(), p->addr_ranges.end()), system(p->system) { - // ensure the clock is not running at an unreasonable clock speed - if (clock == 1) - panic("Cache %s has a cycle time of 1 tick. Specify a clock.\n", - name()); } void diff --git a/src/sim/clocked_object.hh b/src/sim/clocked_object.hh index d9630139a..b0aaa1721 100644 --- a/src/sim/clocked_object.hh +++ b/src/sim/clocked_object.hh @@ -46,6 +46,7 @@ #define __SIM_CLOCKED_OBJECT_HH__ #include "base/intmath.hh" +#include "base/misc.hh" #include "params/ClockedObject.hh" #include "sim/core.hh" #include "sim/sim_object.hh" @@ -113,7 +114,11 @@ class ClockedObject : public SimObject */ ClockedObject(const ClockedObjectParams* p) : SimObject(p), tick(0), cycle(0), clock(p->clock) - { } + { + if (clock == 0) { + fatal("%s has a clock period of zero\n", name()); + } + } /** * Virtual destructor due to inheritance. -- cgit v1.2.3