VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä



Samankaltaiset tiedostot
AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja

2_1----~--~r--1.~--~--~--,.~~

21~--~--~r--1~~--~--~~r--1~

Verilogvs. VHDL. Janne Koljonen University of Vaasa

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

V H D L. Very high speed integrated circuits Hardware Description Language

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla

Digitaalitekniikka (piirit) Luku 18 Sivu 1 (32) Rekisterit ja laskurit R C1 SRG4 R C1/ CTRDIV16 1R G2 2CT=15 G3 C1/2,3 + CT 3

Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Harjoitustehtävien ratkaisut

Turo Id MIKROPROSESSORIJÄRJESTELMÄN SUUNNITTELU FPGA:LLA

Käänteismatriisi 1 / 14

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

end; end else begin if aani=true then begin sound(247); delay(100); sound(220); delay(200); nosound; end; end;

Kombinatorisen logiikan laitteet

SULAUTETUN JÄRJESTELMÄN PUOLIAUTOMAATTINEN TESTAUS

Sähkötekniikan perusteet

Arduino. Kimmo Silvonen (X)

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

c) loogiset funktiot tulojen summana B 1 = d) AND- ja EXOR-porteille sopivat yhtälöt

Suunnitteluautomaatio

Rinnakkaistietokoneet luento S

Algoritmit 2. Demot Timo Männikkö

NOKEVAL SCL. Käyttöohje

P I C A X E O H J E L M O I N T I

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Opiskeluoikeuksien maaran tiedonkeruu

DATA-vaiheen ohjelmoijan yleissivistys helposti unohtuvia asioita

Virta_Latausraportti - Tarkistukset

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Ohjelmointiharjoituksia Arduino-ympäristössä

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ #include <EEPROM.h> #include <SoftwareSerial.h> SoftwareSerial gps(10, 0); // RX, TX -pinnit

Kielioppia: toisin kuin Javassa

Program matopeli; uses graph,grafiikka,crt; VAR. merkkiluettu,herkkutarkistettu : boolean;

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA AUTOMAATIOTEKNIIKKA. Otto Nurmi FPGA-TEKNIIKAN OPETUKSEN KEHITTÄMINEN

Ylläpidettävät ohjelmat. Evoluutiolait (Lehman) Lakien keskinäiset suhteet. Muutostarpeita (evoluution syitä) Ohjelmien luokittelu (Lehman)

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

MAANANTAINA KLO 18

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Synkronisten sekvenssipiirien suunnittelu

Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3

ARKISTOLUETTELO VANTAAN KOTISEUTUARKISTO MYYRMÄEN URHEILUTALOSÄÄTIÖ. 1 Hallituksen pöytäkirjat

ADA. Ohjelmointikieli. Ryhmä 5 Henna Olli, Päivi Hietanen

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Funktionimien kuormitus. TIES341 Funktio ohjelmointi 2 Kevät 2006

Summary: long transaction (Software AG, 1999)

Kellojen synkronointi itsestabiloituvasti

Co-Design Yhteissuunnittelu

ACKERMANNIN ALGORITMI. Olkoon järjestelmä. x(k+1) = Ax(k) + Bu(k)

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include <EEPROM.h> #include <SoftwareSerial.h>

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

6.3. AVR_rauta. EEPROM-muisti pva

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi.

3 m. y 8 0 s 3. w - < n 3. = O Å O^ d : 3 Ö N. a N rn 3 m 01. w Z. m 7. r y. u U N V 00 V V O Oo Ö O Ö Ö. t O > > V V N N

Moduloivat toimimoottorit AME 10, AME 20, AME 30 AME 13, AME 23, AME 33 - jousipalautteinen

TALVIKAUDEN LINJASTOSUUNNITELMALUONNOS

LYTH-CONS CONSISTENCY TRANSMITTER

Makrojen mystinen maailma lyhyt oppimäärä

Ennakkotehtävän ratkaisu

Arduino. Kimmo Silvonen (X)

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

MB 20 MODBUS RTU LIITYNTÄYKSIKKÖ SAR 410:LLE TEKNISET TIEDOT. MB 20 on liityntäkortti painesäädin SAR 410:n liittämiseksi Modbus RTU väylään.

TRAVEL-GUIDE TRAVELler and traffic information systems GUIDElines for the enhancement of integrated information provision systems

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

