Chapter 6. Using Multi-Channel Option Diagnostics

The Multi-Channel Option diagnostics tests are an extension of the Integrated Diagnostics Environment (IDE) test suite. These diagnostic tests provide a thorough examination of the Multi-Channel Option.

There are three versions of the IDE tests, for MCO installed under:

This chapter explains how to use the Multi-Channel Option diagnostics:


Note: Because the Multi-Channel Option diagnostics are incompatible with the X Window System™, a TTY console monitor is required for testing.


Installing the Tests

Use the inst program to load the graphics diagnostics from the CD-ROM. After installation, the system loads the diagnostics tests into the appropriate directory.


Note: You must install the operating system before you can run the Multi-Channel Option diagnostics. Refer to your operating system documentation for information on loading the software.

To install the tests from the CD-ROM, follow these steps:

  1. Install IRIX from the CD (4.0.5H: 806-0007-009; 5.0.1: 812=0121-002; 5.1.1: 812-0121-003).

    When installation is complete, quit inst; bring up the system again.

  2. Insert your CD containing the diagnostics. At the Inst> prompt, type

    help beginner

    and press <Enter> to display the menu.

  3. Select option 7, set "[keywords] [names]" to enter interactive mode.

    The system prints messages about the installation history database and disk changes.

  4. In the list

       diag.man.diag * 0 267+ Diagnostic Manual Pages
       diag.man.relnotes * 0 93+ Diagnostic Release Notes
       diag.sw.diag * 1381+ 1760016+ Diagnostic Software
       diag.sw.mco * 0 544+ Diagnostic MCO Software

    request installation of diag.sw.mco:

       diag.man.diag * 0 267+ Diagnostic Manual Pages
       diag.man.relnotes * 0 93+ Diagnostic Release Notes
       diag.sw.diag * 1381+ 1760016+ Diagnostic Software
    i  diag.sw.mco * 0 544+ Diagnostic MCO Software

    The system prints a disk space summary.

  5. At the prompt, type go and press <Enter>.

  6. When the process finishes, type quit and press <Enter>. The diagnostics are installed in a separate directory; the name depends on the platform:

    • for 4.0.5H:

    • for 5.0.1, 5.1 (5.1.1), and 5.2:

  7. After you have completed the installation, return to the System Maintenance Menu and select option 1, "Start System. "

Using the 4.0.5H Test Menu

To run the Multi-Channel Option diagnostic tests, follow these steps:

  1. Turn on the system; a login prompt appears. Type diag and press <Enter>.

    The system informs you that it is running 4.0.5H and RealityEngine graphics, and prints the following message:

    To run MCO diagnostics, please do not automatically run
    RealityEngine diagnostics. Type vs2 at the diag prompt instead.
    Automatically run RealityEngine diagnostics? (y or n)

  2. Type n or press <Enter>.

  3. Type vs2 and press <Enter> to display the test menu.

    The software tells you that results will be logged in /usr/tmp/vs2.log0 or /usr/tmp/vs2.log1, depending on whether the Multi-Channel Option is running on pipe 0 or pipe 1.


    Note: The MCO release concurrent with this version of IRIX does not run on pipe 1.

    The software displays a menu of tests:

    RealityEngine Multi-Channel Options Diagnostics - Test Time(mi:se)
    ------------------------------------------------------------------(Estimated test time based on a 310 system with 16MB of memory)
    1- Quick Check of MCO  1:15
    2- Full Check of MCO 2:25
    3- MCO Board Initialization Test 0:20
    4- MCO Register Test 0:40
    5- MCO DAC Test 0:35
    6- MCO Read DAC Test Register 0:30
    7- MCO Load Gamma Constant 0:25
    8- MCO XILINX Test  0:35
    9- MCO VOF Loader 0:40
    10- EXIT from menu
    
    Please choose an item (1-10) >

  4. To check the newly installed MCO, type 2 and press <Enter>.

    If an error is encountered, the test does not stop running; diagnostic tests stop only after all tests have run.

  5. To see if an error occurred, display test results by typing

    grep ERR /usr/tmp/vs2.log0

Using the 5.0.1 Test Menu

