diff --git a/circuit/25-2/course_project/README.md b/circuit/25-2/course_project/README.md new file mode 100644 index 0000000..eea7e6e --- /dev/null +++ b/circuit/25-2/course_project/README.md @@ -0,0 +1,3 @@ +section - страница + +h1, h2, h3 - пункт, подпункт, подподпункт, отображаются в содержании diff --git a/circuit/25-2/course_project/drawio/bo-func.drawio b/circuit/25-2/course_project/drawio/bo-func.drawio index 2d88fef..531752a 100644 --- a/circuit/25-2/course_project/drawio/bo-func.drawio +++ b/circuit/25-2/course_project/drawio/bo-func.drawio @@ -1,38 +1,38 @@ - + - + + + + - + - + - - - - - + + - + - + - + - + - + - + @@ -40,19 +40,13 @@ - - + + - - - - - - - + - - + + @@ -67,8 +61,8 @@ - - + + @@ -89,80 +83,24 @@ - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + @@ -170,158 +108,90 @@ - + - - + + - + - + - + - + - - + + - + - + - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - + - - - - - - - + - - - - - - - - - - - - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - @@ -358,89 +228,278 @@ + + + + + + + + + + + + + + + + + + - + - + - - + + - + - - + + - - - - - - + - - + + - + + + + - + - - + + - - - - - - + - - + + - - - + + + - + + + + + + + - - + + + + + - + - - + + + + + - + - - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/circuit/25-2/course_project/drawio/bo-set.drawio b/circuit/25-2/course_project/drawio/bo-set.drawio index 305bc05..3655579 100644 --- a/circuit/25-2/course_project/drawio/bo-set.drawio +++ b/circuit/25-2/course_project/drawio/bo-set.drawio @@ -1,54 +1,66 @@ - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + + + + + + + + + + + + + + + diff --git a/circuit/25-2/course_project/img/bo-func.png b/circuit/25-2/course_project/img/bo-func.png index c6613d3..6be551e 100644 Binary files a/circuit/25-2/course_project/img/bo-func.png and b/circuit/25-2/course_project/img/bo-func.png differ diff --git a/circuit/25-2/course_project/img/bo-mut.png b/circuit/25-2/course_project/img/bo-mut.png index 523abf0..06516de 100644 Binary files a/circuit/25-2/course_project/img/bo-mut.png and b/circuit/25-2/course_project/img/bo-mut.png differ diff --git a/circuit/25-2/course_project/img/bo-set.png b/circuit/25-2/course_project/img/bo-set.png index dea15c4..5739cdc 100644 Binary files a/circuit/25-2/course_project/img/bo-set.png and b/circuit/25-2/course_project/img/bo-set.png differ diff --git a/circuit/25-2/course_project/index.css b/circuit/25-2/course_project/index.css new file mode 100644 index 0000000..6e3fa55 --- /dev/null +++ b/circuit/25-2/course_project/index.css @@ -0,0 +1,112 @@ +body { + display: flex; + flex-direction: column; + align-items: center; + margin: 0; + background-color: gray; +} + +html { + font: 12pt Times; +} + +section { + position: relative; + box-sizing: border-box; + width: 210mm; + height: 297mm; + padding: 20mm 15mm 20mm 30mm; + background-color: white; + border-bottom: 1mm solid gray; +} + +header { + font-size: 1.5rem; + font-weight: bolder; +} + +h1 { + font-size: 1.3rem; +} + +h2 { + font-size: 1.15rem; +} + +h3 { + font-size: 1rem; +} + +.col { + display: flex; + flex-direction: column; + gap: 5mm; +} + +.row { + display: flex; + flex-direction: row; + gap: 5mm; +} + +.x-between { + justify-content: space-between; +} + +.x-end { + justify-content: end; +} + +.y-center { + align-items: center; +} + +.right { + text-align: right; +} + +.center { + text-align: center; +} + +.indent { + text-indent: 12.5mm; +} + +.page-number { + position: absolute; + left: 50%; + bottom: 10mm; +} + +.table-of-contents { + overflow-x: hidden; + list-style: none; + padding: 0; +} + +.table-of-contents ol { + list-style: none; +} + +.table-of-contents li:before { + float: left; + width: 0; + white-space: nowrap; + content: + ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " + ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " + ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " + ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "; +} + +.table-of-contents span:first-child { + padding-right: 0.33em; + background-color: white; +} + +.table-of-contents span + span { + float: right; + padding-left: 0.33em; + background-color: white; +} diff --git a/circuit/25-2/course_project/index.html b/circuit/25-2/course_project/index.html new file mode 100644 index 0000000..3abf15e --- /dev/null +++ b/circuit/25-2/course_project/index.html @@ -0,0 +1,50 @@ + + + + + + Document + + + + +
+
+ Национальный исследовательский ядерный университет «МИФИ»
+ Институт интеллектуальных кибернетических систем
+ Кафедра №12 «Компьютерные системы и технологии» +
+
+ Курсовой проект
+ "Проектирование процессора" +
+
+
+
+ Студент:
+ Группа:
+ Преподаватель: +
+
+ Литвинов В.А.
+ Б23-503
+ Ядыкин И.М. +
+
+
Москва — 2025/2026
+
+
+
+

