Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
introduction_to_digital_systems:sequential_logic [2022/12/09 15:46]
mexleadmin
introduction_to_digital_systems:sequential_logic [2023/02/04 12:44]
mexleadmin [Bearbeiten - Panel]
Zeile 22: Zeile 22:
 The <imgref pic04> shows the different terms in an abstract diagram. The "current" output values are here the values, which are shown after the delay time of the gates (about some nanoseconds). The <imgref pic04> shows the different terms in an abstract diagram. The "current" output values are here the values, which are shown after the delay time of the gates (about some nanoseconds).
  
-<WRAP> <imgcaption pic06| Abstract View onto a Sequential Logic> </imgcaption> {{drawio>ViewOnSequentialLogic1}} </WRAP>+<WRAP> <imgcaption pic06| Abstract View onto a Sequential Logic> </imgcaption> {{drawio>ViewOnSequentialLogic1.svg}} </WRAP>
  
 The principle interior of the blackbox in <imgref pic04> was already shown in one practical application in the [[:introduction_to_digital_systems:storage_elements#look_onto_the_problem_reduce_it_down_to_the_relevant_part|previous chapter]]: We saw, that we need the combination of an combinatorial logic and some storage components. Additionally, both have to be connected by feeding back some of the outputs back to the combinatorial logic. The output bits $\vec{Y}$ can result either from the combinatorial logic or the flip-flops. This is shown in <imgref pic05>. The principle interior of the blackbox in <imgref pic04> was already shown in one practical application in the [[:introduction_to_digital_systems:storage_elements#look_onto_the_problem_reduce_it_down_to_the_relevant_part|previous chapter]]: We saw, that we need the combination of an combinatorial logic and some storage components. Additionally, both have to be connected by feeding back some of the outputs back to the combinatorial logic. The output bits $\vec{Y}$ can result either from the combinatorial logic or the flip-flops. This is shown in <imgref pic05>.
  
-<WRAP> <imgcaption pic07| One Step more into the Sequential Logic> </imgcaption> {{drawio>ViewOnSequentialLogic2}} </WRAP>+<WRAP> <imgcaption pic07| One Step more into the Sequential Logic> </imgcaption> {{drawio>ViewOnSequentialLogic2.svg}} </WRAP>
  
 <panel type="info" title="Exercise 6.1.3.1 Example of a State Machine"> <WRAP group><WRAP column 2%>{{fa>pencil?32}}</WRAP><WRAP column 92%> <panel type="info" title="Exercise 6.1.3.1 Example of a State Machine"> <WRAP group><WRAP column 2%>{{fa>pencil?32}}</WRAP><WRAP column 92%>
  
 <imgref pic06> depicts a state machine.  <imgref pic06> depicts a state machine. 
-  * What happens, when $X$ is changed? On which edge the change is triggered?+  * What happens, when $X$ is changed? (click onto the $0$ on the left) \\ On which edge the change is triggered?
   * Write down how many components each vector $\vec{X}$ and $\vec{Y}$ has.    * Write down how many components each vector $\vec{X}$ and $\vec{Y}$ has. 
   * How many bits (= flip flops) might the state vector $\vec{Z}$ need?   * How many bits (= flip flops) might the state vector $\vec{Z}$ need?
Zeile 134: Zeile 134:
 The <imgref pic101> shows the principle differences in the architecture of the state machines. The <imgref pic101> shows the principle differences in the architecture of the state machines.
  
-<WRAP> <imgcaption pic101| States of Water> </imgcaption> {{drawio>differencesinSM}} </WRAP>+<WRAP> <imgcaption pic101| States of Water> </imgcaption> {{drawio>differencesinSM.svg}} </WRAP>
  
 \\ \\ \\ \\
Zeile 151: Zeile 151:
 In <imgref pic01> image (1) the states of water are shown on the temperature axis. When only the state transistions are relevant, the states are simplified to a circle, showing the state name and behaviour. The transitions are depict as arrows, where the needed condititon is written onto (See <imgref pic01> image (2) ). This diagram is called **state transition diagram**. In <imgref pic01> image (1) the states of water are shown on the temperature axis. When only the state transistions are relevant, the states are simplified to a circle, showing the state name and behaviour. The transitions are depict as arrows, where the needed condititon is written onto (See <imgref pic01> image (2) ). This diagram is called **state transition diagram**.
  
-<WRAP> <imgcaption pic01| States of Water> </imgcaption> {{drawio>SDwater}} </WRAP>+<WRAP> <imgcaption pic01| States of Water> </imgcaption> {{drawio>SDwater.svg}} </WRAP>
  
 For matter not only the dimension "temperature" is important, but also the "pressure". The full phase diagram is shown in <imgref pic02> image (1).  For matter not only the dimension "temperature" is important, but also the "pressure". The full phase diagram is shown in <imgref pic02> image (1). 
 By this, another variable is available and more transistions. These can be drawn into the state transition diagram (<imgref pic02> image (2)). By this, another variable is available and more transistions. These can be drawn into the state transition diagram (<imgref pic02> image (2)).
  
-<WRAP> <imgcaption pic02| States of Water> </imgcaption> {{drawio>SDwater2}} </WRAP>+<WRAP> <imgcaption pic02| States of Water> </imgcaption> {{drawio>SDwater2.svg}} </WRAP>
  
 ==== 6.3.2 Simple logic Example ==== ==== 6.3.2 Simple logic Example ====
Zeile 163: Zeile 163:
 Once paid, the turnstile will release and one can enter. Once the turnstile was pushed the entrance is closed again. Once paid, the turnstile will release and one can enter. Once the turnstile was pushed the entrance is closed again.
  
-<WRAP> <imgcaption pic03| Entrance Control for Toilets> </imgcaption> {{drawio>EntranceFee}} </WRAP>+<WRAP> <imgcaption pic03| Entrance Control for Toilets> </imgcaption> {{drawio>EntranceFee.svg}} </WRAP>
  
 The <imgref pic04> the state transition diagram is drawn.  The <imgref pic04> the state transition diagram is drawn. 
Zeile 173: Zeile 173:
   * A state transition diagram is not complete without a **legend** and without an **beginning/reset point**. The reset point is given by an arrow with "reset" written onto it   * A state transition diagram is not complete without a **legend** and without an **beginning/reset point**. The reset point is given by an arrow with "reset" written onto it
  
-<WRAP> <imgcaption pic04| State Transition Diagram of the Entrance Control for Toilets> </imgcaption> {{drawio>STDEntranceFee}} </WRAP>+<WRAP> <imgcaption pic04| State Transition Diagram of the Entrance Control for Toilets> </imgcaption> {{drawio>STDEntranceFee.svg}} </WRAP>
  
 Out of this state transition diagram one can create a table-like representation, see <imgref pic05>. Out of this state transition diagram one can create a table-like representation, see <imgref pic05>.
  
-<WRAP> <imgcaption pic05| "non binary" State Transition Table of the Entrance Control for Toilets> </imgcaption> {{drawio>STDEntranceFee2}} </WRAP>+<WRAP> <imgcaption pic05| "non binary" State Transition Table of the Entrance Control for Toilets> </imgcaption> {{drawio>STDEntranceFee2.svg}} </WRAP>
  
 the inputs, outputs and states have to be encoded into binary, in order to investigate this table a bit more. How the binary value is connected to the outputs does not matter. We will choose the following coding: the inputs, outputs and states have to be encoded into binary, in order to investigate this table a bit more. How the binary value is connected to the outputs does not matter. We will choose the following coding:
Zeile 187: Zeile 187:
  
 <WRAP> <imgcaption pic06a| State Transition Table of the Entrance Control for Toilets> </imgcaption>  <WRAP> <imgcaption pic06a| State Transition Table of the Entrance Control for Toilets> </imgcaption> 
-{{drawio>STDRSFF}} </WRAP>+{{drawio>STDRSFF.svg}} </WRAP>
  
 Interestingly, the logic circuit for this state transition table was already part of the course: it is the RS flip-flop!  Interestingly, the logic circuit for this state transition table was already part of the course: it is the RS flip-flop! 
Zeile 204: Zeile 204:
  
 <WRAP> <imgcaption pic15| State Transition Diagram of a up-Counter 0..3 as Moore Machine> </imgcaption>  <WRAP> <imgcaption pic15| State Transition Diagram of a up-Counter 0..3 as Moore Machine> </imgcaption> 
-{{drawio>STDupcounter03}} </WRAP>+{{drawio>STDupcounter03.svg}} </WRAP>
  
 <panel type="info" title="Exercise 6.3.3.1. State Transition Diagram in Digital.exe "> <WRAP group><WRAP column 2%>{{fa>pencil?32}}</WRAP><WRAP column 92%> <panel type="info" title="Exercise 6.3.3.1. State Transition Diagram in Digital.exe "> <WRAP group><WRAP column 2%>{{fa>pencil?32}}</WRAP><WRAP column 92%>
Zeile 223: Zeile 223:
  
 <WRAP> <imgcaption pic16| State Transition Diagram of a up-Counter 1..4 as Moore Machine> </imgcaption>  <WRAP> <imgcaption pic16| State Transition Diagram of a up-Counter 1..4 as Moore Machine> </imgcaption> 
-{{drawio>STDupcounter14}} </WRAP>+{{drawio>STDupcounter14.svg}} </WRAP>
  
 <wrap #6332_statetransexercise /> <wrap #6332_statetransexercise />
Zeile 231: Zeile 231:
 The counter shall now be changed in such a way, that it counts $1 - 2 - 3 - 4$. For this: right click on each present states beginning with state 0 and add for ''Outputs'' $Y=001$ and upcounting (see image). The counter shall now be changed in such a way, that it counts $1 - 2 - 3 - 4$. For this: right click on each present states beginning with state 0 and add for ''Outputs'' $Y=001$ and upcounting (see image).
  
-{{drawio>exercise6332}}+{{drawio>exercise6332.svg}}
  
 Tasks: Tasks:
Zeile 242: Zeile 242:
  
 <WRAP> <imgcaption pic17| State Transition Diagram of a up-Counter 1..4 as Moore Machine with enable input> </imgcaption>  <WRAP> <imgcaption pic17| State Transition Diagram of a up-Counter 1..4 as Moore Machine with enable input> </imgcaption> 
-{{drawio>STDupcounter14enable}} </WRAP>+{{drawio>STDupcounter14enable.svg}} </WRAP>
  
 <panel type="info" title="Exercise 6.3.3.3. State Transition Diagram III in Digital.exe "> <WRAP group><WRAP column 2%>{{fa>pencil?32}}</WRAP><WRAP column 92%> <panel type="info" title="Exercise 6.3.3.3. State Transition Diagram III in Digital.exe "> <WRAP group><WRAP column 2%>{{fa>pencil?32}}</WRAP><WRAP column 92%>
Zeile 249: Zeile 249:
 The last step is to add the transitions: right click on all transitions and add $X=1$ as a ''Condition''. The last step is to add the transitions: right click on all transitions and add $X=1$ as a ''Condition''.
  
-{{drawio>exercise6333}}+{{drawio>exercise6333.svg}}
  
 Tasks: Tasks:
Zeile 261: Zeile 261:
  
 Use the following addition to the resulting citcuit in order to get the light running: Use the following addition to the resulting citcuit in order to get the light running:
-{{drawio>exercise6334}}+{{drawio>exercise6334.svg}} 
  
 Tasks: Tasks:
Zeile 273: Zeile 274:
  
 The following state transistion diagram shall be given: The following state transistion diagram shall be given:
-{{drawio>STDexample1}}+{{drawio>STDexample1.svg}} 
 + 
 + 
 +  * There are two transitions marked with $A$ and $B$. \\ What values does the inputs need to have in order show all transistions explicitely?   
 + 
 +<WRAP indent><WRAP indent> 
 +<button size="xs" type="link" collapse="Solution_6_1_1_1_Strategy">{{icon>eye}}Strategy</button><collapse id="Solution_6_1_1_1_Strategy" collapsed="true"> 
 +  * Find the transitions wanted 
 +  * Look at which state these transitions starts. 
 +  * Which other transitions starts there? 
 +  * Which transition conditions are missing? 
 +</collapse> <button size="xs" type="link" collapse="Solution_6_1_1_1_Solution">{{icon>eye}}Solution</button><collapse id="Solution_6_1_1_1_Solution" collapsed="true"> 
 +  * transition A  
 +    * Starts at state $000$ 
 +    * Also transition with $11$, $00$ starts here 
 +    * $01$, $10$ are missing 
 +  * transition B 
 +    * Starts at state $010$ 
 +    * Also transition with $0-$ starts here 
 +    * $1-$ are missing 
 +</collapse> <button size="xs" type="link" collapse="Solution_6_1_1_1_Result">{{icon>eye}}Result</button><collapse id="Solution_6_1_1_1_Result" collapsed="true"> 
 +  * A: $01$, $10$ 
 +  * B: $1-$ 
 +</collapse> 
 +</WRAP></WRAP>
  
-  * There are two transitions marked with $A$ and $B$. What values does the inputs need to have in order show all transistions explicitely? 
   * How many flipflops are necessary for such a Moore Machine?   * How many flipflops are necessary for such a Moore Machine?
 +
 +<WRAP indent><WRAP indent>
 +<button size="xs" type="link" collapse="Solution_6_1_1_2_Strategy">{{icon>eye}}Strategy</button><collapse id="Solution_6_1_1_2_Strategy" collapsed="true">
 +Each flipflop can store one Bit. Each stored bit can be used to address states. So, check the number of bits $i$ of states $Z_i$ ("size of the state vector"). \\
 +Be aware, that one bit can address maximum 2 states, two bits maximum 4 states, three bits maximum 8 states and so on.
 +</collapse> <button size="xs" type="link" collapse="Solution_6_1_1_2_Solution">{{icon>eye}}Solution</button><collapse id="Solution_6_1_1_2_Solution" collapsed="true">
 +  * Number of bits $i$ of states $Z_i$ is given in the legend. The number of bits $i$ has also to fit to the number of states.
 +  * Here the legend give $Z_2, Z_1, Z_0$, so 3 bits.
 +  * Also the number of states i the diagram are 5. This can only be numbered with at least 3 bits. 
 +
 +</collapse> <button size="xs" type="link" collapse="Solution_6_1_1_2_Result">{{icon>eye}}Result</button><collapse id="Solution_6_1_1_2_Result" collapsed="true">
 +3
 +</collapse>
 +</WRAP></WRAP>
   * Fill in the missing cells in the following state transition table:    * Fill in the missing cells in the following state transition table: 
  
-{{drawio>STTexample1}}+{{drawio>STTexample1.svg}} 
 + 
 + 
 +<WRAP indent><WRAP indent> 
 +<button size="xs" type="link" collapse="Solution_6_1_1_3_Strategy">{{icon>eye}}Strategy</button><collapse id="Solution_6_1_1_3_Strategy" collapsed="true"> 
 +{{drawio>STTexample1_stategy.svg}} 
 +</collapse> <button size="xs" type="link" collapse="Solution_6_1_1_3_Solution">{{icon>eye}}Solution</button><collapse id="Solution_6_1_1_3_Solution" collapsed="true"> 
 +{{drawio>STTexample1_solution.svg}} 
 + 
 +</collapse> <button size="xs" type="link" collapse="Solution_6_1_1_3_Result">{{icon>eye}}Result</button><collapse id="Solution_6_1_1_3_Result" collapsed="true"> 
 +{{drawio>STTexample1_result.svg}} 
 +</collapse> 
 +</WRAP></WRAP> 
 </WRAP></WRAP></panel> </WRAP></WRAP></panel>
  
Zeile 307: Zeile 358:
 Explicitely draw all possible transitions. Explicitely draw all possible transitions.
  
-{{drawio>MillingMachine}}+{{drawio>MillingMachine.svg}}
  
 </WRAP></WRAP></panel> </WRAP></WRAP></panel>
Zeile 316: Zeile 367:
 Develop a sequential circuit, which creates the following output Develop a sequential circuit, which creates the following output
  
-{{drawio>ExFindASequence}}+{{drawio>ExFindASequence.svg}} 
  
   * Draw the state transition diagram of the moore machine of the synchronous sequential circuit.   * Draw the state transition diagram of the moore machine of the synchronous sequential circuit.
Zeile 328: Zeile 380:
 Develop a sequential circuit, which allows driving the following LED sequence Develop a sequential circuit, which allows driving the following LED sequence
  
-{{drawio>ExLED}}+{{drawio>ExLED.svg}}
  
   * Draw the state transition diagram of the moore machine of the synchronous sequential circuit.   * Draw the state transition diagram of the moore machine of the synchronous sequential circuit.