To run the Multi-Channel Option diagnostic tests from the test menu, follow these steps:

  1. Turn on the system; a login prompt appears. Type diag and press <Enter>.

    The system informs you that it is running 5.0.1, and prints the following message:

    To run MCO diagnostics, please do not automatically run
    RealityEngine diagnostics. Type vs2 at the diag prompt instead.
    Automatically run RealityEngine diagnostics? (y or n)

  2. Type n or press <Enter>. The following message appears:

    If you wish to run ide manually, please make sure you do the following first:

     - /usr/gfx/stopgfx
     - setenv PIPE to the correct pipe number
     - rmib
     - if rmib detects IB2, setenv VENICE_SKIP_IB_CRCS

    This message applies to RealityEngine or RealityEngine2.

  3. Type vs2 and press <Enter> to display the test menu.

    The software displays these messages and a menu of tests:

    In a multi-pipe MCO configuration system, test(s) will run on the default pipe 0, and test results will be logged in /usr/tmp/vs2.log0.
    If you wish to run diagnostic test(s) on a specific pipe, use Pipe Select to change the pipe identification number.
    RealityEngine Multi-Channel Options Diagnostics - Test Time(mi:se)
    ------------------------------------------------------------------
    (Estimated test time based on a 310 system with 16MB of memory)
    1- Pipe Select
    2- Quick Check of MCO  1:15
    3- Full Check of MCO 3.45
    4- MCO Board Initialization Test 0:20
    5- MCO Register Test 0:40
    6- MCO DAC Test 0:35
    7- MCO Read DAC Test Register 0:30
    8- MCO Load Gamma Constant 0:25
    9- MCO XILINX Test 0:35
    10- MCO VOF Loader 0:40
    11- View Test Output
    12- EXIT from menu
    
    Please choose an item (1-12) >

  4. In a multipipe system, the diagnostic tests run on pipe 0. To select a different pipe from the default pipe, type 1 and press <Enter>. At the prompt, type the pipe identification number. The software accepts only ID numbers corresponding to pipes that are available.

    When you select a pipe, the software displays the log filename, for example:

    Select Pipe (0-1-2) >1
    PIPE = 1
    Results will be logged in: /usr/tmp/vs2.log1
    <CR> to return to menu


    Note: By default, tests run on default pipe 0 and test results are logged in /usr/tmp/vs2.log0.


  5. To check the newly installed MCO, type 3 and press <Enter>.

    If an error is encountered, the test does not stop running; diagnostic tests stop only after all tests have run.

  6. To see if an error occurred, select 11 or display test results by typing

    grep ERR /usr/tmp/vs2.log0

    or /usr/tmp/vs2.log1 or /usr/tmp/vs2.log2, depending on the pipe on
    which the MCO is running. In a multipipe system, tests run on default pipe 0 and test results are logged in /usr/tmp/vs2.log0.

Using the 5.1 (5.2) Menu

To run the Multi-Channel Option diagnostic tests from the test menu, follow these steps:

  1. Turn on the system; a login prompt appears. Type diag and press <Enter>.

    The system informs you that it is running 5.1 or 5.2, and prints the following message:

    To run MCO diagnostics, please do not automatically run
    RealityEngine diagnostics. Type vs2 at the diag prompt instead.
    Automatically run RealityEngine diagnostics? (y or n) 

  2. Type n or press <Enter>. The following message appears:

    If you wish to run ide manually, please make sure you do the following first: 

     - /usr/gfx/stopgfx 
     - setenv PIPE to the correct pipe number 
     - rmib 
     - if rmib detects IB2, setenv VENICE_SKIP_IB_CRCS 

    This message applies to RealityEngine or RealityEngine2.

  3. Type vs2 and press <Enter> to display the test menu.

    The software displays these messages and a menu of tests:

    In a multi-pipe MCO configuration system, test(s) will run
    on the default pipe 0, and test results will be logged in /usr/tmp/vs2.log0 
    If you wish to run diagnostic test(s) on a specific pipe, use Pipe Select to change the pipe identification number. 
    
    RealityEngine Multi-Channel Options Diagnostics - Test Time(mi:se) 
    ------------------------------------------------------------------
    (Estimated test time based on a 32MB RE/ONYX 10-span system) 
    1- Pipe Select
    2- Quick Check of MCO  1:15 
    3- Full Check of MCO 13.45 
    4- MCO Board Initialization Test 0:20 
    5- MCO Register Test 0:40 
    6- MCO DAC Test 0:35 
    7- MCO Read DAC Test Register 0:30 
    8- MCO Load Gamma Constant 0:25 
    9- MCO XILINX Test  0:35 
    10- MCO VOF Loader 0:40 
    11- MCO Data Path Test 10:00 
    12- View Test Output 
    13- EXIT from menu 
    
    Please choose an item (1-13) > 

  4. In a multipipe system, the diagnostic tests run on pipe 0. To select a different pipe from the default pipe, type 1 and press <Enter>. At the prompt, type the pipe identification number. The software accepts only ID numbers corresponding to pipes that are available.

    When you select a pipe, the software displays the log filename, for example:

    Select Pipe (0-1-2) >1 
    PIPE = 1 
    Results will be logged in: /usr/tmp/vs2.log1 
    <CR> to return to menu 


    Note: By default, tests run on default pipe 0 and test results are logged in /usr/tmp/vs2.log0.


  5. To check the newly installed MCO, type 3 and press <Enter>.

    If an error is encountered, the test does not stop running; diagnostic tests stop only after all tests have run.

  6. To see if an error occurred, select 11 or display test results by typing

    grep ERR /usr/tmp/vs2.log0 

    or /usr/tmp/vs2.log1 or /usr/tmp/vs2.log2, depending on the pipe on
    which the MCO is running. In a multipipe system, tests run on default pipe 0 and test results are logged in /usr/tmp/vs2.log0.

