Konstruktionsmetodik för sekvenskretsar

Relevanta dokument
Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

TSEA22 Digitalteknik 2019!

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

Konstruktion av digitala system - VHDL

VHDL 1. Programmerbara kretsar

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Digital elektronik CL0090

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2

VHDL och laborationer i digitalteknik

std_logic & std_logic_vector

DESIGN AV SEKVENTIELL LOGIK

Sekvensnät. William Sandqvist

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

L15 Introduktion modern digital design

DIGITALTEKNIK. Laboration D172

Angående buffer. clk clear >=1 =9?

Digitala projekt Elektro- och informationsteknik

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

LABORATIONSINSTRUKTION LABORATION

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Programmerbar logik och VHDL. Föreläsning 4

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

VHDL2. Sekvensnätsexemplet

Försättsblad till skriftlig tentamen vid Linköpings universitet

VHDL2. Sekvensnätsexemplet

Simulering med ModelSim En kort introduktion

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

KOMBINATORISKA FUNKTIONER...1

IE1205 Digital Design: F9: Synkrona tillståndsautomater

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

TSEA22 Digitalteknik 2019!

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Digital Design IE1204

Digital Design IE1204

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

KALKYLATOR LABORATION4. Laborationens syfte

Tentamen IE Digital Design Måndag 23/

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Omtentamen IE Digital Design Måndag 14/

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Digital Design IE1204

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

LABORATION TSEA22 DIGITALTEKNIK D

VHDL3. Angående buffer

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist

Sekvensnät vippor, register och bussar

Laboration i digitalteknik Introduktion till digitalteknik

LABORATIONSINSTRUKTION

Tentamen med lösningar IE Digital Design Måndag 23/

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

SEKVENSKRETSAR. Innehåll

Sekvensnät i VHDL del 2

Datorkonstruktion. Datorkonstruktion 2018, 8hp

Exempel på LAX-uppgifter

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

F5 Introduktion till digitalteknik

Tentamen IE Digital Design Fredag 13/

Programmerbar logik och VHDL. Föreläsning 1

Tentamen i IE Digital Design Fredag 21/

Tentamen IE Digital Design Fredag 15/

Tentamen i IE1204/5 Digital Design måndagen den 15/

Omtentamen med lösningar IE Digital Design Måndag 14/

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Översikt, kursinnehåll

Tenta i Digitalteknik

Tentamen i IE1204/5 Digital Design Torsdag 29/

IE1204/IE1205 Digital Design

Digitalteknik syntes Arne Linde 2012

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Digital Design IE1204

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

LABORATIONSINSTRUKTION LABORATION. Räknare och skiftregister med sekvensiell VHDL. LAB NR Ver KURS. Digitalteknik INNEHÅLL. 1.

Laboration i digitalteknik

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Simulering med ModelSim En kort introduktion

Tentamen i Digitalteknik 5p

Digital Design IE1204

LEJON LABORATION3. Laborationens syfte

LABORATIONER I DIGITALTEKNIK. Laboration 3 Speciella sekvenskretsar

Laborationshandledning

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Tentamen med lösningar i IE Digital Design Fredag 15/

Tenta i Digitalteknik

Digital elektronik CL0090

Transkript:

Konstruktionsmetodik för sekvenskretsar Digitalteknik Föreläsning 7 Mattias Krysander Institutionen för systemteknik

Dagens föreläsning Inför laboration 2 Synkronisering av insignaler Asynkrona ingångar på vippor Initiering/nollställning Programmerbara kretsar och VHDL Från problemformulering till tillståndsdiagram 2

Synkronisera asynkrona insignaler Asynkron insignaler x a kommer från Brytare Sensorer Använd synkroniseringsvippa: x a clk D C Q x Sekvenskrets 3

D-vippa med asynkrona ingångar PR D Q CK Q CLR PR CLR CK D Q + 1 0 X X 0 0 1 X X 1 1 1 0 X Q 1 1 1 X Q 1 1 é 0 0 1 1 é 1 1 Asynkrona ingångar: Clear (CLR), Preset (PR) aktivt låg CLR = 0 => Q = 0 PR = 0 => Q = 1 4

Lab-vippan Positivt flanktriggad JK-vippa med asynkron clear och preset. Koppla ihop J och K ingången för att få en D-vippa. PR D CK Q D PR J CK Q CLR Q K CLR Q 5

Lab-vippan PR D CK Q D PR J CK Q CLR Q K CLR Q Asynkrona ingångar får endast användas för att ställa in starttillståndet. I övriga fall skall CLR = 1, PR = 1. Klocksignalen får inte ledas genom grindar innan den skickas in till vippor, räknare, etc ty det ger en asynkron krets. 6

Nollställning ett exempel Autonom tvåbitsräknare ska förses med nollställning Asynkront Synkront 7

