[[dt-code]]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
dt-code [2024/03/12 00:19]
beckmanf add signal
dt-code [2025/04/10 16:09] (current)
beckmanf bilder in dokuwiki
Line 23: Line 23:
 The code in listing 1 describes the full code for a circuit called "​and_gate"​. The entity with the name "​and_gate"​ describes two input ports "​a_i"​ and "​b_i"​ and an output port "​y_o"​. All ports here have the type "​std_ulogic"​ which defines that those ports basically can have a logic 1 or 0 value. (Some other values for simulation purposes are left for now). An entity can have an arbitrary number of inputs and outputs. Each input and output can have a different type. The code in listing 1 describes the full code for a circuit called "​and_gate"​. The entity with the name "​and_gate"​ describes two input ports "​a_i"​ and "​b_i"​ and an output port "​y_o"​. All ports here have the type "​std_ulogic"​ which defines that those ports basically can have a logic 1 or 0 value. (Some other values for simulation purposes are left for now). An entity can have an arbitrary number of inputs and outputs. Each input and output can have a different type.
  
-<​html>​ +{{ :​public:​praktikum_digitaltechnik:​and_gate.svg?width=300 ​|AND Gate Block}}
-<img src="​http://​breakout.hs-augsburg.de/​dwimg/​and_gate.svg" ​width="300" > +
-</​html>​+
  
-Figure 1: Block and_gate with a_i and b_i as inputs and y_o as output+{{ :​public:​praktikum_digitaltechnik:​and_gate.svg?​linkonly |Figure 1}}: Block and_gate with a_i and b_i as inputs and y_o as output
  
 Figure 1 shows the block "​and_gate"​ with the inputs and outputs. This represents the entity. The entity code does not imply any functionality. The name "​and_gate"​ is an identifier, i.e. it does not imply that this block actually works as an and gate. Figure 1 shows the block "​and_gate"​ with the inputs and outputs. This represents the entity. The entity code does not imply any functionality. The name "​and_gate"​ is an identifier, i.e. it does not imply that this block actually works as an and gate.
  
-<​html>​ +{{ :​public:​praktikum_digitaltechnik:​and_gate_arch.svg?width=300 ​|}}
-<img src="​http://​breakout.hs-augsburg.de/​dwimg/​and_gate_arch.svg" ​width="300" > +
-</​html>​+
  
-Figure 2: Architecture of "​and_gate"​ which just contains ​and AND gate.+{{ :​public:​praktikum_digitaltechnik:​and_gate_arch.svg?​linkonly |Figure 2}}: Architecture of "​and_gate"​ which just contains ​an AND gate.
  
 The architecture with the name "​rtl"​ describes the implementation. Here it is a signal assignment with a boolean expression using the and function. This makes this circuit behave like an AND gate. Figure 2 shows the schematic with the AND gate. As the AND function can be described in one line of code, this block "​and_gate"​ does not make too much sense, but it explains the idea of entity and architecture. The architecture with the name "​rtl"​ describes the implementation. Here it is a signal assignment with a boolean expression using the and function. This makes this circuit behave like an AND gate. Figure 2 shows the schematic with the AND gate. As the AND function can be described in one line of code, this block "​and_gate"​ does not make too much sense, but it explains the idea of entity and architecture.
Line 43: Line 39:
 Circuits are very often composed of subcircuits. And the subcircuits can themself be composed of subcircuits. This is called hierarchical design. The following example shows a block "​mux"​. ​ Circuits are very often composed of subcircuits. And the subcircuits can themself be composed of subcircuits. This is called hierarchical design. The following example shows a block "​mux"​. ​
  
 +{{ :​public:​praktikum_digitaltechnik:​mux.svg?​width=200 | Multipexer block}}
  
-<​html>​ +{{ :​public:​praktikum_digitaltechnik:mux.svg?linkonly |Figure 3}}: "​mux"​ block with a_i, b_i and s_i inputs and y_o output
-<img src="​http://​breakout.hs-augsburg.de/​dwimg/​mux.svg" width="​200"​ > +
-</​html>​ +
- +
-Figure 3: "​mux"​ block with a_i, b_i and s_i inputs and y_o output+
  
 Figure 3 shows the block interface of a circuit "​mux"​ which has three inputs a_i, b_i and s_i and an output y_o.  Figure 3 shows the block interface of a circuit "​mux"​ which has three inputs a_i, b_i and s_i and an output y_o. 
Line 55: Line 48:
 Assume that we have defined not only the "​and_gate"​ but also an "​or_gate"​ and an "​inv_gate"​. The mux circuit shall be composed of the xxx_gate subcircuits as shown in figure 4. Assume that we have defined not only the "​and_gate"​ but also an "​or_gate"​ and an "​inv_gate"​. The mux circuit shall be composed of the xxx_gate subcircuits as shown in figure 4.
  
-<​html>​ +{{ :​public:​praktikum_digitaltechnik:​mux-vhdl.svg?width=800 ​| Mux Schematic}}
-<img src="​http://​breakout.hs-augsburg.de/​dwimg/​mux-vhdl.svg" ​width="800" > +
-</​html>​+
  
-Figure 4: Schematic of "​mux"​+{{ :​public:​praktikum_digitaltechnik:​mux-vhdl.svg?​linkonly |Figure 4}}: Schematic of "​mux"​
  
 Figure 4 shows a schematic of a multiplexer using and_gate, or_gate and the inv_gate. The corresponding VHDL code is shown in listing 2. Figure 4 shows a schematic of a multiplexer using and_gate, or_gate and the inv_gate. The corresponding VHDL code is shown in listing 2.
  • dt-code.txt
  • Last modified: 2025/04/10 16:09
  • by beckmanf