Compact Modeling: Principles, Techniques and Applications