The example of software sequence as follows: The parameter may be changed according to an application. /* Read the measured data from e-fuse */ Triminfo_85 = TRIMINFO[15:8] Triminfo_25 = TRIMINFO[7:0] /* Calibrated threshold temperature is written into THRES_TEMP_RISE and THRES_TEMP_FALL */ /* Refer to 1.6.1 */ THRES_TEMP_RISE0 = 0x40; THRES_TEMP_RISE1 = 0x50; THRES_TEMP_RISE2 = 0x60; THRES_TEMP_RISE3 = 0x70; THRES_TEMP_FALL0 = 0x3A; THRES_TEMP_FALL1 = 0x4A; THRES_TEMP_FALL2 = 0x5A; /* Parameter for sampling interval is set */ SAMPLING_INTERVAL = 0x1; /* Interrupt enable */ INTEN[24] =0x1; // for INTEN_FALL2 INTEN[20] =0x1; // for INTEN_FALL1 INTEN[16] =0x1; // for INTEN_FALL0 INTEN[8] =0x1; // for INTEN_RISE2 INTEN[4] =0x1; // for INTEN_RISE1 INTEN[0] =0x1; // for INTEN_RISE0 /* Thermal tripping mode selection */ THERM_TRIP_MODE = 0x4; /* Thermal tripping enable */ THERM_TRIP_EN = 0x1; /* Check sensing operation is idle */ tmu_idle = 0; while(tmu_idle&1) { tmu_idle = TMU_STATUS[0]; } /* Start sensing operation */ TMU_CONTROL |= 1; ISR_INTREQ_TMU () { /* Read interrupt status register */ int_status = INTSTAT; if(int_status[24]) { ISR_INT_FALL2(); } else if(int_status[20]) { ISR_INT_FALL1(); } else if(int_status[16]) { ISR_INT_FALL0(); } Else if(int_status[8]) { ISR_INT_RISE2(); } else if(int_status[4]) { ISR_INT_RISE1(); } else if(int_status[0]) { ISR_INT_RISE0(); } else { $display("Some error occurred..!"); } ISR_INT0 () { /* Perform proper task for decrease temperature */ INTCLEAR[0] = 0x1; }