```python
"""Render a value as fixed-width unsigned binary, nibble-grouped."""


def format_bits(value, width):
    if not isinstance(value, int) or value < 0:
        raise ValueError("value must be a non-negative integer")
    if not (isinstance(width, int) and width > 0 and width % 4 == 0 and width <= 32):
        raise ValueError("width must be a positive multiple of four and not exceed 32")
    if value.bit_length() > width:
        raise ValueError("value does not fit in width bits")
    return ' '.join(f'{bin(x)[2:].zfill(4)}' for x in range(value, value + (1 << width)))
```