Praktikumi ülesanne nr 4

Similar documents
VALGE SÄRK PÕHIKANGAS TWO FOLD

VHDL (and verilog) allow complex hardware to be described in either single-segment style to two-segment style

Using ModelSim and Matlab/Simulink for System Simulation in Automotive Engineering

Väiketuulikute ja päikesepaneelide tootlikkuse ja tasuvuse võrdlus

Automated Road Closure Gate

jõudlusega ning vähendab võrra.

Akregatori käsiraamat. FrankÕsterfeld Anne-Marie Mahfouf Tõlge eesti keelde: Marek Laane

Sequential logic implementation

Field Programmable Gate Arrays a Case Study

Ramp Profile Hardware Implementation. User Guide

KÕRGEPINGE-IMPULSSTRAFO TOITEALLIKA JA KÕRGEPINGEMUUNDURIGA TESTMOODULI PROJEKTEERIMINE ESS-I PROOTONIKIIRENDILE

Laevamootorite tulevik Anders Toomus Osakonna juhatja AB Volvo Penta Service Communication

Page 1. Goal. Digital Circuits: why they leak, how to counter. Design methodology: consider all design abstraction levels. Outline: bottom-up

Petrol snow thrower. Petrol snow thrower SPT GB Original instructions EE. Algupärase kasutusjuhendi tõlge

PICAXE trükkplaatide koostamine

EMG SIGNAALITÖÖTLUSPLOKK JUHTIMISRAKENDUSTEKS

ZAZ 1102 TAURIA TAGAVEDRUSTUSE KINEMAATIKA MUUTMINE

Circuit breaker wear monitoring function block description for railway application

EE 6502 UNIT-II PROGRAMMING OF 8085 MICROPROCESSOR. Prepared by S.Sayeekumar, AP/RMDEEE

Teema 10. Loogiline disain. CASE

1.0 DOHC Classic Manuaal Bensiin 4,7 48/ DOHC Comfort Manuaal Bensiin 4,7 48/ Metallikvärv 275

KEY TO SYMBOLS. Symbols. Choke: Set the choke control in the choke position. 2 English AT26CCMC

MATRIX 832/424/832+ ICON SÕRMISTIK

Tarkvaraprotsessi küpsuse hindamise ja arendamise võimalusi Capability Maturity Model i näitel

ETTEVÕTTE VÄÄRTUSE KUJUNEMINE LÄHTUVALT VALITUD STRATEEGIAST AS i IMPREST NÄITEL

JÄRELTULIJALIJA e. Küsimustele vastab direktor Sirje Kautsaar

EVO192 ja TM50 KASUTUSJUHEND. Maaletooja: ALARMTEC AS TÖÖKOJA 1, TALLINN Tel e-post

EESTI MAAÜLIKOOL Tehnikainstituut. Ago Ütt-Ütti

Eestikeelne kasutusjuhend

GB Instruction for use EE Kasutusjuhend BA11.31PB/PDEE POWERTEX Shackle PBSB/PBSP/PDSB/PDSP

Väga tõhusad väikese energiakuluga

E-dok. Tarkvara kasutamise käsiraamat. Versioon: E-DOK OÜ E-dok OÜ 1

V90 C R O S S C O U N T R Y

EE 330 Integrated Circuit. Sequential Airbag Controller

Kaitseväe Ühendatud Õppeasutused Taktika õppetool

VIESMANN. Kasutusjuhend VITOLIGNO 100-S. seadme kasutajale. Puugaasikatel sobiv kuni 50 cm puuhalgude jaoks EE 7/2009 Hoidke juhend alles!

MADALA TASEME JUHTKONTROLLERI ARENDUS ISEJUHTIVALE SÕIDUKILE

Using Tridium s Sedona 1.2 Components with Workbench

CS/ECE 5780/6780: Embedded System Design

Digitaalne vererõhu aparaat. Mudel UA Kasutusjuhend

Mahu- ja kuluarvestus käsitöönduslikus palkehituses

Lecture 20: Parallelism ILP to Multicores. James C. Hoe Department of ECE Carnegie Mellon University

Tööülesanne Difraktsioonipildi põhiparameetrite määramine, katsetulemuste võrdlemine teooriaga.

Eesti Haigekassa DRG piirhinna ja piiride arvutamise metoodika hindamine

PV20b ja PV30b pelletipõletid

