Hi, Wang, Morag is right about the mask parameter and BRAM sizing relationship. The subsystem you showed is used to provide each frequency channel with its own “equalization” coefficient. In the “round” block, I think “din” and the output of “coeffs” get multiplied together and then the 4 most significant bits are kept. The idea was that the coefficients could be set to flatten out any variation in amplitude across the passband. In practice we ended up setting all the coefficients to the same value (rather than individually tailoring them) because that was easier to keep track of.
One other detail that the lower comment block is trying to make (I think) is that the data presented at “din” is all the frequency channels for one input followed by all the frequency channels of another input. I think this was/is the normal output of the real-to-complex biplex FFT block being used. HTH, Dave > On Aug 31, 2022, at 1:07 PM, Morag Brown <[email protected]> wrote: > > Hi Wang, > > It looks like that block is just a bram and it's surrounding logic that's > been wrapped up as a subsystem to make things a bit easier/neater? See here > <https://www.mathworks.com/help/simulink/ug/creating-subsystems.html> for > details on subsystems in simulink. I guess that the "number of fft channels" > parameter is linked to the bram address width parameter that specifies the > size of the memory. And then I would guess that the coefficients for the fft > itself are then written to this bram at run time. If you want to change any > parameters of the blocks within this subsystem, you should just be able to > double click on any block (eg. the counter, delays, bram etc) and change them > there, but the subsystem itself was only set up to have that one parameter, > so that is the only one you'd be able to change in that window. > > Hope that clears things up, > Morag > > > > On Wed, Aug 31, 2022 at 12:47 PM 王钊 <[email protected] > <mailto:[email protected]>> wrote: > Hi Jack, > > Thanks for your reply. I will read this document carefully. > > Cheers > Wang > > Jack Hickish <[email protected] <mailto:[email protected]>> > 于2022年8月31日周三 16:35写道: > Hi Wang, > > If you haven't seen it already, this memo is probably useful -- > https://github.com/casper-astro/publications/blob/master/Memos/files/Black_box_memo.pdf > > <https://github.com/casper-astro/publications/blob/master/Memos/files/Black_box_memo.pdf> > > The PCORE yellow block doesn't contain anything because it doesn't actually > do anything in FPGA logic. All it does is tells the toolflow to include extra > source files in your build, which should have been pre-generated. The memo > above explains how to do this. > > Cheers > Jack > > On Wed, 31 Aug 2022 at 09:00, Morag Brown <[email protected] > <mailto:[email protected]>> wrote: > Hi Wang, > > I can't answer the first question, and your third is a bit confusing. Can you > send a screenshot of the block you mean? > > As for the shared_bram - this instantiates bram on hardware that is exposed > to the axi/wishbone (depending on the hardware) bus. You can write values > (vals) to this block via casperfpga by packing your data using "buf = > struct.pack('>1024i', *vals)", and then write to the bram using > "fpga.write('memory device name', buf, offset)". To read from the bram you > would do a "struct.unpack('>1024i', fpga.read('memory device > name',1024*4,0))" call - the values 1024, 4 and i will change depending on > the depth of you bram and your data width. Within the design, you need to > have a counter on the address line to iterate through the addresses that you > are writing to, and if you are planning on writing to the block via > casperfpga then you should set write enable and data input to 0; and if you > are planning to write in over the data line, then write enable should be set > high with the data line tied to wherever your values are coming from. In > simulation, you can write an array of values (for simulation only) to the > "initial values" text box within the block that opens when you double click. > Then to see what the output is doing, you can add a simulink scope block to > the bram output. > > Hope this helps a bit! > > Morag > > On Wed, Aug 31, 2022 at 7:48 AM Wang <[email protected] > <mailto:[email protected]>> wrote: > Hello CASPER, > > I am currently looking at David's simulink model of PAPER correlator and some > other people built simulink models. > > I met some questions in the process of looking at it. > I have been exposed to simulink for a short time and it is not clear how some > modules work. > > The first question.Double-click on the PCORE block and prompt me for a path. > I imitate David's input, but no response. Then I check David's PCORE block > inside also nothing, may I ask what is wrong with my operation? > > The second question.I see Share_BRAM blocks used a lot. I want to understand > the details of this block, the official website does not seem to have > Share_BRAM description. Also, I want to see what is happening to Share_BRAM > during simulation. What blocks can I do this with? > > The third question.I see that a yellow block (not the same color as > Casper-libary's block) does not have a library link. A window appears after > double-click : > Function Block Parameters: block's name > Subsystem (mask) > Parameters > Number of fft channels (same ad fft prompt)(2^?) > Is it a Subsystem block? If yes, how to add the function of double click > setting parameter? > > I really hope you can reply to me, I will be very grateful! > > BW > Wang > > > -- > You received this message because you are subscribed to the Google Groups > "[email protected] <mailto:[email protected]>" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/ebeaaba6-c293-4e8b-b874-6ee82b6e387an%40lists.berkeley.edu > > <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/ebeaaba6-c293-4e8b-b874-6ee82b6e387an%40lists.berkeley.edu?utm_medium=email&utm_source=footer>. > > -- > You received this message because you are subscribed to the Google Groups > "[email protected] <mailto:[email protected]>" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0Te8H4j7OH87VyJB%2BmEC%3DhO4aAmX_DnGG6RQKYMEUhxJAA%40mail.gmail.com > > <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0Te8H4j7OH87VyJB%2BmEC%3DhO4aAmX_DnGG6RQKYMEUhxJAA%40mail.gmail.com?utm_medium=email&utm_source=footer>. > > -- > You received this message because you are subscribed to the Google Groups > "[email protected] <mailto:[email protected]>" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG1GKS%3D2mgGySMho%2B2%3D8n0fnW-a2hAtmYaFgEGTmj3A5pUt-XQ%40mail.gmail.com > > <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG1GKS%3D2mgGySMho%2B2%3D8n0fnW-a2hAtmYaFgEGTmj3A5pUt-XQ%40mail.gmail.com?utm_medium=email&utm_source=footer>. > > -- > You received this message because you are subscribed to the Google Groups > "[email protected] <mailto:[email protected]>" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAEq%3DE3G7Rc80HFjCwopc0yyBBNMOC7OeKLQJ7yHDvdrUAuXO9A%40mail.gmail.com > > <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAEq%3DE3G7Rc80HFjCwopc0yyBBNMOC7OeKLQJ7yHDvdrUAuXO9A%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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TchsyzGj3ig9NsWw3Tuw8PJH4oorWqQJn6i50LSX1uS%2Bg%40mail.gmail.com > > <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGH-0TchsyzGj3ig9NsWw3Tuw8PJH4oorWqQJn6i50LSX1uS%2Bg%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/70DC62B0-0D7D-4AD8-90AB-70AC37392F99%40berkeley.edu.

