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: 
Visitor lbondan
Visitor
9,000 Views
Registered: ‎10-23-2013

Vector input to Vivado Block

Hi,

 

I'm working on a block of spectrum sensing using Vivado HLS.
This block will be integrated with a VHDL implementation of a Dual-port RAM (a clock is used to write and a faster clock is used to read) that is filled with values from an AD convertor.
To fill the RAM, the AD clock is used (112MHz). This RAM is the input of the sensing block (implemented in C)
But, the sensing block should execute in a faster clock (120MHz).
I'm having problems to copy the values from the Dual-port RAM to the sensing block, because I don't know how the signal generated by the Vivado HLS work.
I tried to declare a vector as input to the sensing block, that was synthetized as a memory. After pulse the ap_start, I copy each position from the RAM to the sensing block, passing the data and an address to the sensing block.
However, when the ap_done is high, the output of the spectrum sensing is always zero.
I performed a lot of tests in the C code with CMokery library to validate the implementation, and it works fine in the C simulation.

 

Anyone can help?

 

Thanks,

 

0 Kudos
8 Replies
Xilinx Employee
Xilinx Employee
8,973 Views
Registered: ‎03-24-2010

Re: Vector input to Vivado Block

How about C/RTL Co-simulation?

When you saying "copy the values from the Dual-port RAM to the sensing block", do you integerate the HLS output with your rtl design?

Regards,
brucey
----------------------------------------------------------------------------------------------
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
Highlighted
Visitor lbondan
Visitor
8,968 Views
Registered: ‎10-23-2013

Re: Vector input to Vivado Block

Yes, I'm trying to pass the values stored in the dual-port RAM (VHLD design) to the sensing block created on Vivado HLS and synthesized with ISE (a .ngc file). This integration is synthesized using ISE. The resulting .bin is recorded in a Virtex 6 board, developed specifically for this project.

 

At each clock cycle (the faster one) when the ap_ready is up, a value form the RAM is read and copied  to the sensing block.

I implemented the sensing with two inputs: the value received from the RAM and an address to store the value in a internal memory of the sensing block (an static vector in C). The sensing block output is an integer (with 32 bits)

When the sensing done is up, it is ready to read the next value from the RAM.

After 256 reads (size of the RAM), the output of  the sensing block will be valid (before it the internal RAM was incomplete).

However, the sensing output value is always zero.

 

P.S.: When the sensing block is evaluated with a C test bench (using Vivado HLS), the sensing appears to be correct.

 

0 Kudos
Teacher muzaffer
Teacher
8,965 Views
Registered: ‎03-31-2012

Re: Vector input to Vivado Block

I have seen several people complain about HLS and block ram connectivity. It seems there is an issue with the generated RTL in terms of address signals to the block ram. Can you try 2013.3 ?
- 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
Visitor lbondan
Visitor
8,959 Views
Registered: ‎10-23-2013

Re: Vector input to Vivado Block

We have an academical license of Vivado HLS version 2012.4.
I don't know if is possible to use a newest version.
I will try generate a new license and post the results.

Thanks!
0 Kudos
Xilinx Employee
Xilinx Employee
8,942 Views
Registered: ‎11-28-2007

Re: Vector input to Vivado Block

Can add a chipscope ILA core to your design and capture waveform of signals on the HLS block?

 

 

 


@lbondan wrote:

Yes, I'm trying to pass the values stored in the dual-port RAM (VHLD design) to the sensing block created on Vivado HLS and synthesized with ISE (a .ngc file). This integration is synthesized using ISE. The resulting .bin is recorded in a Virtex 6 board, developed specifically for this project.

 

At each clock cycle (the faster one) when the ap_ready is up, a value form the RAM is read and copied  to the sensing block.

I implemented the sensing with two inputs: the value received from the RAM and an address to store the value in a internal memory of the sensing block (an static vector in C). The sensing block output is an integer (with 32 bits)

When the sensing done is up, it is ready to read the next value from the RAM.

After 256 reads (size of the RAM), the output of  the sensing block will be valid (before it the internal RAM was incomplete).

However, the sensing output value is always zero.

 

P.S.: When the sensing block is evaluated with a C test bench (using Vivado HLS), the sensing appears to be correct.

 




Cheers,
Jim
0 Kudos
Visitor lbondan
Visitor
8,933 Views
Registered: ‎10-23-2013

Re: Vector input to Vivado Block

How can I do it?

0 Kudos
Moderator
Moderator
8,906 Views
Registered: ‎04-17-2011

Re: Vector input to Vivado Block

Add Chipscope Definition File (CDC) in your ISE project and then open it to map the signals from the HLS block to debug. Look for Chipscope tutorial in xilinx.com website.
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
Visitor lbondan
Visitor
8,900 Views
Registered: ‎10-23-2013

Re: Vector input to Vivado Block

Thanks Debraj.

 

I will try it and post the results.

 

0 Kudos