![](/user_photo/_userpic.png)
курсачи / Kursach
.docxМИНОБРНАУКИ РОССИИ
Государственное образовательное учреждение
высшего профессионального образования
Санкт-Петербургский государственный электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
ФАКУЛЬТЕТ ЭЛЕКТРОНИКИ (ФЭЛ)
КАФЕДРА Радиотехнической электроники
КУРСОВАЯ РАБОТА (ПРОЕКТ)
По дисциплине: ПРОГРАММНЫЕ СРЕДСТВА МОДЕЛИРОВАНИЯ ЭЛЕКТРОННОЙ КОМПОНЕНТНОЙ БАЗЫ
На тему: Разработка модуля программы анализа электронного прибора
(указывается обобщенная тема)
Вариант № 10
Выполнил |
|
|
Оценка |
|
студент гр. № |
5201 |
|
Проверил |
Синев А. Е. |
|
Хохлов Е. П. |
|
|
(ФИО) |
|
(ФИО) |
|
Дата |
|
САНКТ-ПЕТЕРБУРГ
2019 г.
ЗАДАНИЕ на курсовую работу
По дисциплине: ПРОГРАММНЫЕ СРЕДСТВА МОДЕЛИРОВАНИЯ ЭЛЕКТРОННОЙ КОМПОНЕНТНОЙ БАЗЫ
Вариант № 10.
Название курсовой работы: |
Модуль расчёта профиля легирования на основе модели ионного легирования. |
Содержание работы: |
Разработка алгоритма и С++ - программы расчёта профиля легирования на основе модели ионного легирования. |
Исходные данные: |
Параметры модели ионного легирования. |
Результаты работы: |
1. Программа расчёта профиля легирования на основе модели ионного легирования. 2. Методика тестирования и отладки программы. |
Литература: |
1. Internet. 2. Моделирование полупроводниковых приборов и технологических процессов. Последние достижения. Под ред. Д. Миллера, М.: Радио и связь, 1989. |
1. Код программы в Microsoft Visual Studio c++.
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int k, i;
double j, t, d, q, D, h, g, S, Rp[5], dRp[5], misc, nmax, pi;
//Ввод исходных данных
cout << "Введите плотность тока ионов j[A/м^2]=";
cin >> j;
cout << endl << "Введите время имплантации t[сек]=";
cin >> t;
h = 0.1; // Шаг сетки
d = 1.5; // Глубина [мкм]
q = 1.6 * 10e-19;//Заряд электрона [Кл]
D = j * t / q * 10e-4;//Количество введенной примеси [см^-2]
pi = 3.14;//Число Пи
//Параметры пробега ионов бора в кремнии
Rp[0] = 0.1574; dRp[0] = 0.0556;
Rp[1] = 0.2956; dRp[1] = 0.0768;
Rp[2] = 0.5251; dRp[2] = 0.0979;
Rp[3] = 0.8928; dRp[3] = 0.1173;
//Массивы координат и концентрации
g = (d / h) + 1;
double* x_x = new double[g];//Объявляем новый массив с g ячейками
double* N1 = new double[g];
double* N2 = new double[g];
double* N3 = new double[g];
double* N4 = new double[g];
double* misc2 = new double[g];
S = 0;
for (k = 0; k < g; k++)
{
x_x[k] = S;
S = S + h;
}
//Расчет профиля легирования
i = 0;
for (k = 0; k < g; k++)
{
misc = dRp[i] * sqrt(2 * pi);
nmax = D / misc * 10e4;
misc2[k] = (x_x[k] - Rp[i]) * (x_x[k] - Rp[i]) / (2 * dRp[i] * dRp[i]);
N1[k] = nmax * exp(misc2[k] * (-1));
}
i = 1;
for (k = 0; k < g; k++)
{
misc = dRp[i] * sqrt(2 * pi);
nmax = D / misc * 10e4;
misc2[k] = (x_x[k] - Rp[i]) * (x_x[k] - Rp[i]) / (2 * dRp[i] * dRp[i]);
N2[k] = nmax * exp(misc2[k] * (-1));
}
i = 2;
for (k = 0; k < g; k++)
{
misc = dRp[i] * sqrt(2 * pi);
nmax = D / misc * 10e4;
misc2[k] = (x_x[k] - Rp[i]) * (x_x[k] - Rp[i]) / (2 * dRp[i] * dRp[i]);
N3[k] = nmax * exp(misc2[k] * (-1));
}
i = 3;
for (k = 0; k < g; k++)
{
misc = dRp[i] * sqrt(2 * pi);
nmax = D / misc * 10e4;
misc2[k] = (x_x[k] - Rp[i]) * (x_x[k] - Rp[i]) / (2 * dRp[i] * dRp[i]);
N4[k] = nmax * exp(misc2[k] * (-1));
}
//Вывод данных во внешний файл
ofstream kok("Профиль легирования для E=50кэВ.txt");
ofstream kok1("Профиль легирования для E=100кэВ.txt");
ofstream kok2("Профиль легирования для E=200кэВ.txt");
ofstream kok3("Профиль легирования для E=400кэВ.txt");
kok << "х" << " " << "n" << endl;
kok1 << "х" << " " << "n" << endl;
kok2 << "х" << " " << "n" << endl;
kok3 << "х" << " " << "n" << endl;
int i1;
for (i1 = 0; i1 < g; i1++)
{
kok << x_x[i1] << " " << N1[i1] << endl;
kok1 << x_x[i1] << " " << N2[i1] << endl;
kok2 << x_x[i1] << " " << N3[i1] << endl;
kok3 << x_x[i1] << " " << N4[i1] << endl;
}
kok.close();
kok1.close();
kok2.close();
kok3.close();
cout << endl << "Выходные данные лежат в файлах.txt" << endl;
return 0;
}
2. Код программы в Matlab.
clc
clear
x=0:0.005:1.5;
e=1.6*10^-19; %заряд электрона
j=input('Введите плотность тока ионов, А/м^2 ');
t=input('Введите время имплантации, сек ');
D=j*10^(-4)*t/e; %количество введённой примеси в см^-2
%Параметры пробега ионов бора в кремнии в мкм
RpB=[0.1574,0.2956,0.5251,0.8928];
dRpB=[0.0556,0.0768,0.0979,0.1173];
color=['r','g','b','k'];
for i=1:4
misc=dRpB(i)*sqrt(2*pi);
misc2=(x-RpB(i)).^2/(2*dRpB(i).^2);
nmax=D*10^(4)/misc;
n=nmax*exp(-misc2);
plot(x,n,color(i))
legend('50 кЭв','100 кЭв','200 кЭв','400 кЭв');
title('ПЛ при ИИ бора в кремний');
xlabel('х, мкм');
ylabel('n, см^-3');
hold on;
grid on;
end;
3. Методика тестирования и отладки программы.
Для проверки работы
программы, сравним теоретический профиль
легирования при ИИ бора в кремний,
полученный в [1]. Исходные данные —
концентрация введённой примеси
).
В программе её можно задавать при
помощи плотность ионного тока j
и времени t.
При
Рисунок 1 Теоретичекий ПЛ при ИИ бора в кремний
Рисунок 2 ПЛ при ИИ бора в кремний, полученный в программе MS C++
Рисунки почти совпадают, поэтому можно сделать предположение, что программа работает верно.
Рисунок 3 ПЛ при ИИ бора в кремний, полученный в программе Matlab
Рисунки совпадают, поэтому можно сделать предположение, что программа работает верно.
Список литературы.
[1] — Риссел Х., Руге И. Ионная имплантация. М.: Наука, 1983. 312 с.