Visible to Intel only — GUID: zqe1631829907611
Ixiasoft
Visible to Intel only — GUID: zqe1631829907611
Ixiasoft
5.3. Hardware Flow Using the F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP
You can access the F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP by using the JTAG to Avalon® Master Bridge Intel FPGA IP, Nios® II Gen 2 processor, or customized state machines. The rest of this section uses the JTAG to Avalon® Master Bridge Intel FPGA IP as an example to demonstrate the steps to add the F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP to work with a F-Tile PMA/FEC Direct PHY Intel® FPGA IP design.
- Add the F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP into your design and enable the read_data_valid port as shown in the following figures.
Figure 89. F-Tile Global Avalon Memory-Mapped Interface Intel FPGA IPFigure 90. F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP Settings
- Add the JTAG to Avalon® Master Bridge Intel FPGA IP into your design.
Figure 91. JTAG to Avalon® Master Bridge Intel FPGA IP
- Declare wires to connect the g_avmm interface to the jtag_master ports as shown in the following figure.
Note: The g_avmm_address port of g_avmm interface is 18 bits and the master_address port of jtag_master is 32 bits.Note: You need to enable the readdatavalid port in the JTAG to Avalon® Master Bridge Intel FPGA IP and connect it to the corresponding F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP port.Figure 92. F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP to JTAG to Avalon® Master Bridge Intel FPGA IP RTL Connections
- In the F-Tile PMA/FEC Direct PHY Intel® FPGA IP, disable both the datapath Avalon® interface and the PMA Avalon® interface by unchecking the interfaces as shown in the following figure.
Note: This step is optional. The datapath and PMA Avalon® interface in the F-Tile PMA/FEC Direct PHY Intel® FPGA IP and the Global Avalon® memory-mapped interface can function together.Figure 93. Disable Datapath and PMA Avalon® Interface in the F-Tile PMA/FEC Direct PHY Intel® FPGA IP
- In the Intel® Quartus® Prime Pro Edition software compilation flow, the F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP instance has to be associated with the F-Tile PMA/FEC Direct PHY Intel® FPGA IP instance using the IP_COLOCATE qsf assignment as shown below.
set_instance_assignment -name IP_COLOCATE F_TILE -from <GAVMM IP Instance Path> -to <F-tile DPHY IP Instance Path> -entity <Top-Level Entity>
- Run the Support-Logic Generation for your design in the Intel® Quartus® Prime Pro Edition software.
Figure 94. Support Logic Generation Intel® Quartus® Prime Pro Edition SoftwareNote: A Logic Generation failure is expected since the qsf assignments are not defined yet.Figure 95. Logic Generation Failure in Intel® Quartus® Prime Pro Edition Software
- Click on the compilation report next to the Logic Generation button and navigate to the IP Parameter Settings Report, Pre Placement report under Logic Generation Tool report folder as shown in the following figure.
Figure 96. Logic Generation Reports in Intel® Quartus® Prime Pro Edition Software
- Identify the F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP and F-Tile PMA/FEC Direct PHY Intel® FPGA IP instance paths.
Note: F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP instance path ends with gavmm_f_0 and the F-Tile PMA/FEC Direct PHY Intel® FPGA IP instance path ends with directphy_f_0.
- Add the IP_COLOCATE assignment in your Intel® Quartus® Prime Pro Edition software qsf file. As an example, you would add the following assignments in your qsf file for the instance report shown above.
set_instance_assignment -name IP_COLOCATE F_TILE -from Tile1_top|gavmm_inst1|gavmm_f_0 -to Tile1_top|DPHY1|directphy_f_0 -entity multi_tile_demo
set_instance_assignment -name IP_COLOCATE F_TILE -from Tile1_top|gavmm_inst1|gavmm_f_0 -to Tile1_top|DPHY2|directphy_f_0 -entity multi_tile_demo
This example is a multi-tile design with the top level named multi_tile_demo. The design has three instances of F-Tile PMA/FEC Direct PHY Intel® FPGA IP named DPHY1, DPHY2 and DPHY3 and two instances of F-Tile Global Avalon® Memory-Mapped Interface Intel® FPGA IP named gavmm_inst1 and gavmm_inst2. The DPHY1 and DPHY2 instances are placed in the same F-Tile and are accessed using gavmm_inst1 (1st and 2nd qsf assignments). The DPHY3 is placed in another F-Tile and is accessed using gavmm_inst2 (3rd qsf assignment).set_instance_assignment -name IP_COLOCATE F_TILE -from Tile2_top|gavmm_inst2|gavmm_f_0 -to Tile2_top|DPHY3|directphy_f_0 -entity multi_tile_demo
- Once you have added the IP_COLOCATE qsf assignments to your design, it should compile successfully.
- Run the Support-Logic Generation for your design in the Intel® Quartus® Prime Pro Edition software.
- To perform hardware testing to access registers using the global Avalon® interface you need to do the following:
- Write the page address of the block you want to access to the page address register: 0xffffc. The following table shows the page address of the various blocks in the F-tile.
Table 100. Block and Page Address Block Page Address EMIB 0x00 400G Hard IP 0x02 400G FEC/PMA Interface 0x04 200G Hard IP 0x06 200G FEC/PMA Interface 0x08 PCIe Hard IP 0x0A FGT PMA Quad 0 0x0C FGT PMA Quad 1 0x0D FGT PMA Quad 2 0x0E FGT PMA Quad 3 0x0F FHT PMA 0x10 - You can then read and write values to the offset register address to access the registers.
As an example, here are steps to access the registers in a FGT PMA in quad 3 for a one channel 25G design.
- Read address 0xffffc; it should be 0x00000000.
- Write 0xf to address 0xffffc.
- Read address 0xffffc; it should be 0x0000000f.
- Now you can read the various offset address registers to access the register values. In this example, you can read address 0xf0010, 0x40740, and 0x62000 and get their register values.
- Write the page address of the block you want to access to the page address register: 0xffffc. The following table shows the page address of the various blocks in the F-tile.