This paper presents a new design method for concurrently Totally Self-Checking Microprogram Control Units of bit-slice microprocessors. We consider a fault model that includes arbitrary failures in a single IC package and multiple errors on address, data and control buses. In our method the microprogram sequencer and the remaining functional units that support it are duplicated. Also, the microinstructions with their b-bit addresses are encoded in a distance-2 n-adjacent encoding scheme. Finally an N-adjacent code checker is employed to monitor the outputs from the microprogram memory and the microprogram sequencer. The checker and hence the whole Microprogram Control Unit becomes concurrently Totally Self-Checking by using a small number of microinstructions stored in predefined addresses in the microprogram memory. Our method in comparison to others has the added advantage to detect concurrently not only the permanent faults, but also temporary faults occurring during normal operation.