Синхронная пересчетная схема
Порядок проектирования синхронной реверсивной схемы, генерирующей последовательности 0,7,1,5,4,2,3 и (3,2,4,5,1,7,0) на Т- и RS-триггерах. Анализ сложности проектируемого устройства и выбор типа триггера. Синтез триггерного устройства выбранного типа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.07.2012 |
Размер файла | 268,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
1. Проектирование синхронной пересчетной схемы
Пересчетная схема реализует следующую последовательность двоичных эквивалентов чисел:
0,7,1,5,4,2,3 (1)
в которой предусмотрена возможность реверса, т.е. изменение порядка работы схемы на обратный порядок:
3,2,4,5,1,7,0 (2)
1.1 Количество разрядов в проектируемом счетчике
синхронный реверсивный триггер схема
Вследствие нерегулярности структуры пересчётных схем при их описании необходимо рассматривать поведение каждого разряда счётчика в отдельности.
Количество разрядов в проектируемом счетчике определяется как
n =] log (Nmax+1) [
где Nmax=7 - максимальное число в заданной последовательности.
n =] log (7+1) [=3.
Данный счетчик имеет три триггерных устройства. Необходимо построить схемы управления этими триггерами, чтобы они переключались в соответствии с заданием.
1.2 Количество управляющих сигналов
Так как число выполняемых счетчиком операций k=2 (прямой счет и обратный), то в соответствии с формулой: my=] log k [
my =] log 2 [= 1, т.е. требуется одна управляющая переменная. Условимся, что при у=0 счетчик будет вырабатывать последовательность чисел (1), а при у=1 - последовательность чисел (2).
Обозначим выходные сигналы каждого разряда счетчика как Q1, Q2, Q3 (Q1 - старший разряд, Q3 - младший разряд).
1.3 Описание работы счетчика в виде таблицы терминов типов переходов выходного сигнала цQi каждого разряда счетчика
В столбцах Q1, Q2, Q3 таблицы 2 перечислены разрешенные комбинации выходных сигналов счетчика. Порядок следования этих комбинаций строго определен выражениями (1), (2) и значениями переменной у. В столбцах цQ1, цQ2, ц,Q3 указан тип перехода, который осуществляется каждым разрядом счетчика при соответствующем изменении состояния этого счетчика. Тип перехода определяется сравнением значений Q1, Q2, Q3 в рассматриваемом состоянии счётчика со значениями этих сигналов в следующем состоянии пересчётной схемы. Условные обозначения возможных типов переходов переменной Qi представлены в таблице 1.
Используя карту Карно для четырех переменных, опишем поведение каждого разряда счетчика. В каждую клетку, соответствующую различным состояниям выходных сигналов Q1, Q2, Q3 и управляющей переменной у, заносится тип перехода, осуществляемого i-м разрядом счетчика при выполнении соответствующей операции счета. Тип перехода i-го разряда определяется значениями столбца Q1, Q2, Q3 таблицы 2.
Q1 - карта |
|||||
Q2Q3 |
yQ1 |
||||
00 |
01 |
11 |
10 |
||
00 |
б |
в |
1 |
0 |
|
01 |
б |
1 |
в |
б |
|
11 |
0 |
в |
в |
0 |
|
10 |
0 |
x |
x |
б |
|
Q2 - карта |
|||||
Q2Q3 |
yQ1 |
||||
00 |
01 |
11 |
10 |
||
00 |
б |
б |
0 |
б |
|
01 |
0 |
0 |
0 |
б |
|
11 |
в |
в |
в |
1 |
|
10 |
1 |
x |
x |
в |
|
Q3 - карта Q3 - карта |
|||||
Q2Q3 |
yQ1 |
||||
00 |
01 |
11 |
10 |
||
00 |
б |
0 |
б |
б |
|
01 |
1 |
в |
1 |
1 |
|
11 |
в |
1 |
в |
в |
|
10 |
б |
x |
x |
0 |
Поскольку типы переходов выходного сигнала триггера полностью определяются значениями входных сигналов триггера (т.е. словарным описанием триггера), как показано в табл. 3, то очевидно, что подставив в карту Карно вместо обозначений типов переходов значения входных сигналов, которые обеспечивают требуемый тип перехода можно определить карту Карно, описывающую логику формирования входных сигналов триггера, выполняющего функции i-го разряда проектируемого счетчика.
Таблица 3
Q |
T-триггер |
RS-триггер |
|
T |
R S |
||
0 |
0 |
X 0 |
|
1 |
0 |
0 X |
|
б |
1 |
0 1 |
|
в |
1 |
1 0 |
Карты Карно, описывающие логику формирования сигналов Т1, Т2, Т3 первого, второго и третьего разрядов проектируемого счетчика.
Карты Карно, описывающие логику формирования сигналов R1, R2, R3, S1, S2, S3 первого, второго и третьего разрядов проектируемого счетчика.
Преобразуем полученные функции в базис И-НЕ:
Проведем оценку сложности комбинационных схем управления в полученных счетчиках. Для счетчика, реализованного на базе Т-триггеров, сложность определяется суммой
S[T] = (2+1+1)+(2+1+1)+(1+1+1)+(1+1)+(1+1+1)+(1+1+1+1+1)+(2+1+1)+(1+1+1)+(2+1+1)+(1+1)+ (1+1+1)+(1+1+1+1+1)+(1+1+1)+(1+1+1)+(2+1+1+1)+(2+1+1)+ +(1+1+1)+ (1+1+1+1+1) =65
а для счетчика реализованного на базе RS - триггеров, составит
S[RS] = (2+1+1)+(1+1+1)+(1+1)+(1+1+1)+(2+1+1)+(1+1+1)+(1+1+1)+(1+1+1)+(2+1)+(1+1)+(1+1+1)+(1+1+1)+(2+1)+(1+1+1)+(1+1)+(2+1+1)+(1+1+1)+(1+1)+(1+1+1)+(2+1+1)+(1+1)+(1+1) =64
Так как для получения сигналов не требуется дополнительных затрат, то эти входы при вычислении S[T] и S[RS] оценены по 1.
Сравнение оценок сложности схем показывает, что S[T]=65>S[RS]=64, следовательно, для реализации пересчетной схемы целесообразно выбрать триггер RS - типа.
Схема счётчика, построенного по полученным выражениям (6) для RS-триггера изображена на рис. 1.
2. Проектирование триггерных устройств
Исходными данными для проектирования являются функция внешних переходов триггера и условия переключения выходного сигнала триггера по отношению к синхросигналу С.
Функцию внешних переходов RS-триггера определяет таблица 4.
Таблица 4
S |
R |
Qt |
Qt+1 |
цQi |
|
0 |
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
|||
0 |
1 |
0 |
0 |
0 |
|
1 |
0 |
в |
|||
1 |
0 |
0 |
1 |
б |
|
1 |
1 |
1 |
Условия переключения выходного сигнала триггера по отношению к синхросигналу С: изменение выходного сигнала триггера Q будет происходить при переходе С из 1 в 0, т.е. задним фронтом сигнала С.
Определим ограничения на RS-триггерное устройство:
Ш при изменении С, сигналы R и S не должны меняться
Ш при С=1, R и S не должны меняться
Ш при С=0, никаких ограничений на изменение сигналов R и S не накладывается
Описание работы триггера представим в виде таблицы внутренних состояний и переходов триггерного устройства в таблице 5.
Таблица 5
№ сост. |
Состояние сигналов СRS |
Q выхода |
||||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
|||
1 |
(1) |
2 |
- |
4 |
- |
- |
- |
8 |
0 |
|
2 |
1 |
(2) |
- |
4 |
- |
- |
7 |
- |
0 |
|
3 |
X |
X |
(3) |
X |
X |
X |
X |
X |
X |
|
4 |
1 |
2 |
- |
(4) |
5 |
- |
- |
- |
0 |
|
5 |
- |
- |
- |
12 |
(5) |
- |
- |
- |
0 |
|
6 |
X |
X |
X |
X |
X |
(6) |
X |
X |
X |
|
7 |
- |
10 |
- |
- |
- |
- |
(7) |
- |
0 |
|
8 |
1 |
- |
- |
- |
- |
- |
- |
(8) |
0 |
|
9 |
(9) |
10 |
- |
12 |
- |
- |
- |
16 |
1 |
|
10 |
9 |
(10) |
- |
12 |
- |
- |
15 |
- |
1 |
|
11 |
X |
X |
(11) |
X |
X |
X |
X |
X |
X |
|
12 |
9 |
10 |
- |
(12) |
13 |
- |
- |
- |
1 |
|
13 |
- |
- |
- |
4 |
(13) |
- |
- |
- |
1 |
|
14 |
X |
X |
X |
X |
X |
(14) |
X |
X |
X |
|
15 |
- |
10 |
- |
- |
- |
- |
(15) |
- |
1 |
|
16 |
9 |
- |
- |
- |
- |
- |
- |
(16) |
1 |
Количество внутренних состояний триггера можно сократить, объединяя строки таблицы 5 по следующим правилам:
· две и более строк таблицы можно соединить, если числа в соответствующих позициях строки совпадают;
· в одной строке в данной позиции стоит «-», а в другой строке в этой же позиции стоит число;
· если объединены строки, где в данной позиции стоят числа в скобках и без скобок, то в результирующей строке в данной позиции ставится число в скобках.
Минимизированная таблица внутренних состояний и переходов RS - триггера имеет следующий вид:
Таблица 6
№ состояния |
СRS |
Q |
||||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
|||
1,2,3,4,5,6,8 |
(1) |
(2) |
- |
(4) |
(5) |
- |
7 |
(8) |
0 |
|
7 |
- |
10 |
- |
- |
- |
- |
(7) |
- |
0 |
|
9,10,11,12,14,15,16 |
(9) |
(10) |
- |
(12) |
13 |
- |
(15) |
(16) |
1 |
|
13 |
- |
- |
- |
4 |
(13) |
- |
- |
- |
1 |
Преобразуем таблицу 6 в соответствии с количеством новых состояний триггера в таблицу 7.
Таблица 7
№ состояния |
СRS |
Q |
||||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
|||
1,2,3,4,5,6,8 |
(1) |
(1) |
- |
(1) |
(1) |
- |
2 |
(1) |
0 |
|
7 |
- |
3 |
- |
- |
- |
- |
(2) |
- |
0 |
|
9,10,11,12,14,15,16 |
(3) |
(3) |
- |
(3) |
4 |
- |
(3) |
(3) |
1 |
|
13 |
- |
- |
- |
1 |
(4) |
- |
- |
- |
1 |
'Гак как число внутренних состояний уменьшилось до S=4, то для кодирования этих состояний достаточно k=log2S=2 внутренних переменных. Обозначим их как у1 и у2. Каждому внутреннему состоянию триггера поставим в соответствие набор значений переменных у1 и y2. Эту операцию необходимо выполнить таким образом, чтобы в триггере не возникали критические состязания между сигналами обратных связей (состязания, приводящие к несанкционированным переходам триггера из состояния в состояние). Эти состязания будут устранены, если коды соседних состояний будут отличаться значениями не более чем в одном из разрядов, т.е. переходы между соседними внутренними состояниями будут реализованы изменением только одной внутренней не ременной. Составим граф переходов, отвечающий этому требованию (рис. 2), где 00, 01, 11, 10 - коды внутренних состояний 1, 2, 3, 4, соответственно.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 2. Граф переходов
В соответствии с выбранным вариантом кодирования состояний триггера, минимизированная таблица RS - триггера (таблица 8) будет представлять собой совокупность 2 таблиц, каждая из которых определяет одну из функций у1 или у2.
Таблица 8
Код внутреннего состояния у1у2 |
СRS |
Q |
||||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
|||
00 |
00 |
00 |
- |
00 |
00 |
- |
01 |
00 |
0 |
|
01 |
- |
11 |
- |
- |
- |
- |
01 |
- |
0 |
|
11 |
11 |
11 |
- |
11 |
10 |
- |
11 |
11 |
1 |
|
10 |
- |
- |
- |
00 |
10 |
- |
- |
- |
1 |
Данные таблицы 8 позволяют описать поведение переменных у1 и у2 в виде карт Карно. Для устранения явления статического состязания сигналов в карты Карно кроме минимальных покрытий следует вводить избыточное покрытие, таким образом, чтобы каждая пара смежных покрытий входила бы, по меньшей мере в одно общее покрытие.
Карта для у1
у1у2 |
СRS |
||||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
||
00 |
0 |
0 |
- |
0 |
0 |
- |
0 |
0 |
|
01 |
- |
1 |
- |
- |
- |
- |
0 |
- |
|
11 |
1 |
1 |
- |
1 |
1 |
- |
1 |
1 |
|
10 |
- |
- |
- |
0 |
1 |
- |
- |
- |
Карта для у2
у1у2 |
СSR |
||||||||
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 |
||
00 |
0 |
0 |
- |
0 |
0 |
- |
1 |
0 |
|
01 |
- |
1 |
- |
- |
- |
- |
1 |
- |
|
11 |
1 |
1 |
- |
1 |
0 |
- |
1 |
1 |
|
10 |
- |
- |
- |
0 |
0 |
- |
- |
- |
Проведя склеивание в картах Карно, определим выражения для у1 и у2:
Полученные уравнения позволяют построить схему проектируемого триггера. Перед построением преобразуем уравнение в базис И-НЕ, предварительно вынеся за скобки y1 и y2.
Построим схему проектируемого RS-триггера на основе полученных выражений (Рис. 3).
Рис. 3. Схема RS-триггера
Расчет элемента И-НЕ
Номер п/п |
Наименование параметра |
Значение |
|
1 |
Напряжение питания Uип, В |
5 |
|
2 |
Тип схемы |
И-НЕ |
|
3 |
Температура окружающей среды, оC |
20 |
|
4 |
Коэффициент объединения по входу Коб |
4 |
|
5 |
Коэффициент разветвления Краз |
10 |
|
6 |
Емкость нагрузки Сн, пФ |
5 |
|
7 |
Частота повторения входных сигналов fп, МГц |
20 |
|
8 |
Напряжение логического «0» U0, В |
0 |
|
9 |
Напряжение логического «1» U1, В |
4 |
|
10 |
Напряжение порога переключения транзистора n-типа Uпор.n, В |
2.4 |
|
11 |
Напряжение порога переключения транзистора p-типа Uпор.p, В |
-1.5 |
|
12 |
Удельная крутизна транзисторов n-типа Кn, мА/В2 |
0.3 |
|
13 |
Удельная крутизна транзисторов р-типа Кр, мА/В2 |
0.2 |
Схема элемента И-НЕ
Расчет статистических параметров
Проверка условия нормальной работы схемы:
¦Uпор.р¦+Uпор.n<Uип; ¦-1,5¦+2,4<5 В.
1. Напряжение логического перепада
Uл=U1-U0;
Uл=4-0=4 В.
2. Удельная эквивалентная крутизна транзисторов:
Кn=Кэкв.n=Кn/m; т.к. входные транзисторы включены последовательно.
Кэкв.n=0,3/2=0,15 мА/В2
Кр= Кэкв.р= Кp*m; т.к. нагрузочные транзисторы включены параллельно.
Кэкв.р=0,2*2=0,4 мА/В2
3. Напряжение порога переключения:
Vп= - [vКэкв.n*Uпор.n +vКэкв.р (Uип+Uпор.р)]/(vКэкв.n+vКэкв.р);
Vп=- [v(0,15*10-3)*2,4+v(0,4*10-3)*(5-1,5)]/(v(0,15*10-3)+ v(0,4*10-3))=
=-3,082 В
4. Запас помехоустойчивости по уровню «0»:
U+п=vп;
U+п=-3,082 В
5. Запас помехоустойчивости по уровню «1»:
U-п= Uип-vп;
U-п=5+3,082=8,082 В
6. Ширина зоны неопределенности:
vп?0,1 В
7. Токи, потребляемые логическим элементом в состоянии «0» и «1», в статистическом режиме, соответственно равны:
Iп0=Iп1=0
8. Мощность, потребляемая логическим элементом в статистическом режиме:
Pст=Uст*Iст= 0 Вт
9. Принимаем на входное сопротивление элемента для состояния «0» и «1» на входе:
Rвх=108…1010 Ом
10. Принимаем на выходное сопротивление элемента для состояния «0» и «1» на выходе:
Rвых=105…106 Ом
Расчет динамических параметров
11. Определение общей паразитной емкости на выходе схемы для следующих значений составляющих емкостей:
Сз-к.n=0,5 пФ - емкости затвор-канал транзисторов n-типа.
Сз-к.n =Коб Сз-к.n=4*0,5=2 пФ;
Сз-c.n=0,5 пФ - емкость затвор-сток транзисторов n-типа.
Сз-c.n=Коб Сз-с.n =2*4*0,5=4 пФ;
Сз-и.p=0,5 пФ - емкость затвор-исток транзисторов р-типа.
Сз-и.p=Коб Сз-и.р=4*0,5=2 пФ;
См=1,5 пФ - паразитная емкость межэлементных соединений;
Сн - емкость нагрузки;
Общая паразитная емкость:
Сп=Сз-к.n+ Сз-c.n+ Сз-и.p+См+Сн;
Сп=2+4+2+1,5+5=14,5 пФ
12. Определяем время перехода из состояния «1» в состояние «0», т.е. время включения.
t1,0=0,8 Cп Uип/Kn ДU2пор;
где ДUпор= Uип - Uпор.n - ¦Uпор.р¦=1,1 В
t1,0=0,8*14,5*10-12*5/0,15*10-3 * 1,12 = 3,19559*10-7=319,56*10-9=319,56 нс
13. Определяем время задержки распространения при включении:
t1,0зд.р=tn (Uип-vп)/(Uип - Uпор.n),
где tn=2Cп/Кn (Uип - Uпор.n);
tn=2*14,5*10-12/[0,15*10-3 * (5-2,4)]=7,436*10-8 =74,36 нс
t1,0зд.р=7,436*10-8 *(5+3,082)/(5-2,4)= 2,3115*10-7=231,15 нс
14. Определяем время перехода из состояния «0» в состояние «1», т.е. время выключения:
t0,1=0,8 Cп Uип/Kр ДU2пор;
t0,1=0,8*14,5*10-12*5/0,4*10-3 * 1,12 =1,2397*10-7=119,83 нс
15. Определяем время задержки распространения при выключении:
t0,1зд.р=tp vп/(Uип - Uпор.p),
где tp=2Cп/[Кp (Uип - ¦Uпор.p¦)];
tp=2*14,5*10-12/[0,4*10-3 * (5-1.5)]=2,071*10-8 =20,71 нс
t0,1зд.р= 2,071*10-8 *(-3,082)/(5+1,5)= -9,82*10-9 =-9,82 нс
16. Определяем среднее время задержки распространения:
tзд.р.ср=(t1,0зд.р+ t0,1зд.р)/2;
tзд.р.ср=(2,3115*10-7+(-9,82*10-9))/2=1,1066*10-7 =110,66 нс
17. Определяем мощность потребления элемента в динамическом режиме при заданной fп=1 / Тпер - рабочая частота переключения.
Pдин=fпCпU2ип;
Pдин=20*106*14,5*10-12*52=7,5*10-3=7250 мкВт
Текст программы на языке С++
#include<fstream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
ofstream fout;
// шаблон фнкции, обрабатывающей некорректный ввод
template<class T>
void CorrInput (T &z)
{
while(! cin) // недопустимый ввод
{
cin.clear(); // переустановка ввода
while (cin.get()!='\n')
continue; // устранение неверного ввода
cout<< «Некорректный ввод, введите еще раз»;
cin>>z;
}
return;
}
void main()
{
float Kn, Kp, Upor_p, Upor_n, U_pit, U_log, U1, U0;
float V_por, U_pom0, U_pom1, dUpor;
int kolp, koln, Kob;
fout.open («Output.txt»);
if(! fout)
{
cerr << «Ошибка открытия файла\n»;
cout<< «Введите любую клавишу для выхода»;
getch();
return;
}
clrscr();
cout<< «Расчет элемента И-НЕ\n\n\n»;
fout<< «Расчет элемента И-НЕ\n\n\n»;
cout<< «Расчет статических параметров\n\n»;
fout<< «Расчет статических параметров\n\n»;
cout<< «Введите удельную крутизну транзисторов n-типа (мА/В^2):»;
cin>>Kn;
CorrInput(Kn);
fout<< «Удельная крутизна транзисторов n-типа Кn="<<Kn<<» мА/В^2\n»;
cout<< «Введите количество транзисторов n-типа:»;
cin>>koln;
CorrInput(koln);
fout<< «Количество транзисторов n-типа=»<<koln;
cout<< «Введите удельную крутизну транзисторов p-типа (мА/В^2):»;
cin>>Kp;
CorrInput(Kp);
fout<<»\nУдельная крутизна транзисторов p-типа Кр= "<<Kp<<» мА/В^2\n»;
cout<< «Введите количество транзисторов р-типа:»;
cin>>kolp;
CorrInput(kolp);
fout<< «Количество транзисторов р-типа=»<<kolp;
cout<< «Введите напряжение логического нуля (В):»;
cin>>U0;
CorrInput(U0);
fout<<»\nНапряжение логического нуля U0= "<<U0<<» В\n»;
cout<< «Введите напряжение логической единицы (В):»;
cin>>U1;
CorrInput(U1);
fout<< «Напряжение логической единицы U1="<<U1<<» В\n»;
cout<<«Введите напряжение порога переключения транзисторов
n-типа (В):»;
cin>>Upor_n;
CorrInput (Upor_n);
fout<< «Напряжение порога переключения транзисторов n-типа Uпор.n=»
<<Upor_n<<» В\n»;
cout<<«Введите напряжение порога переключения транзисторов
p-типа (В):»;
cin>>Upor_p;
CorrInput (Upor_p);
fout<< «Напряжение порога переключения транзисторов р-типа Uпор.p=»
<<Upor_p<<» В\n»;
cout<< «Введите напряжение питания (В):»;
cin>>U_pit;
CorrInput (U_pit);
fout<< «Напряжение питания Uип="<<U_pit<<» В\n»;
Kn*=pow10 (-3)/koln;
Kp*=pow10 (-3)*kolp;
U_log=U1-U0;
V_por=-1*((sqrt(Kn))*Upor_n+(sqrt(Kp))*(U_pit+Upor_p))/(sqrt(Kn)+sqrt(Kp));
U_pom1=U_pit-V_por;
cout<<»\nПроверка условия нормальной работы схемы\n»;
fout<<»\nПроверка условия нормальной работы схемы\n»;
if (fabs(Upor_p)+Upor_n>U_pit)
{
cout<< «Условие нормальной работы схемы не выполнено:»;
fout<< «Условие нормальной работы схемы не выполнено:»;
fout<< "|"<<Upor_p<< "|"<< "+"<<Upor_n<<»>«<<U_pit<<endl;
cout<< "|"<<Upor_p<< "|"<< "+"<<Upor_n<<»>«<<U_pit<<endl;
fout<<»\n\nКонец программы»;
cout<< «Введите любую клавишу для выхода»;
getch();
return;
}
cout<< «Условие нормальной работы схемы выполнено:»;
fout<< «Условие нормальной работы схемы выполнено:»;
cout<< "|"<<Upor_p<< "|"<< "+"<<Upor_n<< "<"<<U_pit;
fout<< "|"<<Upor_p<< "|"<< "+"<<Upor_n<< "<"<<U_pit;
cout<<»\nЭквивалентная крутизна n-типа транзисторов Kэкв.n=»
<<setprecision(3)<<Kn*pow10 (3)<<» мА/В^2»;
fout<<»\nЭквивалентная крутизна n-типа транзисторов Kэкв.n=»
<<setprecision(3)<<Kn*pow10 (3)<<» мА/В^2»;
cout<<»\nЭквивалентная крутизна р-типа транзисторов Kэкв.р=»
<<setprecision(3)<<Kp*pow10 (3)<<» мА/В^2»;
fout<<»\nЭквивалентная крутизна р-типа транзисторов Kэкв.р=»
<<setprecision(3)<<Kp*pow10 (3)<<» мА/В^2»;
cout<<»\nНапряжение логического перепада Uл»
<<setprecision(3)<<U_log<<» В»;
fout<<»\nНапряжение логического перепада Uл»
<<setprecision(3)<<U_log<<» В»;
cout<<»\nНапряжение порога переключения Vп»
<<setprecision(3)<<V_por<<» В»;
fout<<»\nНапряжение порога переключения Vп»
<<setprecision(3)<<V_por<<» В»;
cout<<»\nЗапас помехоустойчивости по уровню 0 V+п=»
<<setprecision(3)<<V_por<<» В»;
fout<<»\nЗапас помехоустойчивости по уровню 0 V+п=»
<<setprecision(3)<<V_por<<» В»;
cout<<»\nЗапас помехоустойчивости по уровню 1 V-п=»
<<setprecision(3)<<U_pom1<<» В»;
fout<<»\nЗапас помехоустойчивости по уровню 1 V-п=»
<<setprecision(3)<<U_pom1<<» В»;
cout<<»\n\n\nРасчет динамических параметров\n\n»;
fout<<»\n\n\nРасчет динамических параметров\n\n»;
float Czkn, Czsn, Cm, Czip, Cn, Cpr, t10, t01, t10z, t01z, t_zd_sr, Pdin, fp, tn, tp;
cout<< «Введите коэффициент объединения по входу:»;
cin>>Kob;
CorrInput(Kob);
fout<< «Коэффициент объединения по входу Коб=»<<Kob;
cout<<«Введите емкость затвор-канал транзистора с каналом n-типа
(пФ):»;
cin>>Czkn;
CorrInput(Czkn);
Czkn=Kob*Czkn;
fout<<»\nЕмкость затвор-канал транзистора с каналом n-типа
Сз-к.n= "<<Czkn<<» пФ»;
cout<< «Введите емкость затвор-сток с каналом n-типа (пФ):»;
cin>>Czsn;
CorrInput(Czsn);
Czsn=2*Kob*Czsn;
fout<<»\nЕмкость затвор-сток с каналом n-типа Сз-с.n= "<<Czsn<<» пФ»;
cout<<«Введите емкость затвор-исток транзистора с каналом p-типа
(пФ):»;
cin>>Czip;
CorrInput(Czip);
Czip=Kob*Czip;
fout<<»\nЕмкость затвор-исток транзистора с каналом p-типа
Сз-и.р= "<<Czip<<» пФ»;
cout<<«Введите паразитную емкость межэлементных соединений
(пФ):»;
cin>>Cm;
CorrInput(Cm);
fout<<»\nПаразитная емкость межэлементных соединений
См= "<<Cm<<» пФ»;
cout<< «Введите емкость нагрузки (пФ):»;
cin>>Cn;
CorrInput(Cn);
fout<<»\nЕмкость нагрузки Сн= "<<Cn<<» пФ»;
cout<< «Введите частоту повторения входных сигналов (МГц):»;
cin>>fp;
CorrInput(fp);
fout<<»\nЧастота повторения входных сигналов fп= "<<fp<<» МГц\n»;
fp*=pow10 (6);
Cpr=Czkn+Czsn+Czip+Cm+Cn;
Cpr*=pow10 (-12);
dUpor=U_pit-Upor_n-fabs (Upor_p);
t10=(0.8*Cpr*U_pit)/(Kn*dUpor*dUpor);
tn=2*Cpr/(Kn*(U_pit-Upor_n));
t10z=tn*(U_pit-V_por)/(U_pit-Upor_n);
t01=(0.8*Cpr*U_pit)/(Kp*dUpor*dUpor);
tp=2*Cpr/(Kp*(U_pit-fabs (Upor_p)));
t01z=tp*V_por/(U_pit-Upor_p);
t_zd_sr=(t10z+t01z)/2;
Pdin=fp*Cpr*U_pit*U_pit;
cout<<»\nОбщая паразитная емкость Сп="<<setprecision(2)
<<Cpr*pow10 (12)<<» пФ»;
fout<<»\nОбщая паразитная емкость Сп="<<setprecision(2)
<<Cpr*pow10 (12)<<» пФ»;
cout<<»\nВремя включения t10= "<<setprecision(2)<<t10*pow10 (9)<<» нс»;
fout<<»\nВремя включения t10= "<<setprecision(2)<<t10*pow10 (9)<<» нс»;
cout<<»\nВремя задержки распространения при включении t10зд.р=»
<<setprecision(2)<<t10z*pow10 (9)<<» нс»;
fout<<»\nВремя задержки распространения при включении t10зд.р=»
<<setprecision(2)<<t10z*pow10 (9)<<» нс»;
cout<<»\nВремя выключения t01="<<setprecision(2)<<t01*pow10 (9)
<<» нс»;
fout<<»\nВремя выключения t01= "<<setprecision(2)<<t01*pow10 (9)<<» нс»;
cout<<»\nВремя задержки распространения при выключении t01зд.р=»
<<setprecision(2)<<t01z*pow10 (9)<<» нс»;
fout<<»\nВремя задержки распространения при выключении t01зд.р=»
<<setprecision(2)<<t01z*pow10 (9)<<» нс»;
cout<<»\nСреднее время задержки распространения tзд.р.ср=»
<<setprecision(2)<<t_zd_sr*pow10 (9)<<» нс»;
fout<<»\nСреднее время задержки распространения tзд.р.ср=»
<<setprecision(2)<<t_zd_sr*pow10 (9)<<» нс»;
cout<<»\nМощность потребления элемента в динамическом режиме
Рдин= "<<setprecision(3)<<Pdin*pow10 (6)<<» мкВт»;
fout<<»\nМощность потребления элемента в динамическом режиме
Рдин= "<<setprecision(3)<<Pdin*pow10 (6)<<» мкВт»;
fout<<»\n\n\nКонец программы»;
fout.close();
cout<<»\n\n\nВведете любую клавишу для выхода»;
getch();
return;
}
Размещено на Allbest.ru
Подобные документы
Выбор принципов проектирования устройства записи, хранения и передачи чисел. Разработка алгоритма выполнения операций, необходимых для обработки информации. Структурная схема устройства. Элементарная база, необходимая для разработки принципиальной схемы.
курсовая работа [1,3 M], добавлен 16.08.2012Описание алгоритма функционирования устройства сопряжения, которое подключается к системной шине ISA. Принципиальная и функциональная схемы интерфейсной и операционной части устройства. Моделирование схемы операционной части, построение диаграммы работы.
курсовая работа [50,7 K], добавлен 13.11.2009Систематизация, закрепление и расширение теоретических и практических знаний. Выбор методов построения проектируемого устройства, синтез функциональных узлов, схемы контроля, расчеты электронных схем. Проектирование конструкций, технологических процессов.
методичка [84,3 K], добавлен 28.12.2009Строение и принцип действия упрощенной модели автоматического вычислителя типа программируемого микрокалькулятора. Составление блок-схемы алгоритма вычисления. Синтез счетчика с параллельным переносов на основе JK-триггеров; схема запуска устройства.
курсовая работа [590,4 K], добавлен 04.08.2014Анализ архитектуры, структуры и элементной базы существующих ОЗУ и системных шин компьютеров. Разработка структурной и принципиальной схемы адаптера связи оперативного запоминающего устройства с синхронной системной шиной. Выбор элементов и узлов ОЗУ.
курсовая работа [271,4 K], добавлен 17.09.2013Схема алгоритма работы устройства сравнения трех чисел, структурная, функциональная и принципиальная схемы. Оценка параметров устройства. Схемы задержки и сброса по питанию, комбинационная схема определения среднего числа. Построение временной диаграммы.
курсовая работа [205,0 K], добавлен 24.06.2013Алгоритм реализации арифметической операции и разработка блок-схемы устройства. Составление и минимизация логических выражений работы блоков. Логическая схема регистра, сумматора, сдвига и мультиплексора. Анализ и синхронизация работы устройства.
курсовая работа [1,2 M], добавлен 27.02.2014Принцип работы преобразовательного устройства. Система автоматического управления. Расчет параметров катушки индуктивности. Схема преобразовательного устройства и описание элементов математической модели. Режим прерывистых и непрерывных токов дросселя.
курсовая работа [705,1 K], добавлен 21.10.2012Сравнительный анализ существующих приборов. Разработка функциональной схемы устройства. Выбор и статистический расчет элементов, входящих в систему: датчика, источник тока, усилителя, микроконтроллера, блок питания. Блок-схема управляющей программы.
курсовая работа [769,9 K], добавлен 12.01.2015Разработка вычислительного устройства для умножения двоичных чисел с фиксированной запятой, без знака, представленных в прямом коде. Алгоритм операции, структурная схема АЛУ, диаграмма управляющих сигналов, функциональная схема устройства управления.
контрольная работа [180,2 K], добавлен 01.10.2014