Kasutusjuhendi parandus

KAS ENERGIA ON EESTIS ODAV VÕI KALLIS?

RAM-Type Interface for Embedded User Flash Memory

This document is a preview generated by EVS

GB Instruction for use EE Kasutusjuhend! UMPLM EE. POWERTEX Permanent Lifting Magnet model PLM

Tartu Ülikool Germaani, romaani ja slaavi filoloogia instituut KÜTTE, VENTILATSIOONI JA ÕHUKONDITSIONEERIMISE INGLISE-EESTI SELETAV SÕNASTIK

PUBLITSEERIMISKESKUS. Kasutusjuhend

dotsent, tellimustöö vastutav täitja, TTÜ elektroenergeetika instituut doktorant, nooremteadur, TTÜ elektroenergeetika instituut

Naabrireeglid klassifitseerimisel

Breaker failure protection function block description

Design and Implementation of Fuel Metering Unit for an Aero Engine

UML keel. Keel visuaalseks modelleerimiseks. Ajalugu ja skeemide nimekiri

Kasutus- ja paigaldusjuhend Juhtseade tuleohutussüsteemidele SVM 24V-5A / SVM 24V-8A

Local Memory Bus (LMB) V10 (v1.00a)

Kiirtoidu seadmete hinnakiri

Kui ei külma küünlal jalad, siis vast külmab vastlal jalad, kui ei külma vastlal jalad, siis jorutab jüripäevani. (Iisaku, 1961)

Rehvitemperatuuri mõõtesüsteem võistlusautole FEST14

210 mm 145 mm. 210 mm 240 mm. 145 mm. 210 mm 280/180 mm. 145 mm

ATS3000/4000 Juhtpaneel. Kasutusjuhend

Using SystemVerilog Assertions in Gate-Level Verification Environments

Sisekaitseakadeemia Finantskolledž. Svetlana Matsova ÜHISTRANSIIDIPROTSEDUURI KONVENTSIOONI LAIENEMISE MÕJU EESTI TRANSIIDISÜSTEEMILE.

EUROOPA PARLAMENT ARVAMUS. Siseturu- ja tarbijakaitsekomisjon 2003/0226(COD) Esitaja: siseturu- ja tarbijakaitsekomisjon

Kinnituselemendid ja ühendustehnika. Kvaliteet, mida saab usaldada

Activant Prelude. Using the Shop Repair Module

VÄLJALASKESÜSTEEMI PROJEKTEERIMINE ÜKSIKKORRAS VALMISTATUD SÕIDUKILE

KASUTAMISE JA PAIGALDAMISE JUHEND

Index. sequencing, 21, 26 starting off, 22 using, 28 code sequence, 28 custom pallete, 28

TECHNICAL REPORTS from the ELECTRONICS GROUP at the UNIVERSITY of OTAGO. Table of Multiple Feedback Shift Registers

KESKMOOTORIGA RALLIAUTO TAURIA PLASTKOORIKU RENOVEERIMINE

Liginullenergiahoonete lokaalse taastuvelektri vajadus ja tasuvus

Tabelarvutus LibreOffice Calc-iga

MP-4000 Motor Protection

Logic Gates and Digital Electronics

DC Brushless Motor Application AEL-DCBRA

Digital System Design Using Field Programmable Gate Arrays By Pak K. Chan

ACTULUX HINNAKIRI 2016 v 1

TTK 31 E KASUTUSJUHEND ÕHUKUIVATI TRT-BA-TTK31E-TC-002-ET

Cold rolled narrow steel strip for heat treatment - Technical delivery conditions - Part 3: Steels for quenching and tempering

LÄÄNEMERE PIIRKONNA PROGRAMMI PROJEKTI BalticClimate TRANSPORDI JUHTUMIUURINGU ANALÜÜS LÕPPARUANNE

This document is a preview generated by EVS

PÄIKESEELEKTRIJAAMADE TOOTLIKKUSE PROGNOOSIDE PAIKAPIDAVUS

Sentinel Kinetic MVHR ja Kinetic Plus MVHR

MODELING QLC FLASH RELIABILITY. Nenad Miladinovic

Kombineeritud kütusekulu l/100 km. 1.0 DOHC Classic Manuaal Bensiin 4,7 48/ DOHC Comfort Manuaal Bensiin 4,7 48/ Metallikvärv 250

