Anda di halaman 1dari 18

PERCOBAAN III

RANGKAIAN LOGIKA KOMBINASIONAL


Diyah Widiyasari (13116126)
Asisten : Nicholas Jeremia (13115008)
Tanggal Percobaan : 26/10/2017
EL2104 Praktikum Sistem Digital
Laboratorium Teknik Elektro – Institut Teknologi Sumatera

Abstrak –Pada praktikum modul ketiga


yaitu rangkain logika kombinasioanal dinyatakan sebagai fungsi logika. Operator
ini kita akan mendesain rangkaian logika yang digunakan dalam aljabar boole
sederhana untuk melihat fungsi waktu adalah inversi/negasi (NOT), perkalian
tunda dengan menggunakan dua logika (AND), penambahan logika (OR).
simulasi scara fungsioanal dan timing. Contoh dari rangkaian kombinasional :
Dalam percobaan ini juga kita akan 1. Enkoder
mendesain rangkaian kombinasional Enkoder adalah rangkaian logika
berupa decoder BCD-to 7 segment yang kombinasional yang berfungsi untuk
akan diimplementasikan pada FPGA, mengubah atau mengkodekan suatu sinyal
kita juga akan menentukan worst case masukan diskrit menjadi keluaran kode
delay path , melakukan pengukuran biner.
wajtu tunda dan akan mendesain 2. Dekoder
rangkain dengan vhdl dan skematik Rangkaian Dekoder mempunyai sifat yang
serta dalam praktikum 3 kali ini kita berkebalikan dengan Enkoder yaitu
akan dikenalkan dengan level abstraksi merubah kode biner menjadi sinyal diskrit.
dalam perancagan rangkaian digital Sebuah dekoder harus memenuhi syarat
perancangan m < 2 n . Variabel m adalah
Kata kunci : Rangkaian sederhana,waktu kombinasi keluaran dan n adalah jumlah
tunda, simulasi fungsioanal,simulasi bit masukan. Satu kombinasi masukan
timing, worst case delay, vhdl, skematik, hanya dapat mewakili satu kombinasi
BCD-to 7 segment , level abstraksi keluaran.
3. Multiplexer
Rangkaian logika kombinasional
I. PENDAHULUAN
Multiplexer atau disingkat MUX adalah
alat atau komponen elektronika yang bisa
Rangkaian kombinasional adalah memilih input (masukan) yang akan
rangkaian yang outputnya hanya diteruskan ke bagian output (keluaran).
tergantung pada input ”pada saat itu”. Pada Pemilihan input mana yang dipilih akan
prinsipnya, rangkaian kombinasional ditentukan oleh signal yang ada di bagian
merupakan penerapan dan penerjemah kontrol (kendali) Select.
langsung dari aljabar boole, yang biasanya
4. Demultiplexer menghasilkan ketidakpastian dalam delay
propagasi dari masukan ke keluaran dalam
Rangkaian logika kombinasional implementasi rangkaian. Suatu persamaan
Demultiplekser adalah Komponen yang logika dengan 2 variabel mungkin saja
berfungsi kebalikan dari MUX. Pada memiliki waktu tunda yang sama dengan
yang menggunakan 4 variabel karena
DEMUX, jumlah masukannya hanya satu,
bentuk subfungsi FPGA. Perancang yang
tetapi bagian keluarannya banyak. Signal
berpengalaman mungkin bisa menggunakan
pada bagian input ini akan disalurkan ke
pengaturan tertentu untuk menspesifikasikan
bagian output (channel) yang mana waktu tunda maksimum yang dapat diterima.
tergantung dari kendali pada bagian Apapun masalahnya, sangat berguna bagi kita
SELECT nya. untuk mengetahui berapa waktu tunda dari
rangkaian kita. Karena hampir semua
rangkaian kombinasional ditempatkan pada
II. LANDASAN TEORI kondisi sekuensial, biasanya kita tertarik pada
worst case delay yang bisa terjadi dalam
IMPLEMENTASI FPGA DAN WAKTU
operasi rangkaian dari masukan rangkaian
TUNDA
kombinasional ke setiap keluaran rangkaian
Dalam teknologi Altera Cyclone yang kita kombinasional.Estimasi worst case delay
gunakan, fungsi logika diuraikan oleh software ditentukan dengan menambahkan delay
implementasi kedalam bentuk subfungsi 4- perkiraan maksimum kedalam rangkaian
masukan. Setiap subfungsi kemudian kombinasional termasuk logika dan
diimplementasikan oleh tabel kebenaran interkoneksi. Karena ketidakpastian ini, worst
yang bekerja seperti multiplexer dan dibuat case delay hanya bisa ditentukan setelah
dengan memprogram SRAM yang proses implementasi selesai termasuk
mendefinisikan fungsionalitas dari FPGA. penguraian menjadi subfungsi dan routing
Setiap tabel kebenaran memiliki waktu interkoneksi. Dalam percobaan ini, kita akan
tunda yang berkontribusi ke waktu tunda membangun dua rangkaian. Dengan
keseluruhan. Sedangkan untuk membedakan rangkaian pertama kita akan melihat beberapa
antara rangkaian kombinasional dan tipe dari simulasi yang dapat kita gunakan
sekuensial, dalam subfungsi juga diberikan dan melihat kemungkinan efek dari proses
sebuah D flip-flop seperti yang terlihat pada penguraian yang mengimplementasikan
Gambar 1 . rangkaian sebenarnya secara fisik. Kemudian
dengan rangkaian kedua, selain
memverifikasi fungsionalitasnya, kita juga
akan mencari worst case delay dari setiap
Gambar 1. Bentuk subfungsi yang
masukan ke setiap keluaran dan akan
menggunakan metode simulasi yang hanya
dapat diaplikasikan pada rangkaian
sederhana untk mencari jalur sebenarnya
yang ditempuh dimana delay ditemukan.
Dengan Mengetahui jalur dari worst case
delay kita kemudian bisa mengukur delay
pada setiap titik jalur tersebut di lab. Delay
merepresentasikan logika pada FPGA yang terukur ini bukanlah worst case delay
tetapi lebih kepada waktu tunda rata-rata.
Penguraian kedalam subfungsi yang
dikombinasikan dengan routing interkoneksi
BCD-TO-7-SEGMENT CODE 3.2 Prosedur Percobaan
CONVERTER
1. Percobaan 3A: Membuat
Rangkaian ini digunakan untuk
mengkonversikan suatu nilai desimal terkode Rangkaian Sederhana
biner(BCD) ke pola segmen yang sesuai pada Buatlah direktori baru dengan nama
display 7-segmen. Karena nilai BCD adalah Modul 3 kemudian di dalamnya buatlah
angka 4-bit pada jangkauan 0-9, bagaimana dua direktori baru kembali dengan nama
kita memperlakukan nilai 10-15(don’t care sederhana dan bcd.
atau tidak) akan berpengaruh pada desain
kita.

