Constraining signal on FPGA output
Hi
I am currently working on a ADC driver interface and I have come across the following timing requirement for the chip-select signal. My sclk is running at 50MHz, 20ns time period. Notice that both sclk and n_cs is driven by the FPGA, while the requirements are seen from the ADC.
As we can see, there is one requirement for rising edge of n_cs and another for the falling edge.
In my current implemented solution, the n_cs signal is
- set low on sclk rising edge
- set high on sclk falling edge
This functionality is implemented using a combination of two processes, one for rising_edge(sclk), while a delayed signal is created using falling_edge(sclk). (VHDL)
The sclk is also used as output to the ADC, and is properly constrained as a 50MHz clock internally and as a generated (virtual) clock on the FPGA output pin.
My problem is that I do not understand how n_cs should be constrained on the FPGA output.
Using the chosen topology, would it be enough for the n_cs signal to have the same propagtaion delay to the FPGA pin as sclk (assuming equal PCB trace delay for sclk and n_cs)? In that case, how would I go about setting up such a constraint?
I would appreciate any insight into this problem.