Chapter1: Introduction. Ders 1: Giriş. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Chapter1: Introduction. Ders 1: Giriş. Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 1-1"

Transkript

1 Ders 1: Giriş Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1

2 Programlanabilir Devreler Chapter1: Introduction CPLD (Complex Programmable Logic Device) FPGA (Field-Programmable Gate Array) Yapısı ve Avantajları Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-2

3 Tarihsel gelişimi Chapter1: Introduction İlk programlanabilir aygıtlar pahalı maske programlı ROM lar yerine geliştirilmiştir. Bu ROM modüllerde bir değişikliğe gidilmesi gerektiğinde maske değiştirilip yeni çip in tekrar fabrikada üretilmesi gerekiyordu. Bu özelliği nedeniyle programda yapılan bir hata ancak üretim sonucunda anlaşılmaktaydı. Daha sonra PROM modüller geliştirildi. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-3

4 PROM Bu modüller bir bilgisayar programı ile bir kez programlanabilmekteydi. Programlama evlerdeki sigorta sistemine benzeyen sigortalar yardımıyla yapılmaktaydı. Fazla akım geçirilen bağlantı koparılıyor geçirilmeyen kısımlar ise devreyi oluşturuyordu. PROM chipler sayesinde tasarımdaki hatalar kolayca bulunabiliyor, değişiklikler üretime gitmeden denenebiliyor ve optimizasyonlar yapılabiliyordu Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-4

5 PROM Daha sonra bu çiplerin yeniden programlanabilmelerine ihtiyaç duyuldu. Geliştirilen teknikler birlikte EEPROM modüller üretildi. İlk versiyonları UV ışınla silinebilmekteyken günümüzde EEPROM yani elektrikle silinebilen versiyonları kullanılmaktadır. PROM lar önceleri combinational devreleri gerçeklemek için kullanılsalar da günümüzde veri depolamada kullanılmaktadır. PROM ların kullanımının bırakılmasındaki asıl neden yeterince hızlı olmayışları ve giriş sınırlamasıdır. Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-5

6 PLA Programmable logic array (PLA) hız ve giriş sınırlamasına bir çözüm olarak geliştirildi. AND, OR seviyeleri ve NOT kapılarından oluşmaktadır. Bu nedenle PROM lardaki gibi her olası tasarım gerçeklenemez. Tasarımınızı and,or ve not kapılarıyla gerçeklemeniz gerekektedir. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-6

7 PAL PAL chip ler PLA çiplerin bir türevidir. PLA e göre OR seviyeleri azaltılmıştır. Çünkü and ve not kapıları ile de-morgan kuralına göre or kapısı elde edilebilmekteydi. Or kapılarından boşalan alana multiplexer, xor kapıları, letch ve flip-flop yapıları konulmuştur. Böylece PLA e göre çok daha fazla fonksiyonu hızlı bir biçimde yerine getirebilmektedir. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-7

8 ASIC FPGA ve CPLD ile karşılaştırılırken masked gate array de denmektedir İç devreleri oldukça hızlı çalışmaktadır Büyük çaplı üretimde oldukça ucuzdur (maske üretim maliyeti) Üretim ve test aşamaları oldukça fazla zaman gerektirmektedir Tasarımda bir hata yapılmışsa bunu düzeltmek uzun masraflı bir iştir. (Tekrar doğru maskeyi oluşturup üretim tekrarlanmalı) Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-8

9 ASIC ASIC programlanabilen bir aygıt değildir. Tasarımcılar üreticinin sağlamış olduğu hücre ve fonksiyon kütüphanelerini kullanarak çalışırlar Tasarımcının tasarımının tam olarak silikona nasıl aktarıldığını bilmesine gerek yoktur. Gerçekleme düşük seviye fonksiyonlardan tamamına doğru olmaktadır Öncelikle tasarım için gerekli birbirine yakın transistorler, daha sonrada birbirine yakın olacak şekilde modüller oluşturulur. (routing) Tasarıma göre oluşturulan maske yardımı ile chip oluşturulur Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-9

10 CPLD & FPGA Donanım geliştiricileri ASIC gibi yüksek yoğunluklu, hızlı ve aynı zamanda gerçeklemenin kolay olduğu bir programlanabilir aygıt istemekteydi. CPLD = complex programmable logic device PAL FPGA = field programmable gate array ASIC Bu aygıtlar ASIC ve PAL ın iyi özlelliklerini barındırmaktadır. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-10

11 CPLD Chapter1: Introduction CPLD bir çok PAL aygıtın aynı çip içerisinde toplanıp birbirine switch ler aracılığı ile bağlanmasından oluşmuşdur. PAL ile aynı tabandadır ancak daha büyük ve komplaks dizaynları gerçekleyebilir. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-11

12 CPLD Güncel CPLD ler üreticisine göre değişmekle birlikte and or not kapılarına ek olarak xor gibi ekstra yapılar da bulundururlar. I/O pinleri giriş çıkış ve çift yönlü atanabilir Özel bir clock thee 'ye sahiptir. Bu sayede clock sinyali chipin her tarafına çok yakın zamanlarda ulaşır CPLD de tasarımcılar girişten çıkışa olan gecikmeyi tahmin edebilirler. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-12

13 CPLD JTAG üzerinden seri olarak programlanabilmekte EEPROM yapısı ile programlama verisini tutuğundan programlama verisi uçucu değildir. EEPROM a programlama verisini yüklediğinizde her açılışta veriyi okuyarak kendini konfigüre etmektedir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-13

14 Interconnect Programable Switch Logic Block Logic Capacity Logic Density Speed - Performance Terminoloji Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-14

15 ASIC gibi düzgün mantıksal dizilerinden oluşur Yapısı oldukça kompleks dizaynlara izin vermektedir I/O hücreleri, programlanabilen logic blokları ve ara bağlantı elemanlarından oluşurlar FPGA Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-15

