Complex Adder/Subtractor¶
Block: Complex Adder/Subtractor (
complex_addsub)Block Author: Aaron Parsons
Document Author: Ben Blackman
Contents |
Summary¶
This block does a complex addition and subtraction of 2 complex numbers,
a and b, and spits out 2 complex numbers, a+b and a-b.
Mask Parameters¶
| Parameter | Variable | Description |
|---|---|---|
| Bit Width | BitWidth | The number of bits in its input. |
| Add Latency | add_latency | The latency of the adders/subtractors. |
Ports¶
| Port | Dir | Data Type | Description |
|---|---|---|---|
| a | IN | 2*BitWidth Fixed point | The first complex number whose higher BitWidth bits are its real part and lower BitWidth bits are its imaginary part. |
| b | IN | 2*BitWidth Fixed point | The second complex number whose higher BitWidth bits are its real part and lower BitWidth bits are its imaginary part. |
| a+b | OUT | 2*BitWidth Fixed point | Upper BitWidth bits are real(a)+real(b). Lower BitWidth bits are imaginary(a)-imaginary(b). |
| a-b | OUT | 2*BitWidth Fixed point | Upper BitWidth bits are imaginary(a)+imaginary(b). Lower BitWidth bits are real(b)-real(a). |
Description¶
Usage¶
The top output, a+b, is a complex output whose real part equals the
sum of the real parts of a and b. The imaginary part of a+b
equals the difference of the imaginary parts of a and b. The
bottom output, a-b, is a complex output whose real part equals the
sum of the imaginary parts of a and b.The imaginary part of
a-b equals the difference of the real parts of b and a. The
latency of this block is 2*add_latency.