cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
267 Views
Registered: ‎06-04-2019

Automatic parameter propagation from top level module to instantiated custom IP

Hi,

I packaged a block design as a custom IP using 'Create and Package new IP' , IP name: ltedata_v1.0

Block design:

ltedataIP.PNG

As can be seen, there are two external clock ports, s00_axi_aclk and s_axi_aclk. These are by default 100MHz. The two slave interface ports S00_AXI_AddrDec and S_AXI_BRAM are associated with the above clocks respectively. I understand that the frequency set in the 'external port propeties' for clock ports are automatically propogated to the IPs.

My top level design:

topdesign.PNG

The custom IP 'ltedata_v1_0' can be seen instantiated in the top design above. My top design is clocked @245.76MHz. Ideally, I would want the top design to propagate the 245.76MHz clock to the custom IP 'ltedata_v1_0' but it didn't. It threw the following error during validation,

FreqMismatch.png

I changed the s00_axi_aclk and s_axi_aclk frequency values inside the custom IP manually in the GUI from 100MHz to 245.76MHz,

clk.PNG

then repackaged the IP and ugraded the IP in the top level design. Now I am getting only the critical warnings as below,

Untitled picture.png

I have two queries,

1. I am giving the same clock source (clk_out1 from the clocking wizard) to axi smc and the custom IP. I don't know why vivado is throwing this critical warning. Can I just ignore this?

2. Is there a way to automatically propagate the clk frequencies from top level to the custom ip. In future, if the clock of the top design is changed, it would be better for the custom ip to automatically adapt to the new clk freq instead of manually editing it.

I looked around a lot for the query 2 and failed to find a proper explanation or solution to this problem.

Any help, suggestions or corrections are appreciated!

Thanks,
Bhavanithya Thiraviaraja
Tags (3)
0 Kudos
2 Replies
Highlighted
Scholar
Scholar
253 Views
Registered: ‎08-07-2014

Re: Automatic parameter propogation from top level module to instantiated custom IP

@bhavanithya,

I can say  that creating IPs and re-using them can be problematic. I don't have the solution to your problem but an easy work-around (which you might have already thought of).

Can you proceed with your BD if instead of creating the IP, connecting the addr_decoder, blk_mem_gen and axi_bram_ctrl?

If yes, then you know for sure that creating the IP is causing the problem.

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
All PMs will be ignored
--------------------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Adventurer
Adventurer
247 Views
Registered: ‎06-04-2019

Re: Automatic parameter propogation from top level module to instantiated custom IP

Hi @dpaul24 

Thank you for your reply.

I agree, the workaround would be to not create the custom IP at all and directly connect these IPs in the top design. I already have a design like this and it is working fine.

For simplicity, we wanted to package these three IPs, AddrDecoder, BRAM and AXI BRAM Controller into one single IP as 'data'...so in future this will be replaced by RF DAC and ADCs. If this is going to be a lot of work, then probably we would go with the workaround which is more direct.

It would still be interesting and useful to know how this problem can be solved.

Thanks,
Bhavanithya Thiraviaraja
0 Kudos