Entity sync_Command
This module synchronizes a vector of bits from clock-domain Clock1
to
clock-domain Clock2
. The clock-domain boundary crossing is done by a
change comparator, a T-FF, two synchronizer D-FFs and a reconstructive
XOR indicating a value change on the input. This changed signal is used
to capture the input for the new output. A busy flag is additionally
calculated for the input clock-domain. The output has strobe character
and is reset to it's INIT
value after one clock cycle.
- Constraints:
This module uses sub modules which need to be constrained. Please attend to the notes of the instantiated sub modules.
Name |
Type |
Default |
Description |
---|---|---|---|
BITS |
positive |
8 |
|
INIT |
std_logic_vector |
x"00000000" |
|
SYNC_DEPTH |
low |
generate SYNC_DEPTH many stages, at least 2 |
Name |
Type |
Direction |
Description |
---|---|---|---|
Clock1 |
std_logic |
in |
|
Clock2 |
std_logic |
in |
|
Input |
std_logic_vector |
in |
|
Output |
std_logic_vector |
out |
|
Busy |
std_logic |
out |
|
Changed |
std_logic |
out |
@Clock2: changed bit |