7-segmen biasanya diidentifikasi dalam


industri menggunakan huruf a-g seperti Buat projek pada quartus
pada Gambar 2 berikut ini: beri nama sederhaan

Download file clokdiv.vhd


dan clock.bdf

(a)

Buat diagram skeamtik dengan nama


sederhana.bdf sesuai dengan
(b)
rangkaian pada gambar
Gambar 2. (a) Konvensi penomoran 7-segmen,
(b) Pola Display 7-segmen

Beri nama pada input CLK dan out


put GPIO[15] dan [GPIO[16]

III. METODELOGI

3.1 PERALATAN YANG DIGUNAKAN Compile rangkain yang sudah


dibuat
Peralatan Yang Digunakan

 Board FPGA tipe DE1


Gunakan simulasi fungsional
 Catu daya + kabel dan konektor tambahan seperti percobaan modul 2
serta kabel downloader

 Osiloskop

Simpan hasil simulasi fungsional

Ubah simulation mode menjadi


timing
Simulasi rangakaian untuk kombinasi
masukan dengan jenis masukkan
Percobaan 3A: Membuat Rangkaian
overwrite clock
Bcd

Buatlah project baru dan beri nama


bcd pada bcd direktori
Simulasi rangkaian secara Fungsional
dan Timing

Import pin assigment seperti


sebelumnya
Compile project

Buatlah 2 file skematik dengan nama


Lihat hasil sinyal secara fungsional
bcd_test.bdf dan bcd 7segment
dan timing

Desain rangkaian decoder bcd to 7


segment dengan persamaan bolean
Simulasi Worst Case Delay

sederhankan rangkaian yang telah


kita buat dengan kmap lalu bentuk Periksa bagian Timing Analyzer Summary dan
persamaan logika nya tpd dari ProcessingCompilation Report,
kemudian cari pasangan kaki keluaran- masukan
yang memiliki delay maksimal/paling besar.
Setelah selesai kita merangkai pada file
skematik lalu
FileCreate/UpdateCreate Symbol
Carilah nilai set
IV. HASILfor Current File.
DAN ANALISIS

Memasukkan rangkaian BCD- to-7-segment Lakukan lagi timing simulation


pada skematik lainnya sebagai blok fungsi memakai kombinasi input
dan menghubungkan input kepada switch
dan output dengan 7-segment
display.masukkan blok yang terdapatdi
Buka simulasi report klik kanan
Symbol ToolboxProject
dan pilih time bar

Lalu Set skematik bcd_test sebagai


Geser time bar hingga berada pada
Top Level entity dengan memilih
posisi ketika inout dianggap xi
ProjectSet as Top-Level Entity.
berubah dan yj juga berubah lihat
pada time bar dan catat delay
Memprogram kedalam FPGA
IV HASIL DAN ANALISIS

Coba Anda download program BCDto-7- Hasil Percobaan 3A:Membuat


segmen Anda kedalam board FPGA yang Rangkaain sederhana
tersedia, lihat kembali modul 2 untuk
cara pemrograman. Setelah kita merangkai seperti di gambar
dibawah dengan skematik :

Mainkan 4 switch yang kita pakai


pada percobaan ini dan lihat apakah
program kita sudah berjalan dengan
benar.

Hasil sinyal dengan simulasi fungsional :


Percobaan 3C: Merancang Bcd 7seg
Dengan Level Abstraksi Behavioral

Buatlah folder baru

Baut file DUT (Device Under Test)


de

Masukan file dut pada vhdl

Lakukan percobaan seperti Gambar 1 hasil sinyal percobaan 3A


percobaan 3b
secara fungsional

Implementasikan desain pada FPGA


Gambar 1 hasil percoban 3A dengan simulasi
timing

Gambar 2 percobaan 3a dengan simulasi


funsioanal 2

pada percobaan 3A ini didaptkan hasil dari


output yang mengalami perubahan pada
saat:

Hasil sinyal dengan simulasi fungsional


Rising 245 ns
Falling 495 ns

Hasil sinyal dengan simulasi timing : Gambar 2 hasil percobaan 3A dengan simulasi
timing

pada percobaan 3A ini didaptkan hasil dari


output yang mengalami perubahan pada
saat:

Hasil Sinyal Dengan Simulasi Timing

Rising 252.325 ns

Falling 502.329 ns
Dari hasil percobaan 3A kita bisa menetukan Pada percobaan 3b ini kami melakukan percobaan,
waktu tunda atau waktu delay : karena hasil dari percobaan kelompok kami gagal
dan hasil sinyal tidak ada , sehingga kami memakai
Waktu tunda = timing-fungsional data kelompok lain yatitu kelompok 5 B2
Waktu tunda =252.32 ns-245 ns= 7.325 ns Hasil untuk percobaan bcd secara fungsional

Waktu tunda = 502.329ns-495ns= 7.329ns

Hasil Percobaan 3B: Membuat


Rangkaian Bcd
Pada percobaan b ini kita membuat rangkaian
decoder bcd to 7 segment dari truth tabel yang telah
kita buat seperti di bawah :

Truth tabel percobaan 3b :

D3 D2 D1 D0 A B C D E F G

0 0 0 0 1 1 1 1 1 1 0 Gambar percobaan 3b secara fungsional


Ket: data kelompok 5 b sift 2
0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 0 1 1 0 1 Hasil percobaan dengan simulasi timing

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 1 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 1 0 1 1
Gambar percobaan 3b dengan simulasi timing
1 0 1 0 X X X X X X X
Ket : data kelompok 5 b2
1 0 1 1 X X X X X X X

1 1 0 0 X X X X X X X

1 1 0 1 X X X X X X X

1 1 1 0 X X X X X X X

1 1 1 1 X X X X X X X
PERCOBAAN 3C: MERANCANG BCD 7SEG
DENGAN LEVEL ABSTRAKSI
BEHAVIORAL

Hasil dari percobaan merancang bcd to 7 segment


dengan level absraksi behavioral . Hasil percobaan
bcd to 7 segment dengan simulsi fungsional :

Gambar hasil sinyal percobaan 3c dengan simulasi


fungsional

hasil percobaan bcd to 7 segment dengan


menggunakan simulasi timing :

Dari data diatas masukan dari delay maksimal atau


paling besar atau worst case delay pada percobaan
secara timing ketika, Masukan Delay = D1 yang
disimbolkan dengan Xi dan Keluaran Delay= G
yang disimbolkan Yj, dengan nilai maksimum
keluaran-masukkan = 8.082 ns.
Pada percobaan hasil timing kita bisa tau nilai
Hasil untuk nilai setnya adalah ketika D1 = 1, D0= worst case delay maksimum nya yaitu pada saat
0, D2= 1, D3=0 nilai G = 1 dan ketika D0 = 0, nilai masukkan SW[0] dan ketika nilai keluaranya
D1=1, D2=1, D3= 0 nilai G= 0 maka D3=0, HEX1[4] yaitu pada saat 12.540 ns. Kita misalkn
D2= 1, D0= 0, = (0,1,0 ) adalah nilai setnya . nilai masukan delay dengan simbol Xi (SW[0]) dan
nilai dari keluaran delay dengan simbol Yj
(HEX[4]).

Didapat dari data nilai set nya sebagai berikut :


maka untuk menentuka nilai set kita mencari nilai
ketika xi berubah dari 0 ke 1 atau sebaliknya maka
niali yj juga berubah.

Ketika SW[0] = 1, SW[1] = 0, SW[2] =0, SW[3]=


0 , HEX[4] bernilai 1 kemudian saat SW[0]=0,
SW[1]=0 , SW[2]= 0, SW[3]= 0 dengan nilai
HEX[4] = 0. Maka SW[1]=0 , SW[2]= 0, SW[3]= 0 Dimana logika ‘1’ itu ke bawah tombolnya dan ‘0’
= (0,0,0) adalah nilai set nya . itu keatas tombolnya

Jadi untuk percobaan 3c ini nilai setnya adalah Ketika dinputkan logika sesuai dengan truth table
(0,0,0) yaitu 11111

Gambar1 nilia 8 dimana a- g itu nilai 1 pada


FPGA nilai logikamnya (1,0,0,0)

Seharusnya pada fpga nilai a-g itu 1 berarti led


hidup namun pada gambar diatas mati karena pada
implemntasi fpga nialinya berkebalikan sehingga
lampu led pada fpga tidak hidup melainkan mati .

Nilai logika keluaran berubah pada saat 0 menjadi Pada percobaan berikutnya kami membalikan nilai
1 saat t = 42.54 ns sedangkan saat t = 80.25 ns trutth table sehingga didaptkan data :

Mengimplementasikan program BCD to-7 segment


kedalam FPGA

Nilai tabel kebenaran

D3 D2 D1 D0 A B C D E F G
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
0 1 0 0 0 1 1 0 0 1 1
Gambar 7 segment nilai 0
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 1 0 1 1 1 1 1 Seharusnya nilai 0 itu (0,0,0,0) tetapi pada fpga kita
0 1 1 1 1 1 1 0 0 0 0 balik jadi (1,1,1,1) begitu juga dengan data
1 0 0 0 1 1 1 1 1 1 1 berikutnya sampai ke 9 :
1 0 0 1 1 1 1 1 0 1 1
1 0 1 0 X X X X X X X
1 0 1 1 X X X X X X X
1 1 0 0 X X X X X X X
1 1 0 1 X X X X X X X
1 1 1 0 X X X X X X X
Pola display 7 segment Pola display 7 segment nilai
1 1 1 1 X X X X X X X
nilai 0 1

Hasil saat program diimpelmentasikan ke FPGA :


timing waktu delay atau waktu tunda
dapat kita perhitungkan dengan mudah ,
sedangkan untuk simulasi fungsional
hanya akan memodelkan secara fungsi
tidak meperhitungkan waktu tundanya .
Pola display 7 segment Pola display 7 segment waktu tunda yang kita dapatkan adalah
nilai 2 nilai 3 7.325 ns dan 7.329ns menurut referensi
waktu tunda maish bisa dikatakn wajar
apabila masih dalam renta 3-15 ns
sehingga percobaan kelompok kami masih
dalam waktu renta.
2. Pada percobaa 3B ini yaitu membuat
Pola display 7 segment Pola display 7 segment rangkain bcd, kelompok kami belum
nilai 4 nilai 5 mendapatkan data karena gagal pada saat
mencoba membuat rangkain sinyal tidak
bisa muncul sehingga untuk percobaan b
ini kami memakai data kelompok 5 shift
b2. Pada data kelompok ini kami
mendaptakan hasil simulasi decoder,
Pola display 7 segment Pola display 7 segment dengan nilai worst case delay nya ketika
nilai 6 nilai 7 Masukan Delay = D1 yang disimbolkan
dengan Xi dan Keluaran Delay= G yang
disimbolkan Yj, dengan nilai maksimum
keluaran-masukkan = 8.082 ns. Dengan
data tersebut kita bisa menetukan nilai
Pola display 7 segment setnya yaitu : untuk nilai setnya adalah
nilai 8 Pola display 7 segment ketika D1 = 1, D0= 0, D2= 1, D3=0 nilai
nilai 9
G = 1 dan ketika D0 = 0, D1=1, D2=1,
D3= 0 nilai G= 0 maka D3=0, D2= 1,
ANALISIS DATA D0= 0, = (0,1,0 ) adalah nilai setnya. Pada
percobaan 3b ini memiliki kesamaan
1. Percobaan 3A yaitu membuat rangkaian dengan percobaan 3c tetapi pada
sederhana , pada percobaan 1 ini kita percobaan 3b ini kita membuat rangkaian
membuat rangkaian lalu kita simulasi secara sekmatik sedangkan untuk
dengan fungsional dan simulasi timing. percobaan 3c menggunakan vhdl.
Dari data yang telah kami dapatkan bahwa
terdapat perbedaan sinyal hasil simulasi 3. Pada percobaan 3c ini kita merancang bcd
dari timing maupun fungsional . Pada saat 7 segment dengan level absstraksi
kita melakukan simulasi secara fungsional behavioral , level absstraksi behavioral
kita dapatkan nilai maksimum yaitus saat adalah level abstraksi yang tinggi yang
ada perubahan secara rising = 245 ns dan artinya lebih dekat dengan cara manusia
secara falling = 495 ns. Sedangkan untuk berfikir. Pada percobaan terakhir ini kita
simluasi secara timing nilai keluaran ingin membuat bcd 7 segment dengan
berubah secara rising ketika t = 252.325 ns menggunakan vhdl. Hasil yang didapatkan
dan secara falling ketika t = 502.329 ns. adalah worst case delay maksimum nya
Dari hasil tersebut dapat kita katakan yaitu pada saat nilai masukkan SW[0] dan
bahwa hasil timing dan fungsional ketika nilai keluaranya HEX1[4] yaitu
berbeda. Simulasi secara fungsional dan pada saat 12.540 ns. Kita misalkn nilai
timing memiliki kelebihan dan masukan delay dengan simbol Xi (SW[0])
kekurangan masing- masing , namun dan nilai dari keluaran delay dengan
untuk simulasi yang lebih memodelkan simbol Yj (HEX[4]). Dan nilai setnya
yaitu simulasi timing karena pada simulasi adalah Ketika SW[0] = 1, SW[1] = 0,
SW[2] =0, SW[3]= 0 , HEX[4] bernilai 1 dahulu namun juga memliki kekurangan
kemudian saat SW[0]=0, SW[1]=0 , dimana semua keluaran harus dijabarakan.
SW[2]= 0, SW[3]= 0 dengan nilai
HEX[4] = 0. Maka SW[1]=0 , SW[2]= 0,
SW[3]= 0 = (0,0,0) adalah nilai set nya. V. Kesimpulan
Pada percobaan 3c ini kita juga 1. Dalam percobaan modul ini kita dapat
mengimplementasikan program yang mendesain rangkaian sederhana dan
telah kita buat ke fpga. Nilai pada fpga kita dapat memnetukan waktu
ternayta berkebalikan dengan nilai truth tundanya
tabel yang telah kita buat, dimana saat 2. Kita juga dapat mendesaain rangkaian
niali 8 misalkan seharusnya led menyala kombinasional yang berupa decoder
semua namun pada fpga led mati , hal itu bcd 7 segment dan diimplementasikan
terjadi karena nilai dari truth table pada FPGA
berkebalikan dengan fpga, namun 3. Kita dapat membuat simulasi secara
kebalikkan nilai inputan pada fpga hasil fungsional dan simulasi timing unutk
yang didaptkan sesuai yang diharapakan. menetukan dimana nilai keluaran
4. Dalam percobaan 3b dan 3c kita memakai terdapat perubahan dan menetukan
persamaan yang sama dari truth tabel nilai maksimumnya
untuk membuat bcd 7 segment , 4. Kita dapat merancang bcd 7 segment
seharusnya nilai worst case delay antara menggunakan level behavioral dengan
percobaan secara skematik dan vhdl sama vhdl dan kita tidak perlu meracang
, namun pada percobaan ini nilai worst persamaa logika dan secara skematik
case delay dan nilai set serta hasil sinyal yaitu dengan merangkai secara
berbeda. Hal tersebut terjadi karena pada langsung rangkaian dan menetuka
percobaan 3b kelompok kami mengambil terlebih dahulu persamaan logika nya .
data dari kelompok lain ynag berarti
persamaan yang dibuat kelompok kami
belum tentu sama dengan persamaan
logika yang mereka buat sehingga REFERENSI
hasilnypun berbeda. Perancangan dengan
skematik dan vhdl memliki kelebihan dan [1] Mervin T. Hutabarat., Petunjuk
kekurangan masing-masing. Untuk
perancangan secara skematik akan Praktikum Sistem Digital dan Mikroprosesor,
memakan waktu yang lama karena Laboratorium Dasar Teknik Elektro, Bandung,
padapercobaan ini kita memkai banyak 2015.
sekali persamaan logika yang
menggunakan beberapa gerbang logika [2] https://ahmadharisandi7.wordpress.com
dan banyak input serta output sedangkan /2015/07/05/rangkaian-logika-sekuensial-dan-
kelbihannya kita dapat melihat lagsung kombinasional/26/10/2017 pukul 16.30
rangkaian yang telah kita buat. Untuk
perancangan dengan vhdl akan memakan [3] https://www.scribd.com/doc/
waktu yang realtif lebih singkat karena 109979227/Rangkaian-Logika-
kita hanya membuat program. Namun kita Kombinasional/26/10/2017/ pukul 17.00
harus memhai bahsas pemograman yang
tinggi terlebih dahulu. Perancangan
dengan level abstraksi behavioral memliki
kelebihan yaitu dapat diimplementasikan
tanapa membuat persamaan logika terlebih
Lampiran
[2] https://imarhu.wordpress.com
/2012/04/13/vhdl/10/10/2017/07.00
[3] https://Pengertian half adder dan full
adder _ wandy wahyudi
blog.html/29/9/2017/ 14.00

[4] http://vanillable.blogspot.co.id
/2016/01/vhdl.html/10/10/2017/08.00
REFERENSI

[1] Mervin T. Hutabarat., Petunjuk


Praktikum Sistem Digital dan
Mikroprosesor, Laboratorium Dasar
Teknik Elektro, Bandung, 2015.

Lampiran 1 2. Gambar skematik percobaan 2 D

1. Gambar rangkaian full adder


dengan skematik
i
n

Lampiran 2 :

Kode percobaan 2B I
N

S
T
D
_
L
O
G
I
C
;

S
,
C
o
u
t

O
U
2. Kode VHDL untuk 4-bit Ripple T
Carry Adder
S
T
LIBRARY ieee ; D
_
USE ieee.std_logic_1164.all; L
USE ieee.numeric_std.all; O
G
ENTITY fulladder IS I
C
P )
O ;
R
T END fulladder;
(
A
A R
, C
B H
, I
C T
E
C S <= A XOR B XOR Cin;
T
Cout <= (Cin AND (A XOR
U
B)) OR (A AND B);
R
E END behavioral;

b
e LIBRARY ieee ;
h
USE ieee.std_logic_1164.all;
a
v USE ieee.numeric_std.all;
i
o E
r N
a T
l I
T
O Y
F
a
f d
u d
l e
l r
a 4
d b
d i
e t
r
I
I S
S
P
B O
E R
G T
I
N

A, B : IN
STD_LOGIC_VECTOR(3
DOWNTO 0); Cin :
IN STD_LOGIC;
); S : OUT
END adder4bit; STD_LOGIC_VECTOR(3 DOWNTO
0); Cout : OUT STD_LOGIC

