Hi,
For IPs that send out clock along with data like SPI, XSPI
How do you send the clock out (what cts constraint or timing constraint) to make sure it works on the receiving side? I realize if the outgoing clock will be used to clock flops on the receiving block, and if i dont build it to the right spec it could have crazy delays on the clock path and cause hold/setup problems ?
So far i have only dealt with virtual clocks to constrain my data IP and OP ports, but i havent given much thought to sending output CLOCKS..and how to build these in a way that works on the receiving side..
Do I need special commands on the clk output port? Or related data ports that are to be timed with this clk output port? Currently i have the data OP ports constrained to a Virtual clock that mimics the waverform on the clock output port.
If external device has 0.5 setup/hold then put that in the output delay formula that I mentioned to center align the offset between data and its clock.Are we talking about high speed interfaces (>= 50 MHz fclk)? Otherwise there's probably no need for specific timing constraints because standard SPI has 0.5/fclk setup and hold margin.
Nevertheless, it is easier and better to constrain the related data ports associated with the SPI clock. In FPGAs I would just use an ODDR to o/p the clock to the FPGA pin. I would put no constrain on it (so no meddling around with clock skews).Do I need special commands on the clk output port? Or related data ports that are to be timed with this clk output port?
Form the ASIC/FPGA side this generated CLK is not a dedicated clock and thus is not treated this way.Do I need special commands on the clk output port?
That is possible alternative. Clock would be Q output as data from an io register. In this case it might be ok to set as generated clock, edge aligned (I am not sure)Hi,
Form the ASIC/FPGA side this generated CLK is not a dedicated clock and thus is not treated this way.
A generated SPI_CLK is treated like any other generated signal (like MOSI for example).
Klaus
Yes just realised that this is a slow bursty interface, common with embedded software. The data/sclk relationship is dictated by the standards and has more than configuration.Hi,
@kaz1:
if I´m not mistaken...
this shows a continous clock interface.
But SPI (OP mentioned in post#1) isn´t a continous clock interface.
Klaus
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?