Running vs2ide Tests From the Test Menu

This section explains the tests listed in the RealityEngine Multi-Channel Options Diagnostics menu.


Note: Initialization is required for full and accurate MCO testing. Always invoke the MCO board initialization test before each MCO IDE test (script).


Quick Check of MCO

This test is a short dry run of the MCO hardware to check all accessible components via the VME interface. This test invokes the following MCO IDE tests, which are explained later in this chapter:

  • MCO board initialization test (vs2init)

  • MCO Register Test (vs2regs)

  • MCO DAC Test (vs2dac)

  • MCO Read DAC Test Register (vs2rdactr)

Full Check of MCO

The full check tests all accessible components on the MCO hardware and MCO full functionality via the VME interface. This test invokes the following MCO IDE tests, which are explained later in this chapter.

  • MCO board initialization test (vs2init)

  • MCO Register Test (vs2regs)

  • MCO DAC Test (vs2dac)

  • MCO Read DAC Test Register (vs2rdactr)

  • MCO VOF Loader (vs2vl))

  • MCO XILINX Test (vs2xilinx)

  • MCO Load Gamma Constant (vx2gammaconst)

  • MCO Data Path Test (vs2datapath), for MCO running under 5.1 or 5.2 only


Note: Ignore the message ERROR: vd_ioctl: ioctl: Not privileged that appears after the MCO Data Path Test runs.


MCO Board Initialization Test

This test initializes the MCO to a fully known state to ready it for full testing; this task can also be accomplished by invoking the MCO board initialization test (vs2init).


Note: For the 5.0.1, 5.1, or 5.2 IDE test, output may vary from that shown here. In a multipipe system, information on all available pipes is given.

Initialization output is:

MCO datecode: March 3, 1993
MCO Board Initialization Test
Mon Mar  8 21:59:09 PST 1993
Welcome to unix ide
ide>> ide>> Programming Multi-Channel Option XILINX
Initializing Multi-Channel Option VOF[0] Edge Table
VIF_SYNC_WIDTH = 0x30
VIF_HPHASE_LOOPGAIN = 0xcc
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x5
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x4f
VIF_FINE_PHASE_ADJ = 0x0
VIF_MAGIC_HIGH = 0x54
Initializing Multi-Channel Option VOF[1] Edge Table
VIF_SYNC_WIDTH = 0x14
VIF_HPHASE_LOOPGAIN = 0xcc
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x5
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x56
VIF_FINE_PHASE_ADJ = 0x0
VIF_MAGIC_HIGH = 0x54


Note: Initialization is required for full and accurate MCO testing. Always invoke the MCO board initialization test before each MCO IDE test.


MCO Register Test

This test checks every testable register on the MCO board; this task can also be accomplished by invoking the MCO IDE vs2regs test. The test vs2regs performs pattern tests (for example, 0x00, 0x55, 0xAA, 0xFF), walking ones, walking zeroes, and walking ones/zeroes tests on all accessible MCO registers. This test verifies that there is no short, open, or stuck circuitry behavior on the MCO hardware.


Note: For the 5.0.1, 5.1, or 5.2 IDE test, output may vary from that shown here. In a multipipe system, information on all available pipes is given.

Register test output is:

INFO:  Starting VS2 Registers Test
INFO:   (100): Starting subtest VS2 Registers Write Read ...
INFO:   (100): Write Read: vs2RegsWriteRead: Direct vs2RWregs PASSED
INFO:   (100): Write Read: Write-Only: Direct vs2WOregs PASSED
INFO:   (100): Write Read: Read-Only: Direct vs2ROregs PASSED
INFO:   (100): Write Read: Write-Only: venice_load_vs2_xilinx PASSED
INFO:   (100): Write Read: Write-Only: Indirect vs2vofWOregs PASSED
INFO:   (100): Write Read: Write-Only: Indirect vs2vifWOregs PASSED
INFO:   (100): Done subtest VS2 Registers Write Read ... PASSED
INFO:   (102): Starting subtest VS2 Registers Walk One ...
INFO:   (102): Walk One: vs2RegsWalkOne: Direct vs2RWregs PASSED
INFO:   (102): Done subtest VS2 Registers Walk One ... PASSED
INFO:   (104): Starting subtest VS2 Registers Walk Zero ...
INFO:   (104): Walk Zero: vs2RegsWalkZero: Direct vs2RWregs PASSED
INFO:   (104): Done subtest VS2 Registers Walk Zero ... PASSED
INFO:   (106): Starting subtest VS2 Registers Walk One/Zero ...
INFO:   (106): Walk One/Zero: vs2RegsWalkOneZero: Direct vs2RWregs PASSED
INFO:   (106): Done subtest VS2 Registers Walk One/Zero ... PASSED