SIGNAL C :
STD_LOGIC_VECTOR(3
ARCHITECTURE behavioral OF DOWNTO 0);
adder4bit IS COMPONENT fulladder IS
PORT( A,B,Cin :
IN STD_LOGIC;
S,Cout :
OUT
STD_LOGIC
);

END COMPONENT;

BEGIN

FA0: fulladder PORT MAP


(A=>A(0), B=>B(0), Cin=>Cin ,
S=>S(0), Cout=>C(0)); FA1:
fulladder PORT MAP (A=>A(1),
B=>B(1), Cin=>C(0), S=>S(1),
Cout=>C(1)); FA2: fulladder
PORT MAP (A=>A(2), B=>B(2),
Cin=>C(1), S=>S(2),
Cout=>C(2)); FA3: fulladder
PORT MAP (A=>A(3), B=>B(3),
Cin=>C(2), S=>S(3),
Cout=>Cout);

END behavioral;

Switch Cyclone II Pin


Switch[0] PIN_L22
Switch[1] PIN_L21
Switch[2] PIN_M22
Switch[3] PIN_V12
Switch[4] PIN_W12
Switch[5] PIN_U12
Switch[6] PIN_U11
Switch[7] PIN_M2
Switch[8] PIN_M1
Data sheet kaki FPGA Switch[9] PIN_L2

Anda mungkin juga menyukai