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: 
5,381 Views
Registered: ‎12-02-2013

Directive Dependence

Hey,

 

i have a design which consists of a toplevel function and this one has many functions in it.

Each of this functions has static arrays where data is read at the beginn, and data is written to the same adress at the end of the function.

The toplevel funtion runs with an II of 1.

The same adress of an array is accessed only every 4. cycle.

 

How do i tell vivado, that i access on the same adress every 4. cycle?

I tried various combinations with the set directive dependence directive, but it didn't work.

I always get the message, that i read and write at the same time, when i run the c/rtl cosimulation..

 

Paddy

0 Kudos
3 Replies
Moderator
Moderator
5,366 Views
Registered: ‎04-17-2011

Re: Directive Dependence

Tried set_directive_latency -min <value> -max <value> <function> ? Refer VHLS user guide: Functions Optimizations section.
Regards,
Debraj
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
5,362 Views
Registered: ‎12-02-2013

Re: Directive Dependence

Thanks for your reply!

 

Yes, i tried this already. But the design wasn't able to met the time requirements. I think they are simply to strict.

 

Another question: Can i tell VHLS, that in every clock cycle, writes are allowed only direct afters reads?

 

I want to improve the logic structure through the ressource directive. Is thery any document, which tells me how long certain operations take, with specific ressources?

 

I use distributed Ram as memory. Is it possible to read a value from this in one cycle with a appropriate directive? My read operation acctually needs 2 cycles.

 

0 Kudos
Moderator
Moderator
5,346 Views
Registered: ‎04-17-2011

Re: Directive Dependence

How about using set_directive_resource to implement the array as a Single Port RAM : RAM_1P_BRAM and then turn off function inlining in top using set_directive_inline -off and further using the set_directive_latency to tell your expected clock cycle requirements to guide the tool. Can you post your code so that we can also try out few things?
Regards,
Debraj
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos