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.
This commit is contained in:
Andreas Hansson 2013-01-07 13:05:39 -05:00
parent 490dc30d96
commit 921490a060
2 changed files with 6 additions and 5 deletions

View file

@ -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

View file

@ -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.