If an error occurs, a message like the following appears:

ERROR:  (104)   Walk Zero: register3: (addr 4030), wrote ff read 7f
ERROR:  (106)   Walk One/Zero: register4: (addr 4040), wrote 20 read 0

The first message indicates that a failure occurred during the walk zero test (subtest 104) on register 3; the second message indicates that a failure occurred during the walk one/zero test (subtest 106) on register 4.

If an error message appears, invoke the MCO IDE directly and try to duplicate the error. A reproducible error indicates a hardware failure, requiring replacement of the board.

If the problem cannot be easily duplicated, follow these steps:

  1. Shut down the IRIX system and power it off.

  2. Power on the IRIS system again and restart it.

  3. Start the MCO IDE directly, bypassing the script, by logging in as diag.

  4. At the prompt, type vs2ide.

    To display a list of commands, type help at the ide>> prompt.

  5. At the ide>> prompt, type repeat 10 vs2regs to repeat the register test ten times.


    Note: For the 5.0.1, 5.1, or 5.2 IDE test, output may vary from that shown here.

    If this test runs ten times with no failures, the following output appears ten times:

     INFO:  Starting VS2 Registers Test
    INFO:  (100): Starting subtest VS2 Registers Write Read ...
    INFO:  (100): Write Read: vs2RegsWriteRead: Direct vs2RWregs PASSED
    INFO:  (100): Write Read: Write-Only: Direct vs2WOregs PASSED
    INFO:  (100): Write Read: Read-Only: Direct vs2ROregs PASSED
    INFO:  (100): Write Read: Write-Only: venice_load_vs2_xilinx PASSED
    INFO:  (100): Write Read: Write-Only: Indirect vs2vofWOregs PASSED
    INFO:  (100): Write Read: Write-Only: Indirect vs2vifWOregs PASSED
    INFO:  (100): Done subtest VS2 Registers Write Read ... PASSED
    INFO:  (102): Starting subtest VS2 Registers Walk One ...
    INFO:  (102): Walk One: vs2RegsWalkOne: Direct vs2RWregs PASSED
    INFO:  (102): Done subtest VS2 Registers Walk One ... PASSED
    INFO:  (104): Starting subtest VS2 Registers Walk Zero ...
    INFO:  (104): Walk Zero: vs2RegsWalkZero: Direct vs2RWregs PASSED
    INFO:  (104): Done subtest VS2 Registers Walk Zero ... PASSED
    INFO:  (106): Starting subtest VS2 Registers Walk One/Zero ...
    INFO:  (106): Walk One/Zero: vs2RegsWalkOneZero: Direct vs2RWregs PASSED
    INFO:  (106): Done subtest VS2 Registers Walk One/Zero ... PASSED

MCO DAC Test

This test verifies the functionality of each of the 18 DACs on the MCO board. This task can also be accomplished by invoking the MCO IDE vs2dac test. Via the VME bus interface, this test performs pattern tests (for example, 0x00, 0x55, 0xAA, 0xFF), walking ones, walking zeroes, walking ones/zeroes tests, and RAM tests.


Note: For the 5.0.1, 5.1, or 5.2 IDE test, output may vary from that shown here. In a multipipe system, information on all available pipes is given.

The output of this test is:

INFO:   Starting VS2 Bt462-DAC Test
INFO:   (200): Starting subtest DAC Regs Patterns ...
INFO:   (200): vs2Bt462RegsPatterns: DAC Regs Patterns PASSED
INFO:   (200): Done subtest DAC Regs Patterns ... PASSED
INFO:   (202): Starting subtest DAC Regs Walk One ...
INFO:   (202): vs2Bt462RegsWalkOne: DAC Regs Walk One PASSED
INFO:   (202): Done subtest DAC Regs Walk One ... PASSED
INFO:   (204): Starting subtest DAC Regs Walk Zero ...
INFO:   (204): vs2Bt462RegsWalkZero: DAC Regs Walk Zero PASSED
INFO:   (204): Done subtest DAC Regs Walk Zero ... PASSED
INFO:   (206): Starting subtest DAC Regs Walk One/Zero ...
INFO:   (206): vs2Bt462RegsWalkOneZero: DAC Regs Walk One/Zero PASSED
INFO:   (206): Done subtest DAC Regs Walk One/Zero ... PASSED

If an error occurs, an output message like the following appears:

ERROR:  (202)   Regs Walk One: Bt462_4_blue-pixel_blink_mask_reg_high:
(addr 4067), wrote 4 read 0