16 Konfigüre edilebilir mantıksal bloklar (CLB) - FPGA FPGA nın sahip olduğu CLB ler sayesinde CPLD ye göre çok daha complex devreleri gerçekleme avantajı vardır. Ancak devre büyüdükçe sinyalin yönlendirilmesi işlenmesinden daha fazla zaman alabilmektedir. FPGA 'da sinyaller CLB ler dolayısıyla kapılar üzerinden geçerek ilerlediğinden yönlendirme gecikmesi ASIC 'e göre oldukça fazladır. ASIC de sinyal direk metal yollar üzerinden ilerlemektedir. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-16

17 Konfigüre edilebilir mantıksal bloklar (CLB) - FPGA FPGA üzerinde bulunan CLB ler LUT lardan oluşmaktadır ve görüldüğü gibi RAM flip-flop ve multiplexer işlevlerini yerine getirirler. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-17

18 I/O Blokları - FPGA Her I/O portu giriş çıkış ya da çift yönlü ayarlanabilir Giriş çıkışlar diğer aygıtlarla uyumlu olabiecek şekilde değişik voltaj seviyelerine ayarlanabilmektedir. Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-18

19 Switch Matrix ler uzaktaki CLB ler ile hızlı hat üzerinden bağlantı kurulmasını sağlamaktadır FPGA Bunlar dışında birde long line denen çipin bir ucundan diğerine giden hızlı bağlantılar bulunmaktadır Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-19

20 Saat devresi - FPGA Özel yüksek hızlı saat buffer ları çip yüzeyine dağılmıştır Bu buffer lar saat giriş pinlerine bağlıdırar Clock tree boyunca saat hatlarına sinyali sürerler Senkron tasarımlarda saat in devrenin her yerine aynı anda ulaşması çok önemlidir Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-20

21 Programlama CPLD aygıtlar programlama için EEPROM kullanmaktadır FPGA ler ise programlama verilerini SRAM içerisinde tutar Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-21

22 CPLD & FPGA Seçimi Seçim tamamen gerekliliklere bağlıdır Chapter1: Introduction İkisi de yeniden programlanabildiğinden donanım geliştirmek için oldukça avantajlı platformlardır Hız olarak ise ASIC 'in hızına yetişemezler Bu yüzden çoklu üretimde geliştirme FPGA-CPLD üzerinde yapılırken olgunlaşan dizayn ASIC e aktarılır CPLD FPGA Mimari PAL benzeri Kapı dizisi - benzeri Hız Hızlı, tahmin edilebilir Uygulama bağımlı Yoğunluk Düşük - orta Orta - yüksek Bağlantı Crossbar Routing Güç Tüketimi Kapı başına yüksek Kapı başına düşük Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-22

23 Proje için Platform Seçimi FPGA ve CPLD ler her ne kadar esnek yapılar olsa da proje geliştirme yeni başlayanlar için zaman alan bir süreçtir. Bazı durumlarda sıralı komutlar işleyen bir işlemcinin kullanılması daha avantajlıdır. Proje ile ilgili IP(Intellectual property) ler araştırılmalıdır. FPGA ya da CPLD projenin gerekliliklerine uyacak şekilde seçilmelidir İçerisinde bir işlemci ve FPGA bulunduran hibrit yapılar da değerlendirilmelidir. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-23

24 FPGA programlama ve HDL e giriş CPLD FPGA Programlamaya giriş Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-24

25 İçerik Bu ünitede aşağıdaki konular işlenecektir FPGA CPLD programlama metodolojisini Şematik tasarım ile tasarım gerçeklenmesini VHDL dilinde tasarım gerçeklenmesini Verilog dilinde tasarım gerçeklenmesini Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-25

26 HDL lerin önemi HDL: Hardware Description Language (Donanım Tanımlama Dili) Yaygın kullanılan iki HDL: Verilog HDL (also called Verilog for short) VHDL (Very high-speed integrated circuits HDL) Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-26

27 HDL lerin Özellikleri Chapter1: Introduction Tasarım soyut bir seviyede betimlenir. Fonksiyonel sağlama tasarım aşamasının erken safhalarında yapılabilir. HDL ile tasarım yapma bilgisayar programlama ile benzerdir. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-27

28 Basit Tasarım süreci Tasarımın donanım tanımlama dilleri kullanılarak tanımlanması Fonksiyonel simulasyon Sentez Yerleştirme ve yönlendirme Tasarımın yüklenmesi Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-28

29 Programlama Yüklenecek hafıza türü CPLD EEPROM FPGA EEPROM & SRAM Yükleme ara yüzü JTAG Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-29

30 Verilog HDL Genel amaçlı, öğrenmesi kolay ve kullanılması kolay bir HDL dilidir. Aynı modül içerisinde farklı seviyelerden soyutlamaya olanak tanır. Programming Language Interface (PLI) Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-30

31 Verilog - Giriş 1984 de oluşturuldu 1990 da Candance tarafından açık kaynak yapıldı de IEEE standardı oldu. C diline benzerliği nedeniyle adaptasyon kolaydır. Genel özellikleri; Tanımlayıcılar maksimum 1024 karakter olabilir İlk karakter sayı olamaz İfadeler ; ile sonlandırılır String ler çift tırnak ile tek satırda yazılmalıdır Yorumlar; // dan sonraki tüm karakterler /* -- */ arasındaki tüm karakterler yorum olarak algılanırlar Compiler komutları ` ile başlar Hazır task lar ya da function lar $ ile başlar Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-31

32 Verilog - Giriş Case sensitive bir dildir Anahtar sözcükler küçük karakter ile yazılırlar. Değişkenlerin yaşam alanaları vardır. Aynı alanda geçerli değişkenler için farklı isimler kullanılmalıdır Tanımlayıcı karakterler Büyük ve küçük alfabetik karakterler Nümerik karakterler Alt çizgi Boşluklar ve boş satırlar istenildiği gibi bırakılabilir Verilog 4 mantık değerli önceden tanımlı (0, 1, z, x) bir sisteme sahiptir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-32

33 Verilog - Giriş Integer ve Real türleri tanımlıdır Procedure 'ler üzerinden işlem yapar paketlere sahip değildir Verilog dilinde dijital sistemler modüller oluşturularak gösterilir VHDL de olduğu gibi structural ve behavioral tasarım yapılabilmektedir Yapısal dizayna RTL (Register transfer level) de denmektedir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-33

