[Home] [Lektion 1] [Lektion 2] [Lektion 3] [Lektion 4] [Lektion 5]
Lektion 3
Up ]


Kombinatorisk vs. sekventiel logik, VHDL

 
Logisk - overblik
 
 
 
 
#3.1 SR-Latch
#3.2  D-Latch
#3.3  D-Flip/Flop
#3.4  D-F/F w.Enable
#3.6 T-Flip/Flop
 
#5.1 Counters
 
 
 
Structural VHDL
 
Concurrent VHDL
 
Sequential VHDL
 
 Emner:

Last updated: 18-02-09

  •  Standard Kombinatorisk Logik

    •  Decoder             Wak: afsnit 6.4  (side 384-391) + (side 398-399 med VHDL)

    •  Multiplekser         Wak: afsnit 6.7 (side 432-438) + (side 444-445 med VHDL)
       

  •  Basale Sekventielle funktioner (Hukommelses elementer med logik og VHDL)

    • SR-Latch     Wak: afsnit 7.2.1, 7.2.2 og 7.2.3  (side 527-530)

    • D-Latch       Wak: afsnit 7.2.4  (side 530-532)

    • D-Flip/Flop  Wak: afsnit 7.2.5  (side 532-534) + eventuelt 7.2.6 D-F/F with Enable

    • T-Flip/Flop  Wak: afsnit 7.2.11 (side 541)

    • Registers and Latches in VHDL     Wak: afsnit 8.2.7  (side 697-701) minus Verilog kode
       

  •  Standard Sekventiel Logik

    • Tællere                Wak: afsnit 8.4  (Dog kun til orientering - der gives eksempler i timen)

    • Skifteregistere   Wak: afsnit 8.5  (Dog kun til orientering - der gives eksempler i timen
       

  •   Synkrone Tilstands Maskiner  - en introduktion

    • Analyse af en STM - Wak: afsnit 7.3 (Dette kapitel vil blive gennemgået hvis tiden tillader det og
      ellers sker det i lektion 4)
       

  •  Hardware beskrivende sprog (VHDL) Wak: afsnit 5.3 - Mest til orientering og efter behov

    •  ENTITY - ARCHITECTURE    Wak: side 258-259

      •  in / out

    • Concurrent kode (Alt imellem BEGIN .. END i en ARCHITECTURE)  Wak: afsnit 5.3.6  (1)

      •  WHEN .. ELSE ..;           Wak: side 276-277

      •  WITH ... SELECT           Wak: side 277-278

    • Sekventiel kode (Alt imellem BEGIN .. END i en PROCESS) Wak: afsnit 5.3.7  (2)

      • IF .. THEN .. ELSIF .. END IF;              Wak: side 281

      • CASE .. IS ..WHEN ... END CASE;      Wak: side 282

(1) - Dataflow Design Elements = Concurrent code
(2) - Behavorial Design Elements = Sequential code

   Resume:
 

Man kan i princippet opbygge al digital elektronik med NAND kredse. I praksis bruger man med en række standard komponenter, såsom Dekodere og Multipleksere (kombinatorisk logik).

En design-regel for kombinatorisk logik siger:   Lav aldrig en tilbagekobling af en udgang til en indgang.
Hvis man alligevel gør det (og ved hvad man gør) bliver det muligt at lave digitale komponenter med hukommelse såsom: Latche og Flip/Flops.

De vigtigste standard komponenter baseret på kombinatorisk logik og F/Fs er Tællere og Skifteregistre.

Hardware beskrivende sprog som VHDL gør det muligt for en designer at beskrive et digital system på flere niveauer:

  •   Struktureret VHDL kode - Svarer til at sætte komponenter sammen (Diagram tegning)
  •   RTL kode - Register Transfer Level betyder at ens design fra starten er opdelt i kode som implementerer Flip/Flops og kode som lægger op til kombinatorisk logik.
  •   Behavorial kode - bruges hvis man beskriver en algoritme VHDL med henblik på simulering og eventuelt også til syntese. Man vil dog ofte opleve at koden godt nok kan simuleres men ikke kan omsættes til hardware.
    Det er så op til designeren selv at beskrive algoritmen med RTL eller Struktureret kode som (næsten) altid kan omsættes til hardware (læs FPGA).

Hvis man har kendskab til programmering i Java, C++ etc. er det ikke nødvendigvis nogen fordel når man skal lære VHDL.  VHDL kode godt nok ligner et "almindeligt" program, men den beskriver altså en verden hvor alting foregår parallelt.

 

 

  Interaktiv VHDL bog - Evita (kan downloade gratis på nettet)
   
 

 

   

 

   

Hit Counter