Semiconductor Modeling Techniques