34 HDL Tabanlı Tasarım Basamakları Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-34

35 Verilog Davranışsal dizayn Dizayn davranışına göre gerçeklenmektedir Always içerisinde sadece register değerlerine atama yapılabilir. Out çıkışının register tanımlanması ona always bloğu içerisinde atama yapılabilmesini sağlıyor Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-35

36 Verilog Hiyerarşik Dizayn Top Level Module Full Adder Sub-Module 1 Sub-Module 2 Half Adder Half Adder Basic Module 1 Basic Module 2 Basic Module 3 Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-36

37 Verilog Hiyerarşik (Örnek) module full_add (A, B, CI, Sum, Cout) ; input A, B, CI ; output Sum, Cout ; wire S1, C1, C2; module half_add (A, B, S, C); input A, B ; output S, C ; half_add HA1 (A, B, S1, C1); half_add HA2 (S1, CI, Sum, C2); or P1 (Cout, C1, C2); endmodule xor (S, A, B) ; and (C, A, B) ; endmodule Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-37

38 Verilog - Örnek module fa_rtl (A, B, Cin, Sum, Cout) ; Chapter1: Introduction input A, B, Cin ; output Sum, Cout ; assign Sum = A ^ B ^ Cin; assign Cout = A & B (A ^ B )& Cin; //continuous assignment //continuous assignment endmodule Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-38

39 Verilog Sayılar, Türler <size> <radix> <value> Chapter1: Introduction Bit Sayısı Binary b or B Octal o or O Decimal d or D Hexadecimal h or H Consecutive chars 0-f, x, z 3 b000 8 hab Nets: Donanım elemanlarını birleştiren fiziksel bağlantı Registers: Bağlı olmasa bile depolanan değer Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-39

40 Verilog Veri Türleri wire sadece bağlantı; mantıksal değil reg mantıksal değer depolama tri wire gibi, ama donanım olarak 3-state gösterir wand çoklu sürücü- kablolanmış and wor çoklu sürücü - kablolanmış or triand wand gibi, fakat 3-state trior wor gibi, fakat 3-state supply0 - Global net GND supply1 - Global Net VCC (VDD) tri0, tri1, trireg Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-40

41 Verilog Diziler Yazım kuralları integer count[1:5]; // 5 integers reg var[-15:16]; // 32 1-bit regs reg [7:0] mem[0:1023]; // bit regs Array elemanlarına erişim mem[10] = 8'b temp = mem[10]; var[6] = temp[2]; Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-41

42 Verilog - Operatörler Arithmetic (binary: +, -,*,/,%*); (unary: +, -) Bitwise (~, &,,^,~^,^~) Reduction (&,~&,,~,^,~^,^~) Logical (!,&&,,==,!=,===,!==) Relational (<,<=,>,>=) Shift (>>,<<) Conditional? : Concatenation and Replications {A,B} {4{B}} Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-42

43 Verilog Sürekli Atama Yazım kuralı: assign #del <id> = <expr>; Chapter1: Introduction opsiyonel net türü!! Bunarı nereye yazmalıyız: Modülün içerisine Prosedürlerin dışarısına Özellikler: Hepsi paralel işlenir Birbirinden bağımsız, aynı zamanda aktif olurlar Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-43

44 V erilog - Procedure Modüller istenen sayıda procedure içerebilir Chapter1: Introduction Procedure ler iki tür blok ile ifade edilirler: İnitial Sadece bir kez işlenir. Sentezlenebilir değildir fakat testbenches için kullanılır Always Sonsuza kadar işlenir. (simulasyon ya da işlem bitene kadar) Procedurel işlemlerde yalnızca registerlara değer ataynır Sürekli atamalar ve pirimitive atamaları ise inputlarda bir değişiklik olduğunda gerçekleşir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-44

45 Verilog Initial 0 zamanında çalışmaya başlayıp içerisindeki son komutu çalıştırıncaya kadar çalışırlar module nothing; initial $display( I m first ); initial begin #50; $display( Really? ); end simulation zamanı 0 da gösterilecek simulation zamanı 50 de gösterilecek endmodule Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-45

46 Verilog Sistem görevleri $display(.., arg2, arg3,..); printf() gibidir, çağırıldığında formatlanmış stringleri gösterir $monitor(.., arg2, arg3,..); $display() gibidir, fakat argümanlarından herhangi biri değiştiğinde tekrar ekrana basar $stop; çağırıldığında simulasyonu duraksatır $finish; çağırıldığında simulasyonu bitirir $fopen( filename ); dosya tanımını döndürür (integer); daha sonra bunu $fdisplay(fd,.., arg2, arg3,..); ya da $fmonitor(fd,.., arg2, arg3,..); ile yazdırma işleminde kullanabilirsiniz $fclose(fd); dosyayı kapatır $random(seed); random integer döndürür Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-46

47 Verilog Always Bir duyarlılık listesine sahiptir Chapter1: Introduction Adından da anlaşılabileceği gibi duyarlılık listesindeki herhangi bir değişken değiştiğinde herzaman işlenir Wire türlerini süremez!!! İnteger ve Register türleri üzerine işlem yapılabilir!!! İçerisinde = seri ve <= paralel atamaları yapılabilir Bu atamalara blocking ve nonblocking atama denilmektedir Sıralı işlenme mantığı => process ler ile aynı davranıştadır Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-47

48 Verilog Always (örnek) module fa_bhv (A, B, Cin, Sum, Cout) ; input A, B, Cin ; output Sum, Cout ; reg Sum, Cout; //output reg Sum, Cout; always@(a or B or Cin) // always@(a,b,cin) yada always@(*) begin Sum <= A ^ B ^ Cin; // procedural assignment Cout <= A & B (A ^ B )& Cin; // procedural assignment end endmodule Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-48

