GOEPEL%20G



CASCON Language CASLAN

In many cases, automatically generated test programs such as Infrastructure, Interconnection, Memory Cluster, and Logic Cluster Tests are sufficient to test the BScan accessible circuitry on the UUT. However, sometimes non-compliant devices require a work-around, or part of the board cannot or not easily be tested with an automatically generated Cluster Test. In those cases, it may be desirable to be able to manually create the test sequence.

Since Boundary Scan is a standardized test approach (IEEE 1149.1), it is possible to have the Boundary Scan resources handled automatically by software tools. The BScan tool can automatically control the test bus signals once it knows the BScan chain configuration, while the user can concentrate on the test problem (toggling pins, finding shorts, finding opens, etc.).

SYSTEM CASCON provides a powerful high-level programming language called CASLAN (CAScon LANguage). Every automatically generated test is written in that programming language. Furthermore, the user can create test programs manually by writing the test sequence in CASLAN syntax. Through CASLAN commands, the user has access to all BScan resources on the UUT. Single BScan cells or groups of BScan cells and/or pins can be accessed to drive test pattern or capture test results. Test pattern can be modified at run time if necessary. To load BScan pattern into the Boundary Scan cells and to read test results back the simple CASLAN command DrShift can be executed (the software takes care of BScan cell mapping and TAP control). Support commands for file handling, user interaction, etc. allow the programmer very easily to create a BScan test application in CASLAN.

The following is a list of main features of CASLAN (the command set is extended continuously):
  • Definition of BScan cell groups, variables, labels (for branching), procedures, exit code handling, etc.,
  • Zero- and Carry- Flag,
  • logic operators (AND, OR, ...),
  • String handling,
  • Looping,
  • file handling (read and write),
  • interactive program control at run time (request for user input, etc.),
  • manipulation of UUT specific settings within the test (e.g. TCK frequency, ...) ,
  • TAP control (execution of single TCK clocks in certain TAP states, etc.),
  • Asynchronous Reset Suppressing of TapReset Scan path manipulation at run time Diagnostic support for manually written test sequences
  • and much more ...
Simple CASLAN example program:
 
    PROGRAM Example_program;
    
    	GROUP 	led U300 :	#32;
    	VAR 	v_key    :  8;
    	LABEL 	m1;
    		
    	---------- MAIN PROGRAM ---------- 
    	BEGIN
    	  ldi U603, sample; 
    	  ldi U300, sample;
    		irshift;
    	  
    	  enable(U603:#3); 
    	  enable(U603:#8);
    	  dh(U603:#3);
    	  dh(U603:#8);
    	  enable(U300:#32);
    	  ld led, 1;
    		drshift;
    		
    	  ldi U603, extest; 
    	  ldi U300, extest;
    		irshift;
    		
    	  wait 500; ld led, 0; drshift; 
    	  wait 500; ld led, 1; drshift; 
    	  wait 500; ld led, 0; drshift;  
    	  wait 500; ld led, 1; drshift; 
    	  wait 500; ld led, 0; drshift;  
    	  wait 500; ld led, 1; drshift;
    	  
    	  writeln('If the test failed 
    	  		   please push the ESCAPE key'); 
    	  writeln('If the test passed 
    	  		   please push any other key');
    	  readkey v_key; 
    	  cmp v_key, 01Bh;
    	  jnz M1;
    	
    	  writeln('The test is FAIL');
    	  stop 300;
    	
    	M1: 
		  writeln('The test is PASS');
    	
    	END.
					

E-mail inquiry