//const dut = 127; include scsn_ids.tcs //const CTGDINI = 0x0B80; //const CTGCTRL = 0x0B81; //const CTGDOUT = 0x0B82; reset dut nop write CPU0CLK, 0 write CPU1CLK, 0 write CPU2CLK, 0 write CPU3CLK, 0 expect dut, CPU0CLK, 0 expect dut, CPU1CLK, 0 expect dut, CPU2CLK, 0 expect dut, CPU3CLK, 0 // check the increment after read mode, to see if the counter is alive sel_inp = 1; // after read write dut, CTGCTRL, 0xE1F | (sel_inp << 5) write dut, CTGDINI, 0; read dut, CHIPID expect dut, CTGDOUT, 0 expect dut, CTGDOUT, 1 expect dut, CTGDOUT, 2 // check the increment after pretrigger sel_inp = 0; // external ext_sel = 2; // pretriger decoded (1) write dut, CTGCTRL, 0xE1F | (sel_inp << 5) | (ext_sel << 7); write dut, CTGDINI, 0; expect dut, CTGDOUT, 0 pretrigger 1 expect dut, CTGDOUT, 1 pretrigger 1 expect dut, CTGDOUT, 2 // no change by other commands pretrigger 2 expect dut, CTGDOUT, 2 pretrigger 3 expect dut, CTGDOUT, 2 //pretrigger 5 expect dut, CTGDOUT, 2 pretrigger 7 expect dut, CTGDOUT, 2 pretrigger 4 expect dut, CTGDOUT, 2 // check the increment after pretrigger command clear ext_sel = 1; // clear decoded (2) write dut, CTGCTRL, 0xE1F | (sel_inp << 5) | (ext_sel << 7); write dut, CTGDINI, 0; expect dut, CTGDOUT, 0 pretrigger 2 expect dut, CTGDOUT, 1 pretrigger 2 expect dut, CTGDOUT, 2 // no change by other commands pretrigger 1 expect dut, CTGDOUT, 2 pretrigger 3 expect dut, CTGDOUT, 2 //pretrigger 5 expect dut, CTGDOUT, 2 pretrigger 7 expect dut, CTGDOUT, 2 pretrigger 4 expect dut, CTGDOUT, 2 // check the increment after pretrigger command "reserved" ext_sel = 3; // reserved decoded (3) write dut, CTGCTRL, 0xE1F | (sel_inp << 5) | (ext_sel << 7); write dut, CTGDINI, 0; expect dut, CTGDOUT, 0 pretrigger 3 expect dut, CTGDOUT, 1 pretrigger 3 expect dut, CTGDOUT, 2 // no change by other commands pretrigger 1 expect dut, CTGDOUT, 2 pretrigger 2 expect dut, CTGDOUT, 2 //pretrigger 5 expect dut, CTGDOUT, 2 pretrigger 7 expect dut, CTGDOUT, 2 pretrigger 4 expect dut, CTGDOUT, 2 // end of the tests reset dut // The other commands can not be counted directly without loading some assembler program.