49 Verilog Register atamaları Registerlara yalnızca aşağıdaki alanlarda atama yapılır: Procedural statement (always, initial) Kullanıcı tarafından tanımlanan sıralı işleyen primitivelerde Task yada fonksiyonlarda. Register 'a aşağıdaki alanlarda atama yapılamaz: Primitive Kapı çıkışı Sürekli atamalar Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-49

50 Verilog - Atama kuralları Register değişkenleri modülün her yerinde referans gösterilebilirler Register değişkenlerinin içerisine sadece prosedürsel ifadelerde yani always ve initial bloklarının içerisinde, task ya da function larda atama yapılabilir Register değişkenleri input ya da inout olamazlar Net değişkenler modülün her yerinde referans gösterilebilirler Net değişkenleri behavior, task or function içerisinde atanamazlar. İstisna: force release Net değişkenleri modül içerisinde primitive, continuous assignment, force release ya da module port tarafından sürülmelidir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-50

51 Verilog Bloklu ve Bloksuz Bloksuz Atamalar <= ile atama yapılır İşlemler paralel bir şekilde aynı anda yapılır Örnek: clk) begin b <= 0; c <= 0; b <= a + a; c <= b + a; d <= c + a; end Atamalar Bloklu Atamalar = ile gerçekleştirilir Bloklu atamalar sıralı gerçekleştirilir Örnek: clk) begin b = 0; c = 0; b = a + a; c = b + a; d = c + a; end Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-51

52 Verilog Gecikme ve Olay Operatörleri Gecikme Kontrol Operatörü(#) İfadenin sonuçlanmasını geciktirir Bloklu atamalarda (=), gecikme tüm alttaki ifadeleri etkiler Example: clk) #10 Q = D; Olay Kontrol Operatörü(@)* Bir doğruluk net ya da register 'da gerçekleşen değişim ile devrenin aktivite akışını senkronize eder Örnek (start) RegA = Data; Örnek (posedge clk) Q = D; posedge: 0 -> 1, 0 -> x, x -> 1 anlamına gelir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-52

53 or b or c) begin if (a == b) begin data; <= 1 b1; end else if (a > b) b; end Verilog (if else) else q <= stop q <= a; q <= Chapter1: Introduction Tüm seçeneklerin ele alınıp alınmadığını kontrol edin yoksa istenmeyen letch oluşturabilirsiniz Else en yakın if ile ilişkilidir. Begin ve end kullanarak okunabilirlği arttırabilirsiniz. İç içe geçmiş if else sentez işleminden sonra seri ya da öncelikli devre oluşumuna neden olmaktadır. Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-53

54 Verilog - Case always@(state, x) begin case (state) 2 b00: next_state <= s1; 2 b01: next_state <= s2; 2 b10: begin if (x) next_state <= s0; else next_state <= s1; end default next_state <= 1 bxx; endcase end Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-54

55 Verilog For döngüsü initial integer r, i; begin r = 0; for (i = 1; i <= 7; i = i + 2) begin r[i] = 1; end end Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-55

56 Verilog Forever döngüsü initial begin clk = 0; forever begin #50 clk = 1; #50 clk = 0; end end Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-56

57 Tasks Chapter1: Introduction Verilog Task ve Fonksiyon Modül içerisinde tanımlanır Davranış olarak modül içerisinde kullanılır Tasklara in ya da inout ile parametre göndeilirken out ya da inout ile çıktı alınabilir Yerel değişken tanımlanabilir Recursion desteklenmemektedir. Functions Combinational davranışlar gerçekleştirilir Zaman kontrolü, task, while yoktur Recursion olmadan diğer fonksiyonları çağırabilir Reference ile çağırılabilir Output ya da inout a izin verilmez Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-57

58 Değerlendirme Bu derste öğrenilenler; FPGA &CPLD Tasarım süreci ve programlama Shematik tasarım geliştirme VHDL ve Verilog dilleri Chapter1: Introduction Sonraki derslerde öğrenilecekler; Quartus programının kullanımı Tasarımların simülasyonunun yapılması Örnek tasarımlar Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-58

59 Modüller Modül iki kısımdan oluşur: Çekirdek devre (yani Gövde) Arayüz (yani portlar) Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-59

60 Modüller module --- Temel yapı bloğu Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-60

61 Verilog Diziler Yazım kuralları integer count[1:5]; // 5 integers reg var[-15:16]; // 32 1-bit regs reg [7:0] mem[0:1023]; // bit regs Array elemanlarına erişim mem[10] = 8'b temp = mem[10]; var[6] = temp[2]; Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-61

62 Verilog - Operatörler Arithmetic (binary: +, -,*,/,%*); (unary: +, -) Bitwise (~, &,,^,~^,^~) Reduction (&,~&,,~,^,~^,^~) Logical (!,&&,,==,!=,===,!==) Relational (<,<=,>,>=) Shift (>>,<<) Conditional? : Concatenation and Replications {A,B} {4{B}} Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-62

63 Verilog Sürekli Atama Yazım kuralı: assign #del <id> = <expr>; Chapter1: Introduction opsiyonel net türü!! Bunarı nereye yazmalıyız: Modülün içerisine Prosedürlerin dışarısına Özellikler: Hepsi paralel işlenir Birbirinden bağımsız, aynı zamanda aktif olurlar Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-63

64 V erilog - Procedure Modüller istenen sayıda procedure içerebilir Chapter1: Introduction Procedure ler iki tür blok ile ifade edilirler: İnitial Sadece bir kez işlenir. Sentezlenebilir değildir fakat testbenches için kullanılır Always Sonsuza kadar işlenir. (simulasyon ya da işlem bitene kadar) Procedurel işlemlerde yalnızca registerlara değer ataynır Sürekli atamalar ve pirimitive atamaları ise inputlarda bir değişiklik olduğunda gerçekleşir Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-64

65 Verilog Initial 0 zamanında çalışmaya başlayıp içerisindeki son komutu çalıştırıncaya kadar çalışırlar module nothing; initial $display( I m first ); initial begin #50; $display( Really? ); end simulation zamanı 0 da gösterilecek simulation zamanı 50 de gösterilecek endmodule Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-65

