# Implementing Convolution beginner questions

**URL:** <https://discuss.pynq.io/t/implementing-convolution-beginner-questions/2701>\
**Category:** Support\
**Created:** [May 26, 2021, 3:27pm UTC](https://discuss.pynq.io/t/implementing-convolution-beginner-questions/2701 "2021-05-26T15:27:26Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![cathalmccabe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/cathalmccabe/32/3348_2.png) [@cathalmccabe](https://discuss.pynq.io/u/cathalmccabe)\
**Post date:** [May 28, 2021, 8:18am UTC](https://discuss.pynq.io/t/implementing-convolution-beginner-questions/2701/6 "2021-05-28T08:18:16Z")

</div>

You can’t use the hls:stream type for this. You can see the workaround to use a custom struct and have a “last”.  
In the code you copied, this is the `axis_`t type which is this (in header file):

struct axis\_t {  
ap\_uint\<24\> data;  
ap\_int\<1\> last;  
};

If you call the variable in the struct _last_ it will be recognized as the AXI sideband TLAST signal.

It gets synthesized with this:  
`#pragma HLS INTERFACE axis port=src //depth=384*288 // Added depth for C/RTL cosimulation`

There is more than one way to code this so you may see different variations in different examples.

Cathal

---

_[View the full topic](https://discuss.pynq.io/t/implementing-convolution-beginner-questions/2701)._
