Training Package - Application Note - Ip
Ip
CrossDomain
Description:
The user can cross clock domain properly thanks to NanoXplore IP. Implemented IP are:
IP_CDC: simple signal data clock domain crossing
FIFO: data bus clock domain crossing
IP_CDC is included in NanoXplore release.
FIFO IP is generated with NxCore software.
Environment:
Here after the table of compliances for this testcase.
Variant | NG-MEDIUM NG-LARGE NG-ULTRA |
Embedded | Yes |
Simulation | Yes |
Attributes |
|
IP | IP_CDC FIFO |
Methods | addIp |
Table: Ip CrossDomain environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in progress.rpt that soft IP are synthesized.
Simulation check: Check output of CDC and FIFO IP.
Board check: No board purpose for this testcase.
Ddr2Dfi
Description:
The user can interface with a DDR2 memory thanks to the NanoXplore DDR2 DFI IP.
This is only an IP for the physical interface and the DDR2 controller is not provided. For instance, contact 3D+ to get a DDR2 Controller.
It is a hardware IP as it configures IO and implement PLL and WFG from CKG.
The user has to adapt the pinout file to fit to the project needs.
For additional information, please have a look at NanoXplore_DDR2_DFI_IP documentation available on DDR2 DFI IP.
Environment:
Here after the table of compliances for this testcase.
Variant | NG-MEDIUM NG-LARGE NG-ULTRA |
Embedded | No |
Simulation | No |
Attributes |
|
IP | IP_DFI |
Methods | addIp |
Table: Ip Ddr2Dfi environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in progress.rpt that the IP is synthesized.
Simulation check: No simulation environment is available for this testcase.
Board check: Switches and leds allow to control and receive data.
ExportIp
Description:
The user can generate an IP with its design and reuse it in a top project using exportAsIPCore NXpython method.
Exported IP can be genereted encrypted or not depending on set option.
Hereafter an example for this method:
p.exportAsIPCore('../hierarchical_ip.vhd', {'coreName': 'hierarchical','encrypt':'All'})
Environment:
Here after the table of compliances for this testcase.
Variant | NG-MEDIUM NG-LARGE NG-ULTRA |
Embedded | Yes |
Simulation | No |
Attributes |
|
IP |
|
Methods | ExportAsIPCore |
Table: Ip ExportIp environment
Option: There is one option to check the impact of this constraint:
No option: RTL files are directly used.
ExportIp: RTL files are used to generate an encrypted IP and this IP is reused to generate a new project.
NanoXmap check: After project launching, the user can check in hdlfiles.rpt that IP is used to generate the new project.
Simulation check: No simulation environment is available for this testcase.
Board check: No board purpose for this testcase.
HsslEsistream
Description:
The user can interface with HSSL links thanks to the NanoXplore HSSL macro cell.
The HSSL configuration is compliant with ESI stream protocol.
The implemented design is an external loopback.
The architecture of wrapper_hssl_esistream block is described as below :
Signal | Type | Description |
hssl_clock_i | In | HSSL clock input |
reset_n | In | Global reset for the application |
pma_ck_ref_i | In | Reference clock (for NG-LARGE DevKit, it is coming from an external oscillator (ESIstream 156MHz)) |
tx_rst_n | Out | Transmitter reset |
usr_tx_busy_o | Out | Asserted when reset is in progress |
usr_tx_esistream_sync_i | In | End of multiframe ESIstream synchronization input signal |
usr_tx_ctrl_driver_pwrdwn_i | In | TX driver is deactivated when asserted; output is at high impedance |
usr_tx_data_i | In | 8 data symbols to be sent by TX |
hssl_clock_o | Out | HSSL user clock sent to the fabric (48MHz) |
usr_pll_lock_o | Out | ‘1’: PMA CDR Pll is locked (Async Signal) |
usr_rx_ctrl_not_in_table_o | Out | Indicates presence of a not in table error in the corresponding symbol, when asserted. |
usr_rx_ctrl_dscr_null_o | Out | Indicates which octet is a lane character. The block marks where /A/ character was received, before replacing it based on the character replacement rules. |
usr_rx_ctrl_char_is_aligned_o | Out | Asserted when symbol is aligned. |
usr_rx_busy_o | Out | Asserted when reset is in progress. |
usr_rx_pll_lock_o | Out | Asserted when RX PLL is locked. |
usr_rx_esistream_sync_o | Out | End of multiframe ESIstream synchronization output signal |
Environment:
Here after the table of compliances for this testcase.
Variant | NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | NX_HSSL_L_FULL |
Methods | createClock |
Table: Ip HsslEsistream environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI macro cells are observable in the GUI.
Simulation check: No simulation environment is available for this testcase.
Board check: The user can program the NanoXplore NG-LARGE Evaluation Board with the following steps:
1- Launch the script with the following command:
NXpython script_NG-LARGE.py
-> Make sure the bitstream is successfully generated.
2- Configure the FPGA with the following command:
nxbase2_cli NXmap/switch_NG-LARGE/bitstream.nxb
-> Make sure the LED named "Ready" on the Devkit is turned on
3- Check the following points :
ERROR FLAG deactivated on J15 PIN1
HSSL_CLK at 48MHz on J15 PIN3
ESISTREAM SYNC RX/TX activated on J15 PIN 5
RX_PLL_LOCKED activated on J15 PIN7
PMA RX CLOCK on on J15 PIN13
R5BootOutTcm
Description:
The user can interface with R5 Core thanks to the NanoXplore R5 interface macro cell.
R5 Core uses Axi Master port to boot.
Hereafter the architecture of the design:
Environment:
Here after the table of compliances for this testcase.
Variant | NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | NX_R5_L_WRAP NX_SCOPE NX_PLL NX_WFG |
Methods | addMemoryInitialization addMappingDirective |
Table: Ip R5BootOutTcm environment
Option: Only mainADD option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI that macro cell is observable.
Simulation check: No simulation environment is available for this testcase.
Board check: No board purpose for this testcase.
R5AxiSlave
Description:
The user can interface with R5 Core thanks to the NanoXplore R5 interface macro cell.
R5 Core uses Axi Slave port to boot on TCM memory.
Hereafter the architecture of the design:
Environment:
Here after the table of compliances for this testcase.
Variant | NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | NX_R5_L_WRAP NX_SCOPE NX_PLL NX_WFG |
Methods | addMemoryInitialization addMappingDirective |
Table: Ip R5AxiSlave environment
Option: Only mainADD option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI that macro cell is observable.
Simulation check: No simulation environment is available for this testcase.
Board check: No board purpose for this testcase.
R5Jtag
Description:
The user can interface with R5 Core thanks to the NanoXplore R5 interface macro cell.
R5 Core uses DAP port to boot on TCM memory.
Hereafter the architecture of the design:
Environment:
Here after the table of compliances for this testcase.
Variant | NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | NX_R5_L_WRAP |
Methods |
|
Table: Ip R5Jtag environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI that macro cell is observable.
Simulation check: No simulation environment is available for this testcase.
Board check: No board purpose for this testcase.
Serdes
Description:
The user can send and receive data at high speed thanks to the NanoXplore SERDES macro cells.
SERDES IP can only be implemented in complex banks.
Environment:
Here after the table of compliances for this testcase.
Variant | NG-MEDIUM NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | NX_SER NX_DES NX_WFG |
Methods |
|
Table: Ip Serdes environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI that macro cell is observable.
Simulation check: No simulation environment is available for this testcase.
Board check: No board purpose for this testcase.
SpacewireLoopback
Description:
The user can communicate with Spacewire link thanks to the NanoXplore SpaceWire macro cell.
SpaceWire IP can only be implemented in complex banks.
The implemented design is an external loopback.
Environment:
Here after the table of compliances for this testcase.
Variant | NG-MEDIUM NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | IP_SPW_BANK IP_FIFO_part NX_PLL NX_WFG |
Methods | addIp |
Table: Ip SpacewireLoopback environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI that macro cells are observable.
Simulation check: No simulation environment is available for this testcase.
Board check: The user can program the NanoXplore Evaluation Boards with the following steps:
1- Launch the script with the following command:
-> Make sure the bitstream is successfully generated.
2- Configure the FPGA with the following command:
-> Make sure the LED named "Ready" on the Devkit is turned on
3- Check data is displayed on LED.
SpacewireRoadmap
Description:
The user can communicate with Spacewire link and Roadmap protocol thanks to the NanoXplore SpaceWire macro cell.
SpaceWire Roadmap IP from Service bank can be used only in case of not used for configuration in Slave Spacewire mode.
Environment:
Here after the table of compliances for this testcase.
Variant | NG-MEDIUM NG-LARGE |
Embedded | No |
Simulation | No |
Attributes |
|
IP | NX_PLL NX_WFG |
Methods |
|
Table: Ip SpacewireRoadmap environment
Option: No option is available for this testcase.
NanoXmap check: After project launching, the user can check in the GUI connections with SPW interface.
Simulation check: No simulation environment is available for this testcase.
Board check: No board purpose for this testcase.
© NanoXplore 2022