diff --git a/applications/lofar2/designs/lofar2_unb2b_beamformer/lofar2_unb2b_beamformer.fpga.yaml b/applications/lofar2/designs/lofar2_unb2b_beamformer/lofar2_unb2b_beamformer.fpga.yaml index 15c8d9491520943af0974a751f9a88452407ecdf..9fb3e69c10091de3095e880c8d86d45364df93a5 100644 --- a/applications/lofar2/designs/lofar2_unb2b_beamformer/lofar2_unb2b_beamformer.fpga.yaml +++ b/applications/lofar2/designs/lofar2_unb2b_beamformer/lofar2_unb2b_beamformer.fpga.yaml @@ -51,39 +51,39 @@ peripherals: mm_port_names: - REG_FPGA_TEMP_SENS - REG_FPGA_VOLTAGE_SENS - + - peripheral_name: unb2b_board/ram_scrap mm_port_names: - RAM_SCRAP - + - peripheral_name: eth/eth mm_port_names: - AVS_ETH_0_TSE - AVS_ETH_0_REG - AVS_ETH_0_RAM - + - peripheral_name: ppsh/ppsh mm_port_names: - PIO_PPS - + - peripheral_name: epcs/epcs mm_port_names: - REG_EPCS - + - peripheral_name: dp/dpmm mm_port_names: - REG_DPMM_CTRL - REG_DPMM_DATA - + - peripheral_name: dp/mmdp mm_port_names: - REG_MMDP_CTRL - REG_MMDP_DATA - + - peripheral_name: remu/remu mm_port_names: - REG_REMU - + ############################################################################# # AIT = ADC Input and Timing (see node_adc_input_and_timing.vhd) ############################################################################# diff --git a/applications/lofar2/libraries/sdp/sdp.peripheral.yaml b/applications/lofar2/libraries/sdp/sdp.peripheral.yaml index 4703e1799ee43a64a566f6b0394ad2ee42622311..51d668cbecb859f0d5302bf339874cb805f80944 100644 --- a/applications/lofar2/libraries/sdp/sdp.peripheral.yaml +++ b/applications/lofar2/libraries/sdp/sdp.peripheral.yaml @@ -17,20 +17,20 @@ peripherals: participates in one band." mm_port_type: REG fields: - - - { field_name: station_id, width: 16, access_mode: RW, address_offset: 0x0 } - - - { field_name: antenna_band_index, width: 1, access_mode: RO, address_offset: 0x4 } - - - { field_name: observation_id, width: 32, access_mode: RW, address_offset: 0x8 } - - - { field_name: nyquist_zone_index, width: 2, access_mode: RW, address_offset: 0xC } - - - { field_name: f_adc, width: 1, access_mode: RO, address_offset: 0x10 } - - - { field_name: fsub_type, width: 1, access_mode: RO, address_offset: 0x14 } - - - { field_name: beam_repositioning_flag, width: 1, access_mode: RW, address_offset: 0x18 } - - - { field_name: subband_calibrated_flag, width: 1, access_mode: RW, address_offset: 0x1C } - - - { field_name: O_si, width: 8, access_mode: RW, address_offset: 0x20 } - - - { field_name: N_si, width: 8, access_mode: RW, address_offset: 0x24 } - - - { field_name: O_rn, width: 8, access_mode: RW, address_offset: 0x28 } - - - { field_name: N_rn, width: 8, access_mode: RW, address_offset: 0x2C } - - - { field_name: block_period, width: 16, access_mode: RO, address_offset: 0x30 } - - - { field_name: beamlet_scale, width: 16, access_mode: RW, address_offset: 0x34 } + - - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x0 } + - - { field_name: antenna_band_index, mm_width: 1, access_mode: RO, address_offset: 0x4 } + - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x8 } + - - { field_name: nyquist_zone_index, mm_width: 2, access_mode: RW, address_offset: 0xC } + - - { field_name: f_adc, mm_width: 1, access_mode: RO, address_offset: 0x10 } + - - { field_name: fsub_type, mm_width: 1, access_mode: RO, address_offset: 0x14 } + - - { field_name: beam_repositioning_flag, mm_width: 1, access_mode: RW, address_offset: 0x18 } + - - { field_name: subband_calibrated_flag, mm_width: 1, access_mode: RW, address_offset: 0x1C } + - - { field_name: O_si, mm_width: 8, access_mode: RW, address_offset: 0x20 } + - - { field_name: N_si, mm_width: 8, access_mode: RW, address_offset: 0x24 } + - - { field_name: O_rn, mm_width: 8, access_mode: RW, address_offset: 0x28 } + - - { field_name: N_rn, mm_width: 8, access_mode: RW, address_offset: 0x2C } + - - { field_name: block_period, mm_width: 16, access_mode: RO, address_offset: 0x30 } + - - { field_name: beamlet_scale, mm_width: 16, access_mode: RW, address_offset: 0x34 } - peripheral_name: sdp_subband_equalizer # pi_sdp_subband_equalizer.py @@ -54,8 +54,8 @@ peripherals: - - field_name: coef field_description: | "Complex coefficient to calibrate the gain and phase per subband. Packed as imaginary in high part, - real in low part of width = N_complex * W_sub_weight = 2 * 16 = 32 bit." - width: 32 # = N_complex * W_sub_weight + real in low part of mm_width = N_complex * W_sub_weight = 2 * 16 = 32 bit." + mm_width: 32 # = N_complex * W_sub_weight address_offset: 0x0 number_of_fields: 1024 # = Q_fft * N_sub = 2 signal inputs * 512 subbands radix: complx @@ -102,8 +102,8 @@ peripherals: - - field_name: coef field_description: | "Complex weight per subband. Packed as imaginary in high part, real in low part - of width = N_complex * W_bf_weight = 2 * 16 = 32 bit." - width: 32 # = N_complex * W_bf_weight + of mm_width = N_complex * W_bf_weight = 2 * 16 = 32 bit." + mm_width: 32 # = N_complex * W_bf_weight address_offset: 0x0 number_of_fields: g_nof_gains radix: complx @@ -133,7 +133,7 @@ peripherals: fields: - - field_name: scale field_description: "" - width: g_gain_w + mm_width: g_gain_w address_offset: 0x0 number_of_fields: 1 radix: unsigned @@ -175,50 +175,50 @@ peripherals: mm_port_type: REG fields: # eth field group - - - { field_name: eth_destination_mac, width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } - - - { field_name: eth_source_mac, width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } - - - { field_name: eth_type, width: 16, access_mode: RO, address_offset: 0x78 } + - - { field_name: eth_destination_mac, mm_width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } + - - { field_name: eth_source_mac, mm_width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } + - - { field_name: eth_type, mm_width: 16, access_mode: RO, address_offset: 0x78 } # ip field group - - - { field_name: ip_version, width: 4, access_mode: RW, address_offset: 0x74 } - - - { field_name: ip_header_length, width: 4, access_mode: RW, address_offset: 0x70 } - - - { field_name: ip_services, width: 8, access_mode: RW, address_offset: 0x6C } - - - { field_name: ip_total_length, width: 16, access_mode: RW, address_offset: 0x68 } - - - { field_name: ip_identification, width: 16, access_mode: RW, address_offset: 0x64 } - - - { field_name: ip_flags, width: 3, access_mode: RW, address_offset: 0x60 } - - - { field_name: ip_fragment_offset, width: 13, access_mode: RW, address_offset: 0x5C } - - - { field_name: ip_time_to_live, width: 8, access_mode: RW, address_offset: 0x58 } - - - { field_name: ip_protocol, width: 8, access_mode: RW, address_offset: 0x54 } - - - { field_name: ip_header_checksum, width: 16, access_mode: RW, address_offset: 0x50 } - - - { field_name: ip_source_address, width: 32, access_mode: RW, address_offset: 0x4C } - - - { field_name: ip_destination_address, width: 32, access_mode: RW, address_offset: 0x48 } + - - { field_name: ip_version, mm_width: 4, access_mode: RW, address_offset: 0x74 } + - - { field_name: ip_header_length, mm_width: 4, access_mode: RW, address_offset: 0x70 } + - - { field_name: ip_services, mm_width: 8, access_mode: RW, address_offset: 0x6C } + - - { field_name: ip_total_length, mm_width: 16, access_mode: RW, address_offset: 0x68 } + - - { field_name: ip_identification, mm_width: 16, access_mode: RW, address_offset: 0x64 } + - - { field_name: ip_flags, mm_width: 3, access_mode: RW, address_offset: 0x60 } + - - { field_name: ip_fragment_offset, mm_width: 13, access_mode: RW, address_offset: 0x5C } + - - { field_name: ip_time_to_live, mm_width: 8, access_mode: RW, address_offset: 0x58 } + - - { field_name: ip_protocol, mm_width: 8, access_mode: RW, address_offset: 0x54 } + - - { field_name: ip_header_checksum, mm_width: 16, access_mode: RW, address_offset: 0x50 } + - - { field_name: ip_source_address, mm_width: 32, access_mode: RW, address_offset: 0x4C } + - - { field_name: ip_destination_address, mm_width: 32, access_mode: RW, address_offset: 0x48 } # udp field group - - - { field_name: udp_source_port, width: 16, access_mode: RW, address_offset: 0x44 } - - - { field_name: udp_destination_port, width: 16, access_mode: RW, address_offset: 0x40 } - - - { field_name: udp_length, width: 16, access_mode: RW, address_offset: 0x3C } - - - { field_name: udp_checksum, width: 16, access_mode: RW, address_offset: 0x38 } + - - { field_name: udp_source_port, mm_width: 16, access_mode: RW, address_offset: 0x44 } + - - { field_name: udp_destination_port, mm_width: 16, access_mode: RW, address_offset: 0x40 } + - - { field_name: udp_length, mm_width: 16, access_mode: RW, address_offset: 0x3C } + - - { field_name: udp_checksum, mm_width: 16, access_mode: RW, address_offset: 0x38 } # application field group - - - { field_name: marker, width: 8, access_mode: RO, address_offset: 0x34 } - - - { field_name: version_id, width: 8, access_mode: RO, address_offset: 0x30 } - - - { field_name: observation_id, width: 32, access_mode: RW, address_offset: 0x2C } - - - { field_name: station_id, width: 16, access_mode: RW, address_offset: 0x28 } - - - { field_name: source_info, width: 16, access_mode: RW, address_offset: 0x24 } + - - { field_name: marker, mm_width: 8, access_mode: RO, address_offset: 0x34 } + - - { field_name: version_id, mm_width: 8, access_mode: RO, address_offset: 0x30 } + - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x2C } + - - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x28 } + - - { field_name: source_info, mm_width: 16, access_mode: RW, address_offset: 0x24 } - "source_info": - - { field_name: antenna_band_index, width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } - - { field_name: nyquist_zone_index, width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } - - { field_name: f_adc, width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } - - { field_name: fsub_type, width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } - - { field_name: payload_error, width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } - - { field_name: repositioning_flag, width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } - - { field_name: beamlet_width, width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } - - { field_name: gn_index, width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } - - - - { field_name: reserved, width: 32, user_width: 40, access_mode: RW, address_offset: 0x1C } - - - { field_name: beamlet_scale, width: 16, access_mode: RW, address_offset: 0x18 } - - - { field_name: beamlet_index, width: 16, access_mode: RW, address_offset: 0x14 } - - - { field_name: nof_blocks_per_packet, width: 8, access_mode: RW, address_offset: 0x10 } - - - { field_name: nof_beamlets_per_block, width: 16, access_mode: RW, address_offset: 0xC } - - - { field_name: block_period, width: 16, access_mode: RW, address_offset: 0x8 } - - - { field_name: BSN, width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } + - { field_name: antenna_band_index, mm_width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } + - { field_name: nyquist_zone_index, mm_width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } + - { field_name: f_adc, mm_width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } + - { field_name: fsub_type, mm_width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } + - { field_name: payload_error, mm_width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } + - { field_name: repositioning_flag, mm_width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } + - { field_name: beamlet_width, mm_width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } + - { field_name: gn_index, mm_width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } + + - - { field_name: reserved, mm_width: 32, user_width: 40, access_mode: RW, address_offset: 0x1C } + - - { field_name: beamlet_scale, mm_width: 16, access_mode: RW, address_offset: 0x18 } + - - { field_name: beamlet_index, mm_width: 16, access_mode: RW, address_offset: 0x14 } + - - { field_name: nof_blocks_per_packet, mm_width: 8, access_mode: RW, address_offset: 0x10 } + - - { field_name: nof_beamlets_per_block, mm_width: 16, access_mode: RW, address_offset: 0xC } + - - { field_name: block_period, mm_width: 16, access_mode: RW, address_offset: 0x8 } + - - { field_name: BSN, mm_width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } - peripheral_name: sdp_statistics_offload_hdr_dat_sst # pi_dp_offload_tx_hdr_dat_lofar2_sdp_statistics_offload.py @@ -239,57 +239,57 @@ peripherals: mm_port_type: REG fields: # eth field group - - - { field_name: word_align, width: 16, access_mode: RW, address_offset: 0x8C } - - - { field_name: eth_destination_mac, width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } - - - { field_name: eth_source_mac, width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } - - - { field_name: eth_type, width: 16, access_mode: RO, address_offset: 0x78 } + - - { field_name: word_align, mm_width: 16, access_mode: RW, address_offset: 0x8C } + - - { field_name: eth_destination_mac, mm_width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } + - - { field_name: eth_source_mac, mm_width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } + - - { field_name: eth_type, mm_width: 16, access_mode: RO, address_offset: 0x78 } # ip field group - - - { field_name: ip_version, width: 4, access_mode: RW, address_offset: 0x74 } - - - { field_name: ip_header_length, width: 4, access_mode: RW, address_offset: 0x70 } - - - { field_name: ip_services, width: 8, access_mode: RW, address_offset: 0x6C } - - - { field_name: ip_total_length, width: 16, access_mode: RW, address_offset: 0x68 } - - - { field_name: ip_identification, width: 16, access_mode: RW, address_offset: 0x64 } - - - { field_name: ip_flags, width: 3, access_mode: RW, address_offset: 0x60 } - - - { field_name: ip_fragment_offset, width: 13, access_mode: RW, address_offset: 0x5C } - - - { field_name: ip_time_to_live, width: 8, access_mode: RW, address_offset: 0x58 } - - - { field_name: ip_protocol, width: 8, access_mode: RW, address_offset: 0x54 } - - - { field_name: ip_header_checksum, width: 16, access_mode: RW, address_offset: 0x50 } - - - { field_name: ip_source_address, width: 32, access_mode: RW, address_offset: 0x4C } - - - { field_name: ip_destination_address, width: 32, access_mode: RW, address_offset: 0x48 } + - - { field_name: ip_version, mm_width: 4, access_mode: RW, address_offset: 0x74 } + - - { field_name: ip_header_length, mm_width: 4, access_mode: RW, address_offset: 0x70 } + - - { field_name: ip_services, mm_width: 8, access_mode: RW, address_offset: 0x6C } + - - { field_name: ip_total_length, mm_width: 16, access_mode: RW, address_offset: 0x68 } + - - { field_name: ip_identification, mm_width: 16, access_mode: RW, address_offset: 0x64 } + - - { field_name: ip_flags, mm_width: 3, access_mode: RW, address_offset: 0x60 } + - - { field_name: ip_fragment_offset, mm_width: 13, access_mode: RW, address_offset: 0x5C } + - - { field_name: ip_time_to_live, mm_width: 8, access_mode: RW, address_offset: 0x58 } + - - { field_name: ip_protocol, mm_width: 8, access_mode: RW, address_offset: 0x54 } + - - { field_name: ip_header_checksum, mm_width: 16, access_mode: RW, address_offset: 0x50 } + - - { field_name: ip_source_address, mm_width: 32, access_mode: RW, address_offset: 0x4C } + - - { field_name: ip_destination_address, mm_width: 32, access_mode: RW, address_offset: 0x48 } # udp field group - - - { field_name: udp_source_port, width: 16, access_mode: RW, address_offset: 0x44 } - - - { field_name: udp_destination_port, width: 16, access_mode: RW, address_offset: 0x40 } - - - { field_name: udp_length, width: 16, access_mode: RW, address_offset: 0x3C } - - - { field_name: udp_checksum, width: 16, access_mode: RW, address_offset: 0x38 } + - - { field_name: udp_source_port, mm_width: 16, access_mode: RW, address_offset: 0x44 } + - - { field_name: udp_destination_port, mm_width: 16, access_mode: RW, address_offset: 0x40 } + - - { field_name: udp_length, mm_width: 16, access_mode: RW, address_offset: 0x3C } + - - { field_name: udp_checksum, mm_width: 16, access_mode: RW, address_offset: 0x38 } # application field group - - - { field_name: marker, width: 8, access_mode: RO, address_offset: 0x34 } - - - { field_name: version_id, width: 8, access_mode: RO, address_offset: 0x30 } - - - { field_name: observation_id, width: 32, access_mode: RW, address_offset: 0x2C } - - - { field_name: station_id, width: 16, access_mode: RW, address_offset: 0x28 } - - - { field_name: source_info, width: 16, access_mode: RW, address_offset: 0x24 } + - - { field_name: marker, mm_width: 8, access_mode: RO, address_offset: 0x34 } + - - { field_name: version_id, mm_width: 8, access_mode: RO, address_offset: 0x30 } + - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x2C } + - - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x28 } + - - { field_name: source_info, mm_width: 16, access_mode: RW, address_offset: 0x24 } - "source_info": - - { field_name: antenna_band_index, width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } - - { field_name: nyquist_zone_index, width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } - - { field_name: f_adc, width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } - - { field_name: fsub_type, width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } - - { field_name: payload_error, width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } - - { field_name: beam_repositioning_flag, width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } - - { field_name: subband_calibrated_flag, width: 1, bit_offset: 8, access_mode: RW, address_offset: 0x24 } - - { field_name: reserved, width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } - - { field_name: gn_index, width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } - - - - { field_name: reserved, width: 8, access_mode: RW, address_offset: 0x20 } - - - { field_name: integration_interval, width: 24, access_mode: RW, address_offset: 0x1C } - - - { field_name: data_id, width: 32, access_mode: RW, address_offset: 0x18 } + - { field_name: antenna_band_index, mm_width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } + - { field_name: nyquist_zone_index, mm_width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } + - { field_name: f_adc, mm_width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } + - { field_name: fsub_type, mm_width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } + - { field_name: payload_error, mm_width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } + - { field_name: beam_repositioning_flag, mm_width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } + - { field_name: subband_calibrated_flag, mm_width: 1, bit_offset: 8, access_mode: RW, address_offset: 0x24 } + - { field_name: reserved, mm_width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } + - { field_name: gn_index, mm_width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } + + - - { field_name: reserved, mm_width: 8, access_mode: RW, address_offset: 0x20 } + - - { field_name: integration_interval, mm_width: 24, access_mode: RW, address_offset: 0x1C } + - - { field_name: data_id, mm_width: 32, access_mode: RW, address_offset: 0x18 } - "data_id_sst": - - { field_name: reserved, width: 24, bit_offset: 8, access_mode: RW, address_offset: 0x18 } - - { field_name: signal_input_index, width: 8, bit_offset: 0, access_mode: RW, address_offset: 0x18 } + - { field_name: reserved, mm_width: 24, bit_offset: 8, access_mode: RW, address_offset: 0x18 } + - { field_name: signal_input_index, mm_width: 8, bit_offset: 0, access_mode: RW, address_offset: 0x18 } - - - { field_name: nof_signal_inputs, width: 8, access_mode: RW, address_offset: 0x14 } - - - { field_name: nof_bytes_per_statistic, width: 8, access_mode: RW, address_offset: 0x10 } - - - { field_name: nof_statistics_per_packet, width: 16, access_mode: RW, address_offset: 0xC } - - - { field_name: block_period, width: 16, access_mode: RW, address_offset: 0x8 } - - - { field_name: BSN, width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } + - - { field_name: nof_signal_inputs, mm_width: 8, access_mode: RW, address_offset: 0x14 } + - - { field_name: nof_bytes_per_statistic, mm_width: 8, access_mode: RW, address_offset: 0x10 } + - - { field_name: nof_statistics_per_packet, mm_width: 16, access_mode: RW, address_offset: 0xC } + - - { field_name: block_period, mm_width: 16, access_mode: RW, address_offset: 0x8 } + - - { field_name: BSN, mm_width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } - peripheral_name: sdp_statistics_offload_hdr_dat_bst # pi_dp_offload_tx_hdr_dat_lofar2_sdp_statistics_offload.py @@ -310,57 +310,57 @@ peripherals: mm_port_type: REG fields: # eth field group - - - { field_name: word_align, width: 16, access_mode: RW, address_offset: 0x8C } - - - { field_name: eth_destination_mac, width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } - - - { field_name: eth_source_mac, width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } - - - { field_name: eth_type, width: 16, access_mode: RO, address_offset: 0x78 } + - - { field_name: word_align, mm_width: 16, access_mode: RW, address_offset: 0x8C } + - - { field_name: eth_destination_mac, mm_width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } + - - { field_name: eth_source_mac, mm_width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } + - - { field_name: eth_type, mm_width: 16, access_mode: RO, address_offset: 0x78 } # ip field group - - - { field_name: ip_version, width: 4, access_mode: RW, address_offset: 0x74 } - - - { field_name: ip_header_length, width: 4, access_mode: RW, address_offset: 0x70 } - - - { field_name: ip_services, width: 8, access_mode: RW, address_offset: 0x6C } - - - { field_name: ip_total_length, width: 16, access_mode: RW, address_offset: 0x68 } - - - { field_name: ip_identification, width: 16, access_mode: RW, address_offset: 0x64 } - - - { field_name: ip_flags, width: 3, access_mode: RW, address_offset: 0x60 } - - - { field_name: ip_fragment_offset, width: 13, access_mode: RW, address_offset: 0x5C } - - - { field_name: ip_time_to_live, width: 8, access_mode: RW, address_offset: 0x58 } - - - { field_name: ip_protocol, width: 8, access_mode: RW, address_offset: 0x54 } - - - { field_name: ip_header_checksum, width: 16, access_mode: RW, address_offset: 0x50 } - - - { field_name: ip_source_address, width: 32, access_mode: RW, address_offset: 0x4C } - - - { field_name: ip_destination_address, width: 32, access_mode: RW, address_offset: 0x48 } + - - { field_name: ip_version, mm_width: 4, access_mode: RW, address_offset: 0x74 } + - - { field_name: ip_header_length, mm_width: 4, access_mode: RW, address_offset: 0x70 } + - - { field_name: ip_services, mm_width: 8, access_mode: RW, address_offset: 0x6C } + - - { field_name: ip_total_length, mm_width: 16, access_mode: RW, address_offset: 0x68 } + - - { field_name: ip_identification, mm_width: 16, access_mode: RW, address_offset: 0x64 } + - - { field_name: ip_flags, mm_width: 3, access_mode: RW, address_offset: 0x60 } + - - { field_name: ip_fragment_offset, mm_width: 13, access_mode: RW, address_offset: 0x5C } + - - { field_name: ip_time_to_live, mm_width: 8, access_mode: RW, address_offset: 0x58 } + - - { field_name: ip_protocol, mm_width: 8, access_mode: RW, address_offset: 0x54 } + - - { field_name: ip_header_checksum, mm_width: 16, access_mode: RW, address_offset: 0x50 } + - - { field_name: ip_source_address, mm_width: 32, access_mode: RW, address_offset: 0x4C } + - - { field_name: ip_destination_address, mm_width: 32, access_mode: RW, address_offset: 0x48 } # udp field group - - - { field_name: udp_source_port, width: 16, access_mode: RW, address_offset: 0x44 } - - - { field_name: udp_destination_port, width: 16, access_mode: RW, address_offset: 0x40 } - - - { field_name: udp_length, width: 16, access_mode: RW, address_offset: 0x3C } - - - { field_name: udp_checksum, width: 16, access_mode: RW, address_offset: 0x38 } + - - { field_name: udp_source_port, mm_width: 16, access_mode: RW, address_offset: 0x44 } + - - { field_name: udp_destination_port, mm_width: 16, access_mode: RW, address_offset: 0x40 } + - - { field_name: udp_length, mm_width: 16, access_mode: RW, address_offset: 0x3C } + - - { field_name: udp_checksum, mm_width: 16, access_mode: RW, address_offset: 0x38 } # application field group - - - { field_name: marker, width: 8, access_mode: RO, address_offset: 0x34 } - - - { field_name: version_id, width: 8, access_mode: RO, address_offset: 0x30 } - - - { field_name: observation_id, width: 32, access_mode: RW, address_offset: 0x2C } - - - { field_name: station_id, width: 16, access_mode: RW, address_offset: 0x28 } - - - { field_name: source_info, width: 16, access_mode: RW, address_offset: 0x24 } + - - { field_name: marker, mm_width: 8, access_mode: RO, address_offset: 0x34 } + - - { field_name: version_id, mm_width: 8, access_mode: RO, address_offset: 0x30 } + - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x2C } + - - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x28 } + - - { field_name: source_info, mm_width: 16, access_mode: RW, address_offset: 0x24 } - "source_info": - - { field_name: antenna_band_index, width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } - - { field_name: nyquist_zone_index, width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } - - { field_name: f_adc, width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } - - { field_name: fsub_type, width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } - - { field_name: payload_error, width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } - - { field_name: beam_repositioning_flag, width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } - - { field_name: subband_calibrated_flag, width: 1, bit_offset: 8, access_mode: RW, address_offset: 0x24 } - - { field_name: reserved, width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } - - { field_name: gn_index, width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } - - - - { field_name: reserved, width: 8, access_mode: RW, address_offset: 0x20 } - - - { field_name: integration_interval, width: 24, access_mode: RW, address_offset: 0x1C } - - - { field_name: data_id, width: 32, access_mode: RW, address_offset: 0x18 } + - { field_name: antenna_band_index, mm_width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } + - { field_name: nyquist_zone_index, mm_width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } + - { field_name: f_adc, mm_width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } + - { field_name: fsub_type, mm_width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } + - { field_name: payload_error, mm_width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } + - { field_name: beam_repositioning_flag, mm_width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } + - { field_name: subband_calibrated_flag, mm_width: 1, bit_offset: 8, access_mode: RW, address_offset: 0x24 } + - { field_name: reserved, mm_width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } + - { field_name: gn_index, mm_width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } + + - - { field_name: reserved, mm_width: 8, access_mode: RW, address_offset: 0x20 } + - - { field_name: integration_interval, mm_width: 24, access_mode: RW, address_offset: 0x1C } + - - { field_name: data_id, mm_width: 32, access_mode: RW, address_offset: 0x18 } - "data_id_bst": - - { field_name: reserved, width: 16, bit_offset: 16, access_mode: RW, address_offset: 0x18 } - - { field_name: beamlet_index, width: 16, bit_offset: 0, access_mode: RW, address_offset: 0x18 } + - { field_name: reserved, mm_width: 16, bit_offset: 16, access_mode: RW, address_offset: 0x18 } + - { field_name: beamlet_index, mm_width: 16, bit_offset: 0, access_mode: RW, address_offset: 0x18 } - - - { field_name: nof_signal_inputs, width: 8, access_mode: RW, address_offset: 0x14 } - - - { field_name: nof_bytes_per_statistic, width: 8, access_mode: RW, address_offset: 0x10 } - - - { field_name: nof_statistics_per_packet, width: 16, access_mode: RW, address_offset: 0xC } - - - { field_name: block_period, width: 16, access_mode: RW, address_offset: 0x8 } - - - { field_name: BSN, width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } + - - { field_name: nof_signal_inputs, mm_width: 8, access_mode: RW, address_offset: 0x14 } + - - { field_name: nof_bytes_per_statistic, mm_width: 8, access_mode: RW, address_offset: 0x10 } + - - { field_name: nof_statistics_per_packet, mm_width: 16, access_mode: RW, address_offset: 0xC } + - - { field_name: block_period, mm_width: 16, access_mode: RW, address_offset: 0x8 } + - - { field_name: BSN, mm_width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } - peripheral_name: sdp_statistics_offload_hdr_dat_xst # pi_dp_offload_tx_hdr_dat_lofar2_sdp_statistics_offload.py @@ -382,57 +382,57 @@ peripherals: mm_port_type: REG fields: # eth field group - - - { field_name: word_align, width: 16, access_mode: RW, address_offset: 0x8C } - - - { field_name: eth_destination_mac, width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } - - - { field_name: eth_source_mac, width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } - - - { field_name: eth_type, width: 16, access_mode: RO, address_offset: 0x78 } + - - { field_name: word_align, mm_width: 16, access_mode: RW, address_offset: 0x8C } + - - { field_name: eth_destination_mac, mm_width: 32, user_width: 48, access_mode: RW, address_offset: 0x84 } + - - { field_name: eth_source_mac, mm_width: 32, user_width: 48, access_mode: RO, address_offset: 0x7C } + - - { field_name: eth_type, mm_width: 16, access_mode: RO, address_offset: 0x78 } # ip field group - - - { field_name: ip_version, width: 4, access_mode: RW, address_offset: 0x74 } - - - { field_name: ip_header_length, width: 4, access_mode: RW, address_offset: 0x70 } - - - { field_name: ip_services, width: 8, access_mode: RW, address_offset: 0x6C } - - - { field_name: ip_total_length, width: 16, access_mode: RW, address_offset: 0x68 } - - - { field_name: ip_identification, width: 16, access_mode: RW, address_offset: 0x64 } - - - { field_name: ip_flags, width: 3, access_mode: RW, address_offset: 0x60 } - - - { field_name: ip_fragment_offset, width: 13, access_mode: RW, address_offset: 0x5C } - - - { field_name: ip_time_to_live, width: 8, access_mode: RW, address_offset: 0x58 } - - - { field_name: ip_protocol, width: 8, access_mode: RW, address_offset: 0x54 } - - - { field_name: ip_header_checksum, width: 16, access_mode: RW, address_offset: 0x50 } - - - { field_name: ip_source_address, width: 32, access_mode: RW, address_offset: 0x4C } - - - { field_name: ip_destination_address, width: 32, access_mode: RW, address_offset: 0x48 } + - - { field_name: ip_version, mm_width: 4, access_mode: RW, address_offset: 0x74 } + - - { field_name: ip_header_length, mm_width: 4, access_mode: RW, address_offset: 0x70 } + - - { field_name: ip_services, mm_width: 8, access_mode: RW, address_offset: 0x6C } + - - { field_name: ip_total_length, mm_width: 16, access_mode: RW, address_offset: 0x68 } + - - { field_name: ip_identification, mm_width: 16, access_mode: RW, address_offset: 0x64 } + - - { field_name: ip_flags, mm_width: 3, access_mode: RW, address_offset: 0x60 } + - - { field_name: ip_fragment_offset, mm_width: 13, access_mode: RW, address_offset: 0x5C } + - - { field_name: ip_time_to_live, mm_width: 8, access_mode: RW, address_offset: 0x58 } + - - { field_name: ip_protocol, mm_width: 8, access_mode: RW, address_offset: 0x54 } + - - { field_name: ip_header_checksum, mm_width: 16, access_mode: RW, address_offset: 0x50 } + - - { field_name: ip_source_address, mm_width: 32, access_mode: RW, address_offset: 0x4C } + - - { field_name: ip_destination_address, mm_width: 32, access_mode: RW, address_offset: 0x48 } # udp field group - - - { field_name: udp_source_port, width: 16, access_mode: RW, address_offset: 0x44 } - - - { field_name: udp_destination_port, width: 16, access_mode: RW, address_offset: 0x40 } - - - { field_name: udp_length, width: 16, access_mode: RW, address_offset: 0x3C } - - - { field_name: udp_checksum, width: 16, access_mode: RW, address_offset: 0x38 } + - - { field_name: udp_source_port, mm_width: 16, access_mode: RW, address_offset: 0x44 } + - - { field_name: udp_destination_port, mm_width: 16, access_mode: RW, address_offset: 0x40 } + - - { field_name: udp_length, mm_width: 16, access_mode: RW, address_offset: 0x3C } + - - { field_name: udp_checksum, mm_width: 16, access_mode: RW, address_offset: 0x38 } # application field group - - - { field_name: marker, width: 8, access_mode: RO, address_offset: 0x34 } - - - { field_name: version_id, width: 8, access_mode: RO, address_offset: 0x30 } - - - { field_name: observation_id, width: 32, access_mode: RW, address_offset: 0x2C } - - - { field_name: station_id, width: 16, access_mode: RW, address_offset: 0x28 } - - - { field_name: source_info, width: 16, access_mode: RW, address_offset: 0x24 } + - - { field_name: marker, mm_width: 8, access_mode: RO, address_offset: 0x34 } + - - { field_name: version_id, mm_width: 8, access_mode: RO, address_offset: 0x30 } + - - { field_name: observation_id, mm_width: 32, access_mode: RW, address_offset: 0x2C } + - - { field_name: station_id, mm_width: 16, access_mode: RW, address_offset: 0x28 } + - - { field_name: source_info, mm_width: 16, access_mode: RW, address_offset: 0x24 } - "source_info": - - { field_name: antenna_band_index, width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } - - { field_name: nyquist_zone_index, width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } - - { field_name: f_adc, width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } - - { field_name: fsub_type, width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } - - { field_name: payload_error, width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } - - { field_name: beam_repositioning_flag, width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } - - { field_name: subband_calibrated_flag, width: 1, bit_offset: 8, access_mode: RW, address_offset: 0x24 } - - { field_name: reserved, width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } - - { field_name: gn_index, width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } - - - - { field_name: reserved, width: 8, access_mode: RW, address_offset: 0x20 } - - - { field_name: integration_interval, width: 24, access_mode: RW, address_offset: 0x1C } - - - { field_name: data_id, width: 32, access_mode: RW, address_offset: 0x18 } + - { field_name: antenna_band_index, mm_width: 1, bit_offset: 15, access_mode: RW, address_offset: 0x24 } + - { field_name: nyquist_zone_index, mm_width: 2, bit_offset: 13, access_mode: RW, address_offset: 0x24 } + - { field_name: f_adc, mm_width: 1, bit_offset: 12, access_mode: RW, address_offset: 0x24 } + - { field_name: fsub_type, mm_width: 1, bit_offset: 11, access_mode: RW, address_offset: 0x24 } + - { field_name: payload_error, mm_width: 1, bit_offset: 10, access_mode: RW, address_offset: 0x24 } + - { field_name: beam_repositioning_flag, mm_width: 1, bit_offset: 9, access_mode: RW, address_offset: 0x24 } + - { field_name: subband_calibrated_flag, mm_width: 1, bit_offset: 8, access_mode: RW, address_offset: 0x24 } + - { field_name: reserved, mm_width: 3, bit_offset: 5, access_mode: RW, address_offset: 0x24 } + - { field_name: gn_index, mm_width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x24 } + + - - { field_name: reserved, mm_width: 8, access_mode: RW, address_offset: 0x20 } + - - { field_name: integration_interval, mm_width: 24, access_mode: RW, address_offset: 0x1C } + - - { field_name: data_id, mm_width: 32, access_mode: RW, address_offset: 0x18 } - "data_id_xst": - - { field_name: reserved, width: 7, bit_offset: 25, access_mode: RW, address_offset: 0x18 } - - { field_name: subband_index, width: 9, bit_offset: 16, access_mode: RW, address_offset: 0x18 } - - { field_name: signal_input_A_index, width: 8, bit_offset: 8, access_mode: RW, address_offset: 0x18 } - - { field_name: signal_input_B_index, width: 8, bit_offset: 0, access_mode: RW, address_offset: 0x18 } - - - - { field_name: nof_signal_inputs, width: 8, access_mode: RW, address_offset: 0x14 } - - - { field_name: nof_bytes_per_statistic, width: 8, access_mode: RW, address_offset: 0x10 } - - - { field_name: nof_statistics_per_packet, width: 16, access_mode: RW, address_offset: 0xC } - - - { field_name: block_period, width: 16, access_mode: RW, address_offset: 0x8 } - - - { field_name: BSN, width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } + - { field_name: reserved, mm_width: 7, bit_offset: 25, access_mode: RW, address_offset: 0x18 } + - { field_name: subband_index, mm_width: 9, bit_offset: 16, access_mode: RW, address_offset: 0x18 } + - { field_name: signal_input_A_index, mm_width: 8, bit_offset: 8, access_mode: RW, address_offset: 0x18 } + - { field_name: signal_input_B_index, mm_width: 8, bit_offset: 0, access_mode: RW, address_offset: 0x18 } + + - - { field_name: nof_signal_inputs, mm_width: 8, access_mode: RW, address_offset: 0x14 } + - - { field_name: nof_bytes_per_statistic, mm_width: 8, access_mode: RW, address_offset: 0x10 } + - - { field_name: nof_statistics_per_packet, mm_width: 16, access_mode: RW, address_offset: 0xC } + - - { field_name: block_period, mm_width: 16, access_mode: RW, address_offset: 0x8 } + - - { field_name: BSN, mm_width: 32, user_width: 64, access_mode: RW, address_offset: 0x0 } diff --git a/boards/uniboard1/libraries/unb1_board/unb1_board.peripheral.yaml b/boards/uniboard1/libraries/unb1_board/unb1_board.peripheral.yaml index e85ac86d90071a13a312f2a805e5a9ac0be32bba..f9c7e041629aa64c58f7eba0281b6c4bcd903a1d 100644 --- a/boards/uniboard1/libraries/unb1_board/unb1_board.peripheral.yaml +++ b/boards/uniboard1/libraries/unb1_board/unb1_board.peripheral.yaml @@ -51,7 +51,7 @@ peripherals: mm_port_type : REG fields: - - field_name : nios_reset - width : 32 + mm_width : 32 access_mode : WO address_offset : 0x0 number_of_fields: 1 @@ -92,7 +92,7 @@ peripherals: mm_port_type : REG fields: - - field_name : sens_data - width : 8 + mm_width : 8 access_mode : RO address_offset: 0x0 number_of_fields: 4 @@ -104,14 +104,14 @@ peripherals: 0x3 = hot_swap_v_source" - - field_name : sens_err - width : 1 + mm_width : 1 access_mode : RO address_offset: 0x10 radix : unsigned field_description: "" - - field_name : temp_high - width : 7 + mm_width : 7 address_offset: 0x14 reset_value : g_temp_high software_value: g_temp_high diff --git a/boards/uniboard2b/designs/unb2b_minimal/unb2b_minimal.fpga.yaml b/boards/uniboard2b/designs/unb2b_minimal/unb2b_minimal.fpga.yaml index 01243fd42502200dbbc1ec823b7c66f6cb3da100..678ac4ecf5d194ca2db33c22031bf92dd773ca73 100644 --- a/boards/uniboard2b/designs/unb2b_minimal/unb2b_minimal.fpga.yaml +++ b/boards/uniboard2b/designs/unb2b_minimal/unb2b_minimal.fpga.yaml @@ -24,11 +24,11 @@ peripherals: mm_port_names: - REG_FPGA_TEMP_SENS - REG_FPGA_VOLTAGE_SENS - + - peripheral_name: unb2b_board/ram_scrap mm_port_names: - RAM_SCRAP - + - peripheral_name: eth/eth mm_port_names: - AVS_ETH_0_TSE @@ -42,17 +42,17 @@ peripherals: - peripheral_name: epcs/epcs mm_port_names: - REG_EPCS - + - peripheral_name: dp/dpmm mm_port_names: - REG_DPMM_CTRL - REG_DPMM_DATA - + - peripheral_name: dp/mmdp mm_port_names: - REG_MMDP_CTRL - REG_MMDP_DATA - + - peripheral_name: remu/remu mm_port_names: - REG_REMU diff --git a/boards/uniboard2b/libraries/unb2b_board/unb2b_board.peripheral.yaml b/boards/uniboard2b/libraries/unb2b_board/unb2b_board.peripheral.yaml index 1446b091aecfe4be79ec88229d6da1a960ed82e2..adcdf622aee27b92cfcf0d1bc9a5336324597be2 100644 --- a/boards/uniboard2b/libraries/unb2b_board/unb2b_board.peripheral.yaml +++ b/boards/uniboard2b/libraries/unb2b_board/unb2b_board.peripheral.yaml @@ -52,56 +52,56 @@ peripherals: # Each field specified - - field_name: info field_description: "Info" - width: 32 + mm_width: 32 bit_offset: 0 access_mode: RO address_offset: 0x0 - "info": # field_group - field_name: gn_index field_description: "Global node index, unb2 FPGA id = gn_index % 4, unb2 backplane id = gn_index // 4" - width: 8 + mm_width: 8 bit_offset: 0 access_mode: RO address_offset: 0x0 - field_name: hw_version field_description: "UniBoard2 hardware (HW) version." - width: 2 + mm_width: 2 bit_offset: 8 access_mode: RO address_offset: 0x0 - field_name: cs_sim field_description: "0 when running on HW, 1 when running in simulation." - width: 1 + mm_width: 1 bit_offset: 10 access_mode: RO address_offset: 0x0 - field_name: fw_version_major field_description: "FPGA Firmware (FW) version major number, not used use version stamp instead." - width: 4 + mm_width: 4 bit_offset: 16 access_mode: RO address_offset: 0x0 - field_name: fw_version_minor field_description: "FPGA Firmware (FW) version minor number, not used use version stamp instead." - width: 4 + mm_width: 4 bit_offset: 20 access_mode: RO address_offset: 0x0 - field_name: rom_version field_description: "Version of the mmap schema in ROM_SYSTEM_INFO." - width: 3 + mm_width: 3 bit_offset: 24 access_mode: RO address_offset: 0x0 - field_name: technology field_description: "FPGA technology" - width: 5 + mm_width: 5 bit_offset: 27 access_mode: RO address_offset: 0x0 - - field_name: use_phy field_description: "PHY interfaces that are active in the FPGA, not used." - width: 8 + mm_width: 8 access_mode: RO address_offset: 0x4 - - field_name: design_name diff --git a/libraries/base/common/common.peripheral.yaml b/libraries/base/common/common.peripheral.yaml index b9ad15bbbc80f89fafefa2a7b4e206061810d813..e59577af29c67ebbd2b74a5090337502014ade1a 100644 --- a/libraries/base/common/common.peripheral.yaml +++ b/libraries/base/common/common.peripheral.yaml @@ -21,6 +21,6 @@ peripherals: fields: - - field_name: enable field_description: "When 1 pass on delayed pulse to the output, else disable the output pulse." - width: 1 + mm_width: 1 access_mode: RW address_offset: 0x0 diff --git a/libraries/base/diag/diag.peripheral.yaml b/libraries/base/diag/diag.peripheral.yaml index c92c4a5823e36e62d9b5d26da9d022fb043b7b96..c5ed1b5fd9c9b168c7c93aad8e1a6fcefacd904e 100644 --- a/libraries/base/diag/diag.peripheral.yaml +++ b/libraries/base/diag/diag.peripheral.yaml @@ -20,7 +20,7 @@ peripherals: fields: - - field_name: nof_samples field_description: "Number of samples in WG period." - width: 16 + mm_width: 16 bit_offset: 16 address_offset: 0x0 - - field_name: mode @@ -30,22 +30,22 @@ peripherals: 1 = calc, uses WG buffer waveform to output sinus with ampl * sin(freq * t + phase 2 = repeat, outputs WG buffer waveform repeatedly 3 = single, outputs WG buffer waveform once" - width: 8 + mm_width: 8 bit_offset: 0 address_offset: 0x0 - - field_name: phase field_description: "Phase of WG sinus, phase = int('phase in degrees' * 2**width / 360)." - width: 16 + mm_width: 16 bit_offset: 0 address_offset: 0x4 - - field_name: freq field_description: "Frequency of WG sinus, freq = int('frequency in range 0 to 1' * f_adc * 2**width), where f_adc is sample frequency in Hz." - width: 31 + mm_width: 31 bit_offset: 0 address_offset: 0x8 - - field_name: ampl field_description: "Amplitude of WG sinus, ampl = int('amplitude in range 0 to 2' * 2**(width-1), where amplitude > 1 causes clipping." - width: 17 + mm_width: 17 bit_offset: 0 address_offset: 0xC # MM port for mms_diag_wg_wideband.vhd @@ -56,7 +56,7 @@ peripherals: fields: - - field_name: data field_description: "Waveform default is one sinus period (diag_sin_1024x18.hex)." - width: 18 # = c_wg_buf_dat_w in node_adc_input_and_timing.vhd + mm_width: 18 # = c_wg_buf_dat_w in node_adc_input_and_timing.vhd address_offset: 0x0 number_of_fields: 1024 # = 2**c_wg_buf_addr_w in node_adc_input_and_timing.vhd @@ -91,7 +91,7 @@ peripherals: fields: - - field_name: data field_description: "" - width: g_data_w + mm_width: g_data_w address_offset: 0x0 number_of_fields: g_nof_data diff --git a/libraries/base/dp/dp.peripheral.yaml b/libraries/base/dp/dp.peripheral.yaml index 2b8a2d2c526b0493f40e9c2debbe8270d88a4ca2..f8074a6c5e7c3810f4d81524dfce44a3d745f3eb 100644 --- a/libraries/base/dp/dp.peripheral.yaml +++ b/libraries/base/dp/dp.peripheral.yaml @@ -73,7 +73,7 @@ peripherals: field_description: | "When enable_stream = 0 the data stream is stopped, else when 1 then the data stream is passed on. Toggling the data stream on or off happens at block or packet boundaries." - width: 1 + mm_width: 1 access_mode: RW address_offset: 0x0 number_of_fields: 1 #g_nof_streams #sel_a_b(g_combine_streams, 1, g_nof_streams) @@ -95,7 +95,7 @@ peripherals: fields: - - field_name: shift field_description: "Fill level of the sample delay buffer in number of data samples." - width: ceil_log2(g_nof_words) + mm_width: ceil_log2(g_nof_words) access_mode: RW address_offset: 0x0 @@ -116,12 +116,12 @@ peripherals: "When 1 then enable BSN source, else when 0 disable BSN source. If dp_on_pps is 0, then dp_on = 1 enables the BSN source immediately. To enable the BSN source at the next PPS, then first set dp_on_pps = 1. Clearing dp_on stops the BSN source." - width: 1 + mm_width: 1 access_mode: RW address_offset: 0x0 - - field_name: dp_on_pps field_description: "When 1 and dp_on = 1 then enable BSN source at next PPS." - width: 1 + mm_width: 1 bit_offset: 1 access_mode: RW address_offset: 0x0 @@ -162,12 +162,12 @@ peripherals: "When 1 then enable BSN source, else when 0 disable BSN source. If dp_on_pps is 0, then dp_on = 1 enables the BSN source immediately. To enable the BSN source at the next PPS, then first set dp_on_pps = 1. Clearing dp_on stops the BSN source." - width: 1 + mm_width: 1 access_mode: RW address_offset: 0x0 - - field_name: dp_on_pps field_description: "When 1 and dp_on = 1, then enable BSN source at next PPS." - width: 1 + mm_width: 1 bit_offset: 1 access_mode: RW address_offset: 0x0 @@ -190,7 +190,7 @@ peripherals: address_offset: 0x8 - - field_name: bsn_time_offset field_description: "The BSN block time offset in number of clock cycles, with respect to the PPS." - width: g_bsn_time_offset_w + mm_width: g_bsn_time_offset_w access_mode: RW address_offset: 0x10 @@ -232,19 +232,19 @@ peripherals: fields: - - field_name: xon_stable field_description: "Data block flow control xon signal was active and stable during last sync interval." - width: 1 + mm_width: 1 bit_offset: 0 access_mode: RO address_offset: 0x0 - - field_name: ready_stable field_description: "Clock cycle flow control ready signal was active and stable during last sync interval." - width: 1 + mm_width: 1 bit_offset: 1 access_mode: RO address_offset: 0x0 - - field_name: sync_timeout field_description: "Data stream sync did not occur during last sync interval." - width: 1 + mm_width: 1 bit_offset: 2 # EK TODO: 2 is correct, but using 1 cause gen_doc.py to fail without clear error, because fields then overlap access_mode: RO address_offset: 0x0 @@ -306,19 +306,19 @@ peripherals: fields: - - field_name: xon_stable field_description: "Data block flow control xon signal was active and stable during last sync interval." - width: 1 + mm_width: 1 bit_offset: 0 access_mode: RO address_offset: 0x0 - - field_name: ready_stable field_description: "Clock cycle flow control ready signal was active and stable during last sync interval." - width: 1 + mm_width: 1 bit_offset: 1 access_mode: RO address_offset: 0x0 - - field_name: sync_timeout field_description: "Data stream sync did not occur during last sync interval." - width: 1 + mm_width: 1 bit_offset: 1 access_mode: RO address_offset: 0x0 @@ -365,6 +365,6 @@ peripherals: field_description: | "When input_select = 0 select the reference data stream(s), else when 1 select the other data stream(s). The input_select is synchronsized to the start of a sync interval." - width: 1 + mm_width: 1 access_mode: RW address_offset: 0x0 diff --git a/libraries/base/reorder/reorder.peripheral.yaml b/libraries/base/reorder/reorder.peripheral.yaml index d74d0333fecd7b8a8243da6ffa36e6847b71716a..30e5ecff51b449a4b2ccbf02aee3570f23c93c9d 100644 --- a/libraries/base/reorder/reorder.peripheral.yaml +++ b/libraries/base/reorder/reorder.peripheral.yaml @@ -28,7 +28,7 @@ peripherals: fields: - - field_name: index field_description: "" - width: ceil_log2(g_nof_ch_in) + mm_width: ceil_log2(g_nof_ch_in) address_offset: 0x0 number_of_fields: g_nof_ch_sel diff --git a/libraries/dsp/bf/bf.peripheral.yaml b/libraries/dsp/bf/bf.peripheral.yaml index 12c36e3e1a9c95371dbcca9f63b5a2f2d83604fb..547dc9a11ae7cb9fb5c29a64f63a0128d77ca811 100644 --- a/libraries/dsp/bf/bf.peripheral.yaml +++ b/libraries/dsp/bf/bf.peripheral.yaml @@ -23,7 +23,7 @@ peripherals: mm_port_type: RAM fields: - - field_name : bf_weights - width : g_bf.in_weights_w * c_nof_complex + mm_width : g_bf.in_weights_w * c_nof_complex number_of_fields: g_bf.nof_signal_paths field_description: | @@ -38,7 +38,7 @@ peripherals: mm_port_type: RAM fields: - - field_name : ss_ss_wide - width : 32 + mm_width : 32 number_of_fields: g_bf.nof_subbands * g_bf.nof_input_streams * c_nof_signal_paths_per_stream # 16*4=64, nof_input_streams*nof_signal_paths_per_stream field_description: | "Contains the addresses to select from the stored subbands." @@ -51,7 +51,7 @@ peripherals: mm_port_type: RAM fields: - - field_name : st_sst_bf - width : 56 + mm_width : 56 number_of_fields: 512 access_mode : RO field_description: | diff --git a/libraries/dsp/filter/filter.peripheral.yaml b/libraries/dsp/filter/filter.peripheral.yaml index af75840c8d526380dcf05aeb4acab04678f8e6de..58e11c6ffe70779d39724e90474a9752e39ff743 100644 --- a/libraries/dsp/filter/filter.peripheral.yaml +++ b/libraries/dsp/filter/filter.peripheral.yaml @@ -39,6 +39,6 @@ peripherals: fields: - - field_name: coef field_description: "Real FIR filter coefficient" - width: g_coef_dat_w + mm_width: g_coef_dat_w address_offset: 0x0 number_of_fields: g_nof_bands / g_wb_factor diff --git a/libraries/dsp/fringe_stop/fringe_stop.peripheral.yaml b/libraries/dsp/fringe_stop/fringe_stop.peripheral.yaml index 2872466d08baf491453e722ba3bd0403fb03ed53..67772e418753ee5bfae3ee7530e80abd9be46167 100644 --- a/libraries/dsp/fringe_stop/fringe_stop.peripheral.yaml +++ b/libraries/dsp/fringe_stop/fringe_stop.peripheral.yaml @@ -19,7 +19,7 @@ peripherals: mm_port_type : RAM fields: - - field_name : fringe_stop_step - width: g_fs_step_w + mm_width: g_fs_step_w number_of_fields: g_nof_channels field_description: | "Contains the step size for all nof_channels channels." @@ -30,7 +30,7 @@ peripherals: mm_port_type : RAM fields: - - field_name: fringe_stop_offset - width: g_fs_offset_w + mm_width: g_fs_offset_w number_of_fields: g_nof_channels field_description: | "Contains the offset for all nof_channels channels." diff --git a/libraries/dsp/si/si.peripheral.yaml b/libraries/dsp/si/si.peripheral.yaml index 470bac8cdd0d81af50ff66cb9e581e19edb23db2..d738cebd2225f68bbb139bfa6e46ddea50622cb2 100644 --- a/libraries/dsp/si/si.peripheral.yaml +++ b/libraries/dsp/si/si.peripheral.yaml @@ -16,5 +16,5 @@ peripherals: fields: - - field_name: enable field_description: "When 0 then pass on the array of input signals, when 1 then enable spectral inversion for all the input signals." - width: 1 + mm_width: 1 address_offset: 0x0 diff --git a/libraries/dsp/st/st.peripheral.yaml b/libraries/dsp/st/st.peripheral.yaml index 9b44ee5f6e297b4fc638aafd0f0f19809669d498..c029d6f7d5b6a9b9157f4a475cdddd9fa183f3b6 100644 --- a/libraries/dsp/st/st.peripheral.yaml +++ b/libraries/dsp/st/st.peripheral.yaml @@ -17,8 +17,8 @@ peripherals: # Parameters of st_sst.vhd - { name: g_nof_stat, value: 512 } # nof accumulators - { name: g_xst_enable, value: False } # False for auto powers, True for cross powers - - { name: g_stat_data_w, value: 64 } # statistics accumulator width in bits - - { name: g_stat_data_sz, value: 2 } # statistics accumulator width in 32b MM words + - { name: g_stat_data_w, value: 64 } # statistics accumulator user_width in bits + - { name: g_stat_data_sz, value: 2 } # statistics accumulator user_width in 32b MM words mm_ports: # MM port for st_sst.vhd - mm_port_name: RAM_ST_SST @@ -33,7 +33,7 @@ peripherals: fields: - - field_name: power field_description: "" - width: g_stat_data_w + mm_width: g_stat_data_w address_offset: 0x0 number_of_fields: g_nof_stat * g_stat_data_sz @@ -46,8 +46,8 @@ peripherals: - { name: g_nof_instances, value: 6 } # Parameters of st_sst.vhd, fixed in node_sdp_filterbank.vhd / sdp_pkg.vhd - { name: g_nof_stat, value: 1024 } # nof accumulators: N_sub * Q_fft = 512 * 2 = 1024 - - { name: g_stat_data_w, value: 54 } # statistics accumulator width in bits: W_statistic = 64 - - { name: g_stat_data_sz, value: 2 } # statistics accumulator width in 32b MM words: W_statistic_sz = 2 + - { name: g_stat_data_w, value: 54 } # statistics accumulator user_width in bits: W_statistic = 64 + - { name: g_stat_data_sz, value: 2 } # statistics accumulator user_width in 32b MM words: W_statistic_sz = 2 mm_ports: # MM port for st_sst.vhd - mm_port_name: RAM_ST_SST @@ -63,7 +63,7 @@ peripherals: fields: - - field_name: power field_description: "" - width: 32 + mm_width: 32 user_width: g_stat_data_w address_offset: 0x0 number_of_fields: g_nof_stat * g_stat_data_sz @@ -77,8 +77,8 @@ peripherals: - { name: g_nof_instances, value: 6 } # Parameters of st_sst.vhd, fixed in node_sdp_filterbank.vhd / sdp_pkg.vhd - { name: g_nof_stat, value: 976 } # nof accumulators: S_sub_bf * N_pol_bf = 488 * 2 = 976 - - { name: g_stat_data_w, value: 54 } # statistics accumulator width in bits: W_statistic = 64 - - { name: g_stat_data_sz, value: 2 } # statistics accumulator width in 32b MM words: W_statistic_sz = 2 + - { name: g_stat_data_w, value: 54 } # statistics accumulator user_width in bits: W_statistic = 64 + - { name: g_stat_data_sz, value: 2 } # statistics accumulator user_width in 32b MM words: W_statistic_sz = 2 mm_ports: # MM port for st_sst.vhd - mm_port_name: RAM_ST_SST @@ -93,7 +93,7 @@ peripherals: fields: - - field_name: power field_description: "" - width: 32 + mm_width: 32 user_width: g_stat_data_w address_offset: 0x0 number_of_fields: g_nof_stat * g_stat_data_sz diff --git a/libraries/io/aduh/aduh.peripheral.yaml b/libraries/io/aduh/aduh.peripheral.yaml index c364451f0f3de254af4406b59b016b9535923307..83c37cd7e7dbad3dd50b3c5dbf5b50aa29378f6e 100644 --- a/libraries/io/aduh/aduh.peripheral.yaml +++ b/libraries/io/aduh/aduh.peripheral.yaml @@ -53,7 +53,7 @@ peripherals: fields: - - field_name: data field_description: "" - width: g_symbol_w * g_nof_symbols_per_data + mm_width: g_symbol_w * g_nof_symbols_per_data address_offset: 0x0 number_of_fields: g_buffer_nof_symbols / g_nof_symbols_per_data diff --git a/libraries/io/epcs/epcs.peripheral.yaml b/libraries/io/epcs/epcs.peripheral.yaml index 2026d2bdf28c1bf9ae67ec48f00edf13fb94b0f5..a0cd36b980cbef177fd8c0b0f8a2176cd50768f4 100644 --- a/libraries/io/epcs/epcs.peripheral.yaml +++ b/libraries/io/epcs/epcs.peripheral.yaml @@ -27,45 +27,45 @@ peripherals: fields: - - field_name: addr field_description: "Address to write to or read from." - width: 24 + mm_width: 24 access_mode: WO address_offset: 0x0 - - field_name: rden field_description: "Read enable bit." - width: 1 + mm_width: 1 access_mode: WO address_offset: 0x4 - - field_name: read_bit field_description: "Read bit." - width: 1 + mm_width: 1 access_mode: WO side_effect: PW address_offset: 0x8 - - field_name: write_bit field_description: "Write bit." - width: 1 + mm_width: 1 access_mode: WO side_effect: PW address_offset: 0xc - - field_name: sector_erase field_description: "Sector erase bit." - width: 1 + mm_width: 1 access_mode: WO address_offset: 0x10 - - field_name: busy field_description: "Busy bit." - width: 1 + mm_width: 1 access_mode: RO address_offset: 0x14 - - field_name: unprotect field_description: "Use 0xBEDA221E (= Bedazzle) as password to unprotect address range." - width: 32 + mm_width: 32 access_mode: WO address_offset: 0x18 diff --git a/libraries/io/nw_10GbE/nw_10GbE.peripheral.yaml b/libraries/io/nw_10GbE/nw_10GbE.peripheral.yaml index 704335142b480d22362f0fec75559eede8bdea8e..768fc28810ecf90f9c87c1f2fc03047f1c905048 100644 --- a/libraries/io/nw_10GbE/nw_10GbE.peripheral.yaml +++ b/libraries/io/nw_10GbE/nw_10GbE.peripheral.yaml @@ -31,120 +31,120 @@ peripherals: mm_port_description: "MAC registers" number_of_mm_ports: g_nof_macs fields: - - - {field_name: rx_transfer_control, width: 1, access_mode: RW, address_offset: 0x0000 } # = 0x0000 - - - {field_name: rx_transfer_status, width: 1, access_mode: RO, address_offset: 0x0004 } # = 0x0001 - - - {field_name: rx_padcrc_control, width: 2, access_mode: RW, address_offset: 0x0100 } # = 0x0040 - - - {field_name: rx_crccheck_control, width: 2, access_mode: RW, address_offset: 0x0200 } # = 0x0080 - - - {field_name: rx_pktovrflow_error, width: 32, user_width: 36, access_mode: RO, address_offset: 0x0300 } # = 0x00C0 - - - {field_name: rx_pktovrflow_etherStatsDropEvents, width: 32, user_width: 36, access_mode: RO, address_offset: 0x0308 } # = 0x00C2 - - - {field_name: rx_lane_decoder_preamble_control, width: 1, access_mode: RW, address_offset: 0x0400 } # = 0x0100 - - - {field_name: rx_preamble_inserter_control, width: 1, access_mode: RW, address_offset: 0x0500 } # = 0x0140 - - - {field_name: rx_frame_control, width: 20, access_mode: RW, address_offset: 0x2000 } # = 0x0800 - - - {field_name: rx_frame_maxlength, width: 16, access_mode: RW, address_offset: 0x2004 } # = 0x0801 - - - {field_name: rx_frame_addr0, width: 16, access_mode: RW, address_offset: 0x2008 } # = 0x0802 - - - {field_name: rx_frame_addr1, width: 16, access_mode: RW, address_offset: 0x200c } # = 0x0803 - - - {field_name: rx_frame_spaddr0_0, width: 16, access_mode: RW, address_offset: 0x2010 } # = 0x0804 - - - {field_name: rx_frame_spaddr0_1, width: 16, access_mode: RW, address_offset: 0x2014 } # = 0x0805 - - - {field_name: rx_frame_spaddr1_0, width: 16, access_mode: RW, address_offset: 0x2018 } # = 0x0806 - - - {field_name: rx_frame_spaddr1_1, width: 16, access_mode: RW, address_offset: 0x201c } # = 0x0807 - - - {field_name: rx_frame_spaddr2_0, width: 16, access_mode: RW, address_offset: 0x2020 } # = 0x0808 - - - {field_name: rx_frame_spaddr2_1, width: 16, access_mode: RW, address_offset: 0x2024 } # = 0x0809 - - - {field_name: rx_frame_spaddr3_0, width: 16, access_mode: RW, address_offset: 0x2028 } # = 0x080A - - - {field_name: rx_frame_spaddr3_1, width: 16, access_mode: RW, address_offset: 0x202c } # = 0x080B - - - {field_name: rx_pfc_control, width: 17, access_mode: RW, address_offset: 0x2060 } # = 0x0818 - - - {field_name: tx_transfer_control, width: 1, access_mode: RW, address_offset: 0x4000 } # = 0x1000 - - - {field_name: tx_transfer_status, width: 1, access_mode: RO, address_offset: 0x4004 } # = 0x1001 - - - {field_name: tx_padins_control, width: 1, access_mode: RW, address_offset: 0x4100 } # = 0x1040 - - - {field_name: tx_crcins_control, width: 2, access_mode: RW, address_offset: 0x4200 } # = 0x1080 - - - {field_name: tx_pktunderflow_error, width: 32, user_width: 36, access_mode: RO, address_offset: 0x4300 } # = 0x10C0 - - - {field_name: tx_preamble_control, width: 1, access_mode: RW, address_offset: 0x4400 } # = 0x1100 - - - {field_name: tx_pauseframe_control, width: 2, access_mode: RW, address_offset: 0x4500 } # = 0x1140 - - - {field_name: tx_pauseframe_quanta, width: 16, access_mode: RW, address_offset: 0x4504 } # = 0x1141 - - - {field_name: tx_pauseframe_enable, width: 1, access_mode: RW, address_offset: 0x4508 } # = 0x1142 + - - {field_name: rx_transfer_control, mm_width: 1, access_mode: RW, address_offset: 0x0000 } # = 0x0000 + - - {field_name: rx_transfer_status, mm_width: 1, access_mode: RO, address_offset: 0x0004 } # = 0x0001 + - - {field_name: rx_padcrc_control, mm_width: 2, access_mode: RW, address_offset: 0x0100 } # = 0x0040 + - - {field_name: rx_crccheck_control, mm_width: 2, access_mode: RW, address_offset: 0x0200 } # = 0x0080 + - - {field_name: rx_pktovrflow_error, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x0300 } # = 0x00C0 + - - {field_name: rx_pktovrflow_etherStatsDropEvents, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x0308 } # = 0x00C2 + - - {field_name: rx_lane_decoder_preamble_control, mm_width: 1, access_mode: RW, address_offset: 0x0400 } # = 0x0100 + - - {field_name: rx_preamble_inserter_control, mm_width: 1, access_mode: RW, address_offset: 0x0500 } # = 0x0140 + - - {field_name: rx_frame_control, mm_width: 20, access_mode: RW, address_offset: 0x2000 } # = 0x0800 + - - {field_name: rx_frame_maxlength, mm_width: 16, access_mode: RW, address_offset: 0x2004 } # = 0x0801 + - - {field_name: rx_frame_addr0, mm_width: 16, access_mode: RW, address_offset: 0x2008 } # = 0x0802 + - - {field_name: rx_frame_addr1, mm_width: 16, access_mode: RW, address_offset: 0x200c } # = 0x0803 + - - {field_name: rx_frame_spaddr0_0, mm_width: 16, access_mode: RW, address_offset: 0x2010 } # = 0x0804 + - - {field_name: rx_frame_spaddr0_1, mm_width: 16, access_mode: RW, address_offset: 0x2014 } # = 0x0805 + - - {field_name: rx_frame_spaddr1_0, mm_width: 16, access_mode: RW, address_offset: 0x2018 } # = 0x0806 + - - {field_name: rx_frame_spaddr1_1, mm_width: 16, access_mode: RW, address_offset: 0x201c } # = 0x0807 + - - {field_name: rx_frame_spaddr2_0, mm_width: 16, access_mode: RW, address_offset: 0x2020 } # = 0x0808 + - - {field_name: rx_frame_spaddr2_1, mm_width: 16, access_mode: RW, address_offset: 0x2024 } # = 0x0809 + - - {field_name: rx_frame_spaddr3_0, mm_width: 16, access_mode: RW, address_offset: 0x2028 } # = 0x080A + - - {field_name: rx_frame_spaddr3_1, mm_width: 16, access_mode: RW, address_offset: 0x202c } # = 0x080B + - - {field_name: rx_pfc_control, mm_width: 17, access_mode: RW, address_offset: 0x2060 } # = 0x0818 + - - {field_name: tx_transfer_control, mm_width: 1, access_mode: RW, address_offset: 0x4000 } # = 0x1000 + - - {field_name: tx_transfer_status, mm_width: 1, access_mode: RO, address_offset: 0x4004 } # = 0x1001 + - - {field_name: tx_padins_control, mm_width: 1, access_mode: RW, address_offset: 0x4100 } # = 0x1040 + - - {field_name: tx_crcins_control, mm_width: 2, access_mode: RW, address_offset: 0x4200 } # = 0x1080 + - - {field_name: tx_pktunderflow_error, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x4300 } # = 0x10C0 + - - {field_name: tx_preamble_control, mm_width: 1, access_mode: RW, address_offset: 0x4400 } # = 0x1100 + - - {field_name: tx_pauseframe_control, mm_width: 2, access_mode: RW, address_offset: 0x4500 } # = 0x1140 + - - {field_name: tx_pauseframe_quanta, mm_width: 16, access_mode: RW, address_offset: 0x4504 } # = 0x1141 + - - {field_name: tx_pauseframe_enable, mm_width: 1, access_mode: RW, address_offset: 0x4508 } # = 0x1142 # Altera is unclear about the width of the quanta registers. Assuming 32 bits, where bits 16:31 are reserved: - - - {field_name: pfc_pause_quanta_0, width: 32, access_mode: RW, address_offset: 0x4600 } # = 0x1180 - - - {field_name: pfc_pause_quanta_1, width: 32, access_mode: RW, address_offset: 0x4604 } # = 0x1181 - - - {field_name: pfc_pause_quanta_2, width: 32, access_mode: RW, address_offset: 0x4608 } # = 0x1182 - - - {field_name: pfc_pause_quanta_3, width: 32, access_mode: RW, address_offset: 0x460c } # = 0x1183 - - - {field_name: pfc_pause_quanta_4, width: 32, access_mode: RW, address_offset: 0x4610 } # = 0x1184 - - - {field_name: pfc_pause_quanta_5, width: 32, access_mode: RW, address_offset: 0x4614 } # = 0x1185 - - - {field_name: pfc_pause_quanta_6, width: 32, access_mode: RW, address_offset: 0x4618 } # = 0x1186 - - - {field_name: pfc_pause_quanta_7, width: 32, access_mode: RW, address_offset: 0x461c } # = 0x1187 - - - {field_name: pfc_holdoff_quanta_0, width: 32, access_mode: RW, address_offset: 0x4640 } # = 0x1190 - - - {field_name: pfc_holdoff_quanta_1, width: 32, access_mode: RW, address_offset: 0x4644 } # = 0x1191 - - - {field_name: pfc_holdoff_quanta_2, width: 32, access_mode: RW, address_offset: 0x4648 } # = 0x1192 - - - {field_name: pfc_holdoff_quanta_3, width: 32, access_mode: RW, address_offset: 0x464c } # = 0x1193 - - - {field_name: pfc_holdoff_quanta_4, width: 32, access_mode: RW, address_offset: 0x4650 } # = 0x1194 - - - {field_name: pfc_holdoff_quanta_5, width: 32, access_mode: RW, address_offset: 0x4654 } # = 0x1195 - - - {field_name: pfc_holdoff_quanta_6, width: 32, access_mode: RW, address_offset: 0x4658 } # = 0x1196 - - - {field_name: pfc_holdoff_quanta_7, width: 32, access_mode: RW, address_offset: 0x465c } # = 0x1197 - - - {field_name: tx_pfc_priority_enable, width: 8, access_mode: RW, address_offset: 0x4680 } # = 0x11A0 - - - {field_name: tx_addrins_control, width: 1, access_mode: RW, address_offset: 0x4800 } # = 0x1200 - - - {field_name: tx_addrins_macaddr0, width: 32, access_mode: RW, address_offset: 0x4804 } # = 0x1201 - - - {field_name: tx_addrins_macaddr1, width: 16, access_mode: RW, address_offset: 0x4808 } # = 0x1202 - - - {field_name: tx_frame_maxlength, width: 16, access_mode: RW, address_offset: 0x6004 } # = 0x1801 - - - {field_name: rx_stats_clr, width: 1, access_mode: RW, address_offset: 0x3000 } # = 0x0C00 - - - {field_name: tx_stats_clr, width: 1, access_mode: RW, address_offset: 0x7000 } # = 0x1C00 - - - {field_name: rx_stats_framesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3008 } # = 0x0C02 - - - {field_name: tx_stats_framesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7008 } # = 0x1C02 - - - {field_name: rx_stats_framesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3010 } # = 0x0C04 - - - {field_name: tx_stats_framesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7010 } # = 0x1C04 - - - {field_name: rx_stats_framesCRCErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3018 } # = 0x0C06 - - - {field_name: tx_stats_framesCRCErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7018 } # = 0x1C06 - - - {field_name: rx_stats_octetsOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3020 } # = 0x0C08 - - - {field_name: tx_stats_octetsOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7020 } # = 0x1C08 - - - {field_name: rx_stats_pauseMACCtrl_Frames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3028 } # = 0x0C0A - - - {field_name: tx_stats_pauseMACCtrl_Frames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7028 } # = 0x1C0A - - - {field_name: rx_stats_ifErrors, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3030 } # = 0x0C0C - - - {field_name: tx_stats_ifErrors, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7030 } # = 0x1C0C - - - {field_name: rx_stats_unicast_FramesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3038 } # = 0x0C0E - - - {field_name: tx_stats_unicast_FramesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7038 } # = 0x1C0E - - - {field_name: rx_stats_unicast_FramesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3040 } # = 0x0C10 - - - {field_name: tx_stats_unicast_FramesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7040 } # = 0x1C10 - - - {field_name: rx_stats_multicastFramesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3048 } # = 0x0C12 - - - {field_name: tx_stats_multicastFramesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7048 } # = 0x1C12 - - - {field_name: rx_stats_multicast_FramesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3050 } # = 0x0C14 - - - {field_name: tx_stats_multicast_FramesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7050 } # = 0x1C14 - - - {field_name: rx_stats_broadcastFramesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3058 } # = 0x0C16 - - - {field_name: tx_stats_broadcastFramesOK, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7058 } # = 0x1C16 - - - {field_name: rx_stats_broadcast_FramesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3060 } # = 0x0C18 - - - {field_name: tx_stats_broadcast_FramesErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7060 } # = 0x1C18 - - - {field_name: rx_stats_etherStatsOctets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3068 } # = 0x0C1A - - - {field_name: tx_stats_etherStatsOctets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7068 } # = 0x1C1A - - - {field_name: rx_stats_etherStatsPkts, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3070 } # = 0x0C1C - - - {field_name: tx_stats_etherStatsPkts, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7070 } # = 0x1C1C - - - {field_name: rx_stats_etherStats_UndersizePkts, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3078 } # = 0x0C1E - - - {field_name: tx_stats_etherStats_UndersizePkts, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7078 } # = 0x1C1E - - - {field_name: rx_stats_etherStats_OversizePkts, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3080 } # = 0x0C20 - - - {field_name: tx_stats_etherStats_OversizePkts, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7080 } # = 0x1C20 - - - {field_name: rx_stats_etherStats_Pkts64Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3088 } # = 0x0C22 - - - {field_name: tx_stats_etherStats_Pkts64Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7088 } # = 0x1C22 - - - {field_name: rx_stats_etherStats_Pkts65to127Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3090 } # = 0x0C24 - - - {field_name: tx_stats_etherStats_Pkts65to127Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7090 } # = 0x1C24 - - - {field_name: rx_stats_etherStats_Pkts128to255Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x3098 } # = 0x0C26 - - - {field_name: tx_stats_etherStats_Pkts128to255Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x7098 } # = 0x1C26 - - - {field_name: rx_stats_etherStats_Pkts256to511Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30a0 } # = 0x0C28 - - - {field_name: tx_stats_etherStats_Pkts256to511Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70a0 } # = 0x1C28 - - - {field_name: rx_stats_etherStats_Pkts512to1023Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30a8 } # = 0x0C2A - - - {field_name: tx_stats_etherStats_Pkts512to1023Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70a8 } # = 0x1C2A - - - {field_name: rx_stats_etherStat_Pkts1024to1518Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30b0 } # = 0x0C2C - - - {field_name: tx_stats_etherStat_Pkts1024to1518Octets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70b0 } # = 0x1C2C - - - {field_name: rx_stats_etherStats_Pkts1519toXOctets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30b8 } # = 0x0C2E - - - {field_name: tx_stats_etherStats_Pkts1519toXOctets, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70b8 } # = 0x1C2E - - - {field_name: rx_stats_etherStats_Fragments, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30c0 } # = 0x0C30 - - - {field_name: tx_stats_etherStats_Fragments, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70c0 } # = 0x1C30 - - - {field_name: rx_stats_etherStats_Jabbers, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30c8 } # = 0x0C32 - - - {field_name: tx_stats_etherStats_Jabbers, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70c8 } # = 0x1C32 - - - {field_name: rx_stats_etherStatsCRCErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30d0 } # = 0x0C34 - - - {field_name: tx_stats_etherStatsCRCErr, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70d0 } # = 0x1C34 - - - {field_name: rx_stats_unicastMACCtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30d8 } # = 0x0C36 - - - {field_name: tx_stats_unicastMACCtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70d8 } # = 0x1C36 - - - {field_name: rx_stats_multicastMAC_CtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30e0 } # = 0x0C38 - - - {field_name: tx_stats_multicastMAC_CtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70e0 } # = 0x1C38 - - - {field_name: rx_stats_broadcastMAC_CtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30e8 } # = 0x0C3A - - - {field_name: tx_stats_broadcastMAC_CtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70e8 } # = 0x1C3A - - - {field_name: rx_stats_PFCMACCtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x30f0 } # = 0x0C3C - - - {field_name: tx_stats_PFCMACCtrlFrames, width: 32, user_width: 36, access_mode: RO, address_offset: 0x70f0 } # = 0x1C3C + - - {field_name: pfc_pause_quanta_0, mm_width: 32, access_mode: RW, address_offset: 0x4600 } # = 0x1180 + - - {field_name: pfc_pause_quanta_1, mm_width: 32, access_mode: RW, address_offset: 0x4604 } # = 0x1181 + - - {field_name: pfc_pause_quanta_2, mm_width: 32, access_mode: RW, address_offset: 0x4608 } # = 0x1182 + - - {field_name: pfc_pause_quanta_3, mm_width: 32, access_mode: RW, address_offset: 0x460c } # = 0x1183 + - - {field_name: pfc_pause_quanta_4, mm_width: 32, access_mode: RW, address_offset: 0x4610 } # = 0x1184 + - - {field_name: pfc_pause_quanta_5, mm_width: 32, access_mode: RW, address_offset: 0x4614 } # = 0x1185 + - - {field_name: pfc_pause_quanta_6, mm_width: 32, access_mode: RW, address_offset: 0x4618 } # = 0x1186 + - - {field_name: pfc_pause_quanta_7, mm_width: 32, access_mode: RW, address_offset: 0x461c } # = 0x1187 + - - {field_name: pfc_holdoff_quanta_0, mm_width: 32, access_mode: RW, address_offset: 0x4640 } # = 0x1190 + - - {field_name: pfc_holdoff_quanta_1, mm_width: 32, access_mode: RW, address_offset: 0x4644 } # = 0x1191 + - - {field_name: pfc_holdoff_quanta_2, mm_width: 32, access_mode: RW, address_offset: 0x4648 } # = 0x1192 + - - {field_name: pfc_holdoff_quanta_3, mm_width: 32, access_mode: RW, address_offset: 0x464c } # = 0x1193 + - - {field_name: pfc_holdoff_quanta_4, mm_width: 32, access_mode: RW, address_offset: 0x4650 } # = 0x1194 + - - {field_name: pfc_holdoff_quanta_5, mm_width: 32, access_mode: RW, address_offset: 0x4654 } # = 0x1195 + - - {field_name: pfc_holdoff_quanta_6, mm_width: 32, access_mode: RW, address_offset: 0x4658 } # = 0x1196 + - - {field_name: pfc_holdoff_quanta_7, mm_width: 32, access_mode: RW, address_offset: 0x465c } # = 0x1197 + - - {field_name: tx_pfc_priority_enable, mm_width: 8, access_mode: RW, address_offset: 0x4680 } # = 0x11A0 + - - {field_name: tx_addrins_control, mm_width: 1, access_mode: RW, address_offset: 0x4800 } # = 0x1200 + - - {field_name: tx_addrins_macaddr0, mm_width: 32, access_mode: RW, address_offset: 0x4804 } # = 0x1201 + - - {field_name: tx_addrins_macaddr1, mm_width: 16, access_mode: RW, address_offset: 0x4808 } # = 0x1202 + - - {field_name: tx_frame_maxlength, mm_width: 16, access_mode: RW, address_offset: 0x6004 } # = 0x1801 + - - {field_name: rx_stats_clr, mm_width: 1, access_mode: RW, address_offset: 0x3000 } # = 0x0C00 + - - {field_name: tx_stats_clr, mm_width: 1, access_mode: RW, address_offset: 0x7000 } # = 0x1C00 + - - {field_name: rx_stats_framesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3008 } # = 0x0C02 + - - {field_name: tx_stats_framesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7008 } # = 0x1C02 + - - {field_name: rx_stats_framesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3010 } # = 0x0C04 + - - {field_name: tx_stats_framesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7010 } # = 0x1C04 + - - {field_name: rx_stats_framesCRCErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3018 } # = 0x0C06 + - - {field_name: tx_stats_framesCRCErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7018 } # = 0x1C06 + - - {field_name: rx_stats_octetsOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3020 } # = 0x0C08 + - - {field_name: tx_stats_octetsOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7020 } # = 0x1C08 + - - {field_name: rx_stats_pauseMACCtrl_Frames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3028 } # = 0x0C0A + - - {field_name: tx_stats_pauseMACCtrl_Frames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7028 } # = 0x1C0A + - - {field_name: rx_stats_ifErrors, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3030 } # = 0x0C0C + - - {field_name: tx_stats_ifErrors, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7030 } # = 0x1C0C + - - {field_name: rx_stats_unicast_FramesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3038 } # = 0x0C0E + - - {field_name: tx_stats_unicast_FramesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7038 } # = 0x1C0E + - - {field_name: rx_stats_unicast_FramesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3040 } # = 0x0C10 + - - {field_name: tx_stats_unicast_FramesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7040 } # = 0x1C10 + - - {field_name: rx_stats_multicastFramesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3048 } # = 0x0C12 + - - {field_name: tx_stats_multicastFramesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7048 } # = 0x1C12 + - - {field_name: rx_stats_multicast_FramesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3050 } # = 0x0C14 + - - {field_name: tx_stats_multicast_FramesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7050 } # = 0x1C14 + - - {field_name: rx_stats_broadcastFramesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3058 } # = 0x0C16 + - - {field_name: tx_stats_broadcastFramesOK, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7058 } # = 0x1C16 + - - {field_name: rx_stats_broadcast_FramesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3060 } # = 0x0C18 + - - {field_name: tx_stats_broadcast_FramesErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7060 } # = 0x1C18 + - - {field_name: rx_stats_etherStatsOctets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3068 } # = 0x0C1A + - - {field_name: tx_stats_etherStatsOctets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7068 } # = 0x1C1A + - - {field_name: rx_stats_etherStatsPkts, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3070 } # = 0x0C1C + - - {field_name: tx_stats_etherStatsPkts, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7070 } # = 0x1C1C + - - {field_name: rx_stats_etherStats_UndersizePkts, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3078 } # = 0x0C1E + - - {field_name: tx_stats_etherStats_UndersizePkts, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7078 } # = 0x1C1E + - - {field_name: rx_stats_etherStats_OversizePkts, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3080 } # = 0x0C20 + - - {field_name: tx_stats_etherStats_OversizePkts, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7080 } # = 0x1C20 + - - {field_name: rx_stats_etherStats_Pkts64Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3088 } # = 0x0C22 + - - {field_name: tx_stats_etherStats_Pkts64Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7088 } # = 0x1C22 + - - {field_name: rx_stats_etherStats_Pkts65to127Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3090 } # = 0x0C24 + - - {field_name: tx_stats_etherStats_Pkts65to127Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7090 } # = 0x1C24 + - - {field_name: rx_stats_etherStats_Pkts128to255Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x3098 } # = 0x0C26 + - - {field_name: tx_stats_etherStats_Pkts128to255Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x7098 } # = 0x1C26 + - - {field_name: rx_stats_etherStats_Pkts256to511Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30a0 } # = 0x0C28 + - - {field_name: tx_stats_etherStats_Pkts256to511Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70a0 } # = 0x1C28 + - - {field_name: rx_stats_etherStats_Pkts512to1023Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30a8 } # = 0x0C2A + - - {field_name: tx_stats_etherStats_Pkts512to1023Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70a8 } # = 0x1C2A + - - {field_name: rx_stats_etherStat_Pkts1024to1518Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30b0 } # = 0x0C2C + - - {field_name: tx_stats_etherStat_Pkts1024to1518Octets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70b0 } # = 0x1C2C + - - {field_name: rx_stats_etherStats_Pkts1519toXOctets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30b8 } # = 0x0C2E + - - {field_name: tx_stats_etherStats_Pkts1519toXOctets, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70b8 } # = 0x1C2E + - - {field_name: rx_stats_etherStats_Fragments, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30c0 } # = 0x0C30 + - - {field_name: tx_stats_etherStats_Fragments, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70c0 } # = 0x1C30 + - - {field_name: rx_stats_etherStats_Jabbers, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30c8 } # = 0x0C32 + - - {field_name: tx_stats_etherStats_Jabbers, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70c8 } # = 0x1C32 + - - {field_name: rx_stats_etherStatsCRCErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30d0 } # = 0x0C34 + - - {field_name: tx_stats_etherStatsCRCErr, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70d0 } # = 0x1C34 + - - {field_name: rx_stats_unicastMACCtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30d8 } # = 0x0C36 + - - {field_name: tx_stats_unicastMACCtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70d8 } # = 0x1C36 + - - {field_name: rx_stats_multicastMAC_CtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30e0 } # = 0x0C38 + - - {field_name: tx_stats_multicastMAC_CtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70e0 } # = 0x1C38 + - - {field_name: rx_stats_broadcastMAC_CtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30e8 } # = 0x0C3A + - - {field_name: tx_stats_broadcastMAC_CtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70e8 } # = 0x1C3A + - - {field_name: rx_stats_PFCMACCtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x30f0 } # = 0x0C3C + - - {field_name: tx_stats_PFCMACCtrlFrames, mm_width: 32, user_width: 36, access_mode: RO, address_offset: 0x70f0 } # = 0x1C3C - peripheral_name: nw_10GbE_eth10g # pi_nw_10GbE_eth10g.py / pi_10GbE.py @@ -161,19 +161,19 @@ peripherals: fields: - - field_name: tx_snk_out_xon field_description: "" - width: 1 + mm_width: 1 bit_offset: 0 access_mode: RO address_offset: 0x0 - - field_name: xgmii_tx_ready field_description: "" - width: 1 + mm_width: 1 bit_offset: 1 access_mode: RO address_offset: 0x0 - - field_name: xgmii_link_status field_description: "" - width: 2 + mm_width: 2 bit_offset: 2 access_mode: RO address_offset: 0x0 diff --git a/libraries/io/ppsh/ppsh.peripheral.yaml b/libraries/io/ppsh/ppsh.peripheral.yaml index e732647b7504398f8be33e9bb3c96763b2d1396b..c04c8fffc46255c29e00d050d890f69558810f5a 100644 --- a/libraries/io/ppsh/ppsh.peripheral.yaml +++ b/libraries/io/ppsh/ppsh.peripheral.yaml @@ -27,35 +27,35 @@ peripherals: fields: - - field_name: capture_cnt field_description: "Measured number of clock cycles between captured PPS pulses." - width: 30 + mm_width: 30 bit_offset: 0 access_mode: RO address_offset: 0x0 - - field_name: stable field_description: "PPS is stable (1) when capture_cnt = expected_cnt for all PPS periods since last time status was read, else PPS is not stable (0)." - width: 1 + mm_width: 1 bit_offset: 30 access_mode: RO address_offset: 0x0 - - field_name: toggle field_description: "Level bit that toggles after every PPS." - width: 1 + mm_width: 1 bit_offset: 31 access_mode: RO address_offset: 0x0 - - field_name: expected_cnt field_description: "Expected number of clock cycles between captured PPS pulses." - width: ceil_log2(g_st_clk_freq) + mm_width: ceil_log2(g_st_clk_freq) bit_offset: 0 access_mode: RW address_offset: 0x4 - - field_name: edge field_description: "When 0 then clock PPS in on rising edge of clock, else when 1 use falling edge of clock." - width: 1 + mm_width: 1 bit_offset: 31 access_mode: RW address_offset: 0x4 @@ -63,6 +63,6 @@ peripherals: - - field_name: offset_cnt field_description: "Number of clock cycles at read access, that has passed since last PPS." address_offset: 0x8 - width: ceil_log2(g_st_clk_freq) + mm_width: ceil_log2(g_st_clk_freq) access_mode: RO diff --git a/libraries/io/remu/remu.peripheral.yaml b/libraries/io/remu/remu.peripheral.yaml index eb13be5b392fb259f245e132111fe583b06b5837..a2e8775b11d4f7c540ea6fd38a1215051e6c7e81 100644 --- a/libraries/io/remu/remu.peripheral.yaml +++ b/libraries/io/remu/remu.peripheral.yaml @@ -24,45 +24,45 @@ peripherals: fields: - - field_name: reconfigure field_description: "Use 0xB007FAC7 (= boot factory) as password to reconfigure." - width: c_word_w + mm_width: c_word_w access_mode: WO address_offset: 0x0 - - field_name: param field_description: "param" - width: 3 + mm_width: 3 access_mode: WO address_offset: 0x4 - - field_name: read_param field_description: "read_param" - width: 1 + mm_width: 1 access_mode: WO side_effect: PW address_offset: 0x8 - - field_name: write_param field_description: "write_param" - width: 1 + mm_width: 1 access_mode: WO side_effect: PW address_offset: 0xc - - field_name: data_out field_description: "data_out" - width: g_data_w + mm_width: g_data_w access_mode: RO address_offset: 0x10 - - field_name: data_in field_description: "data_in" - width: g_data_w + mm_width: g_data_w access_mode: WO address_offset: 0x14 - - field_name: busy field_description: "busy" - width: 1 + mm_width: 1 access_mode: RO address_offset: 0x18 diff --git a/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml b/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml index 4c748e535c27266b3077edf9f05275364aedd2d1..2fe119edf4f93399e7732af647922fc73ed66582 100644 --- a/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml +++ b/libraries/technology/jesd204b/tech_jesd204b.peripheral.yaml @@ -16,13 +16,13 @@ peripherals: fields: - - field_name: reset field_description: "Write 1 to reset the full JESD interface for all JESD signal inputs." - width: 1 + mm_width: 1 bit_offset: 31 access_mode: RW address_offset: 0x0 - - field_name: enable field_description: "Enable JESD signal input i by setting bit i = 1, disable by clearing bit i = 0." - width: 31 + mm_width: 31 bit_offset: 0 access_mode: RW address_offset: 0x0 @@ -36,31 +36,31 @@ peripherals: mm_port_type: REG mm_port_description: "" fields: - - - {field_name: rx_dll_ctrl, width: 17, bit_offset: 0, access_mode: RW, address_offset: 0x50} - - - {field_name: rx_syncn_sysref_ctrl, width: 25, bit_offset: 0, access_mode: RW, address_offset: 0x54} - - - {field_name: rx_csr_lmfc_offset, width: 8, bit_offset: 12, access_mode: RW, address_offset: 0x54} - - - {field_name: rx_csr_rbd_offset, width: 8, bit_offset: 3, access_mode: RW, address_offset: 0x54} - - - {field_name: rx_csr_sysref_always_on, width: 1, bit_offset: 1, access_mode: RW, address_offset: 0x54} - - - {field_name: rx_err0, width: 9, bit_offset: 0, access_mode: RW, address_offset: 0x60} - - - {field_name: rx_err1, width: 10, bit_offset: 0, access_mode: RW, address_offset: 0x64} - - - {field_name: csr_rbd_count, width: 8, bit_offset: 3, access_mode: RO, address_offset: 0x80} - - - {field_name: csr_dev_syncn, width: 1, bit_offset: 0, access_mode: RO, address_offset: 0x80} - - - {field_name: rx_status1, width: 24, bit_offset: 0, access_mode: RW, address_offset: 0x84} - - - {field_name: rx_status2, width: 24, bit_offset: 0, access_mode: RW, address_offset: 0x88} - - - {field_name: rx_status3, width: 8, bit_offset: 0, access_mode: RW, address_offset: 0x8C} - - - {field_name: rx_ilas_csr_m, width: 8, bit_offset: 24, access_mode: RW, address_offset: 0x94} - - - {field_name: rx_ilas_csr_k, width: 5, bit_offset: 16, access_mode: RW, address_offset: 0x94} - - - {field_name: rx_ilas_csr_f, width: 8, bit_offset: 8, access_mode: RW, address_offset: 0x94} - - - {field_name: rx_ilas_csr_l, width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x94} - - - {field_name: rx_ilas_csr_hd, width: 1, bit_offset: 31, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_cf, width: 5, bit_offset: 24, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_jesdv, width: 3, bit_offset: 21, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_s, width: 5, bit_offset: 16, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_subclassv, width: 3, bit_offset: 13, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_np, width: 5, bit_offset: 8, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_cs, width: 2, bit_offset: 6, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_ilas_csr_n, width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x98} - - - {field_name: rx_status4, width: 16, bit_offset: 0, access_mode: RW, address_offset: 0xF0} - - - {field_name: rx_status5, width: 16, bit_offset: 0, access_mode: RW, address_offset: 0xF4} - - - {field_name: rx_status6, width: 24, bit_offset: 0, access_mode: RW, address_offset: 0xF8} - - - {field_name: rx_status7, width: 32, bit_offset: 0, access_mode: RO, address_offset: 0xFC} + - - {field_name: rx_dll_ctrl, mm_width: 17, bit_offset: 0, access_mode: RW, address_offset: 0x50} + - - {field_name: rx_syncn_sysref_ctrl, mm_width: 25, bit_offset: 0, access_mode: RW, address_offset: 0x54} + - - {field_name: rx_csr_lmfc_offset, mm_width: 8, bit_offset: 12, access_mode: RW, address_offset: 0x54} + - - {field_name: rx_csr_rbd_offset, mm_width: 8, bit_offset: 3, access_mode: RW, address_offset: 0x54} + - - {field_name: rx_csr_sysref_always_on, mm_width: 1, bit_offset: 1, access_mode: RW, address_offset: 0x54} + - - {field_name: rx_err0, mm_width: 9, bit_offset: 0, access_mode: RW, address_offset: 0x60} + - - {field_name: rx_err1, mm_width: 10, bit_offset: 0, access_mode: RW, address_offset: 0x64} + - - {field_name: csr_rbd_count, mm_width: 8, bit_offset: 3, access_mode: RO, address_offset: 0x80} + - - {field_name: csr_dev_syncn, mm_width: 1, bit_offset: 0, access_mode: RO, address_offset: 0x80} + - - {field_name: rx_status1, mm_width: 24, bit_offset: 0, access_mode: RW, address_offset: 0x84} + - - {field_name: rx_status2, mm_width: 24, bit_offset: 0, access_mode: RW, address_offset: 0x88} + - - {field_name: rx_status3, mm_width: 8, bit_offset: 0, access_mode: RW, address_offset: 0x8C} + - - {field_name: rx_ilas_csr_m, mm_width: 8, bit_offset: 24, access_mode: RW, address_offset: 0x94} + - - {field_name: rx_ilas_csr_k, mm_width: 5, bit_offset: 16, access_mode: RW, address_offset: 0x94} + - - {field_name: rx_ilas_csr_f, mm_width: 8, bit_offset: 8, access_mode: RW, address_offset: 0x94} + - - {field_name: rx_ilas_csr_l, mm_width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x94} + - - {field_name: rx_ilas_csr_hd, mm_width: 1, bit_offset: 31, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_cf, mm_width: 5, bit_offset: 24, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_jesdv, mm_width: 3, bit_offset: 21, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_s, mm_width: 5, bit_offset: 16, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_subclassv, mm_width: 3, bit_offset: 13, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_np, mm_width: 5, bit_offset: 8, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_cs, mm_width: 2, bit_offset: 6, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_ilas_csr_n, mm_width: 5, bit_offset: 0, access_mode: RW, address_offset: 0x98} + - - {field_name: rx_status4, mm_width: 16, bit_offset: 0, access_mode: RW, address_offset: 0xF0} + - - {field_name: rx_status5, mm_width: 16, bit_offset: 0, access_mode: RW, address_offset: 0xF4} + - - {field_name: rx_status6, mm_width: 24, bit_offset: 0, access_mode: RW, address_offset: 0xF8} + - - {field_name: rx_status7, mm_width: 32, bit_offset: 0, access_mode: RO, address_offset: 0xFC}