Sometimes we want multiple signals to appear more or less at the same time (that is, the time difference between these signals should be within a certain limit).
A classic case is a multi-bit data bus, and the signals on the bus should arrive (almost) simultaneously.
If all other signals are generated by one of the signals, then to meet the above requirements, we can achieve this by setting the set_min_delay constraint.
But what if these signals are generated independently of each other?
Or, in most cases, these signals may all be generated by the same source (for example, the same clock source)?
One way to ensure that small signal transmissions are offset is to constrain each signal relative to a common source.
For example, a 32-bit data signal, relative to the same clock source (used to generate these signals) we can constrain each signal.
But using this method to control the offset between signals on the data bus requires very tight timing constraints.
For example, we need to ensure that the offset difference between the different signals is in the range of 0.5 ns.
Therefore, we need to design delay specifications, such as defining minimum and maximum delays, to ensure that all signals reach the node within 0.5 ns deviation.
This requirement is not for a specific 0.5 ns node, but for any node - all signals can arrive within a 0.5 ns delay range.
The XDC can specify such deviation control requirements through the set_data_check command.
We can use this command to define the maximum deviation that can be accepted between two data signals.
for example:
Set_data_check –from A –to B 0.5
That is to say, the transmission time between AB is within 0.5.
Let us use this command to standardize the data offset problem of a 32-bit bus.
This requires 31*32/2 commands to define the combination between any data signals.
Another simple method (just a little more restrictive) is to take one of the data signals as a reference and to standardize other data signals based on this signal.
For each data signal bit, the set_data_check command is followed by the "-to" parameter.
This will only require 32 such commands.
for example:
Set_data_check –from A[0] - to A[15] 0.25
Set_data_check –from A[1] –to A[15] 0.25
....
Set_data_check –from A[31] –to A[15] 0.25
Be sure to halve the value you want to define because the definition is bidirectional.
So the extreme case considered is that one signal may arrive earlier and the other signal may arrive later.
Therefore the maximum time offset between all signals to be constrained will be twice the specific value.
The above command settings ensure that any combination of signals can be used, with a maximum time offset between signals of 0.5 ns.
Pod System,Prefilled Cartomizer,Vape Atomizer,Vape Atomizers
Shenzhen Xcool Vapor Technology Co.,Ltd , https://www.szxcoolvapor.com