04-16-2019 03:38 AM
Hello
I have design in which the GPO AXI Master will run at 100MHZ, whereas most of my logic in PL will be at anywhere between 3 and 28 MHZ (derived from off-chip clock generator). Since much of the traffic is accessing status/control registers I can't use FIFO or Dual port RAM for the clock crossing.
I am intending using AXI Smart Interconnect to cross the clock domains.
Is there any potential problem with sourcing the slave side of this Smart Interconnection with a clock that could change dynamically (although it will be glitch-free)?
Thank you.
05-07-2019 01:57 PM
I had to ask the designers about this one. It should be okay to change clocks on the fly. There are a few things to consider:
1. Make sure that the flexible clock domain (the 3 to 28MHz one) is identified as being a different clock domain than the 100MHz domain. This forces the interconnect to infer an "async" clock crossing so appropriate logic is included. The clock domain is usually inferred from the AXI Interface connections you make, but you can verify the tools are making the correct inference by selecting the AXI i/f on the interconnect and reviewing its properties as shown below.
2. Avoid scaling the clock while traffic is in flight.
Regards,
Deanna
05-07-2019 01:57 PM
I had to ask the designers about this one. It should be okay to change clocks on the fly. There are a few things to consider:
1. Make sure that the flexible clock domain (the 3 to 28MHz one) is identified as being a different clock domain than the 100MHz domain. This forces the interconnect to infer an "async" clock crossing so appropriate logic is included. The clock domain is usually inferred from the AXI Interface connections you make, but you can verify the tools are making the correct inference by selecting the AXI i/f on the interconnect and reviewing its properties as shown below.
2. Avoid scaling the clock while traffic is in flight.
Regards,
Deanna
05-07-2019 10:51 PM
Thanks for the good answer.
(System not letting me give KUDO.)
05-09-2019 04:43 AM
To give "Kudos" select the Thumbs up icon and not the word Kudos.