- different width for a and b(this is useful for some small utilities) - FixedPoint support(this is useful for DSP) - back pressure(this is useful for in-order CPU designing)