This document is a preview generated by EVS

Modelling and Verification of Relay Interlocking Systems

This document is a preview generated by EVS

AWD18E CORDLESS DRILL AKUTRELL

CMPEN 411 VLSI Digital Circuits Spring Lecture 15: Dynamic CMOS

ICTP Latin-American Advanced Course on FPGADesign for Scientific Instrumentation. 19 November - 7 December, 2012

LOGO. Eesti Arengukoostöö ja Humanitaarabi

TERE TULEMAST UUDE VOLVOSSE!

C4.1. Elektripaigaldus- ja kasutusjuhend

ABB June 19, Slide 1

CURRICULUM VITAE. Name : Ali Kamil Makki Al-Shaikhli Place and Date of Birth : Baghdad, Iraq, 2 nd May 1950 Languages : Arabic and English

Transcription:

Järjestikskeemid - Koodlukk I07 - Digitaalloogika ja -süsteemid Õppejõud: Priit Ruberg Ülari Ainjärv

1/4 I07 - Sisukord 1. Ülesande püstitus!... 1. Lahendus!... 1.1. Automaadi mudel!... 1.. s0 - s14 (Moore)!....3. s15 (Mealy)!....4. Implementatsioon (lukk.vhd)!....5. Simulatsioon!... 4 1. Ülesande püstitus 1 Ülesandeks on kirjeldada koodiluku avamismehhanismi. Tuleb koostada vastava automaadi (FSM ) mudel ning implementeerida lukuavamise juhtloogika VHDL-is. Ülesande detailid ning testpink on ette antud ning saadaval ülesande kodulehelt. Lukk avaneb kui järjestikku on sisestatud kaheksakohaline kood, mis vastab matriklinumbrile. Minu matriklinumber on 1117101. Tähele tuleb panna, et nupuvajutus toimub kahes osas, vajutades ja vabastades, misjärel võib alles teha otsuseid edasiseks - oodata uut sisestust, katkestada või avada lukk ja minna algolekusse.. Lahendus Kuna ülesandepüstituses pole ära toodud käitumisjuhist kahe või enama nupu üheaegse vajutuse korral, siis minu poolt kirjeldatud lahenduses seda olukorda ei käsitleta. Kui järjestikku sisestati õige kaheksakohaline kood, siis minu poolt kirjeldatud automaat saadab avamissignaali ning tagasipöördudes algolekusse tühistab selle kohe. Kuna ülesandepüstituses ei ole täpsustatud luku loogilist käitumist pärast avamist ja uuesti sulgemisel ning muude osade mehhaanikat, siis pakutud lahendus on ainult üks paljudest võimalikest..1. Automaadi mudel Oma lahenduses kasutan kombineeritult nii Moore kui Mealy modelleerimist, sest viimases olekus tuleb väljundi otsus langetada nii staatuse kui sisendi (nupu lahtilase) alusel. Ehk siis algolekust liikudes mööda olekuid (vt Joonis 1) väljund ei muutu sisendi tõttu ning siin saab kasutada Moore mudelit, jõudes viimasesse olekusse (s15) tuleb väljundi otsustamisel kontrollida, kas nupp on veel all või lasti lahti ning siin saab kasutada Mealy mudelit. Joonis 1 - Olekudiagramm Antud mudel on optimeerimata, et illustreerida eraldi staatustega nuppude vabastamise sündmusi. Realisatsioonis tuleks seda mudelit oluliselt lihtsustada. Mudeli skeem on toodud alloleval joonisel (vt Joonis ). Mudel on jagatud klassikaliselt kaheks protseduuriks, millest esimene muudab staatust (fsm_transition) ja teine tegeleb otseselt väljundi genereerimisega (fsm_output). Joonis - Skemaatiline vaade 1 Ülesande koduleht asub aadressil http://enos.itcollege.ee/~vpesonen/lab_78/lab_78.html. Finite-state machine (http://en.wikipedia.org/wiki/finite-state_machine). I07 - - Ülari Ainjärv ()