This message indicates that a failure occurred during the walk one test (subtest 202) on the pixel blink mask register high in the fifth set blue color DAC. The MCO board has six sets of three-color RGB DACs; the sets are numbered 0 through 5, and colors are ordered red, green, and blue.

MCO Read DAC Test Register

This test enables you to read the values currently in all the DAC test registers, making it an effective tool for verifying and debugging the MCO hardware via the VME bus interface.


Note: For the 5.0.1, 5.1, or 5.2 IDE test, output may vary from that shown here.

Invoking the read DAC test register test prints the following:

INFO:  (990): Starting VS2 Utility subtest Read DAC Test Reg ...

INFO:   (990): Read DAC Test Reg: addr 0x428c, dac#0, test reg value = 3f
INFO:   (990): Read DAC Test Reg: addr 0x429c, dac#1, test reg value = ff
INFO:   (990): Read DAC Test Reg: addr 0x42ac, dac#2, test reg value = ff
INFO:   (990): Read DAC Test Reg: addr 0x42bc, dac#3, test reg value = ed
INFO:   (990): Read DAC Test Reg: addr 0x42cc, dac#4, test reg value = bd
INFO:   (990): Read DAC Test Reg: addr 0x42dc, dac#5, test reg value = 8
INFO:   (990): Read DAC Test Reg: addr 0x42ec, dac#6, test reg value = fa
INFO:   (990): Read DAC Test Reg: addr 0x42fc, dac#7, test reg value = 0
INFO:   (990): Read DAC Test Reg: addr 0x430c, dac#8, test reg value = 0
INFO:   (990): Read DAC Test Reg: addr 0x431c, dac#9, test reg value = f7
INFO:   (990): Read DAC Test Reg: addr 0x432c, dac#10, test reg value = 77
INFO:   (990): Read DAC Test Reg: addr 0x433c, dac#11, test reg value = 81
INFO:   (990): Read DAC Test Reg: addr 0x434c, dac#12, test reg value = ff
INFO:   (990): Read DAC Test Reg: addr 0x435c, dac#13, test reg value = 0
INFO:   (990): Read DAC Test Reg: addr 0x436c, dac#14, test reg value = f3
INFO:   (990): Read DAC Test Reg: addr 0x437c, dac#15, test reg value = ff
INFO:   (990): Read DAC Test Reg: addr 0x438c, dac#16, test reg value = c
INFO:   (990): Read DAC Test Reg: addr 0x439c, dac#17, test reg value = c5
INFO:   (990): Done VS2 Utility subtest Read DAC Test Reg ... PASSED 

MCO Load Gamma Constant

This test enables you to load a known desirable constant into the gamma table in all DACs on the MCO board. For example, to load the constant 0xFF into all gamma tables, type

vs2gammaconst 0xff

at the prompt.

This test displays no comprehensive output.

MCO XILINX Test

On the MCO board are two pairs of Xilinx chips: two chips for video output formats (VOFs) and two chips for video input formats (VIFs). This test verifies the functionality of the Xilinx chips by loading and verifying the Xilinx configuration files into the pairs of VOFs and VIFs.

The terse output of this test under 4.0.5H and 5.0.1 is:

INFO:   Starting VS2 Xilinx Test
INFO:   (400): Starting subtest VS2 Xilinx Load Verify ...
INFO:   (400): Done subtest VS2 Xilinx Load Verify ... PASSED

Under 5.1 or 5.2, this test gives a separate report for each of the four Xilinx chips. Under 4.0.5H and 5.0.1, this test gives one report for all four Xilinx chips.

MCO VOF Loader

This test enables you to load a desired VOF into an on-board Xilinx chip. It loads the default format into channels 0 and 1.


Note: For the 5.0.1, 5.1, or 5.2 IDE test, output may vary from that shown here. In a multipipe system, information on all available pipes is given.

Output is as follows:

