Hi  Morag and Dave,

Morag, I would like to thank you for your detailed explanation of my
questions. I have gained a lot!

Thank you Dave. I didn't understand EQ at first, but your explanation
helped me. Also thank you for your PAPER correlator file, which is very
helpful to me.

Cheers,
Wang

David Harold Edward MacMahon <[email protected]> 于2022年8月31日周三 21:40写道:

> 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]> wrote:
>
>> Hi Jack,
>>
>> Thanks for your reply. I will read this document carefully.
>>
>> Cheers
>> Wang
>>
>> Jack Hickish <[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
>>>
>>> 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]> 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]> 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]" 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/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]" 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-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]" 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/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]" 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/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].
> 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
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/70DC62B0-0D7D-4AD8-90AB-70AC37392F99%40berkeley.edu?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/CAEq%3DE3EgDukgErqQSkG9Fq192z7FKx6KjG23SJyj%2B%3DsAseTO5A%40mail.gmail.com.

Reply via email to