mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
* СП. Обновление предисловия * СП. Обновление введения * СП. Обновление лаб * СП. Обновление доп материалов * СП. Введение * СП. Введение * СП. ЛР№4, 15 * СП. Базовые конструкции Verilog * Update Implementation steps.md * СП. ЛР 4,5,7,8,14 * СП. ЛР№8 * Синхронизация правок * СП. Финал * Исправление ссылки на рисунок * Обновление схемы * Синхронизация правок * Добавление белого фона .drawio-изображениям * ЛР2. Исправление нумерации рисунка
304 lines
24 KiB
XML
304 lines
24 KiB
XML
<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="<mxfile scale="1" border="0"><diagram name="Page-1" id="EFVNSrtWwNmHJjsIZ87X">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==</diagram></mxfile>" 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: "Fira Code Light", Consolas, "Courier New", monospace, Consolas, "Courier New", 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: "Fira Code Light", Consolas, "Courier New", monospace, Consolas, "Courier New", 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 <= 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="">
|
||
<span style="color: rgb(0, 0, 0);">
|
||
d <= 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> |