66 Lexical Conventions Chapter1: Introduction C dili ile neredeyse aynı kurallar geçerlidir. Tanıtıcılar: alphanumeric characters, _, and $ Verilog büyük küçük harf ayrımına sahip bir dildir. White space: blank space (\b), tabs (\t), and new line (\n) Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-66

67 Lexical Conventions Chapter1: Introduction Comments // --- the remaining of the line /*.*/ --- what in between them Sized number: <size>`<base format><number> 4`b `habcd Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-67

68 Lexical Conventions Chapter1: Introduction Uzunluğu Belli Olmayan Sayı: `<Taban><Sayı> 2009 `habc x or z x: Belirli olmayan değer z: Yüksek Empedans Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-68

69 Lexical Conventions Chapter1: Introduction Negatif Sayılar: -<Uzunluk>`<Taban><Sayı> -4`b `habcd _ and? 16`b0101_1001_1110_0000 8`b01??_11?? // = 8`b01zz_11zz String: Have a lovely day Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-69

70 Kodlama Stili Küçük Harfler Sinyal isimleri, değişken isimleri ve port isimleri için, Büyük Harfler Sabit isimleri ve kullanıcı tanımlı veri tipleri için. Anlamlı isimleme Sinyaller, portlar, fonksiyonlar ve parametreler için Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-70

71 Değerler Kümesi Dört Değerli Lojik 0 : lojik 0, yanlış 1 : lojik 1, doğru z : yüksek empedans x : bilinmez Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-71

72 Veri Tipleri Nets: Donanım bağlantı noktaları Variables: Veri depolama üniteleri Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-72

73 Nets Aşağıdakiler tarafından sürülürler: Primitive continuous assignment force release module port Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-73

74 Değişkenler Aşağıdakilerin içinde atama yapılır. Procedural statement Task Function Kulanılmadığı durumlar: input inout Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-74

75 Modül Modelleme Teknikleri Yapısal (Structural) Kapı seviyesinde (Gate level) Anahtar seviyesinde (Switch level) Veri Akışı (Dataflow) Davranışsal veya algoritmik (Behavioral) Karmaşık (Mixed) RTL = synthesizable behavioral + dataflow constructs Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-75

76 Port Tanımlama Port Tipleri: input output inout Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-76

77 Port Bağlantı Kurallar Chapter1: Introduction Named association Positional association Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-77

78 Port Tanımlama Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-78

79 Structural modeling (Yapısal Modelleme) // gate-level hierarchical description of 4-bit adder // gate-level description of half adder module half_adder (x, y, s, c); input x, y; output s, c; // half adder body // instantiate primitive gates xor (s,x,y); and (c,x,y); endmodule Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-79

80 Structural modeling (Yapısal Modelleme) // gate-level description of full adder module full_adder (x, y, cin, s, cout); input x, y, cin; output s, cout; wire s1, c1, c2; // outputs of both half adders // full adder body // instantiate the half adder half_adder ha_1 (x, y, s1, c1); half_adder ha_2 (cin, s1, s, c2); or (cout, c1, c2); endmodule Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-80

81 Structural modeling (Yapısal Modelleme) // gate-level description of 4-bit adder module four_bit_adder (x, y, c_in, sum, c_out); input [3:0] x, y; input c_in; output [3:0] sum; output c_out; wire c1, c2, c3; // intermediate carries // four_bit adder body // instantiate the full adder full_adder fa_1 (x[0], y[0], c_in, sum[0], c1); full_adder fa_2 (x[1], y[1], c1, sum[1], c2); full_adder fa_3 (x[2], y[2], c2, sum[2], c3); full_adder fa_4 (x[3], y[3], c3, sum[3], c_out); endmodule Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-81

82 Hierarchical Design Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-82

83 Dataflow Modeling (Veri Akışı Seviyesinde Modelleme) module full_adder_dataflow(x, y, c_in, sum, c_out); // I/O port declarations input x, y, c_in; output sum, c_out; // specify the function of a full adder assign #5 {c_out, sum} = x + y + c_in; endmodule Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-83

84 Behavioral Modeling (DavranışsalModelleme) module full_adder_behavioral(x, y, c_in, sum, c_out); // I/O port declarations input x, y, c_in; output sum, c_out; reg sum, c_out; // need to be declared as reg types // specify the function of a full adder y, c_in) // or always@(x or y or c_in) #5 {c_out, sum} = x + y + c_in; endmodule Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-84

85 Mixed-Style Modeling module full_adder_mixed_style(x, y, c_in, s, c_out); // I/O port declarations input x, y, c_in; output s, c_out; reg c_out; wire s1, c1, c2; // structural modeling of HA 1 xor xor_ha1 (s1, x, y); and and_ha1(c1, x, y); // dataflow modeling of HA 2 assign s = c_in ^ s1; assign c2 = c_in & s1; // behavioral modeling of output OR gate c2) // c_out = c1 c2; endmodule Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-85

Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK

Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri www.selsistem.com.tr Donanım Tanımlama Dilleri - HDL İlk olarak 1977 yılında, ISP(Instruction Set Processor) -

Detaylı

FPGA ile Gömülü Sistem Tasarımına Giriş

FPGA ile Gömülü Sistem Tasarımına Giriş FPGA ile Gömülü Sistem Tasarımına Giriş Bilg. Yük. Müh. Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri www.selsistem.com.tr Giriş Gömülü Sistemler Programlanabilir Lojik - SPLD FPGA & CPLD Donanım

Detaylı

03.03.2014 VERILOG. Modüller

03.03.2014 VERILOG. Modüller VERILOG Modüller Devre bileşenleri module içinde tasarlanır. Modüller hem yapısal hem de davranışsal ifadeleri içerebilir. Yapısal ifadeler lojik kapılar, sayaçlar ve mikroişlemciler gibi devre bileşenlerini

