At present, microcode compaction with timing constraints (abbreviated as MCTC) is still an open problem. Complex timing relation between microoperations greatly affects the optimization result of microcode. This paper begins with a survey of MCTC problems, then presents a formal description of MCTC and, on the basis of a systematic study of the characteristics of HCTC, presents a generally-oriented heuristic algorithm--CAS, which has a high success rate of scheduling and promises a good optimization result. Preliminary experiments indicate that CAS is better than other existing MCTC algorithms.