<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.raspibo.org/wiki/index.php?action=history&amp;feed=atom&amp;title=No_more_secrets_Part_10%3A_Synchronous_memory</id>
	<title>No more secrets Part 10: Synchronous memory - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://www.raspibo.org/wiki/index.php?action=history&amp;feed=atom&amp;title=No_more_secrets_Part_10%3A_Synchronous_memory"/>
	<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;action=history"/>
	<updated>2026-05-04T17:43:00Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3638&amp;oldid=prev</id>
		<title>GiuliaN il 13:34, 18 ott 2014</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3638&amp;oldid=prev"/>
		<updated>2014-10-18T13:34:35Z</updated>

		<summary type="html">&lt;p&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;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 13:34, 18 ott 2014&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-l53&quot; &gt;Riga 53:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 53:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;In this way, when ck is one the combinatorial circuit can compute a new&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;In this way, when ck is one the combinatorial circuit can compute a new&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;value which is stored in the first latch. In fact, when ck is one the two&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;value which is stored in the first latch. In fact, when ck is one the two&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;latches are insulated and can have different &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;velues &lt;/del&gt;stored. So, status&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;latches are insulated and can have different &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;values &lt;/ins&gt;stored. So, status&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;changes made by the combinatorial circuit are stored in the first latch&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;changes made by the combinatorial circuit are stored in the first latch&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;but cannot be propagated again in the combinatorial circuit as inputs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;but cannot be propagated again in the combinatorial circuit as inputs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>GiuliaN</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3623&amp;oldid=prev</id>
		<title>Renzo il 05:26, 17 ott 2014</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3623&amp;oldid=prev"/>
		<updated>2014-10-17T05:26:27Z</updated>

		<summary type="html">&lt;p&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;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 05:26, 17 ott 2014&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-l18&quot; &gt;Riga 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;must be composed by cells able to store the new status and to give the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;must be composed by cells able to store the new status and to give the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;old status at the same time, otherwise the output of the current&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;old status at the same time, otherwise the output of the current&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;computation could be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;erroneusly &lt;/del&gt;taken immediately as input of the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;computation could be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;erroneously &lt;/ins&gt;taken immediately as input of the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;computation itself. So if the combinatorial circuit, for example, adds&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;computation itself. So if the combinatorial circuit, for example, adds&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;one to the former status, the new value could be taken erroneously as&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;one to the former status, the new value could be taken erroneously as&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3622&amp;oldid=prev</id>
		<title>Renzo il 05:25, 17 ott 2014</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3622&amp;oldid=prev"/>
		<updated>2014-10-17T05:25:58Z</updated>

		<summary type="html">&lt;p&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;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 05:25, 17 ott 2014&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-l15&quot; &gt;Riga 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;compute the next status which is stored in the memory for the next step.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;compute the next status which is stored in the memory for the next step.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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;In order for this &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;cisrcuit &lt;/del&gt;to work properly, the status storage circuit&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;In order for this &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;circuit &lt;/ins&gt;to work properly, the status storage circuit&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;must be composed by cells able to store the new status and to give the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;must be composed by cells able to store the new status and to give the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;old status at the same time, otherwise the output of the current&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;old status at the same time, otherwise the output of the current&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3621&amp;oldid=prev</id>
		<title>Renzo il 05:25, 17 ott 2014</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3621&amp;oldid=prev"/>
		<updated>2014-10-17T05:25:35Z</updated>

		<summary type="html">&lt;p&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;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 05:25, 17 ott 2014&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-l22&quot; &gt;Riga 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;one to the former status, the new value could be taken erroneously as&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;one to the former status, the new value could be taken erroneously as&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;input and add two, three, etc. resulting in a unpredictable result.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;input and add two, three, etc. resulting in a unpredictable result.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;It would play like an orchestra &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;withous &lt;/del&gt;a director.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;It would play like an orchestra &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;without &lt;/ins&gt;a director.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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='diff-marker'&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='diff-marker'&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;This is the goal of the master-slave flip-flop (MSFF).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;This is the goal of the master-slave flip-flop (MSFF).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3620&amp;oldid=prev</id>
		<title>Renzo il 05:23, 17 ott 2014</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3620&amp;oldid=prev"/>
		<updated>2014-10-17T05:23:41Z</updated>

		<summary type="html">&lt;p&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;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 05:23, 17 ott 2014&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-l42&quot; &gt;Riga 42:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 42:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;G -&amp;gt; HI&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;G -&amp;gt; HI&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;H -&amp;gt; J&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;H -&amp;gt; J&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='diff-marker'&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;I -&amp;gt; K&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;J -&amp;gt; K out&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;J -&amp;gt; K out&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&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;K -&amp;gt; J&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&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;K -&amp;gt; J&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3136&amp;oldid=prev</id>
		<title>Renzo: Creata pagina con 'The computational circuits generate a binary output depending (only) on the value of their inputs. These circuits are called combinatorial circuit because their output does no...'</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=No_more_secrets_Part_10:_Synchronous_memory&amp;diff=3136&amp;oldid=prev"/>
		<updated>2014-08-14T12:27:59Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;#039;The computational circuits generate a binary output depending (only) on the value of their inputs. These circuits are called combinatorial circuit because their output does no...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The computational circuits generate a binary output depending (only) on&lt;br /&gt;
the value of their inputs. These circuits are called combinatorial&lt;br /&gt;
circuit because their output does not depend on the time. Providing them&lt;br /&gt;
with a specific input data configuration, they give the same result.&lt;br /&gt;
Oue ALU is an example of combinatorial circuit: for a given configuration&lt;br /&gt;
ot its input pins (data and control pins) it always generates the sale&lt;br /&gt;
output.&lt;br /&gt;
&lt;br /&gt;
A closer look of a combinatorial circuit would reveal that it need a bit&lt;br /&gt;
of time to converge to its result, the time neede by all the logical gates&lt;br /&gt;
to switch to their new status.&lt;br /&gt;
&lt;br /&gt;
A memory to store the current status is the trick to generate sequential&lt;br /&gt;
circuits. The current status is used by the combinatorial circuits to&lt;br /&gt;
compute the next status which is stored in the memory for the next step.&lt;br /&gt;
&lt;br /&gt;
In order for this cisrcuit to work properly, the status storage circuit&lt;br /&gt;
must be composed by cells able to store the new status and to give the&lt;br /&gt;
old status at the same time, otherwise the output of the current&lt;br /&gt;
computation could be erroneusly taken immediately as input of the&lt;br /&gt;
computation itself. So if the combinatorial circuit, for example, adds&lt;br /&gt;
one to the former status, the new value could be taken erroneously as&lt;br /&gt;
input and add two, three, etc. resulting in a unpredictable result.&lt;br /&gt;
It would play like an orchestra withous a director.&lt;br /&gt;
&lt;br /&gt;
This is the goal of the master-slave flip-flop (MSFF).&lt;br /&gt;
Here is the schematics of a MSFF. (The reset part is optional. It will be&lt;br /&gt;
described below.)&lt;br /&gt;
&lt;br /&gt;
[[File:msff.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
in -&amp;gt; A&lt;br /&gt;
w(ck) -&amp;gt; ABGG&lt;br /&gt;
(notreset -&amp;gt; C)&lt;br /&gt;
A -&amp;gt; BE&lt;br /&gt;
B -&amp;gt; F (or B -&amp;gt; C)&lt;br /&gt;
(C -&amp;gt; DD)&lt;br /&gt;
(D -&amp;gt; F)&lt;br /&gt;
E -&amp;gt; FH&lt;br /&gt;
F -&amp;gt; EI&lt;br /&gt;
G -&amp;gt; HI&lt;br /&gt;
H -&amp;gt; J&lt;br /&gt;
J -&amp;gt; K out&lt;br /&gt;
K -&amp;gt; J&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This circuit is composed by two latches. The first (composed by gates&lt;br /&gt;
E and F) is storing the new value when ck is one, the second (gates J and&lt;br /&gt;
K) copies the value of the first latch when ck drops to zero.&lt;br /&gt;
&lt;br /&gt;
In this way, when ck is one the combinatorial circuit can compute a new&lt;br /&gt;
value which is stored in the first latch. In fact, when ck is one the two&lt;br /&gt;
latches are insulated and can have different velues stored. So, status&lt;br /&gt;
changes made by the combinatorial circuit are stored in the first latch&lt;br /&gt;
but cannot be propagated again in the combinatorial circuit as inputs.&lt;br /&gt;
In other words, the input of the combinatorial circuit is stable.&lt;br /&gt;
&lt;br /&gt;
When ck switches to zero the value of the first latch becomes stable and&lt;br /&gt;
is copied in the second latch. When ck is zero, the input in of the&lt;br /&gt;
MSFF is ignored.&lt;br /&gt;
&lt;br /&gt;
The optional circuit composed by gates C and D adds an input pin to reset&lt;br /&gt;
the flip-flop. Our MSFF workd properly when the pin notreset is one, i.e.&lt;br /&gt;
it is connected to the positive rail of the breadboard.&lt;br /&gt;
&lt;br /&gt;
If notreset is temporarily set to zero our MSFF value is reset to zero.&lt;br /&gt;
This pin can be used to force the MSFF to have value zero when the circuit&lt;br /&gt;
is powered up. Without this circuit, a flip-flop, and in general any latch,&lt;br /&gt;
has an initial random value, zero or one, depending on which gate of the&lt;br /&gt;
latch converges first.&lt;br /&gt;
Many circuts can have random initial values, but some do not.&lt;br /&gt;
It is the case, for example, of the program counter, the register which&lt;br /&gt;
stores the address of the next instruction to be executed.&lt;br /&gt;
A register in our CPU is an array of MSFF.&lt;br /&gt;
This register must have a pre-determined value at startup; zero can be&lt;br /&gt;
a good choice.&lt;br /&gt;
&lt;br /&gt;
If we connect the notreset pin to a circuit like the following one:&lt;br /&gt;
&lt;br /&gt;
[[File:resetschematics.jpg]]&lt;br /&gt;
&lt;br /&gt;
our flip-flop will always have out equals to one when the circuit is turned&lt;br /&gt;
on. In fact, at startup notreset will be zero until the capacitor has been&lt;br /&gt;
charged to the one level and then it will be one forever.&lt;br /&gt;
&lt;br /&gt;
To test our MSFF connect the notreset pin to one (or to the circuit above&lt;br /&gt;
if you have implemented it). Then connect two leds at the outputs of gates&lt;br /&gt;
E and J and buttons conencted to in and ck(w).&lt;br /&gt;
Now, decide which value you want to store in our FF. If it is one push the&lt;br /&gt;
button connected to in, otherwise leave it unpushed. Now, keeping the in&lt;br /&gt;
button in that state, push the ck(w) button and keep it pressed for a while&lt;br /&gt;
to better understand how this circuit works. You should see the value&lt;br /&gt;
connected to the E gate chenging its state to assume the same value as in.&lt;br /&gt;
The led connected to the E gate showd the status of the first latch, it has&lt;br /&gt;
been added just for educational purposes, it is not a real output of the&lt;br /&gt;
system. The value of out is shown by the led connected to the J gate,&lt;br /&gt;
this value does not change while ck(w) is one.&lt;br /&gt;
&lt;br /&gt;
When the button connected to ck(w) is released, the value of the first&lt;br /&gt;
latch is copied to the second, so the output led (connected to gate J)&lt;br /&gt;
gets the same status of the other led.&lt;br /&gt;
&lt;br /&gt;
You can also connect the ck(w) the master clock and a third led to the&lt;br /&gt;
output of the clock. You will see that the input provided by the in button&lt;br /&gt;
is copied in the master latch (gates EF) when the clock is one and then to&lt;br /&gt;
the slave latch (JK) when the clock shitches to zero.&lt;/div&gt;</summary>
		<author><name>Renzo</name></author>
	</entry>
</feed>