HYPERBOLIC ROTATION (sinh / cosh / tanh)


BASELINE

python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..

ITERATION SWEEP (CONVERGENCE)

python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 4 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 8 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 12 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..

FRACTION SWEEP (PHASE QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --frac 20 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 24 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 28 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..

WIDTH SWEEP (DATAPATH PRECISION)

python gen/gen_cordic_tables.py --width 20 --frac 18 --iter 14 --out-width 12 --out-shift 12 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 24 --frac 20 --iter 16 --out-width 14 --out-shift 14 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 28 --frac 24 --iter 18 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 22 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 40 --frac 36 --iter 24 --out-width 18 --out-shift 18 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..

OUTPUT WIDTH (QUANTIZATION)

python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 12 --out-shift 12 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 14 --out-shift 14 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_sinh.v cordic_cosh.v cordic_tanh.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_trigh.v && vvp test +ALL && cd ..

HYPERBOLIC VECTORING (exp / ln)


BASELINE

python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 16 --out-shift 17 && cd rtl && iverilog -o test cordic_core.v cordic_exp.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_exp.v && vvp test +ALL && cd ..
python gen/gen_cordic_tables.py --width 32 --frac 30 --iter 16 --out-width 16 --out-shift 16 && cd rtl && iverilog -o test cordic_core.v cordic_ln.v cordic_hyper_rom.v cordic_hyper_shift_rom.v ../sim/tb_ln.v && vvp test +ALL && cd ..