ide>> Programming Multi-Channel Option XILINX
Initializing Multi-Channel Option VOF[0] Edge Table
VIF_SYNC_WIDTH = 0x30
VIF_HPHASE_LOOPGAIN = 0xcc
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x5
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x4f
VIF_FINE_PHASE_ADg VS2 Xilinx Test
INFO: (400): SJ = 0x0
VIF_MAGIC_HIGH = 0x54
Initializing Multi-Channel Option VOF[1] Edge Table
VIF_SYNC_WIDTH = 0x14
VIF_HPHASE_LOOPGAIN = 0xcc
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x5
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x56
VIF_FINE_PHASE_ADJ = 0x0
VIF_MAGIC_HIGH = 0x54
VOF path /usr/gfx/ucode/RE/vs2/vof/1280x1024_60.u
ide>> VIF_SYNC_WIDTH = 0x14
VIF_HPHASE_LOOPGAIN = 0x40
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x4
VIF_GENSRC_CNTRL = 0xf4
VIF_BPORCH_CLAMP = 0x56
VIF_FINE_PHASE_ADJ = 0x30
VIF_MAGIC_HIGH = 0x53
VOF path /usr/gfx/ucode/RE/vs2/vof/1280x1024_60.u
ide>> VIF_SYNC_WIDTH = 0x14
VIF_HPHASE_LOOPGAIN = 0x40
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x4
VIF_GENSRC_CNTRL = 0xf4
VIF_BPORCH_CLAMP = 0x56
VIF_FINE_PHASE_ADJ = 0x30
VIF_MAGIC_HIGH = 0x53
ide>> Programming Multi-Channel Option XILINX
Initializing Multi-Channel Option VOF[0] Edge Table
VIF_SYNC_WIDTH = 0x30
VIF_HPHASE_LOOPGAIN = 0xcc
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x5
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x4f
VIF_FINE_PHASE_ADJ = 0x0
VIF_MAGIC_HIGH = 0x54
Initializing Multi-Channel Option VOF[1] Edge Table
VIF_SYNC_WIDTH = 0x14
VIF_HPHASE_LOOPGAIN = 0xcc
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x5
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x56
VIF_FINE_PHASE_ADJ = 0x0
VIF_MAGIC_HIGH = 0x54

MCO Data Path Test

The MCO Data Path Test checks and verifies the following functional path:

  1. DG2: DG2/DVI → multistrip connectors →

  2. DG2 → VS2: DG2/paddleboard → cable → VS2/paddleboard →

  3. VS2: multistrip connectors → VS2/DVI → line FIFOs → DACs


Note: For the MCO Data Path Test to work correctly, the DG2 DVI bus must function properly.

The DG2 board drives the DVI interface. These signals originate just before the BT462 DACs on the DG2 board. The DG2 then registers these signals before it drives the bus; the outputs of these registers are used only by the DVI bus (for details, refer to the DG2 documentation). The register outputs drive the bus through series-terminating resistors. The data and control signals go to the three multistrip connectors, which in turn connect to a paddleboard and impedance-controlled cable assembly, which then connects to the VS2 board. From here, the data passes through the VS2 DVI register, the line FIFOs, and finally to the DACs. The VS2 board has 18 BT462 DACs: six sets, each containing the three colors.

Inside each DAC is a special test register, which can capture full-speed data at the DAC gamma table output. However, the data it captures has some limitations, because the gamma table has 10 bits of input but only 8 bits of output. Also, bit 9 of the gamma table input is used as a capture trigger for the test register: when this bit is a logical one (0x1) data is latched into the test register. Thus, it is critical that all testable bits be tested; in this case, bits 0-8 are tested, because bit 9 is used as a trigger bit. The MCO Data Path Test achieves this in two separate steps, setting the gamma table to look first at bits 0 through 7, and then at bits 1 through 8.

Because the VS2's line FIFOs contain only 1130 x 5 storage locations per color bit, instead of a frame's worth (the default 1280x1024_60, for example), a special VS2 diagnostic video format called 1130x5_60.u is used to accelerate the testing process. IRIS GL routines are used to generate an array of 1130x5 known-value pixels; each pixel is sent separately to the VS2 FIFOs. Each pixel transaction must go across the DG2 DVI to the VS2 DVI to fill up the VS2 line FIFOs. Because only one known pixel is sent, with the MSB bit per one frame's worth of 1130 pixels x 5 lines, it takes 5650 loops to complete the testing process.

Actually, for each pixel sent, the entire frame of 1130 x 5 storage locations is transmitted, not merely one pixel with the MSB set. Simply put, only one transmission of the pixel with an MSB bit turned on is rendered for the entire frame (1130x5_60) and then decoded for test results. Thus, the entire MCO Data Path Test executions are 1130 x 5 pixel/frame loops. The data with the MSB bit set triggers the test register in each BT462 DAC, which in turn outputs the gamma table output. The test register value for each DAC is then compared with the expected data for the final test result.

If the error data is interpreted properly, the failing section of the data path can be identified. For instance, if all DAC test registers fail the test, hardware failure lies most likely in the area before the VS2 line FIFOs. Partial or unique failures can help isolate the specific FIFO bank or DAC failure. The color, pixel, and error bit failures can help isolate the defect in the hardware further..

MCO Data Path Test Error Messages

MCO Data Path Test error messages are interpreted on the basis of the following information:

  • six well-defined channels, 0 through 5

  • three DAC colors: red, green, and blue

  • five identifiable pixels, 0 through 4

  • 1130 pixels in each line, x = 0 through x = 1129

  • five lines, 0 through 4

For example, the error messages