Detaylı

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula Programlanabilir Lojik Basit Programlanabilir Lojik Cihazlar (Simple Programmable Logic Device - SPLD) ** PAL (Programmable

Detaylı

Programlanabilir Devreler

Programlanabilir Devreler Programlanabilir Devreler Testbench & Simülasyon İçerik Tasarlamış olduğumuz sayısal sistemlerin fonksiyonel olarak istenildiği gibi gerçekleştirdiğini doğrulamak gerekir. Verilog ve VHDL gibi donanım

Detaylı

HDL Dilleri VHDL. Son olarak, spesifik ASIC teknolojisi için devrenin yerleşimi netlist tanımlamalarından gelen diğer araçlarla oluşturulmuş olunur.

HDL Dilleri VHDL. Son olarak, spesifik ASIC teknolojisi için devrenin yerleşimi netlist tanımlamalarından gelen diğer araçlarla oluşturulmuş olunur. HDL Dilleri HDL(Donanım Tanımlama Dili); tasarımın, HDL dillerinden her hangi bir tanesinin kullanılarak yapılmasıdır. HDL bir donanım parçasını modellemek için kullanılan yazılım dilidir. VHDL ile Verilog

Detaylı

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI Yard. Doç. Dr. Özdemir ÇETİN Sunu Başlıklar kları 1. Amaç 2. Temel Bilgiler 1. SoC (System-On-Chip) nedir? 2. SoC donanım araçları ASIC (Application

Detaylı

Digital Design HDL. Dr. Cahit Karakuş, February-2018

Digital Design HDL. Dr. Cahit Karakuş, February-2018 Digital Design HDL Dr. Cahit Karakuş, February-2018 NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

Detaylı

FPGA ile Gömülü Sistem Tasarımına Giriş Bilgisayar Bil. Müh. Selçuk BAŞAK

FPGA ile Gömülü Sistem Tasarımına Giriş Bilgisayar Bil. Müh. Selçuk BAŞAK FPGA ile Gömülü Sistem Tasarımına Giriş Bilgisayar Bil. Müh. Selçuk BAŞAK Yıldız Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü Lisans Üstü Semineri Bahar 2009 Giriş Programlanabilir Lojik - SPLD FPGA

Detaylı

VHDL. Ece Olcay Güneş & S. Berna Örs

VHDL. Ece Olcay Güneş & S. Berna Örs VHDL Ece Olcay Güneş & S. Berna Örs Giriş VHDL VHSIC Hardware Description Language in kısaltmasıdır. VHSIC Very High Speed Integrated Circuit in kısaltmasıdır. VHDL dışında da pekçok donanım tasarlama

Detaylı

FPGA İLE UYGULAMA ÖRNEKLERİ

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Display Kontrol ve (0-9999) Sayıcı Uygulaması 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda deneme kartımız üzerinde bulunan 8 adet (4x2 display

Detaylı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Operand türleri Assembly dili 2 İşlemcinin yapacağı iş makine komutlarıyla belirlenir. İşlemcinin

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

T.C. RC SERVO MOTOR KONTROLÜ

T.C. RC SERVO MOTOR KONTROLÜ T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ RC SERVO MOTOR KONTROLÜ İBRAHİM ALİ METİN BİLECİK 30 Mart 2015 T.C. BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı SAYISAL TASARIM Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 4 Programlanabilir Mantık Elemanları Programlanabilir mantık aygıtları (Programmable Logic Devices), PLD mantık geçitleri ve flip-floplar

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Bilgisayarların Gelişimi

Bilgisayarların Gelişimi Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım

Detaylı

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi Buse Ustaoğlu Berna Örs Yalçın İçerik Giriş Çalişmanın Amacı Mikroişlemciye Hata Enjekte Etme Adımları Hata Üreteci Devresi

Detaylı

FPGA Mimarisi. Bilgisayar Mimarisinde Yeni Yaklaşımlar. Mehmet AKTAŞ

FPGA Mimarisi. Bilgisayar Mimarisinde Yeni Yaklaşımlar. Mehmet AKTAŞ FPGA Mimarisi Bilgisayar Mimarisinde Yeni Yaklaşımlar Mehmet AKTAŞ 1. Giriş Sigorta Bağlantılı Teknolojiler Karşıt Sigorta Teknolojisi ROM PROM EPROM EEPROM SRAM 2. Programlanabilir Teknolojiler Programlanabilir

Detaylı

FPGA İLE UYGULAMA ÖRNEKLERİ

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile PWM Sinyal Ü retim Üygulaması FPGA İLE UYGULAMA ÖRNEKLERİ 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda deneme kartımız üzerinde bulunan 1 adet LED

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü MATLAB a GİRİŞ Doç. Dr. Mehmet İTİK Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü İçerik: MATLAB nedir? MATLAB arayüzü ve Bileşenleri (Toolbox) Değişkenler, Matris ve Vektörler Aritmetik işlemler

Detaylı

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı BİM618 Evrimsel Algoritmalar Öğretim Üyesi Prof. Dr. Derviş Karaboğa Görüşme Saatleri 8.00-17.00 E posta: karaboga@erciyes.edu.tr http://abis.erciyes.edu.tr/sorgu.aspx?sorgu=236 Erciyes Üniversitesi, Mühendislik

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

Detaylı

BSE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits)

BSE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits) SE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates nd Logic Circuits) Sakarya Üniversitesi Lojik Kapılar - maçlar Lojik kapıları ve lojik devreleri tanıtmak Temel işlemler olarak VE,

Detaylı

FPGA ile 2x16 LCD Uygulaması

FPGA ile 2x16 LCD Uygulaması FPGA ile 2x16 LCD Uygulaması FPGA İLE UYGULAMA ÖRNEKLERİ 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen uygulamalar günden güne giderek çeşitlenmektedir. FPGA ların üstünlükleri/eksiklikleri,

Detaylı

William Stallings Computer Organization and Architecture 9 th Edition

William Stallings Computer Organization and Architecture 9 th Edition William Stallings Computer Organization and Architecture 9 th Edition Bölüm 5 İç Hafıza Bir Hafıza Hücresinin Çalışması Bütün hafıza hücrelerinin ortak özellikleri vardır: 0 ve 1 durumundan birini gösterirler

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

Gömülü Sistemler. (Embedded Systems)

