diff --git a/libraries/base/dp/dp.peripheral.yaml b/libraries/base/dp/dp.peripheral.yaml index db3198d2eec9d7fdc76a174b2830905abb5dd1b2..d5c525b5dbf92d87bbaa4480bf373711d4fbf4e2 100644 --- a/libraries/base/dp/dp.peripheral.yaml +++ b/libraries/base/dp/dp.peripheral.yaml @@ -18,7 +18,6 @@ peripherals: field_description: "Number of words that can be read from the FIFO." access_mode: RO address_offset: 0x0 - # MM port for mms_dp_fifo_to_mm.vhd / dp_fifo_to_mm.vhd - slave_name: REG_DPMM_DATA # Use REG_, instead of preferred FIFO_, to match slave_port_name in pi_dpmm.py slave_type: FIFO @@ -29,6 +28,7 @@ peripherals: access_mode: RO address_offset: 0x0 + - peripheral_name: mmdp # pi_mmdp.py peripheral_description: "MM to DP FIFO to provide memory mapped MM write access to Data Path (DP) streaming interface." slave_ports: @@ -46,7 +46,6 @@ peripherals: field_description: "Number of words that can be written to the write FIFO." access_mode: RO address_offset: 0x4 - # MM port for mms_dp_fifo_from_mm.vhd / dp_fifo_from_mm.vhd - slave_name: REG_MMDP_DATA # Use REG_, instead of preferred FIFO_, to match slave_port_name in pi_mmdp.py slave_type: FIFO @@ -56,7 +55,30 @@ peripherals: field_description: "Write data to the FIFO." access_mode: WO address_offset: 0x0 - + + + - peripheral_name: dp_xonoff # pi_dp_xonoff.py + peripheral_description: "Enable or disable a data path (DP) stream." + parameters: + # Parameters of mms_dp_xonoff.vhd + - { name: g_nof_streams, value: 1 } + - { name: g_combine_streams, value: False } + slave_ports: + # MM port for mms_dp_xonoff.vhd + - slave_name: REG_DP_XONOFF + slave_type: REG + slave_description: "When g_combine_streams = False then there is one enable bit per stream, else there is one enable bit for all streams." + fields: + - - field_name: enable_stream + 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 + access_mode: RW + address_offset: 0x0 + number_of_fields: 1 #g_nof_streams #sel_a_b(g_combine_streams, 1, g_nof_streams) + + - peripheral_name: dp_shiftram # pi_dp_shiftram.py peripheral_description: "Sample delay buffer with programmable delay for streaming data." parameters: @@ -77,6 +99,7 @@ peripherals: access_mode: RW address_offset: 0x0 + - peripheral_name: dp_bsn_source # pi_dp_bsn_source.py peripheral_description: "Block Sequence Number (BSN) source for timestamping blocks of data samples." parameters: @@ -120,6 +143,7 @@ peripherals: address_offset: 0x8 radix_width: 64 + - peripheral_name: dp_bsn_source_v2 # pi_dp_bsn_source_v2.py peripheral_description: "Block Sequence Number (BSN) source with block time offset, for timestamping blocks of data samples." parameters: @@ -169,6 +193,7 @@ peripherals: width: g_bsn_time_offset_w access_mode: RW address_offset: 0x10 + - peripheral_name: dp_bsn_scheduler # pi_dp_bsn_scheduler.py peripheral_description: "Schedule a trigger at a certain Block Sequence Number (BSN) instant." @@ -191,6 +216,7 @@ peripherals: access_mode: RW address_offset: 0x0 radix_width: 64 + - peripheral_name: dp_bsn_monitor # pi_dp_bsn_monitor.py peripheral_description: "Monitor the Block Sequence Number (BSN) status of streaming data." @@ -219,7 +245,7 @@ peripherals: - - field_name: sync_timeout field_description: "Data stream sync did not occur during last sync interval." width: 1 - bit_offset: 2 # EK TODO: using 1 cause gen_doc.py to fail without clear error, because fields then overlap + 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 #- - field_name: bsn_at_sync_lo @@ -265,6 +291,7 @@ peripherals: access_mode: RO address_offset: 0x20 + - peripheral_name: dp_bsn_monitor_v2 # pi_dp_bsn_monitor_v2.py peripheral_description: "Monitor the Block Sequence Number (BSN) status and latency of streaming data." parameters: @@ -325,6 +352,7 @@ peripherals: access_mode: RO address_offset: 0x20 + - peripheral_name: dp_selector # pi_dp_selector.py peripheral_description: "Select between two data streams or between two arrays of data streams." slave_ports: