<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
	<id>http://wiki.dcae.pub.ro/index.php?action=history&amp;feed=atom&amp;title=CID_aplicatii_4_%3A_Memorii_ROM</id>
	<title>CID aplicatii 4 : Memorii ROM - Revizia istoricului</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.dcae.pub.ro/index.php?action=history&amp;feed=atom&amp;title=CID_aplicatii_4_%3A_Memorii_ROM"/>
	<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;action=history"/>
	<updated>2026-05-22T19:31:30Z</updated>
	<subtitle>Istoricul versiunilor pentru această pagină din wiki</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7217&amp;oldid=prev</id>
		<title>Gvpopescu: /* Exercițiul 2 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7217&amp;oldid=prev"/>
		<updated>2022-03-22T10:12:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exercițiul 2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ro&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versiunea anterioară&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versiunea de la data 22 martie 2022 10:12&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l179&quot; &gt;Linia 179:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 179:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| AND || 4&amp;#039;b0011 || AND Rd Rs1 Rs2 || Rd = Rs1 AND Rs2&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| AND || 4&amp;#039;b0011 || AND Rd Rs1 Rs2 || Rd = Rs1 AND Rs2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-  align=&amp;quot;center&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-  align=&amp;quot;center&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| LOADC || 4&amp;#039;b0100 || LOADC Rd || Rd = &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;constanta&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| LOADC || 4&amp;#039;b0100 || LOADC Rd&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, const &lt;/ins&gt;|| Rd = &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;const&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gvpopescu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7216&amp;oldid=prev</id>
		<title>Gvpopescu: /* Exercițiul 3 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7216&amp;oldid=prev"/>
		<updated>2022-03-21T07:21:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exercițiul 3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ro&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versiunea anterioară&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versiunea de la data 21 martie 2022 07:21&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l223&quot; &gt;Linia 223:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 223:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;litera = &amp;quot;A&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;litera = &amp;quot;A&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: În SystemVerilog există și tipul de date &amp;#039;&amp;#039;string&amp;#039;&amp;#039;, ceea ce permite parcurgerea cu un &amp;#039;&amp;#039;for&amp;#039;&amp;#039; a mesajului. În Verilog clasic, astfel de parcurgeri sunt posibile dar sintaxa este mai complicată.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: În SystemVerilog există și tipul de date &amp;#039;&amp;#039;string&amp;#039;&amp;#039;, ceea ce permite parcurgerea cu un &amp;#039;&amp;#039;for&amp;#039;&amp;#039; a mesajului. În Verilog clasic, astfel de parcurgeri sunt posibile&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;dar sintaxa este mai complicată.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Se va folosi codul ASCII pentru valori. Pentru o ușoara vizualizare a datelor în simulare, se poate schimba radix-ul în ASCII.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Se va folosi codul ASCII pentru valori. Pentru o ușoara vizualizare a datelor în simulare, se poate schimba radix-ul în ASCII.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: Pentru a testa automat codul, se poate instanția încă un modul în testbench cu aceeași funcționalitate pe post de &amp;quot;golden model&amp;quot;. Acest modul nu trebuie să fie sintetizabil și atunci sintaxa permite mai multă libertate (cum ar fi operația de modulo &amp;quot;%&amp;quot;, utilă pentru testare, dar care determină un circuit complicat dacă ar fi sintetizată). Ieșirile celor &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2 &lt;/del&gt;module din testbench sunt apoi comparate pentru a se verifica că ambele implementări oferă același rezultat.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: Pentru a testa automat codul, se poate instanția încă un modul în testbench cu aceeași funcționalitate pe post de &amp;quot;golden model&amp;quot;. Acest modul nu trebuie să fie sintetizabil și atunci sintaxa permite mai multă libertate (cum ar fi operația de modulo &amp;quot;%&amp;quot;, utilă pentru testare, dar care determină un circuit complicat dacă ar fi sintetizată). Ieșirile celor &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;două &lt;/ins&gt;module din testbench sunt apoi comparate pentru a se verifica că ambele implementări oferă același rezultat.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Implementați și Decodorul Cezar și testați Codorul împreună cu acesta. Aveți grijă ca cele &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;duă &lt;/del&gt;module să aibă aceeași cheie.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Implementați și Decodorul Cezar și testați Codorul împreună cu acesta. Aveți grijă ca cele &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;două &lt;/ins&gt;module să aibă aceeași cheie.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Anexa1==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Anexa1==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gvpopescu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7215&amp;oldid=prev</id>
		<title>Gvpopescu: /* Exercițiul 3 */</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7215&amp;oldid=prev"/>
		<updated>2022-03-21T07:18:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exercițiul 3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ro&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versiunea anterioară&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versiunea de la data 21 martie 2022 07:18&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l210&quot; &gt;Linia 210:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 210:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Exercițiul 3===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Exercițiul 3===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Proiectati &lt;/del&gt;un &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;codor &lt;/del&gt;Cezar cu cheie &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;fixa &lt;/del&gt;sub forma &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;de memorie rom&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Proiectați &lt;/ins&gt;un &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Codor &lt;/ins&gt;Cezar cu cheie &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fixă &lt;/ins&gt;sub forma &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;unei memorii ROM&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Un &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;codor cezar ia &lt;/del&gt;un mesaj &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;si codeaza &lt;/del&gt;independent fiecare &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;litera &lt;/del&gt;a acestuia pentru a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;obtine &lt;/del&gt;un mesaj cifrat. El se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;foloseste &lt;/del&gt;de o cheie &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;fixa &lt;/del&gt;care se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;aduna &lt;/del&gt;la fiecare &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;litera &lt;/del&gt;a mesajului. De exemplu pentru cheia &amp;quot;+3&amp;quot;: a-&amp;gt;d; b-&amp;gt;e; c-&amp;gt;f;...; y-&amp;gt;b;z-&amp;gt;c. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Observati ca &lt;/del&gt;atunci &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;cand &lt;/del&gt;alfabetul a ajuns la &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;capat &lt;/del&gt;se reia de la &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;inceput&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Un &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Codor Cezar preia &lt;/ins&gt;un mesaj &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;și codează &lt;/ins&gt;independent fiecare &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;literă &lt;/ins&gt;a acestuia pentru a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;obține &lt;/ins&gt;un mesaj cifrat. El se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;folosește &lt;/ins&gt;de o cheie &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fixă &lt;/ins&gt;care se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;adună &lt;/ins&gt;la fiecare &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;literă &lt;/ins&gt;a mesajului. De exemplu&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;pentru cheia &amp;quot;+3&amp;quot;: a-&amp;gt;d; b-&amp;gt;e; c-&amp;gt;f;...; y-&amp;gt;b; z-&amp;gt;c. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Observați că &lt;/ins&gt;atunci &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;când &lt;/ins&gt;alfabetul a ajuns la &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;capăt, &lt;/ins&gt;se reia de la &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;început&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pentru decodare procedura este &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;fix inversa&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pentru decodare&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, se va folosi &lt;/ins&gt;procedura &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;inversă: pentru fiecare literă, vom aplica cheia cu semn invers (în exemplul nostru, cheia de decodare &lt;/ins&gt;este &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;-3&amp;quot;)&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Observatii&lt;/del&gt;, sfaturi, task-uri suplimentare:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Observații&lt;/ins&gt;, sfaturi, task-uri suplimentare:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Codorul va putea prelucra doar litere mici &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;si spatiu &lt;/del&gt;gol (acesta &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ramane &lt;/del&gt;neschimbat).&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Codorul va putea prelucra doar litere mici &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;și spațiu &lt;/ins&gt;gol (acesta &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rămâne &lt;/ins&gt;neschimbat).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Cel mai usor mod de a scrie &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;aceasta functionalitate e &lt;/del&gt;folosind un bloc de tip &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;case&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Cel mai usor mod de a scrie &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;această funcționalitate este &lt;/ins&gt;folosind un bloc de tip &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&lt;/ins&gt;case&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pentru testare, se pot &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;folosii in tb &lt;/del&gt;variabile de tip &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/del&gt;reg&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; &lt;/del&gt;pe &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;8b&lt;/del&gt;, astfel:  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pentru testare, se pot &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;folosi în testbench &lt;/ins&gt;variabile de tip &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&lt;/ins&gt;reg&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039; &lt;/ins&gt;pe &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;8 biți&lt;/ins&gt;, astfel:  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;reg [7:0] litera;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;reg [7:0] litera;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;litera = &amp;quot;A&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;litera = &amp;quot;A&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;exista si &lt;/del&gt;tipul de date string &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in SystemVerilog &lt;/del&gt;ceea ce permite parcurgerea cu un for a mesajului. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;In &lt;/del&gt;Verilog clasic, astfel de parcurgeri sunt posibile dar sintaxa este mai &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;complicata&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;În SystemVerilog există și &lt;/ins&gt;tipul de date &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&lt;/ins&gt;string&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;, &lt;/ins&gt;ceea ce permite parcurgerea cu un &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039;&lt;/ins&gt;for&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#039;&amp;#039; &lt;/ins&gt;a mesajului. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;În &lt;/ins&gt;Verilog clasic, astfel de parcurgeri sunt posibile dar sintaxa este mai &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;complicată&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Se va &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;folosii &lt;/del&gt;codul &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ASCI &lt;/del&gt;pentru valori. Pentru o &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;usoara &lt;/del&gt;vizualizare a datelor &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in &lt;/del&gt;simulare, se poate schimba radix-ul &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in ASCI&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Se va &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;folosi &lt;/ins&gt;codul &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ASCII &lt;/ins&gt;pentru valori. Pentru o &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ușoara &lt;/ins&gt;vizualizare a datelor &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;în &lt;/ins&gt;simulare, se poate schimba radix-ul &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;în ASCII&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: Pentru a testa automat codul, se poate &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;instantia inca &lt;/del&gt;un modul &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in tb &lt;/del&gt;cu &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;aceasi functionalitate &lt;/del&gt;pe post de &amp;quot;golden model&amp;quot;. Acest modul nu trebuie &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sa &lt;/del&gt;fie sintetizabil &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;si &lt;/del&gt;atunci sintaxa permite mai &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;multa &lt;/del&gt;libertate (cum ar fi &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;operatia &lt;/del&gt;de modulo &amp;quot;%&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;care este utila aici &lt;/del&gt;pentru testare dar &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;provoaca &lt;/del&gt;un circuit complicat &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;daca &lt;/del&gt;ar fi &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sintetizata&lt;/del&gt;). &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Iesirile &lt;/del&gt;celor 2 module din &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;tb &lt;/del&gt;sunt apoi comparate pentru a se verifica &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ca amblee implementari ofera acelasi &lt;/del&gt;rezultat.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avansat: Pentru a testa automat codul, se poate &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;instanția încă &lt;/ins&gt;un modul &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;în testbench &lt;/ins&gt;cu &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;aceeași funcționalitate &lt;/ins&gt;pe post de &amp;quot;golden model&amp;quot;. Acest modul nu trebuie &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;să &lt;/ins&gt;fie sintetizabil &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;și &lt;/ins&gt;atunci sintaxa permite mai &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;multă &lt;/ins&gt;libertate (cum ar fi &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;operația &lt;/ins&gt;de modulo &amp;quot;%&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, utilă &lt;/ins&gt;pentru testare&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;dar &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;care determină &lt;/ins&gt;un circuit complicat &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dacă &lt;/ins&gt;ar fi &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sintetizată&lt;/ins&gt;). &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ieșirile &lt;/ins&gt;celor 2 module din &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;testbench &lt;/ins&gt;sunt apoi comparate pentru a se verifica &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;că ambele implementări oferă același &lt;/ins&gt;rezultat.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Implementati si decodorul de tip cezar si testati codorul impreuna &lt;/del&gt;cu acesta. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Aveti grija &lt;/del&gt;ca cele &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;2 sa aibe aceeasi &lt;/del&gt;cheie.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Implementați și Decodorul Cezar și testați Codorul împreună &lt;/ins&gt;cu acesta. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Aveți grijă &lt;/ins&gt;ca cele &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;duă module să aibă aceeași &lt;/ins&gt;cheie.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Anexa1==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Anexa1==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gvpopescu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7206&amp;oldid=prev</id>
		<title>Mihai.antonescu: /* Exerciții: */</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7206&amp;oldid=prev"/>
		<updated>2022-03-20T18:01:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exerciții:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ro&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versiunea anterioară&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versiunea de la data 20 martie 2022 18:01&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l208&quot; &gt;Linia 208:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 208:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Exercițiul 3===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Proiectati un codor Cezar cu cheie fixa sub forma de memorie rom. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Un codor cezar ia un mesaj si codeaza independent fiecare litera a acestuia pentru a obtine un mesaj cifrat. El se foloseste de o cheie fixa care se aduna la fiecare litera a mesajului. De exemplu pentru cheia &amp;quot;+3&amp;quot;: a-&amp;gt;d; b-&amp;gt;e; c-&amp;gt;f;...; y-&amp;gt;b;z-&amp;gt;c. Observati ca atunci cand alfabetul a ajuns la capat se reia de la inceput. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pentru decodare procedura este fix inversa. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Observatii, sfaturi, task-uri suplimentare:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Codorul va putea prelucra doar litere mici si spatiu gol (acesta ramane neschimbat).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Cel mai usor mod de a scrie aceasta functionalitate e folosind un bloc de tip &amp;quot;case&amp;quot;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Pentru testare, se pot folosii in tb variabile de tip &amp;quot;reg&amp;quot; pe 8b, astfel: &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;reg [7:0] litera;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;litera = &amp;quot;A&amp;quot;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Avansat: exista si tipul de date string in SystemVerilog ceea ce permite parcurgerea cu un for a mesajului. In Verilog clasic, astfel de parcurgeri sunt posibile dar sintaxa este mai complicata.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Se va folosii codul ASCI pentru valori. Pentru o usoara vizualizare a datelor in simulare, se poate schimba radix-ul in ASCI. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Avansat: Pentru a testa automat codul, se poate instantia inca un modul in tb cu aceasi functionalitate pe post de &amp;quot;golden model&amp;quot;. Acest modul nu trebuie sa fie sintetizabil si atunci sintaxa permite mai multa libertate (cum ar fi operatia de modulo &amp;quot;%&amp;quot; care este utila aici pentru testare dar provoaca un circuit complicat daca ar fi sintetizata). Iesirile celor 2 module din tb sunt apoi comparate pentru a se verifica ca amblee implementari ofera acelasi rezultat.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Implementati si decodorul de tip cezar si testati codorul impreuna cu acesta. Aveti grija ca cele 2 sa aibe aceeasi cheie.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Anexa1==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Anexa1==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mihai.antonescu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7098&amp;oldid=prev</id>
		<title>Gvpopescu: Pagină nouă: == Memoria ROM== Memoria este un dispozitiv electronic utilizat pentru stocarea datelor. Aceasta poate fi de mai multe feluri, având diverse caracteristici, cum ar fi capacitatea...</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_aplicatii_4_:_Memorii_ROM&amp;diff=7098&amp;oldid=prev"/>
		<updated>2022-02-21T12:34:02Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Memoria ROM== Memoria este un dispozitiv electronic utilizat pentru stocarea datelor. Aceasta poate fi de mai multe feluri, având diverse caracteristici, cum ar fi capacitatea...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pagină nouă&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Memoria ROM==&lt;br /&gt;
Memoria este un dispozitiv electronic utilizat pentru stocarea datelor. Aceasta poate fi de mai multe feluri, având diverse caracteristici, cum ar fi capacitatea de a-și păstra sau nu conținutul după întreruperea alimentării sau capacitatea de a-și modifica sau nu conținutul după terminarea procesului de producție. &lt;br /&gt;
&lt;br /&gt;
Memoria  ROM (Read-Only  Memory) este un circuit combinational folosit pentru stocarea unor date ce pot fi accesate cu ajutorul unei intrari de adresă. Asa cum sugerează și numele, memoria ROM clasică nu poate fi modificată. În plus, datorită modului în care este implementată, ea își păstrează conținutul după întreruperea alimentării (este nevolatilă).  &lt;br /&gt;
&lt;br /&gt;
Pentru a înțelege termenul de memorie, putem face următorul exercițiu de imaginație: să ne gândim la un dulap cu mai multe sertare. Conținutul memoriei este reprezentat de conținutul sertarelor, iar adresele sunt reprezentate de etichetele lipite pe aceste sertare pentru a le identifica. Dacă avem nevoie de conținutul unui sertar, va trebui să știm eticheta aferentă acestuia (adresa).&lt;br /&gt;
&lt;br /&gt;
O memorie ROM are următorii parametri: numărul de biți ai adresei, care este legat de numarul de locații de memorie (cu n biți de adresă putem forma 2&amp;lt;sup&amp;gt;𝑛&amp;lt;/sup&amp;gt; combinații diferite, deci putem accesa maxim 2&amp;lt;sup&amp;gt;𝑛&amp;lt;/sup&amp;gt; locații de memorie) și dimensiunea locației de memorie, care ne spune cât de multă informație poate stoca o locație de memorie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Să urmărim exemplul din figura următoare:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:ROM memory.PNG ‎| 400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aici, adresa are dimensiunea de 4 biți, asadar putem accesa cu aceasta 16 locații diferite de memorie. Dimensiunea fiecărei locații este de 8 biți, așadar fiecare locație de memorie poate stoca numere de 8 biți. Spunem că memoria ROM este o memorie 16x8.  Capacitatea acestei memorii este de 16 x 8 biți = 128 biți.&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
=== Exemplul 1: Decodorul ===&lt;br /&gt;
Decodorul este circuitul care, pentru o anumită valoare a intrării, va genera la ieșire un șir binar care conține 1 pe poziția cu indicele egal cu valorea intrării și 0 in rest. De exemplu, decodorul de mai jos pe 2 biți va avea următoarea corespondență intrare-iesire:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
||&amp;#039;&amp;#039;&amp;#039;in&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 2&amp;#039;b00 || 4&amp;#039;b0001&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|2&amp;#039;b01 || 4&amp;#039;b0010&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
|2&amp;#039;b10 || 4&amp;#039;b0100&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
|2&amp;#039;b11 || 4&amp;#039;b1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Decoder.PNG ‎| 400px]]&lt;br /&gt;
&lt;br /&gt;
Vom implementa acest circuit ca memorie ROM.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Implementarea Verilog a circuitului&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module Decoder(&lt;br /&gt;
  input [1:0] in,&lt;br /&gt;
  output reg [3:0] out&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  always@(in) begin&lt;br /&gt;
    case(in)&lt;br /&gt;
      2&amp;#039;b00: out = 4&amp;#039;b0001;&lt;br /&gt;
      2&amp;#039;b01: out = 4&amp;#039;b0010;&lt;br /&gt;
      2&amp;#039;b10: out = 4&amp;#039;b0100;&lt;br /&gt;
      2&amp;#039;b11: out = 4&amp;#039;b1000;&lt;br /&gt;
      default: out = 4&amp;#039;b0000;&lt;br /&gt;
    endcase&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Implementarea Verilog a modulului de test&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
`timescale 1ns/1ps&lt;br /&gt;
&lt;br /&gt;
module Decoder_TB();&lt;br /&gt;
  reg [1:0] in_tb;&lt;br /&gt;
  wire [3:0] out_tb;&lt;br /&gt;
  &lt;br /&gt;
  integer idx;&lt;br /&gt;
&lt;br /&gt;
  initial begin&lt;br /&gt;
    for(idx=0; idx&amp;lt;4; idx = idx + 1) begin&lt;br /&gt;
      in_t = idx;&lt;br /&gt;
      #1;&lt;br /&gt;
    end &lt;br /&gt;
    #2 $stop();&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  Decoder DUT(&lt;br /&gt;
    .in(in_tb),&lt;br /&gt;
    .out(out_tb)&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Observații:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Circuitul Decoder va avea o intrare pe 2  biți, care va reprezenta adresa memoriei ROM și o iesire pe 4 biți, reprezentând conținuturile memoriei ROM corespunzătoare fiecărei combinații de la intrare.&lt;br /&gt;
* Chiar dacă în interiorul instrucțiunii &amp;#039;&amp;#039;case&amp;#039;&amp;#039; se acoperă toate cazurile posibile (toate combinațiile de 2 biți), este bine sa punem și un &amp;#039;&amp;#039;default&amp;#039;&amp;#039; pentru a evita inserarea în locul circuitului combinațional dorit (aici, memoria ROM) a unui latch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exemplul 2: Transcodorul===&lt;br /&gt;
Trancodorul este o memorie ROM care asociază unei anumite intrări, reprezentată de adresă, un anumit cod, reprezentat de conținutului locației de memorie asociată acelei adrese.&lt;br /&gt;
&lt;br /&gt;
In acest exemplu, vom folosi transcodorul pentru a realiza un modul ce controlează afișajul cu 7 segmente. Acest dispozitiv de afișare este format, așa cum sugerează și numele, din 7 segmente ce pot fi controlate separat. Putem aprinde sau stinge fiecare segment controlând tensiunea aplicată pe acesta. Pentru acest afișaj, comanda este negativă: aplicând  0  logic pe un segment acesta se va aprinde, iar aplicând 1 logic, acesta se va stinge.&lt;br /&gt;
&lt;br /&gt;
Structura unui afisaj cu 7 segmente este prezentată în imaginea de mai jos:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:7LED display.PNG | 200px]]&lt;br /&gt;
&lt;br /&gt;
Pentru a realiza controlul afișării, avem nevoie de o memorie ROM ce trebuie să asocieze codului binar al fiecărui element ce poate fi afișat un șir de biți care sting sau aprind diversele segmente ale afișajului, astfel încât să apară imaginea elementului dorit.&lt;br /&gt;
&lt;br /&gt;
Pentru a reprezenta, de exemplu, cele 16 numere hexa, segmentele  trebuie  aprinse  conform Anexei 1. De exemplu, pentru primele 8 numere (0 până la 7), tabelul de asociere este următorul:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
||&amp;#039;&amp;#039;&amp;#039;Număr&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Cod intrare&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Șir de afisare&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0 || 4&amp;#039;b0000 || 7&amp;#039;b100_0000&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 1 || 4&amp;#039;b0001 || 7&amp;#039;b111_1001&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 2 || 4&amp;#039;b0010 || 7&amp;#039;b010_0100&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 3 || 4&amp;#039;b0011 || 7&amp;#039;b011_0000&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 4 || 4&amp;#039;b0100 || 7&amp;#039;b001_1001&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 5 || 4&amp;#039;b0101 || 7&amp;#039;b001_0010&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 6 || 4&amp;#039;b0110 || 7&amp;#039;b000_0010&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 7 || 4&amp;#039;b0111 || 7&amp;#039;b111_1000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Implementarea Verilog a modulului Display7Seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module Display7Seg(&lt;br /&gt;
  input [3:0] in,&lt;br /&gt;
  output reg [6:0] out&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  always@(in) begin&lt;br /&gt;
    case(in)&lt;br /&gt;
      4&amp;#039;d0: out = 7&amp;#039;b1000000;&lt;br /&gt;
      4&amp;#039;d1: out = 7&amp;#039;b1111001;&lt;br /&gt;
      4&amp;#039;d2: out = 7&amp;#039;b0100100;&lt;br /&gt;
      4&amp;#039;d3: out = 7&amp;#039;b0110000;&lt;br /&gt;
      4&amp;#039;d4: out = 7&amp;#039;b0011001;&lt;br /&gt;
      4&amp;#039;d5: out = 7&amp;#039;b0010010;&lt;br /&gt;
      4&amp;#039;d6: out = 7&amp;#039;b0000010;&lt;br /&gt;
      4&amp;#039;d7: out = 7&amp;#039;b1111000;&lt;br /&gt;
      default: out = 7&amp;#039;b0000110;&lt;br /&gt;
    endcase &lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exerciții:==&lt;br /&gt;
=== Exercițiul 1===&lt;br /&gt;
Completați codul din Exemplul 2 astfel încât să se poată reprezenta toate numerele în bază hexa, conform Anexei 1&lt;br /&gt;
&lt;br /&gt;
=== Exercițiul 2===&lt;br /&gt;
Un procesor are nevoie de un șir de biți numit instrucțiune pentru a știi ce trebuie să facă. Această instrucțiune codează în șirul său de biți toate informațiile necesare. &lt;br /&gt;
&lt;br /&gt;
De exemplu, pentru un grup de instrucțiuni care operează cu registre, aceste informații pot fi:&lt;br /&gt;
* codul instrucțiunii (operation code - opcode): un șir de biți care ne spune ce operație se execută.&lt;br /&gt;
* destinația: un șir de biți care codează numărul registrului destinație.&lt;br /&gt;
* sursa1: un șir de biți care codează numărul registrului folosit ca operand 1.&lt;br /&gt;
* sursa2: un șir de biți care codează numărul registrului folosit ca operand 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vom considera codul operației pe 4 biți, ceea ce inseamnă ca putem avea 16 instrucțiuni diferite. ]n plus, câmpurile care codează destinația și cei doi operanzi vor avea fiecare câte 4 biți, ceea ce inseamnă că vom avea 16 registre cu care putem lucra (R0 ... R15). Adunând dimensiunile fiecărui câmp, vom obține o instrucțiune pe 16 biți.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Instrucțiunile și codul operațiilor:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vom considera ca procesorul nostru elementar poate suporta următoarele instrucțiuni:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
||&amp;#039;&amp;#039;&amp;#039;Operație&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Cod operație&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;Sintaxă&amp;#039;&amp;#039;&amp;#039; ||&amp;#039;&amp;#039;&amp;#039;Descriere&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ADD || 4&amp;#039;b0000 || ADD Rd Rs1 Rs2 || Rd = Rs1 + Rs2 &lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| SUB || 4&amp;#039;b0001 || SUB Rd Rs1 Rs2 || Rd = Rs1 - Rs2&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| OR || 4&amp;#039;b0010 || OR Rd Rs1 Rs2 || Rd = Rs1 OR Rs2&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| AND || 4&amp;#039;b0011 || AND Rd Rs1 Rs2 || Rd = Rs1 AND Rs2&lt;br /&gt;
|-  align=&amp;quot;center&amp;quot;&lt;br /&gt;
| LOADC || 4&amp;#039;b0100 || LOADC Rd || Rd = constanta&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Pentru instrucțiunile prezentate mai sus, vom avea următoarele moduri de codare (de împărțire a informației în cadrul instrucțiunii):&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Codare instructiune.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Registrele:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Cele 16 registre vor fi codate cu un număr egal cu indexul său. De exemplu, R0 va avea codul 4&amp;#039;b000, R1 va avea codul 4&amp;#039;b0001 și așa mai departe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerând cele spuse mai sus, vom avea următoarele exemple de instrucțiuni:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Exemple codare instructiuni.png | 400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Având toate informațiile de mai sus, descrieți o memorie ROM cu adresă pe 4 biți și locații pe 16 biți, care să conțină următorul program, începând cu adresa 0:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LOADC R0, 2h&lt;br /&gt;
LOADC R1, 5h&lt;br /&gt;
LOADC R2, 7h&lt;br /&gt;
ADD R3, R1, R0&lt;br /&gt;
SUB R4, R2, R1&lt;br /&gt;
OR R5, R3, R4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Anexa1== &lt;br /&gt;
&lt;br /&gt;
[[Fișier:Anexa1.PNG | 800px]]&lt;/div&gt;</summary>
		<author><name>Gvpopescu</name></author>
	</entry>
</feed>