Gömülü Sistemler. (Embedded Systems) Gömülü Sistemler (Embedded Systems) Tanım Gömülü Sistem (Embedded System): Programlanabilir bilgisayar içeren fakat kendisi genel amaçlı bilgisayar olmayan her türlü cihazdır. Gömülü Sistem (Embedded System):

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER BELLEKLER Genel olarak bellekler, elektronik bilgi depolama üniteleridir. Bilgisayarlarda kullanılan bellekler, işlemcinin istediği bilgi ve komutları maksimum hızda işlemciye ulaştıran ve üzerindeki bilgileri

Detaylı

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler Fundamentals, Design, and Implementation, 9/e Üç Şema Modeli Üç şema modeli 1975 de ANSI/SPARC tarafından geliştirildi Veri modellemeninç ve rolünü

Detaylı

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Seri Haberleşme (RS232) Uygulaması FPGA ile Seri Haberleşme (RS232) Uygulaması 1 FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda, geliştirme kartımız üzerinde bulunan giriş / çıkış pinlerini FT232RL

Detaylı

Proje #2 - Lojik Devre Benzetimi

Proje #2 - Lojik Devre Benzetimi Kocaeli Universitesi Bilgisayar Mühendisliği Programlama Laboratuvarı I BLM 209 Proje #2 - Lojik Devre Benzetimi Dosya Operasyonları Üzerine Uygulama Geliştirme Arş. Gör. Süleyman Eken & Arş. Gör. Furkan

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları 4. Operatörler İfade içerisindeki değişken ve diğer ifadelere uygulandığında yeni değerlerin elde edilmesini sağlayan ve kendilerine özel sembolik gösterimleri olan sözdizimleridir. mikroc derleyicisi

Detaylı

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş C ile 8051 Mikrodenetleyici Uygulamaları BÖLÜM 2 8051 Mikrodenetleyicisine Giriş Amaçlar 8051 mikrodenetleyicisinin tarihi gelişimini açıklamak 8051 mikrodenetleyicisinin mimari yapısını kavramak 8051

Detaylı

SAYISAL VLSI SİSTEM TASARIM AKIŞI

SAYISAL VLSI SİSTEM TASARIM AKIŞI SAYISAL VLSI SİSTEM TASARIM AKIŞI 1 Tasarım Öncesi: Ürünle ilgili bilgilerin olgunlaştırılması: kullanım yeri/amacı? yıllık gereksinim (sayı)? teknik gereksinimler/özellikler (spec.)? Fizibilite çalışması:

Detaylı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,

Detaylı

DONANIM KURULUMU. Öğr. Gör. Murat YAZICI. 1. Hafta.

DONANIM KURULUMU. Öğr. Gör. Murat YAZICI. 1. Hafta. 1. Hafta DONANIM KURULUMU Öğr. Gör. Murat YAZICI www.muratyazici.com Artvin Çoruh Üniversitesi, Artvin Meslek Yüksekokulu Bilgisayar Teknolojisi Programı Dersin İçeriği BELLEKLER Belleğin Görevi Bellek

Detaylı

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ Yrd. Doç. Dr. Mustafa H.B. UÇAR 1 2. HAFTA Yrd. Doç. Dr. Mustafa Hikmet Bilgehan UÇAR Entegre Yapıları Lojik Kapılar Lojik

Detaylı

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL Bu dönemki Bil264L dersinde kullanacağımız Xilinx ISE Web 14.7 programında nasıl proje oluşturacağımız, oluşturduğumuz devreleri nasıl test edeceğimiz ve bu devreleri

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı

SAYISAL ELEKTRONİK. Ege Üniversitesi Ege MYO Mekatronik Programı SYISL ELEKTRONİK Ege Üniversitesi Ege MYO Mekatronik Programı ÖLÜM 3 Mantık Geçitleri Değil (Inverter) Geçidi İnverter geçidi oolean NOT işlemini yapar. Giriş YÜKSEK olduğunda çıkışını DÜŞÜK, giriş DÜŞÜK

Detaylı

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL

XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL XILINX ISE WEBPACK 14.7 UYGULAMA TUTORIAL Bu dönemki Bil264L dersinde kullanacağımız Xilinx ISE Web 14.7 programında nasıl proje oluşturacağımız, oluşturduğumuz devreleri nasıl test edeceğimiz ve bu devreleri

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

7- Turbo Pascal Programlamada Alt Programlar (Procedure) 7- Turbo Pascal Programlamada Alt Programlar (Procedure) Alt programların ana programda yapacağımız ek işlevleri üstlendiğinden daha önceki bölümde bahsetmiştik. Alt programlar genelde ana program bloğu

Detaylı

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1 SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1 Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ

Detaylı

LAB 0 : Xilinx ISE Kullanımı

LAB 0 : Xilinx ISE Kullanımı LAB 0 : Xilinx ISE Kullanımı 1. Proje Yaratma a. Xilinx ISE programını açınız. b. File à New Project menüsünü seçiniz. New Project Wizard diyalog penceresi açılacaktır. c. New Project Wizard diyalog penceresinde

Detaylı

27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK Mikroişlemci HAFTA 1 HAFIZA BİRİMLERİ Program Kodları ve verinin saklandığı bölüm Kalıcı Hafıza ROM PROM EPROM EEPROM FLASH UÇUCU SRAM DRAM DRRAM... ALU Saklayıcılar Kod Çözücüler... GİRİŞ/ÇIKIŞ G/Ç I/O

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

VHDL Programlama Dili ve Sayısal Elektronik Devrelerin FPGA Tabanlı Uygulaması

VHDL Programlama Dili ve Sayısal Elektronik Devrelerin FPGA Tabanlı Uygulaması 6 th International Advanced Technologies Symposium (IATS 11), 16-18 May 2011, Elazığ, Turkey VHDL Programlama Dili ve Sayısal Elektronik Devrelerin FPGA Tabanlı Uygulaması S. Uzun 1, M. R. Canal 2, M.

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması

Detaylı

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları

HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları HDL ile Gelişmiş Sayısal Tasarım (EE 425) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Saati Kredi AKTS HDL ile Gelişmiş Sayısal Tasarım EE 425 Her İkisi 2 2 0 3 5 Ön Koşul

