Forum Discussion

gdoraisa's avatar
gdoraisa
Icon for New Contributor rankNew Contributor
1 day ago

NIOS interface to HPS in Agilex 5 for communication.

The question is about having NIOS design interacting with HPS of same FPGA. The NIOS would be created as design partition and imported to the HPS project.

My understanding is normally this is done through the FPGA2HPS/HPS2FPGA bridge. How this is implemented in project where the NIOS is imported design partition in the HPS project.

3 Replies

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

    Hi gdoralsa,

    HPS and/or NIOSV hardware development is done in Platform designer. With an HPS+(LP)DDR4 established system, you can add to it the NIOS-V and connect its instruction_manager and data_manager busses to the HPS fpga2hps pipe.

    The NIOS-V needs an onchip_memory at its base address of 0x0000_0000 for its code execution. The NIOS-V Reset Vector needs to be set to this SRAM, or Absolute address 0x0000_0000.

    Does this help?

     

    • gdoraisa's avatar
      gdoraisa
      Icon for New Contributor rankNew Contributor

      The NIOS design is done by a different vendor. They provide a design-partitioned “.QXP” file either as a post-synthesis or post-fitting type. That design file can only be imported and used by the project that has the HPS-based design. Both designs are done with the same FPGA device part number. So one design can be imported to the other. However, source files from the design partition not available.

      Both exchange data but operate independently. Both will have their own memory map.

      Doing it all in one platform designer (add NIOS) and doing FPGA2HPS is not how we can do it because NIOS-based source files are not available.

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

        You'll need to export the HPS bridges out of PD and connect them in code.