In this thesis, we develop a template 2D device simulator, which included impact-ionization circuit model. It is based on the template input file. The template input language can help user write input file easier. Because the impact-ionization circuit model spends much time on the device simulation and the impact-ionization mechanism is a strong function of electric field. So we use two methods to model the impact-ionization current and hope to find a good way to save simulation time. In the PN diode simulation, we found the staircase current in small reverse bias. We discuss the cause of the staircase current and improve this phenomenon. Finally, we apply II_Dev2D to simulate the BJT and the SCR and study the operation concepts of these applications.