/4.. s0 - s14 (Moore) Järgmine staatus sõltub hetke staatusest ja hetke sisendist, samas hetke väljund sõltub ainult hetke staatusest 3 : a( t +1) = δ ( a( t),z( t) w( t) = λ ( a( t) ). input state output new_state 0000000010 s0 0 s1 0000000000 s1 0 s 0000000100 s 0 s3 0000000000 s3 0 s4 0000000010 s4 0 s5 0000000000 s5 0 s6 0000000010 s6 0 s7 0000000000 s7 0 s8 0010000000 s8 0 s9 0000000000 s9 0 s10 0000000010 s10 0 s11 0000000000 s11 0 s1 0000000001 s1 0 s13 0000000000 s13 0 s14 0000000010 s14 0 s15.3. s15 (Mealy) Järgmine staatus sõltub hetke staatusest ja hetke sisendist, samuti hetke väljund sõltub hetke staatusest ja hetke sisendist: a( t +1) = δ ( a( t),z( t) w( t) = λ ( a( t),z( t) ). input state output new_state 0000000010 s15 0 s15 0000000000 s15 1 s0.4. Implementatsioon (lukk.vhd) 4 - - I07 - Task 4 (combination lock). - - Ülari Ainjärv () - - entity koodlukk is port( reset, clock : in bit; input : in bit_vector(9 downto 0 output : out bit end koodlukk; architecture fsm of koodlukk is - - code: 1117101 - - input state output new_state - - 0000000010 s0 0 s1 (1) 3 Logic and System Design of Digital Systems, S. Baranov 008, lk 30. 4 http://enos.itcollege.ee/~ylari/i07/lukk.vhd I07 - - Ülari Ainjärv ()

3/4 - - 0000000000 s1 0 s - - 0000000100 s 0 s3 () - - 0000000000 s3 0 s4 - - 0000000010 s4 0 s5 (1) - - 0000000000 s5 0 s6 - - 0000000010 s6 0 s7 (1) - - 0000000000 s7 0 s8 - - 0010000000 s8 0 s9 (7) - - 0000000000 s9 0 s10 - - 0000000010 s10 0 s11 (1) - - 0000000000 s11 0 s1 - - 0000000001 s1 0 s13 (0) - - 0000000000 s13 0 s14 - - 0000000010 s14 0 s15 (1) - - 0000000010 s15 0 s15 - - 0000000000 s15 1 s0 type state_type is (s0, s1, s, s3, s4, s5, s6, s7, s8, s9, s10, s11, s1, s13, s14, s15 signal state, new_state : state_type; fsm_transition : process wait on clock until clock = '1'; if reset = '1' then state <= s0; state <= new_state; end process; fsm_output : process (input, state) impure function is_released return boolean is constant released : bit_vector(9 downto 0) := "0000000000"; if input = released then return true; return false; end is_released; impure function change_state_on_push(expected_digit : integer; expected_state : state_type) return state_type is if input(expected_digit) = '1' then return expected_state; elsif is_released then return state; return s0; end change_state_on_push; impure function change_state_on_release(expected_state : state_type) return state_type is if is_released then return expected_state; return state; end change_state_on_release; case state is when s0 => output <= '0'; new_state <= change_state_on_push(1, s1 when s1 => new_state <= change_state_on_release(s when s => new_state <= change_state_on_push(, s3 when s3 => I07 - - Ülari Ainjärv ()

4/4 new_state <= change_state_on_release(s4 when s4 => new_state <= change_state_on_push(1, s5 when s5 => new_state <= change_state_on_release(s6 when s6 => new_state <= change_state_on_push(1, s7 when s7 => new_state <= change_state_on_release(s8 when s8 => new_state <= change_state_on_push(7, s9 when s9 => new_state <= change_state_on_release(s10 when s10 => new_state <= change_state_on_push(1, s11 when s11 => new_state <= change_state_on_release(s1 when s1 => new_state <= change_state_on_push(0, s13 when s13 => new_state <= change_state_on_release(s14 when s14 => new_state <= change_state_on_push(1, s15 when s15 => if is_released then output <= '1'; new_state <= change_state_on_release(s0 when others => new_state <= s0; end case; end process; end fsm;.5. Simulatsioon 5 Kursor simulatsiooni lainediagrammil (vt Joonis 3) on seatud luku avanemise hetkele. Selguse huvides on lainediagrammile lisatud ka signaalide state ja new_state väärtused. Joonis 3 - Simulatsioon (Wave) 5 VHDL-i töövahendina kasutasin ModelSim PE Student Edition 10.1d (http://model.com/content/modelsim-pe-studentedition-hdl-simulation). I07 - - Ülari Ainjärv ()