Electronic Design

CMI-Coded Pseudorandom Data-Pattern Generator in PSpice

Typically, bit-error-rate (BER) and "eye-closure" measurements are performed on communications systems. Pseudorandom data patterns monitor the deteriorations of the “eyeopening” and error detection over, for example, 1023 cycles. The international standardization bodies define the characteristics of the signals at the electrical interfaces of the system \[1\]. For instance, for a 155.52-Mbit/s interface, the signals have to be CMI-coded. The CMI (coded mark inversion) code is a two-level non-return-to-zero (NRZ) code (Fig. 1).

To simulate a communication link at 155.52 Mbits/s, a model is needed for a CMI-coded data-pattern generator \[2\]. PSpice (OrCAD Inc., Portland, Ore.) libraries don’t include such a model. The listing describes the PSpice subcircuit in Figure 2 for a CMI-coded pseudorandom 223-1 data-pattern generator at 155.52 Mbits/s. (Click here to view this listing) The characteristic polynomial of a pseudorandom 223-1 data pattern is X23+X15+1. It’s obtained by means of shift register, U1, with feedback provided by the XOR gate U2.

At this point, the NRZ signal is converted to a CMI-coded signal. All signals in the subcircuit are synchronized via the clock (CLK). The E-LIMIT device keeps the output of the CMI-coded signal between VMAX (less than or equal to 5 V) and 0 V. Figure 3 shows an "eye diagram" of the CMI-coded pseudorandom signal, with a maximum level equal to 3.3 V at the subcircuit’s output (Fig. 2, again).


  1. ITU-T REC. G.703, October 1998.
  2. "Creating 'Eye' Displays Using Probe," The Design Center Source Newsletter, January 1993.
Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.