Detaylı

BLM 221 MANTIK DEVRELERİ

BLM 221 MANTIK DEVRELERİ 8. HAFTA BLM 221 MANTIK DEVRELERİ Prof Dr Mehmet AKBABA mehmetakbaba@karabuk.edu.tr Temel Kavramlar MULTIPLEXERS (VERİ SEÇİCİLER), ÜÇ DURUMLU BUFFERS, DECODERS (KOD ÇÖZÜCÜLER) BELLEK ELEMANLARI 2 8.2.

Detaylı

KONTROL VE OTOMASYON KULÜBÜ

KONTROL VE OTOMASYON KULÜBÜ KONTROL VE OTOMASYON KULÜBÜ C DİLİ İLE MİKROKONTROLÖR PROGRAMLAMA EĞİTİMİ Serhat Büyükçolak Ahmet Sakallı 2009-2010 Güz Dönemi Eğitimleri Mikrokontrolör Gömülü sistemlerin bir alt dalı olan mikrokontrolör

Detaylı

ELM320- ENTEGRE DEVRE TASARIMI

ELM320- ENTEGRE DEVRE TASARIMI ELM320- ENTEGRE DEVRE TASARIMI METODOLOJİLER GİRİŞ CMOS Yapısı + V DD V H1 0 V in S G G S D D Q 2 V H1 Q 1 V o 0 CMOS Tersleyici Transfer Karakteristiği 2 Neden CMOS? Gerilimin +V DD den 0V a düştüğü veya

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Bilgisayar Mimarisi ve Organizasyonu Giriş

Bilgisayar Mimarisi ve Organizasyonu Giriş + Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008 Sinirsel Benzetim ve NSL İlker Kalaycı 06, 2008 Gündem Yapay Sinir Ağları Benzetim Benzetim Dilleri Sinirsel Benzetim Dilleri NEURON, GENESIS,NEST Gündem Neural Simulation Language (NSL) Tarihçe Genel

Detaylı

Veri Yapıları ve Algoritmalar

Veri Yapıları ve Algoritmalar 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde

Detaylı

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber FPGA ile Kablosuz Görüntü Aktarımı Yusuf Onur Koçberber Seminer 2009 Yaz Plan FPGA Genel bilgiler FPGA nın İç Yapısı, Nasıl Programlanabiliyor?, Nasıl Çalışıyor? Neden bu kadar popüler oldu? MPW Her şeyin

Detaylı

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER Yazılımı ve Genel Özellikleri Doç.Dr. Cüneyt BAYILMIŞ Kablosuz Ağların Modellemesi ve Analizi 1 OPNET OPNET Modeler, iletişim sistemleri ve

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar Ders 5, Slayt 2 1 BACAK BAĞLANTILARI Ders 5, Slayt 3 PIC

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

(Random-Access Memory)

(Random-Access Memory) BELLEK (Memory) Ardışıl devreler bellek elemanının varlığı üzerine kuruludur Bir flip-flop sadece bir bitlik bir bilgi tutabilir Bir saklayıcı (register) bir sözcük (word) tutabilir (genellikle 32-64 bit)

Detaylı

BÖLÜM 2 SAYI SİSTEMLERİ

BÖLÜM 2 SAYI SİSTEMLERİ İÇİNDEKİLER BÖLÜM 1 GİRİŞ 1.1. Lojik devre içeriği... (1) 1.1.1. Kodlama, Kod tabloları... (2) 1.1.2. Kombinezonsal Devre / Ardışıl Devre... (4) 1.1.3. Kanonik Model / Algiritmik Model... (4) 1.1.4. Tasarım

Detaylı

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için,

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, PDP 7 1 İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, operatörlerin sırası ve İşlenenlerin (operant) değerlendirmesine aşina olmamız

Detaylı

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış

Detaylı

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri

Detaylı

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı Bilgisayarı yapısal olarak; bilgilerin girilmesi, girilen bilgilerin belirtilen durumlara

Detaylı

Bilgisayar Programcılığı Ön Lisans Programı BİLGİSAYAR DONANIMI. Öğr. Gör. Rıza ALTUNAY

Bilgisayar Programcılığı Ön Lisans Programı BİLGİSAYAR DONANIMI. Öğr. Gör. Rıza ALTUNAY Bellekler Ünite 4 Bilgisayar Programcılığı Ön Lisans Programı BİLGİSAYAR DONANIMI Öğr. Gör. Rıza ALTUNAY 1 Ünite 4 BELLEKLER Öğr. Gör. Rıza ALTUNAY İçindekiler 4.1. BELLEĞIN YAPISI VE ÇALIŞMASI... 3 4.2.

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

FGPA ile Gömülü Sistem Tasarımına Giriş Introduction to Embeded System Design Using FPGA

FGPA ile Gömülü Sistem Tasarımına Giriş Introduction to Embeded System Design Using FPGA FGPA ile Gömülü Sistem Tasarımına Giriş Introduction to Embeded System Design Using FPGA Selçuk BAŞAK Özetçe Bilgisayar Mühendisliği Bölümü Yıldız Teknik Üniversitesi, İstanbul selcuk@selsistem.com Bu

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞİFRELEME ALGORİTMASININ FPGA'DA UYGULANMASI. Yasin AKMAN YÜKSEK LİSANS TEZİ

T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞİFRELEME ALGORİTMASININ FPGA'DA UYGULANMASI. Yasin AKMAN YÜKSEK LİSANS TEZİ T.C. TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ŞİFRELEME ALGORİTMASININ FPGA'DA UYGULANMASI Yasin AKMAN YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI Tez Danışmanı: YRD. DOÇ. DR. TARIK YERLİKAYA

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ Resul KARA Elektronik ve Bilgisayar Eğitimi Bölümü Teknik Eğitim Fakültesi Abant İzzet Baysal Üniversitesi, 81100,

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java da İşleçler, Ders #3 (4 Kasım 2009) Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu

Detaylı