Проектирование блока операций

+

Примеры и алгоритмы выполнения операций

+

Алгоритм операции УМНОЖЕНИЕ

+
+
+

Проектирование блока операций

+

Примеры и алгоритмы выполнения операций

+

Алгоритм операции УМНОЖЕНИЕ

+
+ + + + diff --git a/circuit/25-2/course_project/index.js b/circuit/25-2/course_project/index.js new file mode 100644 index 0000000..c8a9b79 --- /dev/null +++ b/circuit/25-2/course_project/index.js @@ -0,0 +1,70 @@ +class CTX { + addPageNumbers() { + let pages = this.pages + for (let i = 2; i <= pages.length; i++) { + let div = document.createElement('div') + div.classList.add('page-number') + div.textContent = i + pages[i - 1].appendChild(div) + } + } + + addTableOfContents() { + let hs = document.querySelectorAll('h1,h2,h3') + let ol = document.createElement('ol') + ol.classList.add('table-of-contents') + + let prefix_counter = [0, 0, 0] + let page_counter = 2 + let page + + for (let h of hs) { + let level = { + 'H1': 0, + 'H2': 1, + 'H3': 2, + }[h.tagName] + + prefix_counter[level]++ + for (let i = level + 1; i < prefix_counter.length; i++) + prefix_counter[i] = 0 + + let prefix = '' + for (let i = 0; i <= level; i++) + prefix += prefix_counter[i] + '.' + + prefix = prefix.slice(0, prefix.length - 1) + console.log(h.tagName) + + let li = document.createElement('li') + let name = document.createElement('span') + let page_number = document.createElement('span') + + name.innerHTML = prefix + ' - ' + h.innerHTML + + let cur_page = h.closest('section') + if (page != cur_page) { + page = cur_page + page_counter++ + } + page_number.innerHTML = page_counter + + li.append(name, page_number) + ol.appendChild(li) + } + + let header = document.createElement('header') + header.innerText = 'Содержание' + this.pages[0].after(document.createElement('section')) + this.pages[1].appendChild(header) + this.pages[1].appendChild(ol) + } + + get pages() { + return document.getElementsByTagName('section') + } +} + +let ctx = new CTX +ctx.addTableOfContents() +ctx.addPageNumbers() diff --git a/circuit/25-2/course_project/main.tex b/circuit/25-2/course_project/main.tex index 3b255e9..62112f4 100644 --- a/circuit/25-2/course_project/main.tex +++ b/circuit/25-2/course_project/main.tex @@ -8,6 +8,32 @@ \usepackage{fontspec} \defaultfontfeatures{Mapping=tex-text} +\usepackage{caption} +\DeclareCaptionLabelFormat{gost}{#1~\textbf{#2}.} +\DeclareCaptionLabelSeparator{gost}{~} +\captionsetup[figure]{ + labelsep = gost, + labelformat = gost, + justification = centering, + font = {normalsize, bf}, + position = bottom, + skip = 10pt +} + +\captionsetup[table]{ + labelsep = gost, + labelformat = gost, + justification = centering, + font = {normalsize, bf}, + position = top, + skip = 5pt +} + +\makeatletter +\@addtoreset{figure}{section} +\@addtoreset{table}{section} +\makeatother + \setmainfont{Times New Roman} \setromanfont{Times New Roman} \setsansfont{Arial} @@ -180,9 +206,7 @@ $$[A]_{\text{п}} = a_3, a_2 a_1 a_0$$ $RA = 0000$ \\ $RB = 0001$ \\ $CF = 1$ \\ - $RB = 0001$ - } - \makecell{ + $RB = 0001$ \\ \\ Пример 2: \\ $RA = 0001$ \\ $RB = 0001$ \\ @@ -190,7 +214,7 @@ $$[A]_{\text{п}} = a_3, a_2 a_1 a_0$$ $RB = 0011$ } \makecell{ - \begin{minipage}[t]{0.3\textwidth} + \begin{minipage}[t]{0.2\textwidth} \centering \includegraphics[width=\textwidth]{bo-set} \caption{Блок схема проверки бита с установкой в единицу} @@ -213,8 +237,9 @@ $$[A]_{\text{п}} = a_3, a_2 a_1 a_0$$ \end{minipage} \end{figure} +\newpage В таблице \ref{bo-table} приведены все элементы функциональной схемы блока операций -\begin{figure}[H] +\begin{table}[H] \centering \begin{minipage}[t]{\textwidth} \centering @@ -233,7 +258,7 @@ $$[A]_{\text{п}} = a_3, a_2 a_1 a_0$$ \caption{Элементы функциональной схемы} \label{bo-table} \end{minipage} -\end{figure} +\end{table} \newpage \subsection{Проектирование логических элементов блока операций}