13. Loogiset operaatiot 13.1

Ohjelmoinnin peruskurssien laaja oppimäärä

Ajettavat luokat: SM: S1 (25 aika-ajon nopeinta)

TM ETRS-TM35FIN-ETRS89 WTG

Windowsin sanomanvälitys. Juha Järvensivu 2007

Tilastokeskuksen tutkintotiedonkeruu ammattikorkeakoulut

Arduino. Kimmo Silvonen (X)

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Mat-C.1 harj2. Alustuksia f d 1 C sin x 1 C x 2 f := 1 C sin x

Matriisipotenssi. Koska matriisikertolasku on liitännäinen (sulkuja ei tarvita; ks. lause 2), voidaan asettaa seuraava määritelmä: ja A 0 = I n.

Numeeriset menetelmät

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

+,-./ /34,

Digitaalilaitteen signaalit

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R

13. Loogiset operaatiot 13.1

Summamuuttujat, aineiston pilkkominen ja osa-aineiston poiminta 1

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka

The CCR Model and Production Correspondence

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

TM ETRS-TM35FIN-ETRS89 WTG

815338A Ohjelmointikielten periaatteet Harjoitus 7 Vastaukset

Travel Getting Around

Algoritmit 2. Luento 9 Ti Timo Männikkö

KÄYTTÖOHJE HLS 35. Versio (6) TOIMINTOKAAVIO

Ongelma: Poikkeaako perusjoukon suhteellinen osuus vertailuarvosta?

Luento 2: Viivan toteutus

Transkriptio:

Pasi Vähämartti TEHTÄVÄT 1(13) VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä entity JK_kiikku2 is Port ( J : in std_logic; K : in std_logic; CLK : in std_logic; Reset : in std_logic; Q : out std_logic; Q_not : out std_logic); end JK_kiikku2; architecture Behavioral of JK_kiikku2 is process(j,k,clk,reset) variable MP_Q : std_logic; variable MP_Q_not : std_logic; if (Reset = '1') then MP_Q := '0'; MP_Q_not := '1'; Q <= '0'; Q_not <= '1'; elsif (CLK'event and CLK = '1') then if (J = '0' and K = '0') then elsif (J = '0' and K = '1') then MP_Q := '0'; MP_Q_not := '1'; elsif (J = '1' and K = '0') then MP_Q := '1'; MP_Q_not := '0';

Pasi Vähämartti TEHTÄVÄT 2(13) elsif (J = '1' and K = '1') then MP_Q := not MP_Q; MP_Q_not := not MP_Q_not; end process; Simulointi:

Pasi Vähämartti TEHTÄVÄT 3(13) VHDL Tehtävä 1 : JK-Kiikku toteutettu WHEN:llä entity JK_kiikku3 is Port ( J : in std_logic; K : in std_logic; CLK : in std_logic; Reset : in std_logic; Q : out std_logic; Q_not : out std_logic); end JK_kiikku3; architecture Behavioral of JK_kiikku3 is process(j,k,clk,reset) variable MP_Q : std_logic; variable MP_Q_not : std_logic; variable sel : std_logic_vector(1 downto 0); sel := J&K; if (Reset = '1') then MP_Q := '0'; MP_Q_not := '1'; Q <= '0'; Q_not <= '1'; elsif (CLK'event and CLK = '1') then case (sel) is when "00" => when "01" => MP_Q := '0'; MP_Q_not := '1';

Pasi Vähämartti TEHTÄVÄT 4(13) when "10" => MP_Q := '1'; MP_Q_not := '0'; when "11" => MP_Q := not MP_Q; MP_Q_not := not MP_Q_not; when others => end case; end process; Simulointi:

Pasi Vähämartti TEHTÄVÄT 5(13) VHDL Tehtävä 2 : My_and_or my_and-behavioral entity My_and is Port ( I1 : in std_logic; I2 : in std_logic; O1 : out std_logic); end My_and; architecture Behavioral of My_and is O1 <= I1 and I2; my_or-behavioral entity my_or is Port ( I1 : in std_logic; I2 : in std_logic; O1 : out std_logic); end my_or; architecture Behavioral of my_or is O1 <= I1 or I2;

Pasi Vähämartti TEHTÄVÄT 6(13) my_and_or-behavioral entity my_and_or is Port ( A : in std_logic; B : in std_logic; C : in std_logic; D : in std_logic; Z : out std_logic); end my_and_or; architecture Behavioral of my_and_or is COMPONENT my_and Port ( I1 : in std_logic; I2 : in std_logic; O1 : out std_logic); end component; COMPONENT my_or is Port ( I1 : in std_logic; I2 : in std_logic; O1 : out std_logic); end component; signal SIG1 : std_logic; signal SIG2 : std_logic; my_and1 : my_and port map ( I1=>A, I2=>B, O1=>SIG1 ); my_and2 : my_and port map ( I1=>C, I2=>D, O1=>SIG2 ); my_or1 : my_or port map ( I1=>SIG1, I2=>SIG2, O1=>Z ); Simulointi:

Pasi Vähämartti TEHTÄVÄT 7(13) VHDL Tehtävä 3 : PWM-modulaattori entity PWM is Port ( clock : in std_logic; ref : in std_logic_vector(7 downto 0); enable_pwm : in std_logic; reset_pwm : in std_logic; PWM_out : out std_logic ); end PWM; architecture Behavioral of PWM is signal count : std_logic_vector(7 downto 0); process (clock, reset_pwm, enable_pwm) if reset_pwm = '1' or enable_pwm = '0' then count <= "00000000"; PWM_out <= '0'; elsif clock='0' and clock'event and enable_pwm='1' and reset_pwm = '0' then if count < "11111111" then count <= count + '1'; if count > ref then PWM_out <= '0'; else PWM_out <= '1'; else count <= "00000000";

Pasi Vähämartti TEHTÄVÄT 8(13) end process; Simulointi: Lähtö 0% -ohjauksella Lähtö 50% -ohjauksella Lähtö 100% -ohjauksella

Pasi Vähämartti TEHTÄVÄT 9(13) VHDL Tehtävä : FOR LOOP and entity forluuppiandi is Port ( A : in std_logic_vector(7 downto 0); B : in std_logic_vector(7 downto 0); Z : out std_logic_vector(7 downto 0)); end forluuppiandi; architecture Behavioral of forluuppiandi is process (A,B) end process; for i in 7 downto 0 loop Z(i) <= A(i) and B(i); end loop; Teknologiatoteutus:

Pasi Vähämartti TEHTÄVÄT 10(13) VHDL Tehtävä : FOR LOOP laskuri entity forluuppilaskuri is Port ( out1 : out std_logic; clk : in std_logic; aa: out integer; reset : in std_logic); end forluuppilaskuri; architecture Behavioral of forluuppilaskuri is process (clk) variable laskuri : integer; if reset = '1' then laskuri := 0; aa <= 0; elsif clk='1' and clk'event then end process; for i in 19 downto 0 loop laskuri := laskuri + 1; if laskuri > 100 then out1 <= '0'; else out1 <= '1'; aa <=laskuri; end loop;

Pasi Vähämartti TEHTÄVÄT 11(13) Teknologiatoteutus: 41 sivua pelkkää p*skaa generoitu for-loopin ansiosta. Yllä oleva kuva esittää yhden sivun sisältöä.

Pasi Vähämartti TEHTÄVÄT 12(13) VHDL Tehtävä : Generic ja Generate generic_generate-behavioral entity generic_generate is generic (cycles: positive:=10); Port(D,clr,clk : in bit; q : out bit); end generic_generate; architecture Behavioral of generic_generate is component dff is Port(D,clr,clk : in bit; q : out bit); end component; signal s :bit_vector(cycles - 1 downto 1); cycleeq1:if cycles = 1 generate d1: dff port map (D,clr,clk,q); end generate cycleeq1; cyclegt1: if cycles > 1 generate first:dff port map (D,clr,clk,s(1)); inthemiddle:for i in 2 to cycles-1 generate di: dff port map (s(i-1),clr,clk,s(i)); end generate; last: dff port map (s(cycles-1),clr,clk,q); end generate cyclegt1;

Pasi Vähämartti TEHTÄVÄT 13(13) dff-behavioral entity dff is Port ( D : in std_logic; clr : in std_logic; clk : in std_logic; q : out std_logic); end dff; architecture Behavioral of dff is process (D,clr,clk) if (clr='1') then q <= '0'; end process; elsif (clk'event and clk='1' and clr='0') then q <= D;