parent
3f6abc0b7a
commit
9b398b502e
|
@ -983,11 +983,14 @@ class Sample(Value):
|
||||||
self.clocks = int(clocks)
|
self.clocks = int(clocks)
|
||||||
self.domain = domain
|
self.domain = domain
|
||||||
if not isinstance(self.value, (Const, Signal, ClockSignal, ResetSignal, Initial)):
|
if not isinstance(self.value, (Const, Signal, ClockSignal, ResetSignal, Initial)):
|
||||||
raise TypeError("Sampled value may only be a signal or a constant, not {!r}"
|
raise TypeError("Sampled value must be a signal or a constant, not {!r}"
|
||||||
.format(self.value))
|
.format(self.value))
|
||||||
if self.clocks < 0:
|
if self.clocks < 0:
|
||||||
raise ValueError("Cannot sample a value {} cycles in the future"
|
raise ValueError("Cannot sample a value {} cycles in the future"
|
||||||
.format(-self.clocks))
|
.format(-self.clocks))
|
||||||
|
if not (self.domain is None or isinstance(self.domain, str)):
|
||||||
|
raise TypeError("Domain name must be a string or None, not {!r}"
|
||||||
|
.format(self.domain))
|
||||||
|
|
||||||
def shape(self):
|
def shape(self):
|
||||||
return self.value.shape()
|
return self.value.shape()
|
||||||
|
|
|
@ -629,7 +629,7 @@ class SampleTestCase(FHDLTestCase):
|
||||||
|
|
||||||
def test_wrong_value_operator(self):
|
def test_wrong_value_operator(self):
|
||||||
with self.assertRaises(TypeError,
|
with self.assertRaises(TypeError,
|
||||||
"Sampled value may only be a signal or a constant, not "
|
"Sampled value must be a signal or a constant, not "
|
||||||
"(+ (sig $signal) (const 1'd1))"):
|
"(+ (sig $signal) (const 1'd1))"):
|
||||||
Sample(Signal() + 1, 1, "sync")
|
Sample(Signal() + 1, 1, "sync")
|
||||||
|
|
||||||
|
@ -638,6 +638,11 @@ class SampleTestCase(FHDLTestCase):
|
||||||
"Cannot sample a value 1 cycles in the future"):
|
"Cannot sample a value 1 cycles in the future"):
|
||||||
Sample(Signal(), -1, "sync")
|
Sample(Signal(), -1, "sync")
|
||||||
|
|
||||||
|
def test_wrong_domain(self):
|
||||||
|
with self.assertRaises(TypeError,
|
||||||
|
"Domain name must be a string or None, not 0"):
|
||||||
|
Sample(Signal(), 1, 0)
|
||||||
|
|
||||||
|
|
||||||
class InitialTestCase(FHDLTestCase):
|
class InitialTestCase(FHDLTestCase):
|
||||||
def test_initial(self):
|
def test_initial(self):
|
||||||
|
|
Loading…
Reference in a new issue