14 lines
320 B
Plaintext
14 lines
320 B
Plaintext
import "/nmigen_dg/*"
|
|
|
|
# result = pipeline 5
|
|
# bind (+) 1
|
|
# bind (-) 5
|
|
pipeline = data *: funcs -> data where
|
|
for func in funcs =>
|
|
data = func data
|
|
|
|
# cast to signed, extending the signal by one bit
|
|
to_signed = signal -> out where
|
|
out = Signal$ signed (signal.width + 1)
|
|
Comb$ out :== signal
|