ERROR: (800) CHANNEL#0, RED_DAC, PIXEL#0, x=1125, line=0 ,(errbits=[0x65]), got 0x0, exp 0x65
ERROR: (800) CHANNEL#0, RED_DAC, PIXEL#0, x=1125, line=1 ,(errbits=[0x65]), got 0x0, exp 0x65
ERROR: (800) CHANNEL#0, RED_DAC, PIXEL#0, x=1125, line=2 ,(errbits=[0x65]), got 0x0, exp 0x65
ERROR: (800) CHANNEL#0, RED_DAC, PIXEL#0, x=1125, line=3 ,(errbits=[0x65]), got 0x0, exp 0x65
ERROR: (800) CHANNEL#0, RED_DAC, PIXEL#0, x=1125, line=4 ,(errbits=[0x65]), got 0x0, exp 0x65

can be interpreted as follows:

  • There are five errors, all with the same channel number, DAC color, pixel number, and x location. All five occurred on all lines, 0 through 4. This is a classic example, showing that the problems mostly likely lie in the VS2 FIFO storage locations for channel 0, red DACs, pixel 0, at x = 1125, on lines 0 through 4.

  • The problems are not caused by a bad red DAC, since everything was passed except at locations x = 1125 and line = 0-4. Also, the problems are not caused by a bad channel 0, because the problems occurred only during the test for x = 1125 and line = 0-4. Thus, the problems must have been caused by bad storage, related defective circuitry in the VS2 FIFO hardware, or both.

  • If these error messages had displayed on all test register outputs (on every channel, 0 through 5, and for all DAC colors, red, green, and blue), the problems originate somewhere before the VS2 line FIFOs.

Occasionally, the message

Segmentation fault

appears when the MCO Data Path Test starts. This message is probably the result of wedged MCO EEPROM content, possibly because the MCO EEPROM is not reprogrammed when the MCO is swapped from a RealityEngine system to an ONYX system. In such cases, type

cd /usr/gfx/ucode/RE/vs2
vs2prom -bw /dev/null

The message

Writing default values to EEPROM....

appears; this procedure takes about a minute. Invoke the MCO Data Path Test again.

MCO Data Path Test Output

Output from this test is shown below.


Note: The MCO Data Path Test is available for 5.1 and 5.2 only. The test, which does 200,000 compares, takes ten minutes.


ide>> INFO: Starting VS2 Data Path Test
INFO: (800): Starting subtest VS2 Data Path ...
INFO: (800): DO NOT INTERRUPT! THIS TEST WILL TAKE A WHILE TO
COMPLETE...
Programming Multi-Channel Option XILINX
Initializing Multi-Channel Option VOF[0] Edge Table
vif parameters for mco channel 0:

VIF_SYNC_WIDTH = 0x12
VIF_HPHASE_LOOPGAIN = 0xe4
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x4
VIF_GENSRC_CNTRL = 0x80
VIF_BPORCH_CLAMP = 0x37
VIF_FINE_PHASE_ADJ = 0x20
VIF_MAGIC_HIGH = 0x54
VIF_SYNC_WIDTH_INT = 0x13
VIF_GENSRC_CNTRL_INT = 0xc0
VIF_BPORCH_CLAMP_INT = 0x56
setting internal VIF0_SYNC_WIDTH = 0x13
setting internal VIF0_GENSRC_CNTRL = 0xc0
setting internal VIF0_BPORCH_CLAMP = 0x56
Initializing Multi-Channel Option VOF[1] Edge Table
vif parameters for mco channel 1:

VIF_SYNC_WIDTH = 0x12
VIF_HPHASE_LOOPGAIN = 0xe4
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x4
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x37
VIF_FINE_PHASE_ADJ = 0x20
VIF_MAGIC_HIGH = 0x54
VIF_SYNC_WIDTH_INT = 0x13
VIF_GENSRC_CNTRL_INT = 0xc0
VIF_BPORCH_CLAMP_INT = 0x56
VOF path /usr/gfx/ucode/RE/vs2/vof/vs21130x5_60.u
vif parameters for mco channel 0:

VIF_SYNC_WIDTH = 0x12
VIF_HPHASE_LOOPGAIN = 0xe4
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x4
VIF_GENSRC_CNTRL = 0x80
VIF_BPORCH_CLAMP = 0x37
VIF_FINE_PHASE_ADJ = 0x20
VIF_MAGIC_HIGH = 0x54
VIF_SYNC_WIDTH_INT = 0x13
VIF_GENSRC_CNTRL_INT = 0xc0
VIF_BPORCH_CLAMP_INT = 0x56
setting internal VIF0_SYNC_WIDTH = 0x13
setting internal VIF0_GENSRC_CNTRL = 0xc0
setting internal VIF0_BPORCH_CLAMP = 0x56
VOF path /usr/gfx/ucode/RE/vs2/vof/vs21130x5_60.u
vif parameters for mco channel 1:

