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: 
Highlighted
Visitor meany2195
Visitor
102 Views
Registered: ‎01-23-2019

Unequal length input and output hls stream

I have an input matrix of size 154*256 containing complex variable elements. I need to process my input matrix and recreate an output matrix of size 256*256. Iam trying to carry out this processing on DMA which requires me to convert the matrix into a stream of data. Therefore iam converting my input matrix into a stream, where as my output stream needs to have a size of 256*256. How can I process input stream in a hls block, as to obtain complete zeroes after 154*256 on the output stream. Since my tlast is going to be high on completion of streaming input data.

0 Kudos
2 Replies
Scholar u4223374
Scholar
76 Views
Registered: ‎04-26-2015

Re: Unequal length input and output hls stream

Can you post the code that you've got so far? It'll probably be easier to explain it as a modification of that code than starting from scratch.

 

The concept is actually pretty simple: detect TLAST on the input, but strip it out so it doesn't get sent to the output. Then add all the zeros that you need, and for the last one of those add TLAST on the output.

Visitor meany2195
Visitor
60 Views
Registered: ‎01-23-2019

Re: Unequal length input and output hls stream

I tried to implement the code in which I have a complete stream of 154*256 input data.. The output of the block should be 256*256 which should be zeroes til 102*256 and after 154*256. 

Rest of the window of 102*256 to 154*256 should stream the input data as it is. 

I have attached a snippet of the code using which I created the hls block and a snapshot of the output .

Iam getting a random stream of zeroes in between the results in RX buffer, which is not targeted.

Can you please tell me, if there is any error in the logic of the block created ? Or am I not understanding the concept of the way data is being streamed

 

0 Kudos