Newer
Older
==================
Two-tap FIR filter
==================
from b_asic import (
SFG,
Addition,
ConstantMultiplication,
Delay,
Input,
Output,
Signal,
)
# Outputs:
out1 = Output(name="")
# Operations:
t1 = Delay(initial_value=0, name="")
cmul1 = ConstantMultiplication(
value=0.5, name="cmul2", latency_offsets={'in0': None, 'out0': None}
)
add1 = Addition(
name="", latency_offsets={'in0': None, 'in1': None, 'out0': None}
)
cmul2 = ConstantMultiplication(
value=0.5, name="cmul", latency_offsets={'in0': None, 'out0': None}
)
Signal(source=t1.output(0), destination=cmul1.input(0))
Signal(source=in1.output(0), destination=t1.input(0))
Signal(source=in1.output(0), destination=cmul2.input(0))
Signal(source=cmul1.output(0), destination=add1.input(0))
Signal(source=add1.output(0), destination=out1.input(0))
Signal(source=cmul2.output(0), destination=add1.input(1))
twotapfir = SFG(inputs=[in1], outputs=[out1], name='twotapfir')
# SFG Properties: