/ README.md
README.md
1 # __*NOTE:*__ 2 3 The code has gone through some overhauling. Fixed some bugs and applied some optimizations so it is now resource and timming friendlier. The test bench still needs work but it is enough to stimulate the design a see a waveform. But don't trust the transaction comparisons because the predictor needs work. 4 5 I need to circle back to the test bench. 6 7 ------------------------------------------- 8 9 # Abstract 10 11 A Goldschmidt integer divider written in verilog. Similar to Newton-Raphson but the multiplications are performed in parallel. 12 13 When originally designed it was intended for a RISC-V implementation therefore it conforms with the RISC-V ISA corner cases (in terms of the expected values when dividing by zero and such). 14 15 On average the two clock per step implementation can take ~16 clocks to reach the result, the one per step version will take ~9 clocks. 16 17 # Features 18 - 1 clock per step 19 - Wishbone4 Interfaces 20 - Parameterized factors lengths 21 - Automatic Look Up Table generation for the decimal conversion 22 23 # Usage 24 25 To get this repository: 26 27 git clone --recursive https://github.com/jg-fossh/Goldschmidt_Integer_Divider.git 28 29 The **GID_User_Guide.pdf** in the /docs directory provides more insight to the design, simulation and usage.