Forum Discussion

UserID4331231's avatar
UserID4331231
Icon for Occasional Contributor rankOccasional Contributor
4 months ago

AVMM transparent bridge

Hi all

I am experimenting with PCIe example designs. In example design there in AVMM master in one of the IP block which is connected to a AVMM agent port on on chip memory IP. I understand that during RTL compilation Quartus inserts necessary logic to make AVMM connection between these ports.

For a design specific need i am interested in getting a copy of all AVMM signals at AVMM agent port. Purpose is to monitor all WR and READ activities and take action based on specific reads or writes.

what will be the best way to achieve this? is there any IPs or capabilities available via Quartus?

I am trying to avoid writing RTL for "AVMM middle man" module, which take request on its agent port and forwards using its master port and, when response is received it forwards that to original Master/requester.

12 Replies

  • Wincent_Altera's avatar
    Wincent_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi Ankit,


    Thanks for your reply, glad that the other specialist able to address your question, also thanks community expert - FVM who provide some valuable feedback.

    If there is a further question, please do file a new forum thread , we will be there to assist.


    Regards,

    Wincent


    • UserID4331231's avatar
      UserID4331231
      Icon for Occasional Contributor rankOccasional Contributor

      The response on other thread was satisfactory.

      for this thread as user FvM mentioned I am trying to copy RAM HDP instances and save them as custom memory IP generated by me.

      I think this idea can work. I will update later on my findings.

  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    Hi,

    possible solution, implement the AVMM agent as HDL component, e.g. by copying the IP implementation. Add code to tap AVMM interface signals.

    AVMM to internal RAM is quite simple design, I've implemented various FIFO memories with special features.

  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    Hi,

    there should be a link to design example files respectively a reference to development kit where it's shipped with

  • Wincent_Altera's avatar
    Wincent_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    May I know which device you are targeted ? Because each device and spec might be different.

    Generally if you wish to monitor the write and read activities without involving any RTL changing activity , I would suggest you can use below method


    1. Using Signal Tap Logic Analyzer
      1. 2.1. Signal Tap Logic Analyzer Introduction
      2. You can monitor the write and read signal - those signal naming might be slightly different depends on the device.
      3. I would suggest to refer to respective user guide on your targeted device
        1. Add a Signal Tap instance.
        2. Tap all AVMM signals at the agent port (command name will be address, writedata, readdata, write, read, chipselect, waitrequest, etc.).
        3. Use complex triggers to capture specific accesses. Export captured data for analysis.
    2. Using the System Console / In-System Sources and Probes
      1. 7.5.4. Using the In-System Sources and Probes Service
      2. Can read/write signals at runtime., BUT not a real-time HW response


    Hope that clarfied.


    Regards,

    Wincent_Altera


    • UserID4331231's avatar
      UserID4331231
      Icon for Occasional Contributor rankOccasional Contributor

      thank you Wincent for your reply,

      I am using Agilex7 FPGA.

      the AVMM master port is part of PCIe ip - and agent port at memory is intel onchip memory ip . Both are altera IP from ip catalog. the memory is mapped BAR0. in my application BAR 0 is acting as config area and based on read writes accesses to particular offsets some internal logic need to change FSM states.

      for this purpose i need to a copy of all AVMM agent port signal, Once I have copy of this signals, I can write my own RTL to monitor activities interesting to us and change internal FSM states as I wish.

      once the logic is developed I will need to do signal tap analysis to make sure my logic is working as intended, So your response regarding signal tap definitely helps, but I still need help on how can i get AVMM agent port signal copy so that I can write my own logic based on AVMM activities.

      thanks