This repo will house work for your individual assignments.
Design and implement a flexible CORDIC generator in Chisel.
- Support vectoring and rotation modes
- Make widths for
X
,Y
, andZ
parameterized - Gain correction will be optionally supported (controlled by a parameter). If gain correction is enabled, the output will be multiplied by the appropriate scaling factor. Otherwise, the unscaled result will be passed directly to the output.
-
Z
is modulo$2\pi$ with full range supported - The degree of unrolling should be set by a parameter.
Cordic.scala
defines some parameters objects, a Bundle
to use as your IO, and an empty implementation of a FixedIterativeCordic (which you will need to implement).
The template also includes an App
(similar to a main function in Java) that can be used to run your generator.
It accepts commandline arguments.
To see the options, run
sbt "run --help"
The template includes a simple test using DspTester
and an associated ScalaTest specification.
You can run tests with
sbt test