cvw/pipelined/srt/stine
2022-06-21 15:07:24 -05:00
..
checkme.sh Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
disp.c Add r=4 C code 2022-06-15 11:44:09 -05:00
disp.h Add r=4 C code 2022-06-15 11:44:09 -05:00
idiv-config.vh Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
intdiv.sv Add back SV for integer division to use 8-bit CPA in qslc 2022-06-15 11:46:39 -05:00
iter32.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
iter32S.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
iter64.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
iter64S.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
iter128.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
iter128S.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
lod.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
lzd_tb.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
lzd.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
lzd.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
Makefile Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
mux.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
notes Add hex output in bad but okay way 2022-06-21 15:07:24 -05:00
otf4.in Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
pd_bad.png Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
pd_cpa.png Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
pd_csa.pdf Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
pd_csa.png Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
qslc_r4a2 Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
qslc_r4a2.c Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
README Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
README.md Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
run.sh Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
shift_left_tb.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
shift_left.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
shift_right_tb.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
shift_right.do Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
shift.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
shifter.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
srt2div Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
srt2div.c Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
srt4_pd2.m Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
srt4_pd3.m Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
srt4_pd.m Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
srt4div Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
srt4div.c Add MATLAB scripts for PD plot 2022-06-21 10:14:53 -05:00
test_iter32.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
test_iter32S.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
test_iter64.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
test_iter64S.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
test_iter128.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
test_iter128S.sv Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00
tmp Update integer division for r4 and qslc_r4a2.c 2022-06-09 16:45:13 -05:00

This is a novel integer divider using r4 division by recurrence. The reference is:

J. E. Stine and K. Hill, "An Efficient Implementation of Radix-4 Integer Division Using Scaling," 2020 IEEE 63rd International Midwest Symposium on Circuits and Systems (MWSCAS), Springfield, MA, USA, 2020, pp. 1092-1095, doi: 10.1109/MWSCAS48704.2020.9184631.

Although this version does not contain scaling, it could do this, if needed. Moreover, a higher radix or overlapped radix can be done easily to expand the the size. Also, the implementations here are initially unsigned but hope to expand for signed, which should be easy.

There are two types of tests in this directory within each testbench. One tests for 32-bits and the other 64-bits:

int32div.do and int64div.do = test individual vector for debugging

iter32.do and iter64.do = do not use any waveform generation and just output lots of tests