![Teledyne SP Devices ADQ3 Series Скачать руководство пользователя страница 17](http://html1.mh-extra.com/html/teledyne-sp-devices/adq3-series/adq3-series_user-manual_1081093017.webp)
Classification
Revision
Public
B
Document ID
Print date
20-2507
2022-03-31
passing through the boundary to the
receiving
clock.
There are several techniques to choose from depending on the type of signal that should be synchro-
nized, e.g. a multi-bit signal is not handled in the same way as a signal that is 1 bit wide. The reader is
expected to be familiar with CDC synchronization techniques. The paper by Clifford E. Cummings [
] is
a good place to start if the reader’s knowledge needs to be refreshed.
In each of the user logic areas, there is one clock domain crossing in the default design—between the
control bus clock and the data bus clock. This boundary joins the control bus register values, representing
the current configuration, and the data bus logic, tasked with processing the data. To aid the user, there
are two CDC helper modules available in the development kit framework, listed in Table
Table 2: CDC modules available in the development kit framework.
Module
Description
cdc_bit
CDC synchronization module for a 1-bit signal (see Section
cdc_bus
CDC synchronization of a multi-bit signal using a strobe (see Sec-
tion
These modules should cover most CDC needs and should be used whenever CDC synchronization is
called for. Refer to Section
for details on the control bus and to Sections
and
for examples of
CDC synchronization and logic making use of these register values.
4.3.1
CDC Synchronization of a 1-bit Signal
The module
cdc_bit
should
only
be used for a signal that is unrelated to other signals since the propa-
gation of each bit may be different for parallel instances. Below is a description of the instantiation.
cdc_bit #(
.ENABLE_OUTPUT_REGISTER(”true”) // String; ”true” or ”false”.
// Adds register on data output.
) cdc_bit_reset (
.src_clk_i(src_clk),
// 1-bit input: Source clock.
.dest_clk_i(dest_clk), // 1-bit input: Destination clock.
.src_data_i (src_data), // 1-bit input: Data driven by src_clk_i
.dest_data_o(dest_data) // 1-bit output: Data syncronized to dest_clk_i
);
Important
In most cases it is recomended to keep the default value of
”true”
for the parameter
ENABLE_OUTPUT_REGISTER
since the registers used for the CDC synchronization will prevent the auto-
matic replication performed by Vivado to reduce fanout. By adding the additional register, this situation
is avoided.
ADQ3 Series FWDAQ Development Kit
Page 16 of 38