@2011,eko didik desain rangkaian desain blok rangkaian ... · pdf filedesain blok rangkaian...
Post on 05-Feb-2018
248 Views
Preview:
TRANSCRIPT
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalDesain Blok Rangkaian Kombinasional
TSK505 - Sistem Digital Lanjut
Eko Didik Widianto
Teknik Sistem Komputer - Universitas Diponegoro
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasional
Review Kuliah
I Sebelumnya dibahas tentang metodologi desain sistemdigital menggunakan Xilinx ISE dan pengantar HDL(Verilog)
I Berikutnya akan dibahas tentang sintaks verilog dandesain blok rangkaian kombinasional, meliputi:
I multiplekser 2-ke-1I multiplekser 4-ke-1I enkoder biner 2-ke-4 (one-hot encoding)I enkoder prioritas
I Referensi:
1. Verilog Tutorial (online):http://www.asic-world.com/verilog/veritut.html
2. Stephen Brown and Zvonko Vranesic, Fundamentalsof Digital Logic with Verilog/VHDL, 2nd Edition,McGraw-Hill, 2005
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasional
Bahasan
Desain Rangkaian LogikaDesain Rangkaian LogikaSimulasi
Blok Rangkaian KombinasionalMultiplekserEnkoderDemultiplekserDekoderDekoder 2-ke-4Dekoder 3-ke-8DemultiplekserDekoder BCD-ke-7 SegmenDekoder Hex-ke-7 Segmen
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Rangkaian Kombinasional dan Sekuensial
I Rangkaian digital: kombinasional dan sekuensialI Rangkaian kombinasional
I Nilai keluaran rangkaian di suatu waktu hanya ditentukanoleh nilai dari masukannya di waktu tersebut
I Tidak ada penyimpanan informasi atauketergantungan terhadap nilai sebelumnya
I Misalnya: multiplekser, enkoder, dekoder, demux,ALU
I Rangkaian sekuensial
I Nilai keluaran rangkaian di suatu waktu ditentukan olehnilai masukannya waktu itu dan nilai keluaran sebelumnya
I Menyertakan storage untuk menyimpan nilai masukanI Elemen dasar untuk menyimpan data 1-bit adalah flip-flopI Sebagian besar rangkaian digital adalah sekuensial
I Register, counter
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Problem Desain
Ditentukan fungsi 4-variabel:
f =∑
m(2,3,8,9,10,11,13)
=∏
M(0,1,4,5,6,7,12,14,15)
Diinginkan: implementasikan fungsi tersebut denganFPGASolusi: (harus dapat tersintesis)
1. Menggunakan primitive gate2. Menggunakan operator bitwise3. Menggunakan CASE
(1) dan (2) membutuhkan proses penyederhanaanrangkaian
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Penyederhanaan Fungsi
I Penyederhanaan dengan K-map
I f1,min = (x1 + x3) (x2 + x3) (x2 + x4)
I f2,min = x1x2 + x2x3 + x1x3x4
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Solusi Desain (1)Desain Menggunakan Primitive Gate
I Menggunakan entry skematik
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Skematik Gerbang (Verilog)Hasil Generate dari Skematik
I Deskripsi struktural
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Skematik Gerbang (RTL)Primitive Gate Sudah Tersintesis
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Solusi Desain (2)Menggunakan Operator Bitwise di HDL
Operator Deskripsi~ Bitwise NOT& Bitwise AND| Bitwise OR^ Bitwise XOR
^~ atau ~^ Bitwise XNOR
I File desain: design_example_1.v
I Deskripsi struktural dan perilaku
I File testbench: design_example_1_tb.v
module design_example_1( input X1, input X2, input X3,
input X4, output f1 );
assign f1 = ( X1 & !X2 ) | (!X2 & X3) | (X1 & !X3 & X4);
endmodule
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Skematik RTLRTL Menggunakan LUT
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Solusi Desain (3)Menggunakan Case (design_example_2.v)
I Deskripsi struktural dan perilakuI Menggunakan sensitivity list
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Skematik RTLRTL Menggunakan LUT
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Testbench
I Masukan: x1, x2, x3, x4I Untuk module:
I design_example: UUT, output: f1I design_example_1: UUT1, output: f2I design_example_2: UUT2, output: f3
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Diagram PewaktuanHasil Simulasi Ketiga Desain
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogikaDesain Rangkaian Logika
Simulasi
Blok RangkaianKombinasional
Preferensi Desain
I Mana yang dipilih?
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Multiplekser 2 Jalur
Sebuah rangkaian multiplekser(MUX) mempunyaiN buah masukan SELECTMaksimal 2N jalur datamasukanSatu outputMUX melewatkan nilai sinyaldari salah satu data masukanke jalur keluaran tergantungdari nilai masukan SELECT
MUX 2-masukan
s f (s, x1, x2)
0 x11 x2
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Multiplekser 2 Jalur
I Menggunakan continous assignmentI operator bitwiseI conditional
I Menggunakan always: if-thenI Code dan simulasi!
I desainI testbench
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Multiplekser 4 Jalur
MUX 4-masukan memilih satu dari 4 data masukan yangakan dilewatkan ke keluaranDitentukan oleh nilai 2 jalur SELECT (s0, s1)Dapat dikonstruksi menggunakan 3 buah MUX2-masukan
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Multiplekser 4 Jalur
I Menggunakan continous assignmentI Menggunakan alwaysI Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
74LS151: Multiplekser 8 jalur
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: 74LS151
I Menggunakan alwaysI Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
EnkoderOne-hot Encoding: Salah Satu Masukan Harus ’1’
I Enkoder mengurangi jumlah bit yang diperlukanuntuk merepresentasikan suatu informasi (data)
I Contoh penggunaan untuk transmisi informasi dalamsistem digital sehingga mengurangi jumlah salurantransmisi, atau ruang penyimpanan
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Enkoder
I Menggunakan alwaysI Case
I Code dan Simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Enkoder Prioritas
I Salah satu kelas enkoder: enkoder prioritasI Sinyal masukan mempunyai level prioritasI Keluaran enkoder menunjukkan masukan aktif yang
mempunyai prioritas tertinggiI Jika masukan dengan prioritas tinggi ’assert’,
masukan dengan prioritas lebih rendah diabaikan
I Asumsi: w3 mempunyai prioritaslebih tinggi daripada w0
I Keluaran z menunjukkanbahwa tidak ada masukanbernilai ’1’
I Persamaan fungsi yo, y1 danz?
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Enkoder Prioritas
I Menggunakan alwaysI Casez: ’z’ dianggap don’t careI Casex: ’x’ dan ’z’ dianggap don’t care
I Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Demultiplekser
I Sebuah multiplekser memilih satu dari n masukandata menjadi satu keluaran
I Demultiplekser melakukan sebaliknya, yaitumenempatkan nilai satu masukan ke salah satu darin jalur keluaran
I Dapat diwujudkan menggunakan dekoder n− ke−2n
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Demultiplekser 2-ke-4
I Menggunakan alwaysI case
I Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
DekoderI Rangkaian dekoder: mendekode informasi (data) terkodeI Mempunyai N masukan data dan 2N keluaran (mis: dekoder 3
masukan mempunyai 8 jalur keluaran)I Hanya satu keluaran yang di-assert (diaktifkan) dalam satu
waktu (one-hot decoding)I Assert: ke nilai 1 (logika positif/active-high) atau 0 (logika
negatif/active-low)I Tiap keluaran ditentukan oleh satu valuasi nilai masukan
I Masukan ENABLE (En) digunakan untuk mematikan (disable)keluaran
I Asumsi keluaran active-high:I Jika En=0, tidak ada keluaran dekoder yang di-assertI Jika En=1, satu keluaran di-assert sesuai valuasi
masukan
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Aplikasi Dekoder: Pengalamatan ROM
I Dekoder seringkali digunakan untuk mendekodekanjalur alamat chip memori
I Misalnya di ROM (Read-only Memory) 2m × n
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Rangkaian Dekoder 2-ke-4
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Dekoder 2-ke-4
I Menggunakan alwaysI if-then, case
I Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Rangkaian Dekoder 3-ke-8
I Dekoder 3-ke-8 dapat tersusun dari 2 buah dekoder2-ke-4 (mis: asumsi active-high)
I Dekoder 4-ke-16 dapat tersusun dari 5 dekoder2-ke-4. Bagaimana?
I Susunan tersebut disebut pohon dekoder
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
74138: Dekoder 3-ke-8
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Dekoder 3-ke-8 (Active low)
I Menggunakan alwaysI if-then, case
I Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Demultiplekser
I Sebuah multiplekser memilih satu dari n masukandata menjadi satu keluaran
I Demultiplekser melakukan sebaliknya, yaitumenempatkan nilai satu masukan ke salah satu darin jalur keluaran
I Dapat diwujudkan menggunakan dekoder n− ke−2n
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
HDL: Demultiplekser 2-ke-4
I Menggunakan alwaysI case
I Code dan simulasi!
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Dekoder BCD-ke-7 Segment
Desain BlokRangkaian
Kombinasional
@2011,Eko DidikWidianto
Desain RangkaianLogika
Blok RangkaianKombinasionalMultiplekser
Enkoder
Demultiplekser
Dekoder
Dekoder 2-ke-4
Dekoder 3-ke-8
Demultiplekser
Dekoder BCD-ke-7 Segmen
Dekoder Hex-ke-7 Segmen
Dekoder Hexa-ke-7 Segment
top related