hdl.xfrm: add SampleLowerer.
This commit is contained in:
parent
b3de114d67
commit
198efcad31
4 changed files with 110 additions and 13 deletions
|
|
@ -74,6 +74,15 @@ normalize = Const.normalize
|
|||
|
||||
|
||||
class _ValueCompiler(ValueVisitor):
|
||||
def on_AnyConst(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_AnySeq(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_Sample(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_Record(self, value):
|
||||
return self(Cat(value.fields.values()))
|
||||
|
||||
|
|
@ -87,12 +96,6 @@ class _RHSValueCompiler(_ValueCompiler):
|
|||
def on_Const(self, value):
|
||||
return lambda state: value.value
|
||||
|
||||
def on_AnyConst(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_AnySeq(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_Signal(self, value):
|
||||
if self.sensitivity is not None:
|
||||
self.sensitivity.add(value)
|
||||
|
|
@ -225,12 +228,6 @@ class _LHSValueCompiler(_ValueCompiler):
|
|||
def on_Const(self, value):
|
||||
raise TypeError # :nocov:
|
||||
|
||||
def on_AnyConst(self, value):
|
||||
raise TypeError # :nocov:
|
||||
|
||||
def on_AnySeq(self, value):
|
||||
raise TypeError # :nocov:
|
||||
|
||||
def on_Signal(self, value):
|
||||
shape = value.shape()
|
||||
value_slot = self.signal_slots[value]
|
||||
|
|
|
|||
|
|
@ -308,6 +308,9 @@ class _ValueCompiler(xfrm.ValueVisitor):
|
|||
def on_ResetSignal(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_Sample(self, value):
|
||||
raise NotImplementedError # :nocov:
|
||||
|
||||
def on_Record(self, value):
|
||||
return self(ast.Cat(value.fields.values()))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue