Отчет лабораторной работы №1 по дисциплине «Информационные технологии в электронике» Тема «Диффузия»



Дата18.05.2023
өлшемі223,47 Kb.
#94186
түріОтчет

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ


ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
(ФГБОУ ВО «ВГТУ», ВГТУ)


Факультет радиотехники и электроники
(факультет/институт)
Кафедра твердотельной электроники

Направление подготовки 11.03.04 Электроника и наноэлектроника


(код, наименование)

Профиль Микроэлектроника и твердотельная электроника


ОТЧЕТ ЛАБОРАТОРНОЙ РАБОТЫ № 1


по дисциплине «Информационные технологии в электронике»


Тема «Диффузия»





Разработал

И.А. Долгов







(подпись, дата)

(инициалы, фамилия)




Руководитель

Е.Ю. Плотникова







(подпись, дата)

(инициалы, фамилия)




Защищена

______________________Оценка_________________________







(дата)







Воронеж 2023
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
(ФГБОУ ВО «ВГТУ», ВГТУ)

Факультет радиотехники и электроники


Кафедра полупроводниковой электроники и наноэлектроники
ЗАДАНИЕ
на лабораторную работу

  1. Выполнить задания на MathCad

  2. Графики построенные на MathCad построить в C#

ЗАМЕЧАНИЯ РУКОВОДИТЕЛЯ


СОДЕРЖАНИЕ

Задание на лабораторную работу 2


Замечания руководителя 3
Цель лабораторной работы 5
1 Теоретическая часть 6
2 Практическая часть 7
2.1 Выполнение заданий 7
Заключение 15
Список использованных источников 16

ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ


Изучить тех. процесс моделирования диффузии кремния. Выполнить задания на Mathcad и в C#.



  1. Теоретическая часть

Диффузия – перенос атомов вещества ( примесей ), который возникает из-за хаотичного теплового движения атомов, возникающих при наличии grad C.


Диффузия задает тип проводимости. Используется введение в полупроводник для введения примесей. Примесь появляется в узлах и в междоузлье. Перемещение примесных атомов может быть по вакансиям ( после охлаждения вакансии исчезают и примесные атомы фиксируются) и о междоузлье ( после охлаждения междоузельные атомы могут вернуться в узлы, замещая основные атомы, и становясь электрически активными. ).
При температуре порядка 1000 оС происходит активация процесса диффузии. Перемещение атомов примеси кристаллической решетки происходит в объеме скачкообразно.



Рисунок 1 – Механизм скачков

  1. Практическая часть

2.1 Выполнение заданий





  1. Задание на MathCad.




Рисунок 1 – Выполнение задания на MathCad





Рисунок 2 – Выполнение задания на MathCad



Рисунок 3 – Выполнение задания на MathCad





Рисунок 4 – Выполнение задания на MathCad





Рисунок 5 – Выполнение задания на MathCad





  1. Выполнение задания на С#

Код программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;

namespace _3


{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double Do, Ea, k, T1, t, Co, Cc, Q;
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = (3.63).ToString();
textBox2.Text = (1473).ToString();
textBox3.Text = (600).ToString();
textBox4.Text = (0.785).ToString();
textBox5.Text = (1E19).ToString("0E+0");
textBox6.Text = (1E15).ToString("0E+0");
textBox7.Text = (8.625E-5).ToString("0.###E+0");
}

private void button1_Click(object sender, EventArgs e)


