| CPC G06F 30/398 (2020.01) [G06F 30/392 (2020.01)] | 20 Claims | 

| 
               1. A method, comprising: 
            identifying a layer of a first layout based on a first violation generated on the layer; 
                generating a metal density value associated with the layer; 
                when the metal density value is larger than or equal to a preset value, classifying the first violation into a first class corresponding to routing congestions of the first layout; 
                when the first violation is classified into the first class, assigning, to the first violation, a first operation of a plurality of first pre-stored operations corresponding to the first class; 
                performing the first operation to the first layout to generate a second layout; 
                classifying a second violation of the second layout according to data of the second violation; 
                assigning a second operation of the plurality of first pre-stored operations to the second violation, according to the data of the second violation; 
                generating a third layout based on the second layout and the second operation; 
                adjusting the first operation and the second operation according to a fix rate; and 
                generating the fix rate according to a first number of violations of the first layout. 
               |