Język VERILOG w praktyce
|
|
- Stanisław Chrzanowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Język VERLOG w praktyce RUS RUS
2 Język VERLOG rzykłady syntezy blokowej RUS RUS
3 Elementy systemu cyfrowego magistrala danych cd. module swap (Data, Resetn, w, Clock, Extern, RinExt, Busires); input [7:0] Data; input Resetn, w, Clock, Extern; input [1:3] RinExt; output [7:0] Busires; tri [7:0] Busires; wire [1:3] Rin, Rout, Q; wire [7:0] R1, R2, R3; shiftr control (Resetn, w, Clock, Q); defparam control.m = 3; assign Rin[1] = RinExt[1] Q[3]; assign Rin[2] = RinExt[2] Q[2]; assign Rin[3] = RinExt[3] Q[1]; assign Rout[1] = Q[2]; assign Rout[2] = Q[1]; assign Rout[3] = Q[3]; regn reg_1 (Busires, Rin[1], Clock, R1); regn reg_2 (Busires, Rin[2], Clock, R2); regn reg_3 (Busires, Rin[3], Clock, R3); trin tri_ext (Data, Extern, Busires); trin tri_1 (R1, Rout[1], Busires); trin tri_2 (R2, Rout[2], Busires); trin tri_3 (R3, Rout[3], Busires); module Rys Specyfikacja systemu cyfrowego z rys
4 Elementy systemu cyfrowego magistrala danych cd. module swapmux(data, Resetn, w, Clock, RinExt, Busires); input [7:0] Data; input Resetn, w, Clock; input [1:3] RinExt; output [7:0] Busires; reg [7:0] Busires; wire [1:3] Rin, Q; wire [7:0] R1, R2, R3; reg [1:0] S; shiftr control (Resetn, w, Clock, Q); defparam control.m = 3; assign Rin[1] = RinExt[1] Q[3]; assign Rin[2] = RinExt[2] Q[2]; assign Rin[3] = RinExt[3] Q[1]; regn reg_1 (Busires, Rin[1], Clock, R1); regn reg_2 (Busires, Rin[2], Clock, R2); regn reg_3 (Busires, Rin[3], Clock, R3); or Data or R1 or R2 or R3 or S) // Kodowanie if (Q == 3'b000) S = 2'b00; else if (Q == 3'b100) S = 2'b10; else if (Q == 3'b010) S = 2'b01; else S = 2'b11; // Multipleksery if (S == 2'b00) Busires = Data; else if (S == 2'b01) Busires = R1; else if (S == 2'b10) Busires = R2; else Busires = R3; module Rys Specyfikacja magistrali danych z multiplekserami 4
5 Elementy systemu cyfrowego magistrala danych cd. module swapmux (Data, Resetn, w, Clock, RinExt, Busires); input [7:0] Data; input Resetn, w, Clock; input [1:3] RinExt; output [7:0] Busires; reg [7:0] Busires; wire [1:3] Rin, Q; wire [7:0] R1, R2, R3; shiftr control (Resetn, w, Clock, Q); defparam control.m = 3; assign Rin[1] = RinExt[1] Q[3]; assign Rin[2] = RinExt[2] Q[2]; assign Rin[3] = RinExt[3] Q[1]; regn reg_1 (Busires, Rin[1], Clock, R1); regn reg_2 (Busires, Rin[2], Clock, R2); regn reg_3 (Busires, Rin[3], Clock, R3); or Data or R1 or R2 or R3) if (Q == 3'b000) Busires = Data; else if (Q == 3'b100) Busires = R2; else if (Q == 3'b010) Busires = R1; else Busires = R3; module Rys Uproszczona wersja specyfikacji z rys
6 rzykład systemu cyfrowego: prosty procesor cd. module proc (Data, Reset, w, Clock, F, Rx, Ry, Done, Busires); input [7:0] Data; input Reset, w, Clock; input [1:0] F, Rx, Ry; output [7:0] Busires; output Done; wire [7:0] Busires; reg [0:3] Rin, Rout; reg [7:0] Sum; wire Clear, AddSub, Extern, Ain, Gin, Gout, FRin; wire [1:0] Count; wire [0:3],, Xreg, Y; wire [7:0] R0, R1, R2, R3, A, G; wire [1:6] Func, FuncReg; integer k; upcount counter (Clear, Clock, Count); dec2to4 dec (Count, 1, ); assign Clear = Reset Done (~w & [0]); assign Func = {F, Rx, Ry}; assign FRin = w & [0]; regn functionreg (Func, FRin, Clock, FuncReg); defparam functionreg.n = 6; dec2to4 dec (FuncReg[1:2], 1, ); dec2to4 decx (FuncReg[3:4], 1, Xreg); dec2to4 decy (FuncReg[5:6], 1, Y); assign Extern = [0] & [1]; assign Done = (([0] [1]) & [1]) (([2] [3]) & [3]); assign Ain = ([2] [3]) & [1]; assign Gin = ([2] [3]) & [2]; assign Gout = ([2] [3]) & [3]; assign AddSub = [3]; kontynuacja w części b. Rys Specyfikacja procesora (część a.) 6
7 rzykład systemu cyfrowego: prosty procesor cd. // RegCntl or or Xreg or Y) for (k = 0; k < 4; k = k+1) Rin[k] = (([0] [1]) & [1] & Xreg[k]) (([2] [3]) & [1] & Y[k]); Rout[k] = ([1] & [1] & Y[k]) (([2] [3]) & (([1] & Xreg[k]) ([2] & Y[k]))); trin tri_ext (Data, Extern, Busires); regn reg_0 (Busires, Rin[0], Clock, R0); regn reg_1 (Busires, Rin[1], Clock, R1); regn reg_2 (Busires, Rin[2], Clock, R2); regn reg_3 (Busires, Rin[3], Clock, R3); trin tri_0 (R0, Rout[0], Busires); trin tri_1 (R1, Rout[1], Busires); trin tri_2 (R2, Rout[2], Busires); trin tri_3 (R3, Rout[3], Busires); trin reg_a (Busires, Ain, Clock, A); // alu or A or Busires) if (!AddSub) Sum = A + Busires; else Sum = A - Busires; regn reg_g (Sum, Gin, Clock, G); trin tri_g (G, Gout, Busires); module Rys Specyfikacja procesora (część b.) 7
8 rzykład systemu cyfrowego: prosty procesor cd. module proc(data, Reset, w, Clock, F, Rx, Ry, Done, Busires); input [7:0] Data; input Reset, w, Clock; input [1:0] F, Rx, Ry; output [7:0] Busires; output Done; reg [7:0] Busires, Sum; reg [0:3] Rin, Rout; reg Extern, Done, Ain, Gin, Gout, AddSub; wire [1:0] Count, ; wire [0:3] Xreg, Y; wire [7:0] R0, R1, R2, R3, A, G; wire [1:6] Func, FuncReg, Sel; wire Clear = Reset Done (~w & ~Count[1] & ~Count[0]); upcount counter (Clear, Clock, Count); assign Func = {F, Rx, Ry}; wire FRin = w & ~Count[1] & ~Count[0]; regn functionreg (Func, FRin, Clock, FuncReg); defparam functionreg.n = 6; assign = FuncReg[1:2]; dec2to4 decx (FuncReg[3:4], 1, Xreg); dec2to4 decy (FuncReg[5:6], 1, Y); kontynuacja w części b) Rys Alternatywna specyfikacja procesora (część a) 8
9 rzykład systemu cyfrowego: prosty procesor cd. or or Xreg or Y) Extern = 1'b0; Done = 1'b0; Ain = 1'b0; Gin = 1'b0; Gout = 1'b0; AddSub = 1'b0; Rin = 4'b0; Rout = 4'b0; case (Count) 2'b00: ; //no signals asserted in time step 0 2'b01: //define signals in time step 1 case () 2'b00: // Ładowanie (Load) Extern = 1'b1; Rin = Xreg; Done = 1'b1; 2'b01: // rzemieszczenie (Move) Rout = Y; Rin = Xreg; Done = 1'b1; default: //Add, Sub Rout = Xreg; Ain = 1'b1; case 2'b10: //określenie sygnałów w kroku 2 case () 2'b10: //Add Rout = Y; Gin = 1'b1; 2'b11: //Sub Rout = Y; AddSub = 1'b1; Gin = 1'b1; default: ; //Add, Sub case 2'b11: case () 2'b10, 2'b11: Gout = 1'b1; Rin = Xreg; Done = 1'b1; default: ; //Add, Sub case case kontynuacja w części c). Rys Alternatywna specyfikacja procesora (część b) 9
10 rzykład systemu cyfrowego: prosty procesor cd. regn reg_0 (Busires, Rin[0], Clock, R0); regn reg_1 (Busires, Rin[1], Clock, R1); regn reg_2 (Busires, Rin[2], Clock, R2); regn reg_3 (Busires, Rin[3], Clock, R3); regn reg_a (Busires, Ain, Clock, A); //alu or A or Busires) if (!AddSub) Sum = A + Busires; else Sum = A - Busires; regn reg_g (Sum, Gin, Clock, G); assign Sel = {Rout, Gout, Extern}; or R0 or R1 or R2 or R3 or G or Data) if (Sel == 6'b100000) Busires = R0; else if (Sel == 6'b010000) Busires = R1; else if (Sel == 6'b001000) Busires = R2; else if (Sel == 6'b000100) Busires = R3; else if (Sel == 6'b000010) Busires = G; else Busires = Data; module Rys Alternatywna specyfikacja procesora (część c) 10
11 rzykład systemu cyfrowego: miernik czasu reakcji cd. module BCDcount (Clock, Clear, E, BCD1, BCD0); input Clock, Clear, E; output [3:0] BCD1, BCD0; reg [3:0] BCD1, BCD0; Clock) if (Clear) BCD1 <= 0; BCD0 <= 0; else if (E) if (BCD0 == 4'b1001) BCD0 <= 0; if (BCD1 == 4'b1001) BCD1 <= 0; else BCD1 <= BCD1 + 1; else BCD0 <= BCD0 + 1; module Rys Specyfikacja dwucyfrowego licznika BCD 11
12 rzykład systemu cyfrowego: miernik czasu reakcji cd. module reaction (c9, Reset, w, ushn, LEDn, Digit1, Digit0); input c9, Reset, w, ushn; output LEDn; output [1:7] Digit1, Digit0; wire LEDn; wire [1:7] Digit1, Digit0; reg LED; wire [3:0] BCD1, BCD0; c9) if (ushn == 0) LED <= 0; else if (w) LED <= 1; assign LEDn = ~LED; BCDcount counter (c9, Reset, LED, BCD1, BCD0); seg7 seg1 (BCD1, Digit1); seg7 seg0 (BCD0, Digit0); module Rys Specyfikacja miernika czasu reakcji 12
13 VERLOG specyfikacja automatów cd. module mealy (Clock, Resetn, w, z); input Clock, Resetn, w; output z; reg y, Y, z; parameter A = 0, B = 1; // Określenie stanu następnego i wyjścia or y) case (y) A: if (w) z = 0; Y = B; else z = 0; Y = A; B: if (w) z = 1; Y = B; else z = 0; Y = A; case // Określenie bloku sekwencyjnego Resetn or posedge Clock) if (Resetn == 0) y <= A; else y <= Y; module Rys Specyfikacja automatu Mealy ego z rys
14 rzykład : sumator sekwencyjny cd. module serial_adder (A, B, Reset, Clock, Sum); input [7:0] A, B; input Reset, Clock; output [7:0] Sum; reg [3:0] Count; reg s, y, Y; wire [7:0] QA, QB, Sum; wire Run; parameter G = 0, H = 1; shiftrne shift_a (A, Reset, 1, 0, Clock, QA); shiftrne shift_b (B, Reset, 1, 0, Clock, QB); shiftrne shift_sum (0, Reset, Run, s, Clock, Sum); // Automat sumatora // yjście i stan następny (część kombinacyjna) or QB or y) case (y) G: s = QA[0] ^ QB[0]; if (QA[0] & QB[0]) Y = H; else Y = G; H: s = QA[0] ~^ QB[0]; if (~QA[0] & ~QB[0]) Y = G; else Y = H; default: Y = G; case // Blok sekwencyjny Clock) if (Reset) y <= G; else y <= Y; // Sterowanie operacją przesuwu Clock) if (Reset) Count = 8; else if (Run) Count = Count - 1; assign Run = Count; module Rys Specyfikacja sumatora sekwencyjnego 14
15 rzykład : licznik jedynek w słowie cd. module bitcount (Clock, Resetn, LA, s, Data, B, Done); input Clock, Resetn, LA, s; input [7:0] Data; output [3:0] B; output Done; wire [7:0] A; wire z; reg [1:0] Y, y; reg [3:0] B; reg Done, EA, EB, LB; // układ sterujący parameter S1 = 2'b00, S2 = 2'b01, S3 = 2'b10; or y or z) : State_table case (y) S1: if (!s) Y = S1; else Y = S2; S2: if (z == 0) Y = S2; else Y = S3; S3: if (s) Y = S3; else Y = S1; default: Y = 2'bxx; case Clock or negedge Resetn) : State_flipflops if (Resetn == 0) y <= S1; else y <= Y; kontynuacja w części b. Rys Specyfikacja układu licznika jedynek (część a.) 15
16 rzykład : licznik jedynek w słowie cd. module or A[0]) : FSM_outputs // defaults EA = 0; LB = 0; EB = 0; Done = 0; case (y) S1: LB = 1; S2: EA = 1; if (A[0]) EB = 1; else EB = 0; S3: Done = 1; case // układ operacyjny (datapath circuit) // licznik B Resetn or posedge Clock) if (!Resetn) B <= 0; else if (LB) B <= 0; else if (EB) B <= B + 1; shiftrne ShiftA (Data, LA, EA, 0, Clock, A); assign z = ~ A; Rys Specyfikacja układu licznika jedynek (część b.) 16
Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS
Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?
Projekt prostego procesora
Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego
Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS
Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny
Projektowanie Scalonych Systemów Wbudowanych VERILOG
Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.
Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3
Układy cyfrowe w Verilog Elementy języka z przykładami wersja: 10.2009 cz.3 1 Układy sekwencyjne Układy sekwencyjne mają pamięć Układy synchroniczne najczęściej spotykane wszystkie elementy są kontrolowane
Laboratorium Podstaw Techniki Cyfrowej
Laboratorium Podstaw Techniki Cyfrowej Ćwiczenie 5: Wprowadzenie do języków opisu sprzętu 1. Języki opisu sprzętu Języki opisu sprzętu(hdl Hardware Description Language) to języki słuŝące do opisu układów
Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.
Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów
Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska
Sumatory 1 Sumator 1-bitowy full adder Równanie boolowskie sumy: s k = a k XOR b k XOR c k = a k b k c k Równanie boolowskie przeniesienia: c k+1 = (a k AN b k ) OR (a k AN c k ) OR (b k AN c k ) = (a
Wykład 4. Języki Opisu Sprzętu
Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Wprowadzenie do Veriloga Przypisania proceduralne (c. d.) Wykład 4 2017 8 listopad
Architektura typu Single-Cycle
Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć
Struktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
Specyfika projektowania Mariusz Rawski
CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania
bocznej Tabela stanów sterownika Światła na drodze:
Sterownik świateł na skrzyżowaniu APSC Specyfikacja: Sygnały świetne dla drogi głównej mają wyższy priorytet tzn. światła dla drogi głównej są domyślnie zielone Od czasu do czasu pojazdy z drogi bocznej
Układy sekwencyjne. Wstęp doinformatyki. Zegary. Układy sekwencyjne. Automaty sekwencyjne. Element pamięciowy. Układy logiczne komputerów
Wstęp doinformatyki Układy sekwencyjne Układy logiczne komputerów Układy sekwencyjne Dr inż. Ignacy Pardyka Akademia Świętokrzyska Kielce, 2001 Wstęp do informatyki I. Pardyka Akademia Świętokrzyska Kielce,
Układy logiczne układy cyfrowe
Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne Evatronix KontrolerEthernet MAC (Media Access Control)
Szkolenia specjalistyczne
Szkolenia specjalistyczne AGENDA Język VHDL w implementacji układów cyfrowych w FPGA/CPLD poziom podstawowy GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com Szczecin 2014
Realizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.
Zakład Cyberbezpieczeństwa, Instytut Telekomunikacji, Politechnika Warszawska, 2015. 1 Układy Cyfrowe laboratorium Przykład realizacji ćwiczenia nr 6 (wersja 2015) 1. Wstęp 1.1. Algorytm Realizacja algorytmu
Układy logiczne układy cyfrowe
Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne X Selektor ROM ROM AND Specjalizowane układy cyfrowe
Kurs Verilog cz.1 wstęp
Kurs Verilog cz.1 wstęp Złożoność układów cyfrowych zgodnie z prawem Moore a, podwaja się co około 18 miesięcy. Liczba tranzystorów znajdujących się w układzie scalonym sięga już dziesiątek, a nawet setek
1 Wstęp. 2 Operatory. 3 Blok always dla układów kombinacyjnych. 4 Instrukcja IF. 5 Instrukcja CASE. 6 Struktury konstrukcji warunkowych
Wstęp PROGRAMOWANIE STRUTUR CYFROWYCH Układy kombinacyjne poziomu RT c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2013/2014 2 1 Instytut Fizyki, Zakład Informatyki, e-mail:
Uniwersalny miernik: częstotliwości, czasu, okresu na FPGA, część 3
Uniwersalny miernik: częstotliwości, czasu, okresu P R Ona J EFPGA K T Y Uniwersalny miernik: częstotliwości, czasu, okresu na FPGA, część 3 AVT 5115 Jednym z przyrządów bardzo często wykorzystywanych
Konwerter 1 Wire > SPI opisany P R Ow JVerilogu
Konwerter 1 Wire > SPI opisany P R Ow JVerilogu E K T Y Konwerter 1 Wire > SPI opisany w Verilogu, część 1 AVT 443 Prezentowany konwerter jest przeznaczony szczególnie do współpracy z układami termometrów
Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1
Systemy wbudowane Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 System Quartus II Opis projektu Tekstowy (język opisu sprzętu np. Verilog) Graficzny Wykresy
Synteza logiczna APSC
Jest to proces tłumaczenia opisu projektu przygotowanego na wysokim poziomie abstrakcji na zoptymalizowaną reprezentację na poziomie bramek logicznych w oparciu o zadaną technologiczną bibliotekę komórek
Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 9 Procesor złożony Opracował:
Programowany układ czasowy APSC
Programowany układ czasowy APSC Ośmiobitowy układ czasowy pracujący w trzech trybach. Wybór trybu realizowany jest przez wartość ładowaną do wewnętrznego rejestru zwanego słowem sterującym. Rejestr ten
Architektura typu multi cycle
PC ux ress Write data emdata [3-26] [25-2] [2-6] [5-] register [5-] Cond IorD em emwrite emtoreg IRWrite [25-] [5-] Outputs Control Op [5-] ux ux PCSource Op SrcB Src RegWrite RegDst register register
Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia
Projektowanie scalonych systemów wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu
Laboratorium przedmiotu Technika Cyfrowa
Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w
Plan wykładu. Architektura systemów komputerowych. Cezary Bolek
Architektura systemów komputerowych Poziom układów logicznych. Układy sekwencyjne Cezary Bolek Katedra Informatyki Plan wykładu Układy sekwencyjne Synchroniczność, asynchroniczność Zatrzaski Przerzutniki
(przykład uogólniony)
Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).
Programowalne układy logiczne
Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów
Projektowanie automatów z użyciem VHDL
Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano
Projektowanie w VHDL
Projektowanie w VHDL powtórka wiadomości o języku VHDL słowa zastrzeżone typy danych, deklaracje obiektów instrukcje współbieżne i sekwencyjne pętle for, while typowe bloki układów cyfrowych przykłady
Układy mnoŝące H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska
Układy mnoŝące 1 MnoŜenie w układzie sekwencyjnym P = A X = N 1 k = 0 k a k 2 X MnoŜenie szeregowo-równoległe równoległe Czynnik X jest przesuwany o k pozycji: jeŝeli a k 0 to X*2 k jest dodawane i zapisywane
PROGRAMOWANIE STRUKTUR CYFROWYCH. Konwencje dla asemblera KCPSM3. Simple IO. PicoBlaze - projekty. c Dr inż. Ignacy Pardyka. Rok akad.
PROGRAMOWANIE STRUTUR CYFROWYCH PicoBlaze - projekty c Dr inż. Ignacy Pardyka UNIWERSYTET JANA OCHANOWSIEGO w ielcach 1 Rok akad. 2014/2015 1 Instytut Fizyki, Zakład Informatyki, e-mail: ignacy.pardyka@ujk.edu.pl
Programowalne układy logiczne
Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,
Algorytm mnożenia sekwencyjnego (wariant 1)
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Algorytm mnożenia sekwencyjnego (wariant 1) //Poczynając z mniej znaczących bitów mnożnika, przesuwamy formowany //rezultat w stronę
Wykład 5. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,
Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Proceduralne przypisanie ciągłe Wykład 5 2019 16 październik 2019 Operatory
Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA
Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego
Instrukcje sekwencyjne
nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 1 rocesy Konstrukcja
Programowany układ czasowy
Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu
Wykład 3. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,
Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Tablice i wektory Reguły łączenia portów Wykład 3 2018 10 październik 2018
Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014
Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole
Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W
Programowalne układy logiczne kod kursu: ETD008270 Podstawy języka Verilog W2 2.03.2018 mgr inż. Maciej Rudek 2 Tematyka kursu wykład Poziom abstrakcji systemów opisu sprzętu Historia Verilog został stworzony
Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W
Programowalne układy logiczne kod kursu: ETD008270 Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W4 23.03.2018 mgr inż. Maciej Rudek UKŁADY KOMBINACYJNE Układy kombinacyjne Układ kombinacyjny
Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18
Spis treści Przedmowa... 11 Wykaz oznaczeń... 13 1. Wstęp... 15 1.1. Układycyfrowe... 15 1.2. Krótki esej o projektowaniu.... 15 2. Układy kombinacyjne... 18 2.1. Podstawyprojektowaniaukładówkombinacyjnych...
Verilog HDL. część I i II
Verilog HDL część I i II Podstawowe cechy i zastosowania języka Verilog UmoŜliwia opisywanie złoŝonych układów cyfrowych na wysokim poziomie abstrakcji (podobnie jak język VHDL) Podobnie jak inne języki
Układ sterowania 4-cyfrowym wyświetlaczem 7-segmentowym LED
Język Verilog w przykładach (2) Dodatkowe materiały na CD Układ sterowania 4-cyfrowym wyświetlaczem 7-segmentowym LED W tej części kursu opiszemy bloki funkcjonalne układu sterowania 4-cyfrowym wyświetlaczem
Układ cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.
Układ cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące Stan części operacyjnej Dane wyjściowe Z Synteza
Układy mikroprogramowane
1. WPROWADZENIE DO MIKROPROGRAMOWANIA...2 2. PRZYKŁADOWY UKŁAD MIKROPROGRAMOWANY...3 2.1. UKŁAD TERUJĄCY...3 2.2. UKŁAD WYKONAWCZY...6 2.3. FORMAT MIKROROZKAZU...10 3. ZETAW LABORATORYJNY...12 Warszawa,
Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,
Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Przypisania nieblokujące Stosowanie opóźnień w przypisaniach Wykład 4 2018
Architektura mikroprocesorów z rdzeniem ColdFire
Architektura mikroprocesorów z rdzeniem ColdFire 1 Rodzina procesorów z rdzeniem ColdFire Rdzeń ColdFire V1: uproszczona wersja rdzenia ColdFire V2. Tryby adresowania, rozkazy procesora oraz operacje MAC/EMAC/DIV
System cyfrowy. Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące.
System cyfrowy Sygnały sterujące Dane wejściowe Układ sterujący (kontroler) Układ operacyjny (Datapath) Mikrooperacje wywoływane przez sygnały sterujące Stan części operacyjnej Dane wyjściowe Z System
Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11
Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.
Układy asynchroniczne
Układy asynchroniczne Model układu sekwencyjnego Model układu asynchronicznego (synchronicznego) y 1 x n UK y m układ kombinacyjny Z clock t 1 q 1 k B x s tan stabilny s: δ(s,x) = s x blok pamięci jest
Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące
Podział sumatorów Równoległe: Z przeniesieniem szeregowym Z przeniesieniem równoległym Szeregowe (układy sekwencyjne) Zwykłe Akumulujące 1 Sumator z przeniesieniami równoległymi G i - Warunek generacji
Architektura komputerów Wykład 2
Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana
Projektowanie Urządzeń Cyfrowych
Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów
4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ
4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ 4.1. UKŁADY KONWERSJI KODÓW 4.1.1. Kody Kod - sposób reprezentacji sygnału cyfrowego za pomocą grupy sygnałów binarnych: Sygnał cyfrowy wektor bitowy Gdzie np.
UKŁADY MIKROPROGRAMOWALNE
UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim
Układy reprogramowalne i SoC Język VHDL (część 4)
Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki
A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym
MARIE A Machine Architecture that is Really Intuitive and Easy http://computerscience.jbpub.com/ecoa Słowo 16b Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym od 8000h (- 32,768 = -2^15) do 7FFFh
Projektowanie. Projektowanie mikroprocesorów
WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna
Sposoby projektowania systemów w cyfrowych
Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie
Przykłady do wykładu Języki modelowania i symulacji
Przykłady do wykładu Języki modelowania i symulacji dr inż. Bogdan Pankiewicz Gdańsk, listopad 2011 - grudzień 2015 Część I - PSPICE Przykład I - przerzutnik D Czynności do wykonania: Wprowadzenie opisu
Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18
Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18 ZADANIE 1 Komparator szeregowy 2 liczb Specyfikacja wymagań dla układu
Automat skończony FSM Finite State Machine
Automat skończony FSM Finite State Machine Projektowanie detektora sekwencji Laboratorium z Elektroniki Współczesnej A. Skoczeń, KOiDC, WFiIS, AGH, 2019 AGH, WFiIS, Elektronika Współczesna 1 Deterministyczny
Konwencje językowe Verilog-a APSC
Konwencje językowe Verilog-a APSC Podstawowe konwencje są takie same jak w C. Elementami języka są: komentarze, ograniczniki, liczby, ciągi znaków, identyfikatory i słowa kluczowe. Verilog rozróżnia małe
Synteza strukturalna
Synteza strukturalna Analizując algorytm pracy układu opisany siecią działań dobiera się: bloki funkcjonalne służące do przechowywania zmiennych, bloki operacyjne służące do wykonywania operacji występujących
Sterowanie wyświetlacza LCD typu HD44780
Sterowanie wyświetlacza LCD typu HD4478 Laboratorium Języków Opisu Sprzętu AGH WFiIS Wyświetlacz LCD Matrycowy moduł LCD E RW RS BF Wyświetlacz LCD CG RAM DD RAM DB[7:] Licznik Adresu Rejestr Danych Rejestr
Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel
Podstawy techniki mikroprocesorowej Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel. 071 3203746 grzegorz.kosobudzki@pwr.wroc.pl 2 Terminy zajęć Wykłady: niedziela 7.30 12.00 s.312 Kolokwium przedostatnie
Układy kryptograficzne z uŝyciem rejestrów LFSR
Układy kryptograficzne z uŝyciem rejestrów FSR Algorytmy kryptograficzne uŝywane w systemach telekomunikacyjnych własność modulo 2 funkcji XOR P K K = P = P 2 Rejestr z liniowym sprzęŝeniem zwrotnym FSR
Funkcja Boolowska a kombinacyjny blok funkcjonalny
SWB - Kombinacyjne bloki funkcjonalne - wykład 3 asz 1 Funkcja Boolowska a kombinacyjny blok funkcjonalny Kombinacyjny blok funkcjonalny w technice cyfrowej jest układem kombinacyjnym złożonym znwejściach
Programowanie mikrokontrolerów - laboratorium
Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Instytut Techniczny Programowanie mikrokontrolerów- laboratorium Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa: Ocena sprawozdania Zaliczenie: Symbol:
SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie
SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1 Układy kombinacyjne i sekwencyjne - przypomnienie SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 2 Stan
Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium.
Ćwiczenie nr 1 Temat: Ćwiczenie wprowadzające w problematykę laboratorium. Zagadnienia do samodzielnego opracowania: rola sygnału taktującego (zegara) w układach synchronicznych; co robi sygnał CLEAR (w
Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji
WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji mgr inż. Paulina Mazurek Warszawa 2013 1 Wstęp Układ
Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne
TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL Temat: Narzędzia: Digital Works pakiet
Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.
3.4. GRF UTOMTU, TBELE PRZEJŚĆ / WYJŚĆ Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym. Proste przypadki: Opis słowny, np.:
Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1
Przerzutniki RS i JK-MS lab. 04 Układy sekwencyjne cz. 1 PODSTAWY TECHNIKI MIKROPROCESOROWEJ 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Automaty stanów
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 6 (2h) Automaty stanów Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza układów cyfrowych studia niestacjonarne,
1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)
Wstęp SYSTEMY WBUDOWANE Układy kombinacyjne c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) Systemy wbudowane Rok akad. 2011/2012
Układy reprogramowalne i SoC Język VHDL (część 3)
Układy reprogramowalne i SoC Język VHDL (część 3) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.
Programowanie Układów Logicznych kod kursu: ETD6203 Szczegóły realizacji projektu indywidualnego W1 24.02.2016 dr inż. Daniel Kopiec Projekt indywidualny TERMIN 1: Zajęcia wstępne, wprowadzenie TERMIN
Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).
Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU). Cel ćwiczenia Poznanie własności analogowych multiplekserów demultiplekserów. Zmierzenie
Programowalne układy logiczne kod kursu: ETD Układy sekwencyjne W
Programowalne układy logiczne kod kursu: ETD008270 Układy sekwencyjne W6 10.05.2019 mgr inż. Maciej Rudek Układy kombinacyjne - przypomnienie Układ kombinacyjny jest to układ dla którego zmiana na wejściu
Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania
Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer
Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Cyfrowe układy scalone c.d. funkcje
Cyfrowe układy scalone c.d. funkcje Ryszard J. Barczyński, 206 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Kombinacyjne układy cyfrowe
Architektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
2.1 Porównanie procesorów
1 Wstęp...1 2 Charakterystyka procesorów...1 2.1 Porównanie procesorów...1 2.2 Wejścia analogowe...1 2.3 Termometry cyfrowe...1 2.4 Wyjścia PWM...1 2.5 Odbiornik RC5...1 2.6 Licznik / Miernik...1 2.7 Generator...2
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Instrukcje sterujące 1 Program wykładu Instrukcje IF Instrukcja Case 2 Instrukcje sterujące Instrukcje sterujące umożliwiają kontrolę przebiegu programu.
Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja
Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja 0.1 29.10.2013 Przypomnienie - podział układów cyfrowych Układy kombinacyjne pozbawione właściwości pamiętania stanów, realizujące
Funkcje logiczne X = A B AND. K.M.Gawrylczyk /55
Układy cyfrowe Funkcje logiczne AND A B X = A B... 2/55 Funkcje logiczne OR A B X = A + B NOT A A... 3/55 Twierdzenia algebry Boole a A + B = B + A A B = B A A + B + C = A + (B+C( B+C) ) = (A+B( A+B) )
Kombinacyjne bloki funkcjonalne - wykład 3
SWB - Kombinacyjne bloki funkcjonalne - wykład 3 asz 1 Kombinacyjne bloki funkcjonalne - wykład 3 Adam Szmigielski aszmigie@pjwstk.edu.pl Laboratorium robotyki s09 SWB - Kombinacyjne bloki funkcjonalne
Synteza logiczna w projektowaniu
Synteza logiczna w projektowaniu układów cyfrowych (pływ syntezy logicznej na jakość realizacji układów cyfrowych) X Z System cyfrowy D Z U z bloków funkcjonalnych Z Y US X U F US automat lub układ mikroprogramowany
Architektura systemów komputerowych. Moduł kontrolera
Architektura systemów komputerowych Plan wykładu. Implementacja kontrolera. 2. Projekt P kontroler. 3. Projekt P synteza kontrolera. Cele Znajomość architektury oraz technik projektowania mikroprocesorów.