Synthesizeable Pipelined Hardware Dividers

Details
Category: Arithmetic Core
Created: October 28, 2002
Updated: January 27, 2020
Other project properties
Development Status: Stable
WishBone compliant: No
WishBone version: n/a
License: n/a
Description
This is a collection of synthesizeable hardware dividers. Different types of dividers are available. All dividers are fully pipelined and provide a 2N by N division every clock cycle. All designs are fully parameteriseable and synthesizeable.
The dividers take two inputs Z(2N-bit divident) and D(N-bit divisor), and return Q(N-bit quotient), S(N-bit remainder), div0(division by zero), and ovf(overflow).
A sample implementation of a 32/16 bit divider with a remainder output runs at about 82MHz in a Spartan2e100 -6 device and occupies 1132 LUTs (about 47%) and 1736 registers (about 72%) of the device.
Features
- Fully synthesiseable
- Fully parameteriseable
- Pipelined design (one pipeline stage per bit) provides a result every clock cycle.
- Includes testbench
Status
The following division units are ready and available for download:
- Non-restoring unsigned by unsiged divider
- Non-restoring signed by unsiged divider