UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Newbie bbean
Newbie
742 Views
Registered: ‎08-27-2018

How to associate clock pin with non-bus pin

Jump to solution

Hi all,

I have a custom IP block with CLK_X and DATA_X[27:0] input pins. How do I associate the CLK_X clock pin with the DATA_X pin?

Note: I can't make this a bus interface and use the ASSOCIATED_BUSIF property because in the larger project the pins are connected directly to board gpios.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Voyager
Voyager
696 Views
Registered: ‎02-01-2013

Re: How to associate clock pin with non-bus pin

Jump to solution

The menu selection you reference is a bit of a distraction. One doesn't associate a clock with a signal/port/interface; one associates a bus interface with a clock. The effect of the menu selection is to put the name of the bus interface (you selected before pressing the right mouse button) in the list of bus interfaces pertaining to the ASSOCIATED_BUSIF parameter of the selected clock.

That said, I'm still having a hard time seeing your dilemma. Pack the data port into a "data_rtl" bus interface, and you'll be able to associate that interface with the clock.

2019-01-09_15-05-19.jpg

The instantiated IP should have an ordinary pin:

 

 

-Joe G.

 

6 Replies
Voyager
Voyager
715 Views
Registered: ‎02-01-2013

Re: How to associate clock pin with non-bus pin

Jump to solution

You sort-of already made it into a 'bus' when you combined 28 signals into one vector...

As an alternative, you can create 28, separate 1-bit-wide 'bus' interfaces (DATA_X0 through DATA_X27), and associate each one of them with the clock.

-Joe G.

0 Kudos
Newbie bbean
Newbie
705 Views
Registered: ‎08-27-2018

Re: How to associate clock pin with non-bus pin

Jump to solution

I agree DATA_X[27:0] is a 'vector' but not a 'bus'. What I mean by a bus is a Vivado-specific definition that gets applied when packaging the IP, selecting one or more ports, opening the context menu with right click, and choosing "Add Bus Interface...". For such bus interfaces, you can then right click on them and choose "Associate Clocks...".

What I am hoping someone will be able to tell me is how to right click on any port, bus interface or not, and choose "Associate Clocks..." (this option is currently grayed out for me).

0 Kudos
Highlighted
Voyager
Voyager
697 Views
Registered: ‎02-01-2013

Re: How to associate clock pin with non-bus pin

Jump to solution

The menu selection you reference is a bit of a distraction. One doesn't associate a clock with a signal/port/interface; one associates a bus interface with a clock. The effect of the menu selection is to put the name of the bus interface (you selected before pressing the right mouse button) in the list of bus interfaces pertaining to the ASSOCIATED_BUSIF parameter of the selected clock.

That said, I'm still having a hard time seeing your dilemma. Pack the data port into a "data_rtl" bus interface, and you'll be able to associate that interface with the clock.

2019-01-09_15-05-19.jpg

The instantiated IP should have an ordinary pin:

 

 

-Joe G.

 

Voyager
Voyager
695 Views
Registered: ‎02-01-2013

Re: How to associate clock pin with non-bus pin

Jump to solution

(continued...)

2019-01-09_15-05-53.jpg

Even if it doesn't, you should be able to access the port by 'expanding' the interface pin:

2019-01-09_14-15-13.jpg

-Joe G.

 

 

0 Kudos
Voyager
Voyager
693 Views
Registered: ‎02-01-2013

Re: How to associate clock pin with non-bus pin

Jump to solution
P.S. Be careful with that right-button menu. When I tried it, the bus interface was incorrectly connected to the clock as ASSOCIATED_RESET, instead of ASSOCIATED_BUSIF. (Vivado 17.2) I usually edit the CLK interface myself, and update the parameters by hand.
0 Kudos
Newbie bbean
Newbie
654 Views
Registered: ‎08-27-2018

Re: How to associate clock pin with non-bus pin

Jump to solution

Creating "data" buses for the pins works, and then I could use the ASSOCIATED_BUSIF property on the clock pins.

Ultimately, however, this ended up not being my problem. Instead, my problem was the source of the clocks, which came into the PicoZed on a single pin, and so couldn't take advantage of the internal clocking structure on the fabric. I got around this by using FIFOs to cross clock domains with my synchronous incoming data as the first step so that the external clock source was relied on as minimally as possible.

0 Kudos