Open
Description
I have an ice40 design with a cpu running at 50MHz and an sdram controller running at 100MHz. The clocks are generated from the same PLL using GENCLK and GENCLK_HALF parameters and global buffers, so I'm expecting them to have minimal skew. After place & route, nextpnr reports timing PASS in spite of delays of 14+ nsec on clock-crossing paths. I'm assuming this means the clocks are being treated as asynchronous. I can insert synchronising FFs into the memory request/response handshake path, but that's a big latency cost. Is there any way to constrain nextpnr so that it will try to keep paths between the derived clock domains within the delay limit of the faster clock, and also ensure that setup+hold times are safe?