Skip to content

owr_pkg: Specification

1. Overview

owr_pkg contains the definitions shared by all OpenWire modules: the package owr_pkg (character kinds, N-Char format, link states, broadcast code fields, timer conversions, parity), the generated register package owr_regs_pkg and the pulse crossing owr_cc_pulse. The shared verification components in tb/ (Data-Strobe far-end model) are verified with this module.

2. Requirements

ID Requirement ECSS
PKG-01 The package shall define the character kinds (Null, FCT, data, EOP, EEP, broadcast code), the control types (FCT 0b00, EOP 0b10, EEP 0b01, ESC 0b11), the N-Char format (flag and 8 data bits, EOP 0x00, EEP 0x01), the link states and the causes of an error recovery. 5.4.3.2, 5.5.7
PKG-02 The package shall convert durations into clock cycles, compute the initial divider for 10 Mb/s and compute the odd parity bit over the previous data or control bits and the data-control flag. 5.4.3.4, 5.4.10.1
PKG-03 owr_cc_pulse shall transfer pulses between two clock domains with single-cycle output pulses: free of latches, state registers triplicated with majority voters, level crossings with olo_ft_cc_bits, resets of both sides coupled with olo_ft_cc_reset. Every input pulse shall give exactly one output pulse within 3 input plus 4 output clock cycles when the pulses of one bit are at least 5 input plus 5 output clock cycles apart; one further pulse during a transfer shall be stored and sent afterwards. none (implementation)
PKG-04 The Data-Strobe far-end model shall encode characters with odd parity and Data-Strobe encoding, decode the received signals in continuous time after the first Null, count parity errors, ESC errors and simultaneous transitions, and inject parity errors and simultaneous transitions. 5.4.3, 5.4.4, 5.4.6

owr_cc_pulse merges the pulses of one bit that arrive during a transfer into one pending pulse (closer than 5 input plus 5 output clock cycles, after the first pending one); pulses during the reset of either side, including the synchronised release, are dropped.

3. Configuration parameters

Generic Default Range Description
owr_cc_pulse.NumPulses_g 1 1 to any Number of independent pulses