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.

