Synthesizeable Pipelined Hardware Dividers

Synthesizeable Pipelined Hardware Dividers


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


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.


- Fully synthesiseable
- Fully parameteriseable
- Pipelined design (one pipeline stage per bit) provides a result every clock cycle.
- Includes testbench


The following division units are ready and available for download:
- Non-restoring unsigned by unsiged divider
- Non-restoring signed by unsiged divider