We present a pin-assignment algorithm based on a new multi-layer chip-level global router. Combining pin assignment and global routing has been an important approach for the pin-assignment problem. But there are many difficulties when combining the two processes. In the past, only specialized global routing methods were used in the combined process. In our pin assignment program, we use an actual global routing algorithm. To meet the requirement of pin assignment while keeping the routing quality, we dynamically adjust the weights in the routing graph during the routing stage. In addition, the multi-layer technology has introduced new challenges for the pin-assignment problem. Our algorithm can also handle the modern technology to provide pin assignment for multi-layer layouts. To our knowledge, no other pin assignment program can handle multi-layer layout. Tests on industrial circuits show that our pin-assignment algorithm is quite effective at reducing the demand for routing resources.