Asynkron nollställning Nollställning sker med resetna = 0, utan medverkan av klockan. 8

Synkron nollställning Synkron nollställning aktiverad med resetn = 0 9

Synkron nollställning En insignalkombination sätter nästa tillstånd till starttillståndet oberoende av nuvarande tillstånd. Hanteras därmed som vilken insignal som helst 10

Programmerbar logik 11 Complex programmable logic device (CPLD) Fix komponentuppsättning Programmerar vilka kopplingar som ska finnas

Konstruktion med CPLD Skriv beskrivning i VHDL (Very high speed integrated circuit Hardware Description Language) Syntes passar in (optimerar) kretsen på den aktuella CPLD:n bestämmer vilka in och utgångar som kommer att användas Programmering speciell mjuk- och hård-vara används för att programmera CPLD:n 12

VHDL-exempel - enpulsaren library ieee; use ieee.std_logic_1164.all; entity enpulsare is port(clk, x : in std_logic; u : out std_logic); end enpulsare; architecture ekvationer of enpulsare is signal q, q_plus : std_logic; begin process(clk) begin if rising_edge(clk) then q <= q_plus; x end if; end process; q_plus <= x; -- q + = f(q,x) u <= (not q) and x; -- u = g(q,x) end ekvationer; clk x q_plus clk D C enpulsare q Q & u u 13

14 Detektion av var tredje etta i VHDL

Gränssnitt mot omgivningen clk x skrets u entity skrets is port( clk, x: in std_logic; u: out std_logic); end entity skrets; 15

Interna signaler adress adress = (q1,q0,x) data = (q1_plus,q0_plus,u) architecture behavior of skrets is signal q0, q0_plus: std_logic; signal q1, q1_plus: std_logic; signal adress : std_logic_vector(2 downto 0); signal data : std_logic_vector(2 downto 0); begin -- beskrivning av kretsens beteende -- se kommande 2 oh:ar data end behavior; 16

Vippor -- vippor process(clk) begin if rising_edge(clk) then q0 <= q0_plus; q1 <= q1_plus; end if; end process; 17

Minnet -- ROM adress <= q1 & q0 & x; -- concatenering with adress select data <= 000 when 000, 010 when 001, 010 when 010, 110 when 011, 000 when 100, 000 when 101, 110 when 110, 001 when 111, --- when others; -- nästa tillstånd q1_plus <= data(2); -- indexera vektor q0_plus <= data(1); -- utsignal u <= data(0); 18

Dagens föreläsning Inför laboration 2 Synkronisering av insignaler Asynkrona ingångar på vippor Initiering/nollställning Programmerbara kretsar och VHDL Från problemformulering till tillståndsdiagram 19

Lejonburen Lampa skall lysa när hägnet är tomt. Fotoceller: x i = 1 fotocellen skymd 0 annars Lampa: u = 0 släkt 1 tänd Vid start är båda lejonen i buren. Lejonen: a) Max ett lejon i porten b) Kan ej vända/backa i porten. c) Är längre än avståndet mellan x 1 och x 2. d) Rör sig långsamt i förhållande till klockfrekvensen. 20

Porten tom: x = (x 1, x 2 ) = 00 Lejon i port: a) => ett lejon b) => rör sig genom porten Fall Lejon ut ur bur: Senarier x : 00, 01, 11, 01, 00 (x = 11, pga c)) Lejon in i bur: d) => Varje insignalkombination upprepas => Vi kan vänta en klockpuls med att tända lampan, dvs Moorekrets är okej. 21

Enkel lösning Låt tillståndet i inne beteckna att i lejon är i buren. Onödigt många tillstånd: 9 st Det finns algoritmer som minimerar antalet tillstånd. Hanterar även att lejon backar i porten => Onödigt komplicerat tillståndsdiagram 22

Lösning med få tillstånd Vi behöver ett tillstånd då lampan ska lysa (u = 1). I tillståndet 2 inne lyser lampan i övriga tillstånd är den släkt. Detektera utpassage med 10 alla insignalkombinationer => fast i tillståndet Detektera utpassage med 11 Går ej att skilja på fallen 23

Lejonbur fortsättning Detektera utpassage med 01 fast i tillståndet 24 10, 11 kvar 11 påträffas först vid inpassage 10 påträffas först vid utpassage Vilka insignaler för sträckad tillståndsövergång är tänkbar? 01: funkar ej ty vi hamnar i 2 inne 11: funkar ej ty vi hamnar i 2 inne 10: funkar ej ty vi hamnar i 0 inne 00: OK, men nytt tillstånd måste införas: i porten

Tillståndsdiagram för lejonburen Tillståndsdiagram framtaget på föreläsningen: Alternativt tillståndsdiagram: 25

www.liu.se