{
Ea = double.Parse(textBox1.Text);
T1 = double.Parse(textBox2.Text);
t = double.Parse(textBox3.Text);
Do = double.Parse(textBox4.Text);
Co = double.Parse(textBox5.Text);
Cc = double.Parse(textBox6.Text);
k = double.Parse(textBox7.Text);
chart4.Series[0].Points.Clear();
chart5.Series[0].Points.Clear();
for (double T = 1000; T <= 1600; T += 1)
{
double D = Do * Math.Exp(-Ea / (k * T));
chart4.Series[0].Points.AddXY(T, D);
chart5.Series[0].Points.AddXY(1 / T, D);
}
chart1.Series[0].Points.Clear();
chart1.Series[1].Points.Clear();
for (double z = 0; z <= 4E-4; z += 1E-5)
{
double D = Do * Math.Exp(-Ea / (k * T1));
double C2 = Co * Math.Exp(-Math.Pow(z, 2) / (4 * D * t));
chart1.Series[0].Points.AddXY(z, C2);
chart1.Series[1].Points.AddXY(z, Cc);
}
chart2.Series[0].Points.Clear();
chart2.Series[1].Points.Clear();
for (double z = 0; z <= 4E-4; z += 1E-5)
{
double D = Do * Math.Exp(-Ea / (k * T1));
double C1 = Co * (1 - Erf(z / (2 * Math.Sqrt(D * t))));
chart2.Series[0].Points.AddXY(z, C1);
chart2.Series[1].Points.AddXY(z, Cc);
}
chart3.Series[0].Points.Clear();
chart3.Series[1].Points.Clear();
chart3.Series[2].Points.Clear();
double t1 = 100, t2 = 9000;
for (double z = 0; z <= 2 * 1E-4; z += 0.5E-5)
{
double D = Do * Math.Exp(-Ea / (k * T1));
Q = Co * Math.Sqrt(Math.PI * D * t1);
double C1 = Co * (1 - Erf(z / (2 * Math.Sqrt(D * t1))));
double C3 = Q / Math.Sqrt(Math.PI * D * t2) * Math.Exp(-(Math.Pow(z, 2) / (4 * D * t2)));
chart3.Series[0].Points.AddXY(z, C3);
chart3.Series[1].Points.AddXY(z, Cc);
chart3.Series[2].Points.AddXY(z, C1);
}
double D_T1, Z1, Z2, Z3, a = 1E-5, b = 1E-3, eps = 1E-7, C1_Z2, C3_0;
D_T1 = Do * Math.Exp(-Ea / (k * T1));
Z1 = 2 * Math.Sqrt(D_T1 * t) * Math.Sqrt(Math.Log(Co / Cc));
do
{
Z2 = (a + b) / 2;
if (f(Z2) * f(a) <= 0)
b = Z2;
else
a = Z2;
}
while (Math.Abs(a - b) >= eps);
C1_Z2 = Co * (1 - Erf(Z2 / (2 * Math.Sqrt(D_T1 * t))));
C3_0 = Q / Math.Sqrt(Math.PI * D_T1 * t2) * Math.Exp(-(Math.Pow(0, 2) / (4 * D_T1 * t2)));
Z3 = 2 * Math.Sqrt(D_T1 * t2) * Math.Sqrt(Math.Log(Q / (Cc * Math.Sqrt(Math.PI * D_T1 * t2))));
label8.Text = Convert.ToString($"D(T1) = {D_T1.ToString("0.###E+0")}\nZ1 = {Z1.ToString("0.###E+0")}\nZ2 = {Z2.ToString("0.###E+0")}\nC1(Z2) = {C1_Z2.ToString("0.E+0")}\n" +
$"C3(0) = {C3_0.ToString("0.###E+0")}\nQ = {Q.ToString("0.###E+0")}\nZ3 = {Z3.ToString("0.##E+0")}");

}
private double f(double z)


{
double D = Do * Math.Exp(-Ea / (k * T1));
return Co / Cc * (1 - Erf(z / (2 * Math.Sqrt(D * t)))) - 1;
}
static double Erf(double x)
{
double a1 = 0.254829592;
double a2 = -0.284496736;
double a3 = 1.421413741;
double a4 = -1.453152027;
double a5 = 1.061405429;
double p = 0.3275911;
int sign = 1;
if (x < 0)
sign = -1;
x = Math.Abs(x);
double t = 1.0 / (1.0 + p * x);
double y = 1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * Math.Exp(-x * x);
return sign * y;
}
}
}



Рисунок 6 – Результат работы программы


ЗАКЛЮЧЕНИЕ


В ходе лабораторной работы были получены знания в моделировании процесса диффузии.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


1. Лекции по дисциплине «Информационные технологии в электронике». – Текст: непосредственный.

Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет