LINEAR MODE (Multiply / Divide)
BASELINE
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
ITERATION SWEEP (CONVERGENCE)
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 4 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 8 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 12 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
FRACTION BITS SWEEP (FIXED-POINT RESOLUTION)
python gen/gen_cordic_tables.py --width 32 --frac-bits 20 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 24 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 28 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
WIDTH SWEEP (DATAPATH PRECISION)
python gen/gen_cordic_tables.py --width 20 --frac-bits 18 --iter 14 --mult-out-width 20 --mult-out-shift 0 --div-out-width 20 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 24 --frac-bits 20 --iter 16 --mult-out-width 24 --mult-out-shift 0 --div-out-width 24 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 28 --frac-bits 24 --iter 18 --mult-out-width 28 --mult-out-shift 0 --div-out-width 28 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 22 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 40 --frac-bits 36 --iter 24 --mult-out-width 40 --mult-out-shift 0 --div-out-width 40 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
MULT OUTPUT WIDTH (QUANTIZATION)
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 24 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 28 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
DIV OUTPUT WIDTH (QUANTIZATION)
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 24 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 28 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac-bits 30 --iter 16 --mult-out-width 32 --mult-out-shift 0 --div-out-width 32 --div-out-shift 0 && cd rtl && iverilog -o test cordic_linear_core.v cordic_mult.v cordic_div.v cordic_linear_rom.v ../sim/tb_lin.v && vvp test +ALL && cd ..