Hey Heystek

I would recommend trying to figure out how to do your tests without needing
so many data points.

Cheers

On Fri, Nov 26, 2021 at 3:49 PM Heystek Grobler <[email protected]>
wrote:

> Hey Andrew
>
> Thank you so much for the explanation.
>
> Is there a way to get around it by using a similar kind of block? Or
> should I rethink the sine wave that I generated that makes use of 602 000
> 000 data points?
>
> Thanks for the help!
>
> Heystek
>
> On 26 Nov 2021, at 15:46, Andrew Martens <[email protected]> wrote:
>
> Hi Heystek
>
> Simulink has a maximum BRAM size of 64k (16 bits address size). A 32 bit
> address size would equate to 4G addresses, which is far larger than the
> amount of BRAM available in the FPGA.
>
> Regards
> Andrew
>
> On Fri, Nov 26, 2021 at 3:40 PM Heystek Grobler <[email protected]>
> wrote:
>
>> Hey everyone.
>>
>> I have one last question regarding the BRAM. For my application I need an
>> address width of 32, but I get the error that  the maximum allowable
>> address width is 16. Is there away around this problem or a way to get the
>> BRAM to use an address width of 32?
>>
>> Thanks for the help!
>>
>> Heystek
>>
>> On 25 Nov 2021, at 21:28, Dan Werthimer <[email protected]> wrote:
>>
>>
>> hi morag.
>>
>> thanks for helping everyone.
>>
>> best wishes,
>>
>> dan
>>
>>
>>
>>
>> On Thu, Nov 25, 2021 at 11:25 AM Morag Brown <[email protected]> wrote:
>>
>>> Happy to help :)
>>>
>>> On Thu, Nov 25, 2021 at 9:19 PM Heystek Grobler <
>>> [email protected]> wrote:
>>>
>>>> Hey Morag!
>>>>
>>>> Know I understand!
>>>>
>>>> It is working.
>>>>
>>>> <Screenshot 2021-11-25 at 21.18.00.png>
>>>>
>>>> Thank you so much for the help!!!
>>>>
>>>> Heystek
>>>>
>>>> On 25 Nov 2021, at 21:08, Morag Brown <[email protected]> wrote:
>>>>
>>>> Hi Heystek,
>>>>
>>>> Great!
>>>>
>>>> I think Jack mentioned in an earlier email that the maximum number that
>>>> can be represented by a <32,31> fixed point system is 1 - 2^-31. Reducing
>>>> the magnitude of your sinusoid so that the peak value is below this maximum
>>>> would work. Or alternatively, scaling your values by an amount less than
>>>> 2^31 would have the same effect.
>>>>
>>>> Morag
>>>>
>>>> On Thu, Nov 25, 2021 at 8:59 PM Heystek Grobler <
>>>> [email protected]> wrote:
>>>>
>>>>> Hey Morag
>>>>>
>>>>> That worked!
>>>>>
>>>>> When I read the packed sine wave from the BRAM, unpack it and plot it,
>>>>> I get this:
>>>>>
>>>>> <Screenshot 2021-11-25 at 20.56.16.png>
>>>>>
>>>>> I assume there is one data point that is causing problems at 1 or -1
>>>>> that is overflowing? Any idea how I can fix that?
>>>>>
>>>>> Heystek
>>>>>
>>>>> On 25 Nov 2021, at 20:22, Morag Brown <[email protected]> wrote:
>>>>>
>>>>> Hi Heystek,
>>>>>
>>>>> You would need to increase the BRAM depth to one that can store all
>>>>> your data - currently, because the address width is 10, it can only store
>>>>> 2^10 (1024) points and you're trying to write 6020. So you would need to
>>>>> increase the address width to an appropriate size.
>>>>>
>>>>> Morag
>>>>>
>>>>> On Thu, Nov 25, 2021 at 8:05 PM Heystek Grobler <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hey Morag
>>>>>>
>>>>>> The BRAM has an address width 10 and a data width of 32.
>>>>>>
>>>>>> Should I increase it?
>>>>>>
>>>>>> Heystek
>>>>>>
>>>>>> On 25 Nov 2021, at 19:52, Morag Brown <[email protected]> wrote:
>>>>>>
>>>>>> Hi Heystek,
>>>>>>
>>>>>> How big is the BRAM in your design? Does it have enough space to
>>>>>> accommodate the amount of data you're trying to write to it?
>>>>>>
>>>>>> Morag
>>>>>>
>>>>>> On Thu, Nov 25, 2021 at 6:59 PM Heystek Grobler <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hey Morag and Jack
>>>>>>>
>>>>>>> Thank you for the suggestions.
>>>>>>>
>>>>>>> I played around a little bit. if I create the sine wave the same as
>>>>>>> you Morag, then it works. I am able to write it to the bram, read it 
>>>>>>> back
>>>>>>> from the bram, unpack it and get the same signal back. As soon as I use 
>>>>>>> the
>>>>>>> sine wave that I require for my application, then it breaks again.
>>>>>>>
>>>>>>> Here is what I achieved using your sine wave Morag (ps iI changed my
>>>>>>> design to 32 bit):
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.49.04.png>
>>>>>>>
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.49.34.png>
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.49.58.png>
>>>>>>>
>>>>>>> When I use my sign wave, then it does not work:
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.55.45.png>
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.56.02.png>
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.56.14.png>
>>>>>>>
>>>>>>> <Screenshot 2021-11-25 at 18.56.43.png>
>>>>>>>
>>>>>>> The only thing that changed is the sine wave. is there something
>>>>>>> that I am missing?
>>>>>>>
>>>>>>> Thanks for the help! I really appreciate it!
>>>>>>>
>>>>>>> Heystek
>>>>>>>
>>>>>>>
>>>>>>> On 25 Nov 2021, at 14:57, Morag Brown <[email protected]> wrote:
>>>>>>>
>>>>>>> I think that's because the functions used in both *In[15]* and
>>>>>>> *In[16]* do the same thing. See the screenshots below to see what I
>>>>>>> mean. So you construct the raw bytes data in *In[15]* and then try
>>>>>>> to pack that as an integer in *In]16}*, which won't work because
>>>>>>> *struct.pack('>i',A_y) *expects data of type *int* while you're
>>>>>>> actually giving it data of type bytes. To pack the data using
>>>>>>> *struct.pack()* you would need to pass it an *int* (or array of
>>>>>>> *ints* and tell it how many points you're packing). I think
>>>>>>> (someone please correct me if I'm wrong) that you only need to do one or
>>>>>>> the other to get the correct raw data to be written to BRAM.
>>>>>>>
>>>>>>> <Screenshot from 2021-11-25 14-55-29.png>
>>>>>>> <Screenshot from 2021-11-25 14-55-39.png>
>>>>>>>
>>>>>>> I also see you're scaling up by 2^31, but I think your BRAM is data
>>>>>>> width is 16 bits, so you'd likely want to scale by 2^15?
>>>>>>>
>>>>>>> Morag
>>>>>>>
>>>>>>> On Thu, Nov 25, 2021 at 12:46 PM Heystek Grobler <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hey Jack and Morag
>>>>>>>>
>>>>>>>> thank you for the advice and help! i am still getting errors and is
>>>>>>>> stuck. Below is the new errors:
>>>>>>>>
>>>>>>>> <Screenshot 2021-11-25 at 12.41.43.png>
>>>>>>>>
>>>>>>>> <Screenshot 2021-11-25 at 12.42.53.png>
>>>>>>>>
>>>>>>>> I have also attached the new script I am working on.
>>>>>>>>
>>>>>>>> Could it be that I am generating the sine wave incorrectly? I have
>>>>>>>> about 600 000 000 points that I am working with.
>>>>>>>>
>>>>>>>> I keep getting “cannot convert argument to integer when running
>>>>>>>> struct.pack.
>>>>>>>>
>>>>>>>> Thanks for the help!
>>>>>>>>
>>>>>>>> Heystek
>>>>>>>>
>>>>>>>>
>>>>>>>> On 23 Nov 2021, at 14:31, Jack Hickish <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Heystek,
>>>>>>>>
>>>>>>>> Assuming your BRAM is set for 32-bit wide, you probably want to be
>>>>>>>> writing the values with 31 bits below the binary point -- i.e. 
>>>>>>>> normalized
>>>>>>>> to the range [-1, 1)  (aka simulink FIx32_31). In this case the packed
>>>>>>>> values would be:
>>>>>>>>
>>>>>>>> struct.pack('>i', int(floating_point_sine_value * 2**31))
>>>>>>>>
>>>>>>>> Though, be careful, because +1.0 isn't included in this number
>>>>>>>> representation (the maximum is 1 - 2**-31) , so you might want to 
>>>>>>>> include
>>>>>>>> some saturation logic (or scale up by a value less than 2**31).
>>>>>>>>
>>>>>>>> For what it's worth, you can pack an entire numpy array with: 
>>>>>>>> floating_point_numpy_array.astype('>i').tobytes()
>>>>>>>> ,which saves looping and appending to a binary string.
>>>>>>>>
>>>>>>>> Does that help?
>>>>>>>>
>>>>>>>> Cheers
>>>>>>>> Jack
>>>>>>>>
>>>>>>>> On Mon, 22 Nov 2021 at 18:10, Heystek Grobler <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hey Jack
>>>>>>>>>
>>>>>>>>> I am also well thank you. We are starting to go back to the
>>>>>>>>> observatory (HartRAO) again.
>>>>>>>>>
>>>>>>>>> Here is  a snippets of the python code that I am using as well as
>>>>>>>>> my simulink design:
>>>>>>>>>
>>>>>>>>> The first nipped is where I create the sine wave:
>>>>>>>>>
>>>>>>>>> The second snipped is where I plot the sine wave:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The third snipped is where I pack the sine wave array:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The fourth snipped is where I write the packed data to the BRAM:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Snipped 5 is where I want to use the sine wave and cosine wave:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> But to check that it is working, I have created the simple design
>>>>>>>>> in snipped 6:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I have also attached my simulink design and python script.
>>>>>>>>>
>>>>>>>>> Thank you for the help!
>>>>>>>>>
>>>>>>>>> Heystek
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 22 Nov 2021, at 18:55, Jack Hickish <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hi Heystek,
>>>>>>>>>
>>>>>>>>> All good here (in London), Thanks. Hope things are going ok with
>>>>>>>>> you too!
>>>>>>>>>
>>>>>>>>> I've taken this back on list for the benefit of others. Do you
>>>>>>>>> have:
>>>>>>>>>
>>>>>>>>> a) a snippet of some python code which you're using at the moment
>>>>>>>>> b) A Simulink snippet of the BRAM you're trying to write to,
>>>>>>>>> indicating how the bram is configured and how its data are being used?
>>>>>>>>>
>>>>>>>>> Cheers
>>>>>>>>> Jack
>>>>>>>>>
>>>>>>>>> On Mon, 22 Nov 2021 at 16:52, Heystek Grobler <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hey Jack
>>>>>>>>>>
>>>>>>>>>> How are you? It has been a while since we last spoke.
>>>>>>>>>>
>>>>>>>>>> I am really struggling to pack data into binary format for my
>>>>>>>>>> design. I was wondering if you have time if you can please help me 
>>>>>>>>>> with it.
>>>>>>>>>> I have no clue if what i am doing is correct and there is no one 
>>>>>>>>>> around me
>>>>>>>>>> with the knowledge to help me.
>>>>>>>>>>
>>>>>>>>>> All that I want to do is too pack a sine wave that I already
>>>>>>>>>> generated, and write it to a BRAM.
>>>>>>>>>>
>>>>>>>>>> I hope to hear from you soon!
>>>>>>>>>>
>>>>>>>>>> Heystek
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "[email protected]" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to [email protected].
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/8791F6EA-204B-4BCC-B0DC-3CAD3D928A05%40gmail.com
>>>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/8791F6EA-204B-4BCC-B0DC-3CAD3D928A05%40gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "[email protected]" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TdWxe-sOF31vMDZxPbO37UwQFLTVHhJwbuZqXpwE6Gbsw%40mail.gmail.com
>>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TdWxe-sOF31vMDZxPbO37UwQFLTVHhJwbuZqXpwE6Gbsw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "[email protected]" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/5B9A4F5B-4F61-4CF6-AC06-6BD3432B11AB%40gmail.com
>>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/5B9A4F5B-4F61-4CF6-AC06-6BD3432B11AB%40gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "[email protected]" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TfPZw9xvQbrTbB0Vyq%2BnQwpeFaeBLy9zG0D2Hi%2BqtHd_w%40mail.gmail.com
>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TfPZw9xvQbrTbB0Vyq%2BnQwpeFaeBLy9zG0D2Hi%2BqtHd_w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "[email protected]" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/7268EAFF-680E-4659-AF96-727243B0E5F4%40gmail.com
>>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/7268EAFF-680E-4659-AF96-727243B0E5F4%40gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "[email protected]" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TcAoOWf9%2BU5Xv2w63hx7F6ANtEjoR5F5-AQa0HPMGTW_Q%40mail.gmail.com
>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TcAoOWf9%2BU5Xv2w63hx7F6ANtEjoR5F5-AQa0HPMGTW_Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "[email protected]" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/D1705232-7ECB-45BD-9A98-FEC8D137B451%40gmail.com
>>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/D1705232-7ECB-45BD-9A98-FEC8D137B451%40gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "[email protected]" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TeJ2SyBmp6FgrZtHV34xOV%2BPnMDzuBhyaWv8i8yryN9SA%40mail.gmail.com
>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TeJ2SyBmp6FgrZtHV34xOV%2BPnMDzuBhyaWv8i8yryN9SA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "[email protected]" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/B769016F-1125-4EA8-AE89-A315B5883813%40gmail.com
>>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/B769016F-1125-4EA8-AE89-A315B5883813%40gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "[email protected]" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TcwYdDqKAP4NEyw4MU7ZJ27GiVzKnBQza_pTVjzF49zMg%40mail.gmail.com
>>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TcwYdDqKAP4NEyw4MU7ZJ27GiVzKnBQza_pTVjzF49zMg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "[email protected]" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vG%2BzLYUSO5RdS_PcyBG0dGD1248cHEPJfPhdG34H6qg1w%40mail.gmail.com
>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vG%2BzLYUSO5RdS_PcyBG0dGD1248cHEPJfPhdG34H6qg1w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "[email protected]" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/1D989754-2D5F-4508-90B0-85B6841DFFB9%40gmail.com
>> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/1D989754-2D5F-4508-90B0-85B6841DFFB9%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> --
> You received this message because you are subscribed to the Google Groups "
> [email protected]" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CADEwHTdUgvr5X5RAzbCjMm7nAatktOVi3dwhy8HmbHU257Qhiw%40mail.gmail.com
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CADEwHTdUgvr5X5RAzbCjMm7nAatktOVi3dwhy8HmbHU257Qhiw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
> --
> You received this message because you are subscribed to the Google Groups "
> [email protected]" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/04ECF448-A058-4A8B-B2AE-7190A4E19B8D%40gmail.com
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/04ECF448-A058-4A8B-B2AE-7190A4E19B8D%40gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CADEwHTcaZ2PHhnQhN4d5e36bZiciZsvPPrbi8p45gT5C_TpkZg%40mail.gmail.com.

Reply via email to