02-09-2020 12:38 PM
Got a scripted module and implemented it in the project. Logical simulation was successful.
But when starting on a chip, the module works or doesn't work (I control by ILA), depending on the connection / disconnection of external modules.
The whole design is made in one Clock Domain from AXI Clock (pl_clk0) = 100 MHz, Implementation Strategy: Performance Retiming.
Timing report seems OK. Can you advise?
02-09-2020 01:22 PM
"works/ doesn't work" - what is your definition of "working"? Even better, what exactly is the difference in behaviour and result that you observe?
"depending on the connection / disconnection of external modules" - what are those modules?
Please understand that without these details, all we know is you have a box A and boxes B, C and D and depending on the connections between them you get different results that you call "working" and "non working" and you expect a solution.
We are engineers, not psychics.
02-10-2020 03:51 AM
Actually problem related to the message related to block where I see the problem:
There are 4 register/latch pins with no clock driven by root clock pin: top_bd_i/ddsreg/U0/reg_ctl/inst/state_reg/Q (HIGH)
It definitely indicates problem related to the clock I connected to the module or insight the block. My question's : should I constraint AXI clock delivered from zinq_ultra_ps(pl_clk0). ? I have never see Xilinx constrain it in an Examples ( ZCU102 for example).
02-10-2020 07:20 AM
No, all parts are clocked by AXI clock as a global clock. One Block where problems come from I don't control because it delivered as an encrypted but developer insist he doen't generate any clock inside. Only one strange thing in this module spec two input clocks are present : clk and clk x 2 that has to be phase aligned but according to the developer direction I connected both to the AXI clock.
02-10-2020 07:24 AM - edited 02-10-2020 07:27 AM
That smells fishy... an encrypted IP they say "oh, no, my IP doesn't do those things"
By the way, if you need to provide clocks at F and 2xF, how do you do that? I would generate them with an MMCM, they come out beautifully aligned.