Is there an example of the openmac IP core utilizing just internal ram? I am trying to port over the design to the MAX10 development board and I am having some troubles as the memory are not the same on the DE-115 board (I am using the DE-115 single cn example as a reference).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
the openMAC IP's packet buffer locations can be set to "local" which refers to internal RAM (M9K/M10K). Open the Qsys design of the single CN demo (cnSigneGpio.qsys) and change the settings of the component openmac_0:
Tx Buffer Location to "Local"
Rx Buffer Location to "Local"
This creates an Avalon MM slave interface (pktBuf) and must be connected to the cpu bridge, so that Nios can access it. Also assign addresses and set the clock to clk100.
Now you need to specify sizes for the Tx and Rx buffers in kiB. Usually for a CN 7-8 kiB Tx buffer size is sufficient. Rx buffer size is more tricky, depends on the stack configuration. If you disable Virtual Ethernet (comment CONFIG_INCLUDE_VETH) and deferred release for asynchronous Rx buffers (set CONFIG_DLL_DEFERRED_RXFRAME_RELEASE_ASYNC to FALSE), 25 kiB might by sufficient. Refer to stack/proj/generic/liboplkcn/oplkcfg.h
Best regards,
Joerg
Last edit: Joerg Zelenka 2016-10-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you very much. What I am having problems with is the cn_pcp.qsys design. The reset vector is set to absolute. When I try to change it to the internal memory I get issues. Any help would be greatly appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not sure which issues you are facing, I assume that due to the change the reset and exception vector overlap and/or point to the same address. Thus, set the reset vector to the base of the internal memory with offset 0x0 and the exception vector to the same base, but with offset 0x20.
Hope this helps!
Best regards,
Joerg
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is there an example of the openmac IP core utilizing just internal ram? I am trying to port over the design to the MAX10 development board and I am having some troubles as the memory are not the same on the DE-115 board (I am using the DE-115 single cn example as a reference).
Hello,
the openMAC IP's packet buffer locations can be set to "local" which refers to internal RAM (M9K/M10K). Open the Qsys design of the single CN demo (cnSigneGpio.qsys) and change the settings of the component openmac_0:
This creates an Avalon MM slave interface (pktBuf) and must be connected to the cpu bridge, so that Nios can access it. Also assign addresses and set the clock to clk100.
Now you need to specify sizes for the Tx and Rx buffers in kiB. Usually for a CN 7-8 kiB Tx buffer size is sufficient. Rx buffer size is more tricky, depends on the stack configuration. If you disable Virtual Ethernet (comment CONFIG_INCLUDE_VETH) and deferred release for asynchronous Rx buffers (set CONFIG_DLL_DEFERRED_RXFRAME_RELEASE_ASYNC to FALSE), 25 kiB might by sufficient. Refer to stack/proj/generic/liboplkcn/oplkcfg.h
Best regards,
Joerg
Last edit: Joerg Zelenka 2016-10-13
Hello Joerg,
Thank you very much. What I am having problems with is the cn_pcp.qsys design. The reset vector is set to absolute. When I try to change it to the internal memory I get issues. Any help would be greatly appreciated.
Last edit: Ignacio Aguilar 2016-10-14
Hello Ignacio,
I'm not sure which issues you are facing, I assume that due to the change the reset and exception vector overlap and/or point to the same address. Thus, set the reset vector to the base of the internal memory with offset 0x0 and the exception vector to the same base, but with offset 0x20.
Hope this helps!
Best regards,
Joerg