ROTATION


BASELINE

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..

ITERATION SWEEP (CONVERGENCE)

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 4 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 8 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 12 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..

ANGLE FRACTION SWEEP (PHASE QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --angle-frac 20 --iter 16 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 20 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 24 --iter 16 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 24 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 28 --iter 16 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 28 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..

WIDTH SWEEP (DATAPATH PRECISION)

python gen/gen_cordic_tables.py --width 20 --angle-frac 18 --iter 14 --sin-cos-out-width 12 --sin-cos-out-shift 12 --tan-out-frac 18 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 24 --angle-frac 20 --iter 16 --sin-cos-out-width 14 --sin-cos-out-shift 14 --tan-out-frac 20 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 28 --angle-frac 24 --iter 18 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 24 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 22 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 40 --angle-frac 36 --iter 24 --sin-cos-out-width 18 --sin-cos-out-shift 18 --tan-out-frac 36 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..

SIN / COS OUTPUT WIDTH (QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --sin-cos-out-width 12 --sin-cos-out-shift 12 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --sin-cos-out-width 14 --sin-cos-out-shift 14 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --sin-cos-out-width 16 --sin-cos-out-shift 16 --tan-out-frac 30 && cd rtl && iverilog -o test cordic_core.v cordic_sin.v cordic_cos.v cordic_tan.v cordic_atan_rom.v ../sim/tb_trig.v && vvp test +ALL && cd ..

VECTORING


BASELINE

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..

ITERATION SWEEP (CONVERGENCE)

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 4 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 8 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 12 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..

ANGLE FRACTION SWEEP (PHASE QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --angle-frac 20 --iter 16 --tan-out-frac 20 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 24 --iter 16 --tan-out-frac 24 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 28 --iter 16 --tan-out-frac 28 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..

WIDTH SWEEP (DATAPATH PRECISION)

python gen/gen_cordic_tables.py --width 20 --angle-frac 18 --iter 14 --tan-out-frac 18 --mag-out-width 12 --mag-out-shift 12 --angle-out-width 12 --angle-out-shift 12 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 24 --angle-frac 20 --iter 16 --tan-out-frac 20 --mag-out-width 14 --mag-out-shift 14 --angle-out-width 14 --angle-out-shift 14 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 28 --angle-frac 24 --iter 18 --tan-out-frac 24 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 22 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 40 --angle-frac 36 --iter 24 --tan-out-frac 36 --mag-out-width 18 --mag-out-shift 18 --angle-out-width 18 --angle-out-shift 18 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..

MAG OUTPUT WIDTH (QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 12 --mag-out-shift 12 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 14 --mag-out-shift 14 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..

ANGLE OUTPUT WIDTH (QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 12 --angle-out-shift 12 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 14 --angle-out-shift 14 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --angle-frac 30 --iter 16 --tan-out-frac 30 --mag-out-width 16 --mag-out-shift 16 --angle-out-width 16 --angle-out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_mag.v cordic_atan2.v cordic_atan_rom.v ../sim/tb_vec.v && vvp test +ALL && cd ..