Skip to content

Commit 2436a68

Browse files
committed
cordic: don't use Mux() with signed args
migen#75
1 parent 86c6fcb commit 2436a68

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

misoc/cores/cordic.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,9 +320,15 @@ def _stage(self, xi, yi, zi, xo, yo, zo, i, ai):
320320
elif self.func_mode == "hyperbolic":
321321
dx = -dx
322322
stmt = [
323-
xo.eq(xi + Mux(dir, dx, -dx)),
324-
yo.eq(yi + Mux(dir, -dy, dy)),
325-
zo.eq(zi + Mux(dir, dz, -dz))
323+
If(dir,
324+
xo.eq(xi + dx),
325+
yo.eq(yi - dy),
326+
zo.eq(zi + dz)
327+
).Else(
328+
xo.eq(xi - dx),
329+
yo.eq(yi + dy),
330+
zo.eq(zi - dz)
331+
)
326332
]
327333
return stmt
328334

0 commit comments

Comments
 (0)