Files
APS/.pic/Basic Verilog structures/assignments/fig_03.drawio.svg
Andrei Solodovnikov 9739429d6e Синхронизация с правками публикуемого издания (#101)
* СП. Обновление предисловия

* СП. Обновление введения

* СП. Обновление лаб

* СП. Обновление доп материалов

* СП. Введение

* СП. Введение

* СП. ЛР№4, 15

* СП. Базовые конструкции Verilog

* Update Implementation steps.md

* СП. ЛР 4,5,7,8,14

* СП. ЛР№8

* Синхронизация правок

* СП. Финал

* Исправление ссылки на рисунок

* Обновление схемы

* Синхронизация правок

* Добавление белого фона .drawio-изображениям

* ЛР2. Исправление нумерации рисунка
2025-02-12 17:53:52 +03:00

304 lines
24 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="633px" height="285px" viewBox="-0.5 -0.5 633 285" content="&lt;mxfile scale=&quot;1&quot; border=&quot;0&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;EFVNSrtWwNmHJjsIZ87X&quot;&gt;7VxLc6M4EP41VCWHVPF+HBM7nj3sbm3VHPY4JYOMVZGRB/Brf/3qBUYyxh4bJ3GGVEpAq9VqqT+1GnWI4YwW2285WM7/IgnEhm0mW8MZG7ZtmZZNL4yyExQniAQhzVEimfaE7+g/qBJXKIGFQioJwSVaqsSYZBmMS4UG8pxsVLYZwWqnS5DCA8L3GOBD6r8oKeeCGtrBnv4HROm86tny5fCmIH5Lc7LKZH+G7cz4j6hegEqWKQjFHCRk0yA5r4Yzygkpxd1iO4KYTW01a6Ld5EhtrXcOs/KcBtJMa4BXsNLYx7TpS4LWTL9yJ+fE/7liSr3sR/gUE0xyw3mmfHk6fbA9z7BH9KF580ibcAtk5dMMLBDeiQZUIFgsaaUUO0E5oOQRRRK9/MnnVmMRMkckKwgGhXjSeUZklSOY05q/4aZdwIJkpFiCGPYubz/SggOajdNyl1tRgVEGn+YSNazKtnzD9nilX0v0U3ntNMJNZVmRVPnjJB1vwaaXL3wOPaWJA2ammUwP2y5IssJQWBeLiomQo8qmVsxa1dGA7oTC8hbzB/zGcx5btZ5iEr+hLP0BigKl2QLyTisdRH+X6WCKnqtLe/cPJzqjZG6B84yiaeBFou/9tV2Jm4ysXorZtFiK9dXTxJ5vXJQtV+9qzsNBHzz3r0vtw3VtMElR/L7DN4FgmA64viGuyap8d2D3NcpPjN1YMCRfFruPp13Qrw3u1+OJaX5ej11RhGlGERvpYR8T/msaY9N4sXj5wstXXj7zMjTGlhGavHR4+crLiNd6spRCJhVz3VCItXlZ0zXKuEH3OkfeFuS8T8gF8Absih/svaevqMsKPHVxW8fA7ZoPS1LAJGUxX4zfHtmWAVOU3ePSO3/YHxEdHHEFU2Z2JoTu2D07hc/k8ToX3/VD/biYI67tN70eWdc729eGyx03KHbDCXuN2iZP7WyDRpXwz8FBw9qpKiFmm9caQHsfQ9WRndTIjjtHfhbgJbJbDslInsC8eUC2BvnD01OTrqt8ZwtEhit3uErO3lFh9nWD9Q/bui6JJqkhqjO8C+DWP9VWxmyXcMvo83KBKcFipipz8gZHcowZydjh8AxhrJEARmlGHzGcMQlrmJcoBvhZkhcoSVgnL5s5KuF3ccg83uSAOSF+Bg/ZOb5ZK9U8+Je5ACYTbhskmQj4BskClvmOsshaJ/RFE5mzsX1XPG/2KRA7CAVt3kh/2KFkBDLtktay96kHeiOzD+2ZCGfIRAyZiN8lE9HpxboE234wi6I2pUzqUk4Ivk1+48S+ccloRMrk3Ucz5Gi+3Fn2kKMZcjRfEddDjmbI0Qw5mhOnIuPG8cWQr+kMTId8zZCvqfoXvQ7Zm/vO3rRYsz2Xc2pbv9IPCydJS7txsGxef/7cjC/v5uj598ZlcgSX8fXe8JOCtBm/Xg/Sfrd8NbsxLKEhu/GlsxuBZZ7MbjjmrbIbbkt2Q5vneJWv+YAtgYln9h0LfYwx++PxWDWBOj2Ue4Kwap7qu5VDgyVwBlZYIk9+euN0TTKPzLumuDGFnnk4gxUthxiUaK1+Y9M2q7KHfwjiq0la0DVtxYJuZdFKREFWeQxlq+ZHL7ogT4WC63qqoBLkKSwPBFGLgF2DbckYiuMK6wk1V1r9qF5mpPEH3fyBxu8oH/vQG6HxHqG1zc4CrXdr0N4T+BzNlqZzIfgsu1tQT+CrwFP140Rhr+DwB3A0wOGpNvU0EeeDw+oW1Bs4dIX9XsERDNtdD9udhgU37Gm7C+0bbXcaqHyzW68q2qr5vRPbnc4f9QracPBox7e78FLw6dudLqg3j6YpHDm9giMawLF/lfLV0OLiWCg4FVT1BI7AUz2T0zM4qheRAR0cHZpR3Qtf0wI9qtIF9YYOV+2n59eoKqYb0NHmO6p32Kt9hy7oRr7jyqiDPu7/u4dg3/8HFef1fw==&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);">
<defs/>
<g>
<rect x="0" y="0" width="278" height="284" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 276px; height: 1px; padding-top: 142px; margin-left: 2px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<div style="background-color: rgb(255, 255, 255); font-family: &quot;Fira Code Light&quot;, Consolas, &quot;Courier New&quot;, monospace, Consolas, &quot;Courier New&quot;, monospace; font-size: 14px; line-height: 216%;">
<div style="line-height: 216%;">
<div style="line-height: 19px;">
<div style="line-height: 19px;">
<div style="">
<font color="#af00db">
module
</font>
<span style="color: rgb(38, 127, 153);">
blocking_assignment
</span>
<span style="color: rgb(0, 0, 0);">
(
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(38, 127, 153);">
input
</span>
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(0, 0, 255);">
logic
</span>
<span style="color: rgb(0, 0, 0);">
a, b
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(38, 127, 153);">
output
</span>
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(0, 0, 255);">
logic
</span>
<span style="color: rgb(0, 0, 0);">
c, d
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
);
</span>
</div>
<div style="line-height: 19px;">
<br/>
</div>
<font color="#009900">
// блокирующее присваивание
<br/>
</font>
<div style="">
<font color="#af00db">
always_ff
</font>
<span style="color: rgb(175, 0, 219);">
@(posedge clk) begin
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(175, 0, 219);">
</span>
<span style="color: rgb(0, 0, 0);">
b = a;
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
<br/>
</span>
</div>
<div style="">
<span style="color: rgb(0, 0, 0);">
c = b;
</span>
<font color="#009900">
// обновленное значение b
</font>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
<br/>
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
d = c;
</span>
<font color="#009900" style="border-color: var(--border-color);">
// обновленное значение с
</font>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(175, 0, 219);">
end
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
<br/>
</span>
</div>
<div style="">
<font color="#af00db">
endmodule
</font>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="2" y="146" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">
module blocking_assignment(...
</text>
</switch>
</g>
<rect x="324" y="0" width="308" height="284" fill="none" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 306px; height: 1px; padding-top: 142px; margin-left: 326px;">
<div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
<div style="background-color: rgb(255, 255, 255); font-family: &quot;Fira Code Light&quot;, Consolas, &quot;Courier New&quot;, monospace, Consolas, &quot;Courier New&quot;, monospace; font-size: 14px; line-height: 216%;">
<div style="line-height: 216%;">
<div style="line-height: 19px;">
<div style="line-height: 19px;">
<div style="">
<font color="#af00db">
module
</font>
<font color="#267f99">
non
</font>
<span style="color: rgb(38, 127, 153);">
bloc
</span>
<font color="#267f99">
king_a
</font>
<span style="color: rgb(38, 127, 153);">
ssignment
</span>
<span style="color: rgb(0, 0, 0);">
(
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(38, 127, 153);">
input
</span>
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(0, 0, 255);">
logic
</span>
<span style="color: rgb(0, 0, 0);">
a, b
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(38, 127, 153);">
output
</span>
<span style="color: rgb(0, 0, 0);">
</span>
<span style="color: rgb(0, 0, 255);">
logic
</span>
<span style="color: rgb(0, 0, 0);">
c, d
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
);
</span>
</div>
<div style="line-height: 19px;">
<br/>
</div>
<font color="#009900">
// неблокирующее присваивание
<br/>
</font>
<div style="">
<font color="#af00db">
always_ff
</font>
<span style="color: rgb(175, 0, 219);">
@(posedge clk) begin
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(175, 0, 219);">
</span>
<span style="color: rgb(0, 0, 0);">
b &lt;= a;
</span>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
<br/>
</span>
</div>
<div style="">
<span style="color: rgb(0, 0, 0);">
c &lt;= b;
</span>
<font color="#009900">
// старое значение b
</font>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
<br/>
</span>
</div>
<div style="">
<span style="color: rgb(0, 0, 0);">
d &lt;= c;
</span>
<font color="#009900">
// старое значение c
</font>
</div>
<div style="">
<font color="#af00db">
end
</font>
</div>
<div style="color: rgb(59, 59, 59);">
<span style="color: rgb(0, 0, 0);">
<br/>
</span>
</div>
<div style="">
<font color="#af00db">
endmodule
</font>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</foreignObject>
<text x="326" y="146" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">
module nonblocking_assignment(...
</text>
</switch>
</g>
<path d="M 16 146 Q 0 158 11.5 160.5 Q 23 163 58 164.5 Q 93 166 67.66 179.11" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 64.99 180.49 L 67.63 176.87 L 67.66 179.11 L 69.46 180.43 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 50 139 Q 41 134 29.91 137.7" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 27.06 138.65 L 30.22 135.48 L 29.91 137.7 L 31.49 139.28 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 49 187 Q 39 192 28.88 188.39" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 26.05 187.38 L 30.49 186.84 L 28.88 188.39 L 29.15 190.6 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 15 184 Q -1 196 10.5 198.5 Q 22 201 57 203 Q 92 205 67.74 216.27" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 65.01 217.53 L 67.8 214.03 L 67.74 216.27 L 69.48 217.66 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 50 224 Q 40 229 29.88 225.39" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 27.05 224.38 L 31.49 223.84 L 29.88 225.39 L 30.15 227.6 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 381 139 Q 369 129 353.64 137.08" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 350.99 138.48 L 353.6 134.85 L 353.64 137.08 L 355.46 138.39 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 380 176 Q 368 166 352.64 174.08" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 349.99 175.48 L 352.6 171.85 L 352.64 174.08 L 354.46 175.39 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 381 215 Q 369 205 353.64 213.08" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 350.99 214.48 L 353.6 210.85 L 353.64 213.08 L 355.46 214.39 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Text is not SVG - cannot display
</text>
</a>
</switch>
</svg>