alu timing

This commit is contained in:
2026-03-20 12:35:39 +03:00
parent e0a0e8694e
commit c1fd998631
18 changed files with 117 additions and 183 deletions

View File

@ -20,8 +20,9 @@
Кафедра №12 «Компьютерные системы и технологии»
</div>
<header class="center">
Курсовой проект<br>
"Проектирование процессора"
Пояснительная записка<br>
к курсовому проекту<br>
на тему "Проектирование процессора"
</header>
<div class="col">
<div class="row x-end">
@ -80,36 +81,36 @@
</div>
<div class="row">
<table data-tag="bo-mul-test-1" data-alt="Пример умножения 1" data-gen="
,RR$C,4$,RB$C,4$,;;
,0,1,1,1,$C,4$,RA;
b0=1,0,1,1,1,$C,4$,RB;;
$R,2$+,0,0,0,0,0$c,g$,1$c,g$,1$c,g$,1$c,g$,RR=0;
0,1,1,1,$C,4$,RA;;
b1=1,0,1,1,1,0$c,g$,1$c,g$,1$c,g$,1$c,g$,RR+=RA;
$R,2$+,0,0,1,1,1,0$c,g$,1$c,g$,1$c,g$,R>>1;
0,1,1,1,$C,4$,RA;;
b2=1,1,0,1,0,1,0$c,g$,1$c,g$,1$c,g$,RR+=RA;
$R,2$+,0,1,0,1,0,1,0$c,g$,1$c,g$,R>>1;
0,1,1,1,$C,4$,RA;;
,1,1,0,0,0,1,0$c,g$,1$c,g$,RR+=RA;
,0,1,1,0,0,0,1,0$c,g$,R>>1;;
Зн=0,0$c,b$,0,1,1,0,0,0,1,Зн>>R;
,RR$C 4$,RB$C 4$,;;
,0,1,1,1,$C 4$,RA;
b0=1,0,1,1,1,$C 4$,RB;;
$R 2$+,0,0,0,0,0$c g$,1$c g$,1$c g$,1$c g$,RR=0;
0,1,1,1,$C 4$,RA;;
b1=1,0,1,1,1,0$c g$,1$c g$,1$c g$,1$c g$,RR+=RA;
$R 2$+,0,0,1,1,1,0$c g$,1$c g$,1$c g$,R>>1;
0,1,1,1,$C 4$,RA;;
b2=1,1,0,1,0,1,0$c g$,1$c g$,1$c g$,RR+=RA;
$R 2$+,0,1,0,1,0,1,0$c g$,1$c g$,R>>1;
0,1,1,1,$C 4$,RA;;
,1,1,0,0,0,1,0$c g$,1$c g$,RR+=RA;
,0,1,1,0,0,0,1,0$c g$,R>>1;;
Зн=0,0$c b$,0,1,1,0,0,0,1,Зн>>R;
" class="center" style="flex: 1"></table>
<table data-tag="bo-mul-test-2" data-alt="Пример умножения 2" data-gen="
,RR$C,4$,RB$C,4$,;;
,0,1,1,1,$C,4$,RA;
b0=1,1,1,0,1,$C,4$,RB;;
$R,2$+,0,0,0,0,1$c,g$,1$c,g$,0$c,g$,1$c,g$,RR=0;
0,1,1,1,$C,4$,RA;;
b1=0,0,1,1,1,1$c,g$,1$c,g$,0$c,g$,1$c,g$,RR+=RA;
$R,2$,0,0,1,1,1,1$c,g$,1$c,g$,0$c,g$,R>>1;
$C,10$пропуск такта суммирования;;
b2=1,0,0,1,1,1,1$c,g$,1$c,g$,0$c,g$,R;
$R,2$+,0,0,0,1,1,1,1$c,g$,1$c,g$,R>>1;
0,1,1,1,$C,4$,RA;;
,1,0,0,0,1,1,1$c,g$,1$c,g$,RR+=RA;
,0,1,0,0,0,1,1,1$c,g$,R>>1;;
Зн=1,1$c,b$,0,1,0,0,0,1,1,Зн>>R;
,RR$C 4$,RB$C 4$,;;
,0,1,1,1,$C 4$,RA;
b0=1,1,1,0,1,$C 4$,RB;;
$R 2$+,0,0,0,0,1$c g$,1$c g$,0$c g$,1$c g$,RR=0;
0,1,1,1,$C 4$,RA;;
b1=0,0,1,1,1,1$c g$,1$c g$,0$c g$,1$c g$,RR+=RA;
$R 2$,0,0,1,1,1,1$c g$,1$c g$,0$c g$,R>>1;
$C 10$пропуск такта суммирования;;
b2=1,0,0,1,1,1,1$c g$,1$c g$,0$c g$,R;
$R 2$+,0,0,0,1,1,1,1$c g$,1$c g$,R>>1;
0,1,1,1,$C 4$,RA;;
,1,0,0,0,1,1,1$c g$,1$c g$,RR+=RA;
,0,1,0,0,0,1,1,1$c g$,R>>1;;
Зн=1,1$c b$,0,1,0,0,0,1,1,Зн>>R;
" class="center" style="flex: 1"></table>
</div>
</section>
@ -513,32 +514,31 @@
<p>В таблице <span data-ref="muu-cs2-table"></span> отражены сигналы Yi и Yct, подающиеся на выход MUU в каждом
состоянии. Часть функций являются подмножествами других функций, поэтому они минимизироватся не будут.</p>
<table data-tag="muu-cs2-table" data-alt="Таблица истинности CS2" data-gen="
$C,5$,,RA,,RB$C,2$,,RR$C,3$,,CS1,TCF,,CS4,,;
$C 5$,,RA,,RB$C 2$,,RR$C 3$,,CS1,TCF,,CS4,,;
COP,Q1,Q0,F1,FC,,Y1,,Y2,Y3,,Y4,Y5,Y6,,Y7,Y8,,Y9,Yct,SKO,наборы;;
x,0,0,x,x,,0,,0,0,,0,0,0,,0,0,,0,0,0,0-3\, 16-19;
0,0,1,x,x,,1,,1,x,,x,x,1,,x,x,,0,0,0,4-7;
0,1,0,0,0,,0,,0,1,,0,1,0,,0,x,,x,1,0,8;
0,1,0,1,0,,0,,0,0,,1,x,0,,x,x,,x,0,0,10;
0,1,0,x,1,,x,,0,1,,0,1,0,,1,x,,x,x,1,9\, 11;
0,1,1,x,x,,0,,0,1,,0,1,0,,0,x,,x,1,0,12-15;;
0,0,1,x,x,,1,,1,x,,x,x,1,,x,0,,0,0,0,4-7;
0,1,0,0,0,,0,,0,1,,0,1,0,,0,0,,x,1,0,8;
0,1,0,1,0,,0,,0,0,,1,x,0,,x,0,,x,0,0,10;
0,1,0,x,1,,x,,0,1,,0,1,0,,1,0,,x,x,1,9\, 11;
0,1,1,x,x,,0,,0,1,,0,1,0,,0,0,,x,1,0,12-15;;
1,0,1,x,x,,1,,1,x,,x,x,x,,x,x,,0,x,0,20-23;
1,1,0,x,x,,x,,1,x,,x,x,x,,x,1,,1,x,1,24-27;
" class="center"></table>
<div class="row">
<div class="tex col" style="flex: 1">
$Y_2 \supset Y_1,Y_6,Y_8$
$Y_2 \supset Y_1,Y_6$
$Y_3 \supset Y_5$
$Y_9 \supset Y_8$
$SKO \supset Y_7,Y_8,Y_9$
$SKO \supset Y_7,Y_9$
</div>
<div class="tex col" style="flex: 2">
<img src="img/muu-cs2.svg" alt="Подмножества функций CS2">
</div>
<div class="tex col y-end" style="flex: 1">
$Y_1, Y_6, Y_8 := Y_2$
<div class="tex col" style="flex: 1">
$Y_1, Y_6 := Y_2$
$Y_5 := Y_3$
$Y_7, Y_9 := SKO$
</div>
<div class="tex col" style="flex: 1">
Нужно минимизировать $Y_2, Y_3, Y_4, Y_8, Y_{ct}, SKO$
</div>
</div>
<div class="row">
<div class="tex center" style="flex: 1">
@ -558,16 +558,19 @@
<img src="img/muu-cs2-y4-mdnf.png" alt="Минимизация Y4">
</div>
<div class="tex center" style="flex: 1">
$МКНФ: Y_{ct} = (Q_1) \cdot (Q_0 + \overline{F_1})$
<img src="img/muu-cs2-yct-mcnf.png" alt="Минимизация Yct">
$МДНФ: Y_8 = COP \cdot Q_1$
<img src="img/muu-cs2-y8-mdnf.png" alt="Минимизация Y8">
</div>
</div>
<div class="row">
<div class="tex center" style="flex: 1">
$МКНФ: Y_{ct} = (Q_1) \cdot (Q_0 + \overline{F_1})$
<img src="img/muu-cs2-yct-mcnf.png" alt="Минимизация Yct">
</div>
<div class="tex center" style="flex: 1">
$МКНФ: SKO = (Q_1) \cdot (\overline{Q_0}) \cdot (COP + FC)$
<img src="img/muu-cs2-sko-mcnf.png" alt="Минимизация SKO">
</div>
<div style="flex: 1"></div>
</div>
</section>
<section class="col">
@ -586,29 +589,67 @@
<h3>Пример УСТАНОВКА БИТА</h3>
<img data-style="width: 80%" src="img/muu-set-test.png" alt="Функциональное моделирование МУУ УСТАНОВКА БИТА">
</section>
<section class="col">
<h2>Временные параметры АЛУ</h2>
<p>Получен отчет статического анализа времени предварительной установки с помощью программы "Timing Analyzer",
который представлен на рисунке <span data-ref="alu-timing-analyzer"></span>. По полученным данным можно судить о
минимальном периоде работы генератора
АЛУ, вычисленном программой на рисунке <span data-ref="alu-timing-error"></span>.</p>
<img src="img/alu-timing-analyzer.png" data-tag="alu-timing-analyzer" alt="Отчет о временных параметров АЛУ">
<img src="img/alu-timing-error.png" data-tag="alu-timing-error" alt="Сообщение о состязании">
</section>
<section class="col">
<h2>Критический путь АЛУ</h2>
<p>Используя результат работы "Timing Analyzer" - период 23.4ns как отправную точку, в режиме временного
моделирования был определен минимальный период (25.6ns), не вызывающий состязаний. На рисунке <span
data-ref="alu-timing"></span> представлена временная диаграмма с путем сигнала, на рисунке <span
data-ref="alu-timing-inner"></span> представлено внутреннее устройство схем, участвующих в критическом пути
сигнала.</p>
<img src="img/alu-timing.png" alt="Временная диаграмма критического пути АЛУ" data-tag="alu-timing">
<p>Критический путь равен:<br>4(MUU_Q0) + 4.4(MUU_Y4) + 12.5(BO_RR_D1) + 4.7(tуст BO_RR_Q1) = 25.6ns.</p>
<img src="img/alu-timing-inner.png" alt="Схемы, участвующие в критическом пути АЛУ" data-tag="alu-timing-inner">
</section>
<section class="col">
<h2>Характеристики быстродействия АЛУ</h2>
<p>В таблице <span data-ref="alu-pp"></span> приведены параметры быстродействия АЛУ.</p>
<table class="center" data-alt="Характеристики быстродействия АЛУ" data-tag="alu-pp" data-gen="
Параметр$c G$,Временное моделирование$c G$;
Минимальный период работы генератора\, нс,25.6;
Максимальная частота генератора\, МГц,39.0;
Максимальное число тактов операции умножения,8;
Максимальное число тактов операции проверки бита,2;
Максимальное время выполнения операции умножения\, нс,204.8;
Максимальное время выполнения операции проверки бита\, нс,51.2;
Количество операций умножения в секунду\, млн,4.9;
Количество операций проверки бита в секунду\, млн,19.5;
"></table>
<p>Для подключения АЛУ к стэнду задействовано количество элементов, приведенное на рисунке <span data-ref="alu-usage"></span>. На рисунке <span data-ref="alu-crystal"></span> представлена схема размещения элементов на кристалле ПЛИС. </p>
<div class="row y-end">
<img src="img/alu-usage.png" data-tag="alu-usage" alt="Отчет о количестве элементов">
<img data-style="width: 60%" src="img/alu-crystal.png" data-tag="alu-crystal" alt="Схема размещения на кристалле">
</div>
</section>
<section class="col">
<h2>Моделирование АЛУ на стенде</h2>
<p>Схема управления АЛУ на стенде представлена в таблице <span data-ref="muu-controls"></span> и на рисунке <span
data-ref="muu-stand"></span>.</p>
<table data-style="width: 60%" data-tag="muu-controls" data-alt="Назначение регистров и индикаторов стенда" data-gen="
регистры$C,10$;;
1$c,b$,A[3:0]$C,4$,3$c,b$,COP,SNO,___,Page;
2$c,b$,B[3:0]$C,4$,$C,5$;;
индикаторы$C,10$;
страница 0$C,10$;;
A$c,b$,RA[3:0]$C,4$,B$c,b$,SM[3:0]$C,4$;
C$c,b$,RR[3:0]$C,4$,D$c,b$,RB[3:0]$C,4$;
E$c,b$,F1,CF,RR.SLI,Yct,F$c,b$,P[1:0]$C,2$,Ct[1:0]$C,2$;;
страница 1$C,10$;;
A$c,b$,Y[1:4]$C,4$,B$c,b$,Y[5:8]$C,4$;
C$c,b$,Y9,RR[2:1]$C,2$,SKO,D$c,b$,RB[3:0]$C,4$;
E$c,b$,F1,CF,RR.SLI,Yct,F$c,b$,P[1:0]$C,2$,Ct[1:0]$C,2$;;
<table data-style="width: 60%" data-tag="muu-controls" data-alt="Назначение регистров и индикаторов стенда"
data-gen="
регистры$C 10$;;
1$c b$,A[3:0]$C 4$,3$c b$,COP,SNO,___,Page;
2$c b$,B[3:0]$C 4$,$C 5$;;
индикаторы$C 10$;
страница 0$C 10$;;
A$c b$,RA[3:0]$C 4$,B$c b$,SM[3:0]$C 4$;
C$c b$,RR[3:0]$C 4$,D$c b$,RB[3:0]$C 4$;
E$c b$,F1,CF,RR.SLI,Yct,F$c b$,P[1:0]$C 2$,Ct[1:0]$C 2$;;
страница 1$C 10$;;
A$c b$,Y[1:4]$C 4$,B$c b$,Y[5:8]$C 4$;
C$c b$,Y9,RR[2:1]$C 2$,SKO,D$c b$,RB[3:0]$C 4$;
E$c b$,F1,CF,RR.SLI,Yct,F$c b$,P[1:0]$C 2$,Ct[1:0]$C 2$;;
" class="center"></table>
<img src="img/muu-stand.png" alt="Схема подключения АЛУ к стенду" data-tag="muu-stand">
</section>
<section class="col">
<h2>Временные параметры АЛУ</h2>
</section>
<script src="index.js" type="module"></script>
</body>