VIF_SYNC_WIDTH = 0x12
VIF_HPHASE_LOOPGAIN = 0xe4
VIF_MCOUNTER = 0x0
VIF_HORZ_LENGTH = 0x4
VIF_GENSRC_CNTRL = 0xc0
VIF_BPORCH_CLAMP = 0x37
VIF_FINE_PHASE_ADJ = 0x20
VIF_MAGIC_HIGH = 0x54
VIF_SYNC_WIDTH_INT = 0x13
VIF_GENSRC_CNTRL_INT = 0xc0
VIF_BPORCH_CLAMP_INT = 0x56
INFO: (800):
****************************************************************
INFO: (800): Input test pattern: linear ramp across a line with magnitude
512
INFO: (800): Gamma table loaded with 4 by 256 linear ramps
INFO: (800): This makes gamma table ignores bits 8 and 9
INFO: (800): Bit 9 is always used to trigger DAC Test Register
INFO: (800): Now testing datapath pixel bits 0th through 7th ...
INFO: (800):
****************************************************************
INFO: (800): Input test pattern: linear ramp across a line with magnitude
512
INFO: (800): Gamma table loaded with 4 fixed patterns
INFO: (800): Blocks 0 and 2 are loaded with 0
INFO: (800): Blocks 1 and 3 are loaded with 1
INFO: (800): This makes gamma table ignores bits 0-7 and 9
INFO: (800): Bit 9 is always used to trigger DAC Test Register
INFO: (800): Now testing datapath pixel bit 8th ...
INFO: (800):
****************************************************************
INFO: (800): VS2 Data Path test summary:
INFO: (800): done testing the DVI datapath pixel bits 0th-7th ...
PASSED
INFO: (800): done testing the DVI datapath pixel bit 8th ... PASSED
INFO: (800): Done subtest VS2 Data Path ... PASSED
ide>>
ERROR: vd_ioctl: ioctl: Not privileged
<CR> to return to menu


Note: Ignore the message ERROR: vd_ioctl: ioctl: Not privileged.


Running Individual vs2ide Tests

To run an individual vs2ide test, follow these steps:

  1. Log in as diag to bypass the vs2ide script (test menu).

  2. At the prompt, type vs2ide.

    To display a list of commands, type help at the ide>> prompt. The following list appears:

    IDE Commands:
    dumpsym    -
    echo       - echo ["STRING"|VAL ...]
    exit       - exit [VAL]
    quit       - exit [VAL]
    help       - displays summary of commands and statements
    printenv   - printenv [ENV_VAR_LIST]
    printf     - printf "FORMAT" [ARG1 ARG2...]
    setenv     - setenv ENV_VAR STRING
    source     - source SOURCE_PATH
    stat       -
    testcmd    -
    unsetenv   - unsetenv ENV_VAR
    status     - status [RESERVE_VAR_LIST]
    reset      - reset RESERVE VARS to their default values
    vs2init    - VS2 board initialization
    vs2regs    - VS2 registers test
    vs2eeprom  - VS2 EEPROM patterns/address test
    vs2dac     - VS2 DAC regs/rams test
    vs2vl      - VS2 VOF loader
    vs2xilinx  - VS2 XILINX load/read/verify test
    vs2gammaconst - VS2 load all DACs with gamma constant
    vs2rdactr  - Read all VS2 DACs test regs
    repeat n cmd
                 repeat `cmd' n times
    while ( expr ) cmd
                 repeat `cmd' while expr is true
    for ( expr1; expr2; expr3 ) cmd
                 repeat `cmd' while expr2 is true
    if ( expr ) cmd1 [ else cmd2 ] [fi]
                 execute cmd1 if expr is true, cmd2 otherwise; `fi' is optional
    { cmd ; cmd ... }
                 commands may grouped with `{' and `}'


    Caution: Do not use the vs2eeprom test, which tests the Multi-Channel Option EEPROM.

    The MCO Data Path Test, vs2datapath, does not appear in this menu and should not be run manually. This test requires special settings, which are invoked only when the test is started from the 5.1 (5.2) version of the test menu.



    Note: The vs2cal test, listed in the 4.0.5H version, is not currently available.


  3. At the ide>> prompt, type a command; for example:

    vs2init

    or

    repeat 10 vs2init

    or

    vs2dac

  4. To see if an error occurred, display test results by typing

    grep ERR /usr/tmp/vs2.log0

    In a multipipe system, type one of the following:

    • grep ERR /usr/tmp/vs2.log0

    • grep ERR /usr/tmp/vs2.log1

    • grep ERR /usr/tmp/vs2.log2

    depending on the pipe on which the MCO is running. In a multipipe system, tests run on default pipe 0 and test results are logged in /usr/tmp/vs2.log0, unless you selected a different pipe.


Note: To use the Multi-Channel Option panel for testing output, see instructions in Chapter 5, "Testing the Installation."