D
DW
Guest
Hello,
I have 2 verilog modules (say A and B) clocked by a common clock and the
pipeline delay through each is known but could change (as the design
progresses) and either one could be greater than or equal to the other. The
outputs from the modules are to be combined in some way so the outputs must
be aligned in time. (I have in fact used pre-processor defines to define
the delays in .h files e.g. A.h and B.h for the calling module).
My problem is that I need to insert a pipeline delay on the output of A or B
(or perhaps neither) to align the outputs but the pipeline delay could be on
the output of A *or* B *or* neither depending on the actual delays.
What is the neatest and best way to do this? I don't want to hard code
something which may break if (more likely "when") the internal delays of A
and B change.
Should I use the pre-processor or is there another way - could the
"generate" feature be of any use?
Your help would be very much appreciated.
I have 2 verilog modules (say A and B) clocked by a common clock and the
pipeline delay through each is known but could change (as the design
progresses) and either one could be greater than or equal to the other. The
outputs from the modules are to be combined in some way so the outputs must
be aligned in time. (I have in fact used pre-processor defines to define
the delays in .h files e.g. A.h and B.h for the calling module).
My problem is that I need to insert a pipeline delay on the output of A or B
(or perhaps neither) to align the outputs but the pipeline delay could be on
the output of A *or* B *or* neither depending on the actual delays.
What is the neatest and best way to do this? I don't want to hard code
something which may break if (more likely "when") the internal delays of A
and B change.
Should I use the pre-processor or is there another way - could the
"generate" feature be of any use?
Your help would be very much appreciated.