Visible to Intel only — GUID: zel1674087480185
Ixiasoft
2.1. System Architecture
2.2. Data Path Between Ethernet MAC and MACsec
2.3. Data Path Between MACsec and MCDMA
2.4. Data Path Between MACsec and Packet Generator/Checker (Packet Client)
2.5. Data Path Illustrations
2.6. Interrupts
2.7. Packet FIFO
2.8. AXI-ST Rate Controller
2.9. Error Handling
2.10. Top Level Signals
6.5.1.1. MACsec Reset Sequence
6.5.1.2. TX Configuration Sequence
6.5.1.3. RX Configuration Sequence
6.5.1.4. TX Rekeying Sequence
6.5.1.5. RX Rekeying Sequence
6.5.1.6. Cut Through/Store Forward Mode
6.5.1.7. User Single/Multi Port Settings
6.5.1.8. Encrypt/Decrypt Port
6.5.1.9. Port Priority
6.5.1.10. Interrupt Generation and Register
6.6.1. macsec_initilize
6.6.2. macsec_get_attributes
6.6.3. macsec_get_sa_attributes
6.6.4. macsec_set_attributes
6.6.5. macsec_set_sa_attributes
6.6.6. macsec_read_register
6.6.7. macsec_write_register
6.6.8. macsec_set_port_configuration
6.6.9. macsec_rate_configuration
6.6.10. macsec_single_or_multi_port
6.6.11. macsec_crypto_mode
6.6.12. macsec_port_priority
6.6.13. macsec_register_isr
7.1. Software Requirements
7.2. Obtaining the Reference Design
7.3. Reference Design Directory Structure
7.4. Simulation Command Arguments
7.5. Simulation Test Cases
7.6. Complete Simulation Command
7.7. Simulation Requirements
7.8. Running Non-UVM Simulation
7.9. Running UVM Simulation
7.10. Building, Installing, and Running the Software
7.11. Building the Hardware Design
Visible to Intel only — GUID: zel1674087480185
Ixiasoft
7.11. Building the Hardware Design
The hardware design is built using the Quartus software. The design goes through various steps beginning at RTL design, then going through synthesis, fitter stages, and SOF generation. Follow the steps below to build the hardware design.
- Navigate to the env/ directory.
- Source the environment settings. This is to be done only once in a shell.
-- source setup.sh
- Navigate up one directory to the syn/ subdirectory.
- Enter the following command to update the .qsf file.
- For E-Tile designs:
- For 25G: sh agx_wr_mudv/speed_selection.sh agx_wr_mudv 25G
- For 100G: sh_agx_wr_mudv/speed_selection.sh agx_wr_mudv 100G
- For F-Tile designs:
- For 25G: sh agx_nr_mudv/support_logic_gen.sh agx_nr_mudv 25G
- For 100g: sh agx_nr_mudv/support_logic_gen.sh agx_nr_mudv 100G
- For E-Tile designs:
- Run the make command to execute the build steps.
- For F-Tile designs, use agx_nr_mudv in the below commands. For E-tile designs, use agx_wr_mudv.
- Run this command to execute clean, setup, synthesis & fitter steps:
make build TARGET=agx_nr_mudv
- Run this command to open the project in gui:
make gui TARGET=agx_nr_mudv
- Run this command to clean the previous results:
make clean TARGET=agx_nr_mudv
- Run this command to execute only the synthesis stage:
make clean setup synth TARGET=agx_nr_mudv
- Run this command to execute only the fitter stage, provided all the synth outputs are present already:
make fit TARGET=agx_nr_mudv
- Run this command to execute clean, setup, synthesis & fitter steps:
- For F-Tile designs, use agx_nr_mudv in the below commands. For E-tile designs, use agx_wr_mudv.
Note: Quartus run is generated under the $SRD_ROOTDIR/syn/<TARGET>/output_files after every run.