05. percobaan iii.pdf

Upload: hendry-wicaksana

Post on 31-Oct-2015

56 views

Category:

Documents


1 download

TRANSCRIPT

  • PercobaanIII:RangkaianLogikaKombinasional

    31

    PERCOBAANIIIRANGKAIANLOGIKAKOMBINASIONAL

    TUJUAN1. Mendesainrangkaiansederhanauntukmelihatpengaruhwaktutunda

    2. Mendesain rangkaian kombinasional berupa decoder BCDto7segment untukdiimplementasikandidalamFPGA

    3. Menggunakansimulasifungsionaluntukmemverifikasifungsirangkaian

    4. Menggunakananalisisdansimulasiwaktuuntukmengidentifikasiworstcasedelaypath

    5. Melakukanpengukuranwaktutundapropagasipadalevelrangkaian

    6. Mengenallevelabstraksidalamperancangandigital.

    CATATANUntukseluruhpercobaan3 ini, jikaandamenggunakandesignskematiksesuaiyangterteradimodul,makanilaimaksimalyangbisaandadapatkanadalah75.JikaandamenggunakanVHDL,makanilaimaksimalyangandadapatkanadalah100.CodeVHDLtelahdipersiapkanpraktikansebelumpraktikum.JikaadapelanggaranberupacopypastesebagianatauseluruhcodeVHDL,praktikandikenaisanksinilainoldan/atautidakluluspraktikum.

    PERSIAPANPelajari kembali bahan kuliah anda mengenai rangkaian logika kombinasional. Pelajari jugakeseluruhan petunjuk praktikum untuk modul rangkaian logika kombinasional ini. Kerjakantugaspendahuluandankumpulkansesuaiketentuanyangberlaku.

    DASARTEORI

    IMPLEMENTASIFPGADANWAKTUTUNDADalam teknologi Altera Cyclone yang kita gunakan, fungsi logika diuraikan oleh softwareimplementasi kedalam bentuk subfungsi 4masukan. Setiap subfungsi kemudiandiimplementasikanoleh tabel kebenaran yangbekerja sepertimultiplexerdandibuatdenganmemprogram SRAM yang mendefinisikan fungsionalitas dari FPGA. Setiap tabel kebenaranmemiliki waktu tunda yang berkontribusi ke waktu tunda keseluruhan. Sedangkan untuk

  • PercobaanIII:RangkaianLogikaKombinasional

    32

    membedakanantara rangkaiankombinasionaldan sekuensial,dalam subfungsi jugadiberikansebuahDflipflopsepertiyangterlihatpadagambar1.

    Gambar1:bentuksubfungsiyangmerepresentasikanlogikapadaFPGA

    Penguraiankedalamsubfungsiyangdikombinasikandenganrouting interkoneksimenghasilkanketidakpastiandalamdelaypropagasidarimasukankekeluarandalamimplementasirangkaian.Suatu persamaan logika dengan 2 variabel mungkin saja memiliki waktu tunda yang samadenganyangmenggunakan4variabelkarenabentuksubfungsiFPGA.

    Perancang yang berpengalaman mungkin bisa menggunakan pengaturan tertentu untukmenspesifikasikanwaktu tundamaksimum yang dapat diterima.Apapunmasalahnya, sangatbergunabagi kitauntukmengetahui berapawaktu tunda dari rangkaian kita. Karenahampirsemua rangkaian kombinasional ditempatkan pada kondisi sekuensial, biasanya kita tertarikpada worst case delay yang bisa terjadi dalam operasi rangkaian dari masukan rangkaiankombinasionalkesetiapkeluaranrangkaiankombinasional.

    Estimasi worst case delay ditentukan dengan menambahkan delay perkiraan maksimumkedalamrangkaiankombinasionaltermasuk logikadan interkoneksi.Karenaketidakpastian ini,worst case delay hanya bisa ditentukan setelah proses implementasi selesai termasukpenguraianmenjadisubfungsidanroutinginterkoneksi.

    Dalampercobaanini,kitaakanmembangunduarangkaian.Denganrangkaianpertamakitaakanmelihatbeberapatipedarisimulasiyangdapatkitagunakandanmelihatkemungkinanefekdariproses penguraian yang mengimplementasikan rangkaian sebenarnya secara fisik. Kemudiandengan rangkaiankedua, selainmemverifikasi fungsionalitasnya,kita jugaakanmencariworstcasedelaydarisetiapmasukankesetiapkeluarandanakanmenggunakanmetodesimulasiyanghanya dapat diaplikasikan pada rangkaian sederhana untk mencari jalur sebenarnya yangditempuh dimana delay ditemukan. Dengan Mengetahui jalur dari worst case delay kitakemudian bisamengukur delay pada setiap titik jalur tersebut di lab.Delay yang terukur inibukanlahworstcasedelaytetapilebihkepadawaktutundaratarata.

    BCDTO7SEGMENTCODECONVERTERRangkaianinidigunakanuntukmengkonversikansuatunilaidesimalterkodebiner(BCD)kepolasegmenyangsesuaipadadisplay7segmen.KarenanilaiBCDadalahangka4bitpadajangkauan09,bagaimanakitamemperlakukannilai1015(dontcareatautidak)akanberpengaruhpadadesainkita.

  • PercobaanIII:RangkaianLogikaKombinasional

    33

    7segmenbiasanyadiidentifikasidalam industrimenggunakanhurufagsepertipadagambar2berikutini:

    (a) (b)Gambar2:(a)Konvensipenomoran7segmen,(b)PolaDisplay7segmen

    TUGASPENDAHULUAN1. Jelaskan apa yang dimaksud dengan rangkaian kombinasional, berikan satu contoh

    rangkaiankombinasionalsederhanaselainAdderataumateripercobaanini,turunkanKmapsdantablekebenarannya!!

    2. Perhatikangambar3dibawahini,carilahtabelkebenarandarirangkaiantersebut!

    3. Asumsikankitaakanmembangunrangkaianpadagambar3dengankomponengerbanglogika, gambarkan dan jelaskan perkiraan bentuk dari keluaran Y jika kitamengaplikasikansinyalkotakpadamasukanX!!

    Gambar3:Bentukrangkaiandalamprojectsederhana

    4. Pelajari rangkaianBCDto7segment,buatlah tabelkebenarandanKmapspada tabelyang tersediapadabagianakhirmodul inidimanakitamenggunakan4masukanyangbernama D3(MSB)D0(LSB) dan 7 keluaran yang bernama A..G, kemudian buatlahpersamaan boolean berbentuk Sum Of Product (SOP)/POS yang minimal!! (Anggapuntukmasukandiluar0..9sebagaidontcaredansinyalmasukan/keluaranadalahactiveHIGH(1=aktif/menyala).

    PERCOBAAN

    PERALATANYANGDIGUNAKAN BoardFPGAtipeUP2atauDE1 Catudaya+kabeldankonektortambahansertakabeldownloader

  • PercobaanIII:RangkaianLogikaKombinasional

    34

    Osiloskop

    PROSEDURPERCOBAAN

    PERCOBAAN3A:MembuatRangkaianSederhanaDalampercobaanini,andaakanmembuat2project,yangpertamadiberinamasederhanadanhanyaterdiridarisatuskematik,yangkeduaakandiberinamabcddanmemerlukan2skematik.

    PROSEDURPERCOBAAN:

    a. ManajemenFile

    1. BuatlahdirektoribarudengannamaModul3padadirektoripraktimumdigital,kemudian didalamnya buatlah dua direktori baru kembali dengan namasederhanadanbcd.

    2. Download file yang bernama SisDig_pin_assignment_UP2.qsf bagi yangmendapatkan board FPGAUP2 ke direktoriModul3 anda. File tersebut akandigunakanuntukpenempatanpinsecaraotomatis.

    b. PembuatanProjectSederhana

    1. BuatproyekQuartusbarudengannamasederhanapadadirektorisederhana

    2. Download file clockdiv.vhddan clockdiv.bdfdariweb labdasar.Rangkaian iniakandigunakanuntukmemperlambatclockmasukanrangkaiansederhana.

    3. Buatlahsebuahfilediagramskematikbarubernamasederhana.bdf,tambahkanfiletersebutkedalamprojectdan implementasikanrangkaianpadagambar4.Berikannama kakimasukan sebagaiCLK[0].Berikannama kaki keluaran yangtersambungkegerbangNAND(YpadaGambar2)sebagaiGPIO[15]danuntukkakikeluaranyangtersambungdenganinverterdengannamaGPIO[16].

    Gambar4:Rangkaiangambar3denganmodifikasi

    c. KompilasiprojectdanSimulasi

  • PercobaanIII:RangkaianLogikaKombinasional

    35

    1. Untukkeperluan I/Opinkitaakanmenggunakanfileyangsudahadadanpadapraktikumpraktikum selanjutnya kita akan memakai cara ini. KlikAssignmentImportAssignment.Pada jendelabarusorotfilenamekemudiankliktombol,pilihfileSisDig_pin_assignment_UP2.qsfyangsudahandakopi.

    2. Coba klikAssignmentPinPlanner sepertipadamodul2, anda akanmelihatbeberapapinFPGAsudahterhubungdengansuatunama.Denganmencocokkannamaportinput/outputpadaskematik/VHDLkitadengannamayangdigunakanpadafileakanmembuatkitatidakperlumenghubungkansecaramanualsepertipadamodulsebelumnya.Cekapakahadayangbelumterhubung.

    3. Lakukan compile pada project anda, jika ada error perbaiki skematik andakemudian ulangi langkah sebelumnya. Pada tahap inimungkin akan terdapatbanyakwarningkarenabanyakportyangtidakkitagunakantetapihal initidakakanmenjadimasalahpadapercobaanini.

    4. PertamakitaakanmenggunakansimulasiFunctionalsepertipadapercobaan2.Ikuti langkahlangkah yang telah anda pelajari pada percobaan 2 untukmelaksanakannya, atur simulasi sehingga sinyal yang dipakai harus dapatmerepresentasikansetiapkemungkinanlogika!

    5. Simpanhasilsimulasiandauntukdilampirkanpadalaporananda.

    6. Sekarang, ubahlah Simulation Mode menjadi Timing dan jalankan simulasikembali.

    7. CatathasilpercobaanpadaBCLanda..

    8. Jawabbeberapapertanyaanberikutpadalaporananda:

    9. Apaperbedaandarikeduamodesimulasitersebut?

    10. Menurutandamodesimulasimanayangakanlebihmemodelkansecaraakuratkondisinyatarangkaianyangandarancang?

    11. Apakahandamengharapkanhasilsebenarnyalebihbaik,buruk,atausamasajadibandingkansimulasiyangandacobadanmengapademikian?

    PERCOBAAN3B:MembuatrangkaianBCDa. PembuatanprojectBCD.

    1. BuatlahprojectQuartusbarubernamabcdpadadirektoribcd

    2. Importpinassignmentsepertipadapercobaansebelumnya.

  • PercobaanIII:RangkaianLogikaKombinasional

    36

    3. Buatlahduafilediagramskematik,yangsatubernamabcd_test.bdfdansatunyalagibernamabcd_7seg.bdf(fileyanginitidakditambahkandalamproject).

    b. Pembuatanskematik

    1. Desainlah sebuah rangkaian decoder BCDto7segment seperti yangdispesifikasikan diatas dengan menggunakan persamaan Boolean berbentukSum Of Product (SOP)/POS minimal yang sudah anda kerjakan pada tugaspendahuluan.

    2. Bcd_7seg.bdf :Anda akanmengimplementasikan rangkaiandecoderBCDto7segment pada file skematik ini. Kemudian dalam beberapa kasus untukpenyederhanaanrangkaiangunakangerbangNANDgate(BANDxpadaquartus)

    misalnya untuk mengimplementasikan logika 2. 1. 0X X X tanpa harusmenggunakan3 inverter.Gunakangerbang logikadanpin input/outputsesuaikeperluan. Setelah selesai pilih FileCreate/UpdateCreate Symbol forCurrent File. Langkah ini akan membuat skematik kita bisa digunakan padaskematiklainsebagaiblokfungsi.

    3. Bcd_test.bdf :dalamskematik iniandaakanmemasukkanrangkaianBCDto7segmentpadaskematik lainnyasebagaiblokfungsidanmenghubungkan inputkepadaswitchdanoutputdengan7segmentdisplay.Masukkanblokbcd_7seg(terdapat di Symbol ToolboxProject) kemudian sambungkan kakikaki padablok bcd_7seg dengan pin input dan output yang masingmasing dinamakansepertipadatabeldibawahini.

    NamaPinPadakakibcd_7seg NamaPinInput/OutputD3 SW1[3]D2 SW1[2]D1 SW1[1]D0 SW1[0]A HEX1[0]B HEX1[1]C HEX1[2]D HEX1[3]E HEX1[4]F HEX1[5]G HEX1[6]

    Tabel1:PenamaanPinInput/Output

    c. PembuatanNetlistdanSimulasiFungsional

    1. Set skematikbcd_test sebagaiTop Levelentitypadahierarkiprogram.Hal inibisadilakukandenganmemilihProjectSetasTopLevelEntity.

  • PercobaanIII:RangkaianLogikaKombinasional

    37

    2. Simulasikan rangkaianuntuk setiapkombinasimasukanyangmungkindenganmenggunakan jenis masukan Overwrite Clock seperti yang dilakukan padapercobaansebelumnya.

    3. Simpanhasilsimulasiandauntukdilampirkanpadalaporandanjelaskanapakahdecoderandasudahberfungsidenganbenar?

    d. SimulasiTiming

    1. Lakukan simulasi timingpada rangkaianmenggunakanbentuk sinyalmasukanyang sama seperti pada simulasi fungsional. Pastikan simulasi sudah disetsebagaiTimingbukanFungsional.

    2. Compiledahuluprojectandaapabilabelumdilakukan.

    3. Jalankan simulasidan lihatlahapakahkeluaran identikdengan simulasi secarafungsional(kecualibeberapadelaydanglitch).

    4. Jangan tutup jendela simulasi Timing karena akan digunakan untuk analisaselanjutnya

    e. SimulasiWorstCaseDelay

    1. Periksa bagian Timing Analyzer Summary dan tpd dariProcessingCompilation Report, kemudian cari pasangan kaki keluaranmasukanyangmemilikidelaymaksimal/palingbesar.Selanjutnyakakimasukandaridelaymaksimum inikitaberinamasebagaiMasukanDelaydengansimbolXi(misalkan Xi=SW1[3]) dan keluarannya akan kita beri nama KeluaranDelaydengansymbolYj(misalkanYj=HEX1[0]).

    2. DenganmelihattabelkebenarandarikeluaranYjcarilahsemuanilaisetdariXidimana ketika Xi berubah dari 01 atau 10 Yj akan berubah pulanilainya.Misalkan Xi=SW1[3] dan berdasarkan tabel kebenaran saatmasukanSW1[3]=1, SW1[2]=1, SW1[1]=0, SW1[0]=0, Yj bernilai 0, kemudian saatmasukan SW1[3]=0, SW1[2]=1, SW1[1]=0, SW1[0]=0, Yj bernilai 1 makaSW1[2],SW1[1],SW1[0]=(1,0,0)adalahnilaiset.Ulangiuntukkombinasi lainhinggaandamendapatkanseluruhnilaisetyangada.

    3. Jawabbeberapapertanyaanberikutpadalaporananda:

    Berapadelaymaksimumdaridecoder? ApakahnamainputdariMasukanDelayyangdiberikodeXi?

  • PercobaanIII:RangkaianLogikaKombinasional

    38

    ApakahnamaoutputdariKeluaranDelayyangdiberikodeYj?4. Apasajanilaimasukanyangandadapatkansebagainilaisetpadapointnomer

    2?

    5. Laksanakankembali timingsimulation,kali iniandahanyamemakaikombinasinilai input yang mengakibatkan nilai set. Disini kita akan mencari kombinasiinputyangmengakibatkanworstcasedelay.

    6. Buka hasil simulasi pada Simulation Report. Arahkan mouse pada bagiangambarpulsa,klikkanandanpilih insert timebarhingga terdapat2 timebarpadagambarpulsa.

    7. Geserlah time bar hingga yang satunya berada pada posisi ketika input yangdianggapXiberubahdanyangsatunyapadaposisiketikainputyangdianggapYjikutberubah.Gesergesermenggunakanpanahdisebelahkanantulisanmastertimebaruntukmemposisikantimebardengantepat.Lihatangkayangterdapatdiatas time bar dan catat delay dari masingmasing kombinasi nilai settersebut!!.

    Gambar6:ContohmenghitungdelayjikaXi=SW1[2]danYj=HEX1[0]

    8. Jawabpertanyaanberikutpadalaporananda:

    Berapa delay maksimum yang terukur pada simulasi kali ini, apakahsamadenganyangdidapatkanpadalangkah1?

    Untuk kombinasi masukan bagaimana delay maksimum tersebutdidapatkan?

    f. MemprogramkedalamFPGA

    1. CobaandadownloadprogramBCDto7segmenandakedalamboardFPGAyangtersedia,lihatkembalimodul2untukcarapemrograman.

    2. Mainkan4switchyangkitapakaipadapercobaaninidanlihatapakahprogramkitasudahberjalandenganbenar.

    3. CatatHasilpercobaanpadaBCLanda.

  • PercobaanIII:RangkaianLogikaKombinasional

    39

    Setelahmenyelesaikan ini, simpan seluruh file percobaan3B karena akan digunakan kembalipadamodul4danmodul5.Jikabelumselesaimakaselesaikandirumah.

    MENGAKHIRIPERCOBAANProseduruntukmengakhiripercobaan:

    1. Sebelum keluar dari ruang praktikum, rapikan meja praktikum. Bereskan kabel danmatikankomputer,osiloskop,generatorsinyal,danpowersupplyDC.CabutdayadarijalajalakekitFPGAdanletakkankembalipadatempatsemula.

    2. Periksa lagi lembar penggunaan meja. Praktikan yang tidak menandatangani lembarpenggunaan meja atau membereskan meja ketika praktikum berakhir akanmendapatkanpotongannilaisebesarminimal10.

    3. Pastikanasistentelahmenandatanganicatatanpercobaankali inipadaBukuCatatanLaboratorium anda. Catatan percobaan yang tidak ditandatangani oleh asisten tidakakandinilai.

  • PercobaanIII:RangkaianLogikaKombinasional

    40

  • PercobaanIII:RangkaianLogikaKombinasional

    41

  • PercobaanIII:RangkaianLogikaKombinasional

    42