Föy Kitapçıg ı O NDOKUZ M AYIS Ü N I VERS I TES I B I LG I SAYAR M ÜHEND I SL I G I B ÖLÜMÜ S AYISAL TASARIM L ABORATUVARI

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

Download "Föy Kitapçıg ı O NDOKUZ M AYIS Ü N I VERS I TES I B I LG I SAYAR M ÜHEND I SL I G I B ÖLÜMÜ S AYISAL TASARIM L ABORATUVARI"

Transkript

1 O NDOKUZ M AYIS Ü N I VERS I TES I B I LG I SAYAR M ÜHEND I SL I G I B ÖLÜMÜ S AYISAL TASARIM L ABORATUVARI Föy Kitapçıg ı Düzenleyenler: Doç. Dr. Erdal KILIÇ Erdem ALKIM 12 S ubat 213

2

3 Sayısal Tasarım Laboratuvar Föyü Giriş Bu dökuman Altera DE2-115 serisi FPGA geliştirme kitleri için hazırlanmış oniki deneyden oluşmaktadır. Bu deneyler öğrencilerin Sayısal Devreler ve Mantıksal Tasarım" dersini daha iyi anlayabilmeleri için ders müfredatına göre oluşturulmuştur. Deneyler Altera nın Quartus II yazılımı kullanılarak gerçeklenmektedir. Bu yazılımın kullanımının anlatılması dersin müfredatı içinde bulunmamaktadır. Laboratuvara ait internet sitesinde DE2 geliştirma kitleri için Verilog HDL ile oluşturulmuş basit bir devrenin Quartus II yazılımında nasıl derleneceğini ve karta yükleneceğini anlatan bir doküman bulunmaktadır. Öğrenciler laboratuvara gelmeden önce Quartus II yazılımını edinmeli ve bu dokümanları inceleyip uygulamalıdırlar. Ayrıca deney kartları ve yazılımlar hakkında birçok ingilizce dokümana Altera nın sitesinde University Program sayfasında Educational Materials linkinden ulaşılabilir. Deneyler Hakkında Deneyler DE2 geliştirme kitlerinin üzerindeki anahtarları kullanarak ledlerin yada 7-segment göstergelerin kontrol edilmesi gibi basit uygulamalarla başlamaktadır. Bu, öğrencilerin geliştirme kitini daha iyi tanımasını sağlayarak, aritmetik devreler, flip-floplar, sayaçlar, durum makineleri, hafıza birimleri ve basit işlemci gibi daha karmaşık tasarımları gerçeklemek için nasıl kullanacaklarını öğretir. Her deney birden çok uygulama içermektedir. Çoğu zaman bir önceki uygulamada oluşturuln devre bir sonrakinde kullanılmaktadır. Bu yapı öğrencilerin karmaşık devreleri küçük görevlere bölerek adım adım gerçeklemesini sağlamak amacıyla kullanılmıştır. i

4 ii

5 İçindekiler Lab1: Anahtarlar, Ledler, Multiplexerlar Lab2: Rakamlar ve Göstergeler Lab3: Mandallar, Flip-floplar, Kaydediciler Lab4: Sayaçlar Lab5: Zamanlayıcılar ve Gerçek Zamanlı Saat Lab6: Toplayıcı, Çıkarıcı ve Çarpıcılar Lab7: Sonlu Durum Makinesi Lab8: Hafıza Birimleri Lab9: Basit İşlemci I Lab1: Basit İşlemci II iii

6 iv

7 Laboratuvar Çalışması 1 Anahtarlar, Ledler ve Multiplexerlar Bu çalışmanın amacı, FPGA yongalarının giriş çıkışlarını yönetmek ve devreleri bu gürüş çıkışlara nasıl bağlayacağımızı öğrenmektir. Bu çalışmada anahtarları (SW 17 ) giriş olarak, ledleri ve 7-segment göstergeleri çıkış olarak kullanacağız. Uygulama I DE2 serisi kartlar herhengi bir devreye giriş olarak kullanılabilinecek 18 tane anahtar (SW 17 ) içerirler. Bunun yanında devrenin çıkışlarını görmek için kullanılabilinecek 18 tanede led (LEDR 17 ) barındırırlar. Anahtarların durumlarını ledler ile gösteren bir Verilog Modülü Şekil 3 te gösterilmiştir. 18 seçici ve led olmasına rağmen Verilogda bunları tek bir vektör ile gösterebiliriz. Bununla birlikte bütün ledlere ayrı ayrı atamalarda yapabiliriz. assign LEDR[17] = SW[17]; assign LEDR[16] = SW[16];... assign LEDR[] = SW[]; DE2 serisi kartların üstündeki anahtar ve ledleri kullanmak için değişken tanımlamak yeterli değildir. Tanımladığımız değişkenleri FPGA in DE2-series User Manual da verilen doğru pinlerine bağlamamız gerekir. Örnek olarak kullandığımız DE2-115 modelinde SW değişkenini FPGA in AB28 ve LEDR değişkenini ise FPGA de G19 pinine bağlamamız gerekmektedir. Doğru pin ataması yapmanın en güvenilir yolu Quartus II yazılımına DE2_115_pin_assignments.qsf dosyasını import etmektir. Böylece verilog kodunda LEDR değişkenini kullandığımızda otomatik olarak G19 pinine bağlanır. Quartus II programına pin_assignments dosyasını import etmek için;import Assignments a tıklandıktan sonra açılan Şekil 1 deki pencereden Advanced... butonuna tıklanır, açılan Şekil 2 deki pencereden ise Global assignments kutusu işaretlenip OK butonuyla kapatılır. Şekil 1: DE2-115 Import Assignments Penceresi. Burada önemli olan.qsf dosyasının kullanılması sadece pin isimlerinin verilog modülündeki portlarla tam olarak aynı olmasıyla yararlı olur. Bu yüzden Şekil 3 te olduğu gibi kolarımızda hep büyük harflerle kullanacağız. Şekil 3 teki kodu FPGA kartında uygulamak için aşağıdaki adımları izleyin: 1

8 Şekil 2: DE2-115 Advanced Import Settings Penceresi. // Ledlerle anahtarların bağlandığı basit bir modül module part1 (SW, LEDR); input [17:] SW; // Anahtarlar output [17:] LEDR; // Kırmızı Ledler assign LEDR = SW; endmodule Şekil 3: Ledlerin ve anahtarların kullanıldığı verilog kodu 1. eni bir Quartus II projesi oluşturun. Cyclone IV EP4CE115F29C7 FPGA yongasını seçin. 2. Şekil 3 teki kod için verilog modülü oluşturun ve projenize ekleyin. 3. Projenize pin assignments dosyasını ekleyin ve derleyin. 4. Derlenmiş devreyi FPGA yongasına yükleyin ve seçicilerin konumunu değiştirerek ledleri kontrol edin. Uygulama II Şekil 4a s seçici ucuna sahip, 2x1 lik bir multiplexerı çarpımlar toplamı olarak göstermektedir. Eğer s = ise multiplexerın çıkışı (m) x girişine eşittir. Eğer s = 1 ise çıkış y girişine eşit olacaktır. b şeklinde multiplexerın doğruluk tablosu c şeklinde ise devre sembolü gösterilmiştir. 2

9 x m s y a) Circuit s 1 m x y s x y 1 m b) Truth table c) Symbol Şekil 4: 2x1 lik multiplexer. Bir multiplexer verilog kodunda aşağıdaki gibi tanımlanır. assign m = ( s & x) (s & y); Bu kodu kullanarak 8 atamadan oluşan şekil 5a daki gibi bir devrenin verilog modülü oluşturun. Devre iki 8-bitlik girişi ve bir 8-bitlik çıkışa sahip, ve eğer s = ise M = X, s = 1 ise M = Y şeklinde çalışmaktadır. Şekil 5b de oluşturacağımız 8-bitlik multiplexerin devre sembolü gösterilmiştir. Bu modülü oluştururken aşağıdaki adımları izleyin. s x 7 y 7 1 m 7 x 6 y 6 1 m 6 s X Y M x y 1 m a) Circuit b) Symbol Şekil 5: 8-bit 2x1 lik multiplexer. 3

10 1. Quartus II programında devreniz için yeni bir proje oluşturun. 2. Oluşturduğunuz 8-bitlik multiplexer verilog kodunu projeye ekleyin. Burada X yerine SW 7, Y için SW 15 8 ve s girişi içinde SW 17 anahtarlarını atayın. Bu anahtarları aynı sıradaki kırmızı ledlere (LEDR) bağlayın ve son olarak M çıkışını yeşil ledlere (LEDG 7 ) bağlayın. 3. Projenize pin assignments dosyasını ekleyin. 4. Projeyi derleyin. 5. Derlenmiş projeyi FPGA kartına yükleyin ve devrenin işlevlerini kontrol edin. Uygulama III Uygulama II de 2x1 lik multiplexer uygulaması gösterilmişti. Ancak multiplexerlar ikiden fazla sayıda girişe sahip olabilmektedir. Şekil 6 da 2x1 lik multiplexerler yardımıyla nasıl 5x1 lik bir multiplexer oluşturabileceğiniz gösterilmiştir. Devre 3-bitlik seçici uç kullanmaktadır(s 2 s 1 s ). Daha önce 2x1 lik multiplexerda 8-bitlik değişkenler kullanmıştık, Şekil 7 de 5x1 lik multiplexerda 3-bitlik değişkenlerin kullanıldığı bir örnek gösterilmiştir. Uygulama II de yaptığımız gibi bu devreyide Şekil 6a daki devrenin kombinasyonu şeklinde oluşturmanız gerekmektedir. s 2 s 1 s u v m w x 1 y a) Circuit s 2 s 1 s m u 1 v 1 w 1 1 x 1 y 1 1 y 1 1 y y s 2 s 1 s u v w x y m b) Truth table c) Symbol Şekil 6. 5x1 lik multiplexer. 4

11 s 2 s 1 s U V W X M Y 3 Şekil 7. 3-bit 5x1 lik multiplexer. Bunun için aşağıdaki adımları izleyin: 1. Devreniz için bir Quartus II projesi oluşturun. 2. Verilogda 3-bitlik değişkenlerin kullanıldığı bir 5x1 lik multiplexer modülü oluşturun ve seçme ucu SW 17 15, diğer beş girişide SW 14 uçlarına bağlayın, Anahtarların durumlarını görmek için kırmızı ledleri ve devrenin çıkışını görmek için ise yeşil ledleri kullanın. 3. Projenize pin assignment dosyasını ekleyerek derleyin. 4. Derlediğiniz dosyayı FPGA kartına yükleyip devrenizin doğru çalışıp çalışmadığını test edin. Uygulama IV Şekil 8 de 3-bit girişli (c 2 c 1 c ) bir 7-segment dekoder gösterilmiştir. Dekoder 7-segment göstergeyi sürmek üzere 7 çıkışa sahiptir. Tablo 1 de girişin kombinasyonlarına göre göstergede gösterilmesi gereken harfler verilmiştir.( arasındaki girişler boş olarak ayarlanmalıdır.) 7-segment göstergeler şekil 8 deki gibi -6 indisleriyle tanımlanır. Yazacağınız verilog modülünde verilen harfler için gerekli olan lojic fonksiyonlarını içermelidir. Kodunuzda boolean işlemleri gerçeklemek için sadece basit assign kodunu kullanmalısınız. c 2 c 1 c 7-segment decoder Şekil 8. 7-segment çözücü. 5

12 c 2 c 1 c Karakter H 1 E 1 L 11 O Tablo 1. Karakter Kodları. Aşağıdaki adımları takip edin: 1. Devreniz için yeni bir Quartus II projesi oluşturun segment dekoderi yazacağınız verilog dosyasını oluşturun. Girişleri SW 2 a bağlayın ve çıkışı HEX 6 a bağlamanız gerekmektedir. 7-segment göstergeyi modülünüze çıkış olarak verebilmeniz için çıkışı aşağıdaki şekilde tanımlamalısınız. output [:6] HEX; 3. pin assignment dosyasını projenize ekledikten sonra projenizi derleyin. 4. Derlediğiniz projeyi FPGA kartına yükleyip anahtarları değiştirerek 7- segment göstergeyi test edin. Uygulama V Uygulama III ve Uygulama IV de oluşturduğunuz modülleri Şekil 9 daki devreyi oluşturacak şekilde birleştirerek yeni bir devre oluşturmalısınız. Oluşturmanız gereken verilog kodunun iskelet yapısı Şekil 1 da verilmiştir. Daha sonra kodunuzu tablo 2 deki gibi HELLO kelimesini gösterecek ve girişin durumuna göre kaydırabilecek şekilde düzenlemelsiniz. SW 17 SW 16 SW 15 SW SW 11 9 SW 8 6 SW 5 3 SW segment decoder Şekil 9. Beş karakterden birini seçip gösteren devre. 6

13 module part5 (SW, HEX); input [17:] SW; // anahtarlar output [:6] HEX; // 7-seg göstergeler wire [2:] M; mux_3bit_5to1 M (SW[17:15], SW[14:12], SW[11:9], SW[8:6], SW[5:3], SW[2:], M); char_7seg H (M, HEX); endmodule // 3-bit 5x1 lik multiplexer module mux_3bit_5to1 (S, U, V, W, X, Y, M); input [2:] S, U, V, W, X, Y; output [2:] M;... kod gösterilmiyor endmodule module char_7seg (C, Display); input [2:] C; // input output [:6] Display; // output... code not shown endmodule Şekil 1. Şekil 9 daki devrenin verilog kodu. SW 17 SW 16 SW 15 Karakter H E L L O 1 E L L O H 1 L L O H E 11 L O H E L 1 O H E L L Tablo 2. Beş göstergede kayan "HELLO" yazısı. Aşağıdaki adımları izleyin: 1. Yeni bir proje oluşturun. 2. Projeye verilog codunuzu ekleyin. Modülünün girişini SW ve çıkışını HEX4, HEX3, HEX2, HEX1, ve HEX olacak şekilde ayarlayın. 3. pin assignment dosyasını projenize ekleyip derleyin. 4. Derlediğiniz projeyi FPGA kartına yükleyip, girişin durumuna göre göstergelerin doğruluğunu test edin. 7

14 Uygulama VI Uygulama V deki kodu tüm 7-segment göstergeleri kapsayacak şekilde genişletin. Tablo 3 teki gibi göstergeleri sürecek modülü oluşturun. SW 17 SW 16 SW 15 Character pattern H E L L O 1 H E L L O 1 H E L L O 11 H E L L O 1 E L L O H 11 L L O H E 11 L O H E L 111 O H E L L Tablo 3. Sekiz gösterge kayan "HELLO" yazısı. Aşağıdaki adımları izleyin: 1. Yeni bir proje oluşturun. 2. Projeye verilog codunuzu ekleyin. Modülünüün girişini SW ve çıkışını HEX7,..., HEX olacak şekilde ayarlayın. 3. pin assignment dosyasını projenize ekleyip derleyin. 4. Derlediğiniz projeyi FPGA kartına yükleyip, girişin durumuna göre göstergelerin doğruluğunu test edin. 8

15 Laboratuvar Çalışması 2 Sayılar ve Göstergeler Bu çalışmanın amacı kombinasyonel devreler tasarlayarak ikilik sayılar ile onluk sayılar üzerinde işlem yapmak ve ikili olarak kodlanmış onluk sistemde (BSD) toplama işlemini gerçeklemektir. Uygulama I 7-segment göstergeleri (HEX3 HEX) anahtarlarla (SW 15 ) ile sürmek istiyoruz. Oluşturacağınız modül göstergelerde dan 9 a kadar olan rakamları gösterecek yapıda olmalıdır. Bunun için dekoderinizin girişi 4-bit olmalı ve herbir dekoder için 11 dan 1111 e kadar girişler etkisiz olmalıdır. Aşağıdaki adımları izleyin: 1. Yeni bir proje oluşturun. 2. Projeye verilog dosyası ekleyin. Verilog ile oluşturacağınız modülünüzde 7- segment göstergeleri sadece basit assign komutuyla atamalısınız. 3. Modülün girişini SW[15:] ve çıkışını HEX3, HEX2, HEX1 ve HEX olacak şekilde ayarlayın. 4. pin assignment dosyasını projenize ekleyip derleyin. 5. Derlediğiniz projeyi FPGA kartına yükleyip, girişin durumuna göre göstergelerin doğruluğunu test edin. Uygulama II 4-bit ikilik sayıyı iki basamaklı onluk sayıya çeviren bir devre tasarlamalısınız. Tablo 1 de girişin durumuna göre olması gereken çıkışlar verilmiştir. Oluşturmanız gereken devrenin sembolik gösterimi Şekil 1 de verilmiştir. Oluşturacağınız modül if-else yada case gibi ifadeler içermemeli sadece boolean işlemler ile oluşturulmuş olmalıdır. Aşağıdaki adımları izleyin: 1. Yeni bir proje oluşturun. Binary value Decimal digits Table 1. Binary-to-decimal conversion values. 2. Projeye verilog dosyası ekleyin. Modülünüzü B devresi ve dekoder olmadan oluşturun. v 3 girişlerini anahtarlara, m 3 ile z çıkışlarınıda ledlere bağlayarak derleyin ve devrenizin doğru çalıştığından emin olun. 3. B devresini ve dekoderi kodunuza ekleyerek modülün çıkışını HEX1 ve HEX olarak ayarlayın. 9

16 4. pin assignment dosyasını projenize ekleyip derleyin. 5. Derlediğiniz projeyi FPGA kartına yükleyip, girişin durumuna göre göstergelerin doğruluğunu test edin. Comparator z d 1 v 3 1 m 3 Circuit B d v 2 v m 2 m 1 7-segment 7 decoder v 1 m Circuit A Şekil 1: Partial design of the binary-to-decimal conversion circuit. Uygulama III a, b ve c j girişlerine, s ve c çıkılarına sahip bir tam toplayıcıya ait devre şeması Şekil 2a da verilmiştir. Şekil 2b ve c de tam toplayıcıya ait devre sembolü ve doğruluk tablosu gösterilmiştir. Şekil 2d de ise 4-bitlik bir tam toplayıcının devre şeması verilmiştir. Burada her bir bitin toplanması sonucu oluşan eldenin bir sonraki toplama işlemine eklendiği görülebilir. 1

17 c i a b 1 s c o c i a b FA s c o a) Full adder circuit b) Full adder symbol b ac i c o s b 3 a 3 c 3 b 2 a 2 c 2 b 1 a 1 c 1 b a c in FA c out s 3 FA s 2 FA s 1 FA s c) Full adder truth table d) Four-bit ripple-carry adder circuit Şekil 2: A ripple-carry adder circuit. Bu devrenin verilog kodunu aşağıdaki adımları takip ederek oluşturun. 1. Yeni bir proje oluşturun. Bir tam toplayıcı alt modülü yazın ve ana modülü 4-bitlik toplamayı yapmak için bu alt modülü kulanacak şekilde oluşturun. 2. Modülün girişlerini anahtarlara ve anahtarlarıda durumlarını görmek için kırmızı ledlere bağlayın. Modülün çıkışlarını ise yeşil ledlere bağlayın. 3. pin assignment dosyasını projenize ekleyin ve projenizi derleyip FPGA kartına yükleyin. 4. Devrenizi test etmek için değişik giriş değerleriyle sonucun doğruluğunu test edin. Uygulama IV Uygulama II de ikilik sayılarıla onluk tabandaki rakamların ilişkisinden bahsetmiştik. Bu tarz bir kullanım devrenin çıkışını kullanıcının algılamasını kolaylaştırmaktadır. Herbir rakamın 4-bitlik ikilik sayılarla temsil edilmesine binary coded decimal (BCD) denilmektedir. Örnek olarak onluk sistemde 59 olan bir sayının BCD karşılığı dir. İki BCD sayıyı toplayan bir devre oluşturmalısınız. Girişleriniz tek basamaklı iki BCD sayı ve elde, çıkışınız ise iki basamaklı BCD sayı olmalıdır. Oluşturacağınız toplayıcının ulaşacağı en büyük sonuç = 19 olacaktır. Modülünüzü aşağıdaki adımları takip ederek oluşturun. 1. BCD toplayıcınız için yeni bir proje oluşturun. Uygulama III te oluşturduğunuz 4-bit tam toplayıcıyı kullanmalısınız. İki basamaklı BCD çıkışı ise Uygulama II de oluşturduğunuz çeviriciye benzer şekilde oluşturabilirsiniz. Verilog kodunuzu basit assign komutunu kullanarak oluşturmalı, if-else yada case gibi karmaşık yapılar kullanmamalısınız. 2. Modülün girişlerini anahtarlara ve anahtarlarıda durumlarını görmek için HEX6 ve HEX4 e bağlayın. Çıkışları ise HEX1 ve HEX göstergelerine bağlayın. 11

18 3. Devrenizin girişleri BCD sayı olduğu için eğer giriş 9 dan büyükse LEDG 8 ledini yakarak kullanıcıya uyarı verecek şekilde gerekli ayarlamaları yapın. 4. pin assignment dosyasını projenize ekleyin ve projenizi derleyip FPGA kartına yükleyin. 5. Devrenizi test etmek için değişik giriş değerleriyle sonucun doğruluğunu test edin. Uygulama V Uygulama IV te yaptığınız toplayıcıyı girişleri iki basamaklı BCD sayı olacak şekilde aşağıdaki adımları izleyerek düzenleyin. 1. Modülün girişlerini anahtarlara ve anahtarlarıda durumlarını görmek için HEX7 - HEX6 ve HEX5 - HEX4 e bağlayın. Çıkışları ise HEX2, HEX1 ve HEX göstergelerine bağlayın. 2. pin assignment dosyasını projenize ekleyin ve projenizi derleyip FPGA kartına yükleyin. 3. Devrenizi test etmek için değişik giriş değerleriyle sonucun doğruluğunu test edin. Uygulama VI Uygulama V de iki basamaklı BCD toplatıcıyı Uygulama IV de yaptığımız tek basamaklı BCD sayı toplayıcılardan ikisini birleştirerek oluşturduk. Aşağıda iki basamaklı iki BCD sayıyı toplayacak devrenin farklı bir şekilde oluşturulmuş algoritması bulunmaktadır. 1 T = A + B 2 if (T > 9) then 3 Z = 1; 4 c 1 = 1; 5 else 6 Z = ; 7 c 1 = ; 8 end if 9 S = T Z 1 T 1 = A 1 + B 1 + c 1 11 if (T 1 > 9) then 12 Z 1 = 1; 13 c 2 = 1; 14 else 15 Z 1 = ; 16 c 2 = ; 17 end if 18 S 1 = T 1 Z 1 19 S 2 = c 2 Bu kodun gerçeklenmesinde hangi devrelerin kullanılacağını anlamak için incelenmesi gerekmektedir. 1., 9., 1. ve 18. satırlarda toplayıcılar, 2. ve 8. satırla arası ile 11. ve 17. satırlar arasındaki kodlar için multiplexerlar ve son olarakta T > 9 ve T 1 > 9 karşılaştırmaları içinde karşılaştırma birimleri kullanılmalıdır. Bu kodu gerçeklerken aşağıdaki adımları izleyerek ve if-else ve > ve + gibi operatorleri kullanarak verilog kodunuzu oluşturacaksınız. 1. Yeni bir proje oluşturun ve bir önceki uygulamadaki aynı giriş çıkışları kullanın. Projenizi derleyin. 12

19 2. Quartus II RTL Viewer aracıyla oluşturduğunuz devreyi inceleyin. Bir önceki uygulamada oluşturduğunuz devreyle karşılaştırın. 3. Projenizi FPGA kartına yükleyip değişik giriş değerleriyle çıkışın doğruluğunu test edin. Uygulama VII 6-bitlik ikilik sayıyı iki basamaklı onluk sayıya çevirip BCD formda gösteren bir modül oluşturun. Giriş olarak SW 5 anahtarlarını ve çıkış olarak HEX1 ve HEX kullanın. Projenizi FPGA kartına yükleyip değişik giriş değerleriyle çıkışın doğruluğunu test edin. 13

20 14

21 Laboratuvar Çalışması 3 Mandallar, Flip-floplar ve Kaydediciler Bu çalışmanın amacı mandalları, flip-flopları ve kaydedicileri anlamaktır. Uygulama I Alteranın FPGA lerinde kullanıcıların kullanımına açık flip-floplar bulunmaktadır. Uygulama IV de bu iki durumluları nasıl kullanacağımızı göreceğiz. Ancak ön tanımlı flip-flopları kullanmadan önce hafıza birimlerini nasıl oluşturabileceğimizi göreceğiz. Bir RS latchının kapı yapısı Şekil 1 de veerilmiştir. Bu devreyi Şekil 2 de verildiği gibi iki farklı verilog koduyla gerçekleyebiliriz. Aynı devreyi oluşturmak için Şekil 2a mantık kapılarını kullanırken, Şekil 2b mantık işlemlerini kullanmaktadır. Eğer bu latchı FPGA üzerinde 4-girişli bir Look Up Table (4-LUT) kullanarak gerçeklemek istersek, o zaman Şekil 3a da görüldüğü gibi sadece tek bir LUT ile gerçekleyebiliriz. R R_g Qa (Q) Clk S S_g Qb Şekil 1: RS mandalı devresi. // A gated RS latch module part1 (Clk, R, S, Q); input Clk, R, S; output Q; wire R_g, S_g, Qa, Qb /* synthesis keep */ ; and (R_g, R, Clk); and (S_g, S, Clk); nor (Qa, R_g, Qb); nor (Qb, S_g, Qa); assign Q = Qa; endmodule Şekil 2a. RS mandalının mantık kapıları kullanılarak tanımlanması. 15

22 // A gated RS latch module part1 (Clk, R, S, Q); input Clk, R, S; output Q; wire R_g, S_g, Qa, Qb /* synthesis keep */ ; assign R_g = R & Clk; assign S_g = S & Clk; assign Qa = (R_g Qb); assign Qb = (S_g Qa); assign Q = Qa; endmodule Şekil 2b. RS mandalının mantık işlemleri kullanılarak tanımlaması. Tek bir 4-LUT ile gerçeklenebilmesine rağmen devrenin iç yapısını gözlemlememize izin vermez. Devrenin iç yapısını inceleyebilmek için derleyici komutlarına ihtiyaç duyarız. Şekil 2 deki /* synthesis keep */ komutu devrenin iç yapısındaki değişiklikleri inceleyebilmemiz için Quartus programının bunları ayrı birer mantık elemanı gibi görmesini sağlar. Eğer 4-LUT kullanarak oluşturduğumuz devrenin iç yapısını görmek istersek o zaman devreyi Şekil 3b deki gibi dört tane 4-LUT ile oluşturmamız gerekmektedir. R Clk S 4-LUT Qa (Q) (a) Using one 4-input lookup table for the RS latch. R 4-LUT R_g 4-LUT Qa (Q) Clk S 4-LUT S_g 4-LUT Qb (b) Using four 4-input lookup tables for the RS latch. Şekil 3. Şekil 1 deki devrenin gerçeklenmesi. Bir RS mandalı için bir Quartus II projesini aşağıdaki adımları izleyerek oluşturun: 16

23 1. Yeni bir proje oluşturun. Hedef yonga olarak Cyclone IV EP4CE115F29C7 yi seçin. 2. Şekil 2 deki kodlardan birini seçip verilog dosyasını oluşturun.(iki kodda aynı devreyi oluşturur.) 3. Kodunuzu derleyin. RTL Viewer aracını kullanarak kapı-düzeyinde devrenizi gözlemleyin. Aynı şekilde Technoloji map Viewer aracıyla gözlemleyerek Şekil 3b deki gerçeklemeyle karşılaştırın Qsim programını çalıştırıp bir Vector Waveform File (.vwf) dosyası oluşturun. R ve S girişleri için bir sinyal oluşturup programa R_g, S_g, Qa ve Qb için çıkış sinyallerini oluşturun. Uygulama II D mandalının kapı yapısı Şekil 4 de gösterilmiştir. D S S_g Qa (Q) Clk R R_g Qb Şekil 4. D flip-flop u devresi. Aşağıdaki adımları takip edin: 1. Yeni bir proje oluşturun ve Şekil 2b deki gibi mantık işlemleri kullanarak D flip-flop unun verilog kodunu oluşturun. R, S_g, R_g, Qa, ve Qb sinyallerinin ayrı mantık birimlerinde saklanması için /* synthesis keep */ komutunu kullanın. 2. Kodunuzu derleyin ve Technology Viewer aracını kullanarak oluşturduğunuz devreyi inceleyin. 3. fonksiyonel simulasyonu kullanarak devrenizin bütün giriş kombinasyonlarında doğru çalıştığını kontrol edin ve zamanlama simulasyonu yaparak kontrol edin. 4. SW anahtarını D girişine, SW 1 anahtarını Clk girişine ve LEDR ledinide Q çıkışına bağlayın. 5. Projenizi tekrar derlyip karta yükleyin. 6. Anahtarları açıp kapatarak devrenizin doğru çalıştırığını kontrol edin. 17

24 Uygulama III Şekil 5 te iki D flip-flop unun bağlandığı bir devre gösterilmiştir. Master Slave D D Q Q m D Q Q s Q Clock Clk Q Clk Q Q Şekil 5. Birbirine bağlı iki D flip-flop u. Aşağıdaki adımları uygulayın: 1. Yen bir proje oluşturun ve bir önceki uygulamada yazdığınız D flip-flop u kodundan biri master biri slave olmak üzere iki tane içerecek yeni verilog kodunuzu oluşturun. 2. SW anahtarını D girişine, SW 1 anahtarını Clock girişine ve LEDR ledinide Q çıkışına bağlayın. 3. Projenizi derleyin. 4. Technology Viewer aracını kullanarak oluştruduğunuz devreyi kontrol edin. Simulasyon yaparak sonuçları inceleyin. 5. Devreyi karta yükleyip anahtarları değiştirerek kontrol edin. 18

25 Uygulama IV Şekil 6 da farklı kenar tetiklemeli D flip-flop larının devreleri gösterilmiştir. D D Q Q a Clock Clk Q Q a D Q Q b Q Q b D Q Q c Q Q c (a) Circuit Clock D Q a Q b Q c (b) Timing diagram Şekil 6. Bu uygulama için devre ve zaman çizelgesi. Bu devreyi gerçeklemek ve simulasyonunu yapmak için aşağıdaki adımları izleyin: 1. Yeni bir proje oluşturun. 2. Üç tür D flip-flop unu içeren verilog dosyasını oluşturun. Şekil 7 de standart bir D flip-flop una ait verilog kodu verilmiştir. 3. Projenizi derleyin ve Technology Viewer aracıyla kontrol edin. 4. Bir Vector Waveform File (.vwf) dosyası oluşturarak Şekil 6 daki gibi D ve Clock girişlerini oluşturun. Daha sonra simulasyonu çalıştırarak üç flip-flop un çıkışlarını kontrol edin. 19

26 module D_latch (D, Clk, Q); input D, Clk; output reg Q; (D, Clk) if (Clk) Q = D; endmodule Şekil 7. D flip-flop u için verilog kodu. Uygulama V Bu uygulamada 16-bitlik A değişkenini HEX7 4 göstergelerinde, yine 16-bitlik B değişkenini HEX3 göstergelerinde gösteren bir devre oluşturacağız. A ve B değişkenlerini SW 15 anahtarları yardımıyla tanımlayacaksınız. Devreniz çalıştığında ilk A değişkeninin değeri anahtarlardan okunacak ve daha sonra B değişkeninin değeri okunacaktır. B değişkeni okunurken A nın değeri kaydedicilerde tutulmalıdır. 1. Yeni bir proje oluşturun. 2. Proje için verilog kodunu oluşturun. KEY anahtarını negatif kenar tetiklemeli asenkron reset olarak, KEY 1 anahtarını da saat girişi olarak ayarlayın. 3. Projenizi derleyin. 4. Gerekli anahtarları ve göstergeleri projenize ekleyin. 5. Projenizi tekrar derleyin ve karta yükleyin. 6. Anahtarların pozisyonlarını değiştirerek göstergeleri kontrol edin. 2

27 Laboratuvar Çalışması 4 Sayaçlar Bu çalışmada sayaçları nasıl oluşturacağımızı ve kullanacağımızı göreceğiz. Daha sonra oluşturacağımız devreyi FPGA kartına yükleyeceğiz. Uygulama I Şekil 1 de T flip-flop larından oluşan 4-bit counter gösterilmiştir. Sayaç eğer Enable biti 1 ise clk sinyalinin her positif kenarında bir sonraki durumuna geçer. Clear sinyalinin durumuna geçmesiyle tüm bitler sıfırlanır. Sizde benzer yapıda bir 8-bitlik sayıcı oluşturun. Enable T Q T Q T Q T Q Clock Q Q Q Q Clear Şekil 1: A 4-bit counter. 1. Şekil 1 birdeki yapıda 8-bitlik bir sayıcının verilog kodunu oluşturun. Yazacağınız kod 8 tane T filpflop undan oluşmalıdır. Kodunuzu derleyin. Devreniz kaç mantık elemanı kaplıyor? Devrenizin maksimum çalışma frekansı (F max ) nedir? 2. Simulasyon yaparak devrenizin doğru çalıştığından emin olun. 3. Kodunuzu, Clock girişini butona (KEY ), Enable ve Clear girişini SW 1 ve SW anahtarlarına, 4 bit çıkışı ise HEX1- göstergelerine bağlanacak şekilde güncelleyin ve tekrar derleyin. 4. Devrenizi FPGA kartına yükleyin ve çalışmasını test edin. 5. Kodunuzun 4-bitlik versiyonunu derleyip RTL Viewer yardımıyla Şekil 1 ile karşılaştırın. Uygulama II Verilog donanım tanımlama dilinde sayaç yazmanın bir başka yoluda değişkene 1 eklemektir. Bu aşağıdaki gibi yazılabilir. Q <= Q + 1; Bu şekilde oluşturacağınız 16-bitlik bir sayacı derleyin ve yonga üzerinde kaç mantık elemanı kapladığını ve maksimum çalışma frekansını daha önceki yöntemle karşılaştırın. RTL Viewer aracını kullanarak iki yöntemin farklılıklarını gözlemleyin. Uygulama III 16-bitlik bir sayıcı oluşturmak için Library of Parameterized modules(lpm) modülü kullanın. Daha önceki uygumalarda oluşturduklarınızdan farklı mı? Karşılaştırın. 21

28 Not: LPM kullanımıyla ilgili detaylı bilgiye ulaşabileceğiniz Using the Parameterized Modules(LPM) dosyasını Altera University Program internet sayfasından indirebilirsiniz. Uygulama IV HEX 7-segment göstergeyi sürecek bir devre tasarlayıp gerçeklyin. Her bir dijit yaklaşık bir saniye yanmalıdır. Saniyeleri oluşturacağınız bir sayıcı ile sayacaksınız. Oluşturacağınız sayıcı FPGA in üzerindeki 5MHz saati kullanmalıdır. Başka herhangi bir saat kullanmayın, devrenizdeki bütün flip-flopların direk olarak 5MHz saate bağlandığından emin olun. Uygulama V 7-segmente göstergelerde(hex7-) HELLO yazacak devreyi oluşturun. Devrenizi her saniye aşağıdaki Tablo 1 de olduğu gibi bir harf sağdan sola doğru kayacak şekilde düzenleyin. Clock cycle Displayed pattern H E L L O 1 H E L L O 2 H E L L O 3 H E L L O 4 E L L O H 5 L L O H E 6 L O H E L 7 O H E L L 8 H E L L O... and so on Tablo 1. Kayan "HELLO" yazısı. Ön Çalışma Laboratuvara gelmeden önce aşağıdakileri yapın. 1. Uygulama I deki devrenin verilog kodunu oluşturun. 2. Uygulama II deki devrenin verilog kodunu oluşturun. 3. Uygulama III deki devrenin verilog kodunu oluşturun. Ayrıca 7-segment göstergelerde 16-lık tabanda sayıları gösteren bir modül oluşturmak ileriki laboratuvarlarda yararlı olabilir. 22

29 Laboratuvar Çalışması 5 Zamanlayıcılar ve Gerçek Zamanlı Saat Bu çalışmada zamanlanmış devrelerin gerçeklenmesini göreceğiz. Oluşturduğumuz devreleri FPGA kartı üzerinde deneyeceğiz. Ön Bilgi Verilog donanım tanımlama dilinde parametre tanımlayarak değişken boyutlu sayıcılar tasarlayabiliriz. Şekil 1 de bir n-bit sayacın verilogda nasıl tanımlanacağı gösterilmiştir. module counter(clock, reset_n, Q); parameter n = 4; input clock, reset_n; output [n-1:] Q; reg [n-1:] Q; clock or negedge reset_n) begin if (~reset_n) Q <= d; else Q <= Q + 1 b1; end endmodule Şekil 1: Verilog da n-bit sayaç kodu. n parametresi sayıcının kaç bit olduğunu tanımlar. N parametresine defparam komutuyla değer atayabilirsiniz. Örnek olarak 8-bitlik bir sayacı aşağıdaki gibi tanımlanabilir. counter eight_bit(clock, reset_n, Q); defparam eight_bit.n = 8; Parametre kullanarak yeni bir modül oluşturmak zorunda kalmadan değişik boyutlarda sayıcılar oluşturabiliriz. Uygulama I 8-bitlik sayıcıya fazladan bir parametre daha ekleyerek modulo-k sayıcı oluşturun. Oluşturduğunuz sayıcı dan k 1 e kadar sayıp k 1 e ulaştığında a geri dönecek şekilde çalışmalıdır. Devreniz KEY butonunu asenkron reset olarak ve KEY 1 butonunuda saat olarak kullanmalıdır. Sayacın değerleri kırmızı ledler ile gösterilmelidir. Oluşturduğunuz devreyi Quartus II yazılımında derleyin ve FPGA kartına yükleyip test edin. Aşağıdaki adımları takip edin: 1. İstenen devrenin gerçeklenmesinde kullanmak için yeni bir proje oluşturun. 2. İstenen devrenin verilog kodunu oluşturun ve projeye ekleyip derleyin. 3. İslevselliğini kontrol etmek için devrenin simulasyonunu yapın. 23

30 4. pin assignment dosyasını projenize ekleyip derleyin. 5. Tekrar derleyip FPGA kartına yükleyin. 6. Botunlara basarak devrenin çalışmasını kontrol edin. Uygulama II 3-basamaklı bir BCD sayıcı oluşturun. Oluşturduğunuz devrenin çıkışını HEX2 7-segment göstergelerine bağlayın. Saat sinyali olarak kartın üzerindeki 5MHz lik saati, her saniye devrenin çıkışını değiştirecek şekilde kullanın. Son olarak KEY butonunu sayıcıyı sıfırlamak için kullanın. Uygulama III FPGA kartı üzerinde günlük saat oluşturun. Devreniz saatleri(-23) HEX7 6 da, dakikaları(-59) HEX5 4 de ve saniyeleri(-59) HEX3 2 de göstermelidir. Ayrıca saatin ilk durumunu ayarlamak için SW 15 anahtarları kullanılmalıdır. Uygulama IV Eski bir haberleşme metodu olan telgraf mors kodlarına dayanmaktadır. Bu kodlar kısa(nokta) ve uzun(çizgi) sinyallerden oluşmaktadır. Her harf bu sinyalllerin değişik kombinasyonlarıyla oluşturulur. Örnek olarak mors kodunda alfabedeki ilk sekiz harf aşağıdaki gibi temsil edilir. A B C D E F G H Alfabenin ilk sekiz harfinden birini alıp kırmızı ledlerde o harfe ait mors kodunu gösteren devreyi tasarlayın. Devrenizde giriş olarak SW 2 anahtarlarını ve KEY 1 butonlarını kullanmalısınız. KEY 1 butonuna basıldığında SW 2 anahtarlarıyla belirtilen(a için, b için 1,...) harfin mors kodu kırmızı led ile nokta.5 saniye ve çizgi 1.5 saniye olacak şekilde gösterilmelidir. KEY ise asenkron reset olarak görev yapmalıdır. Devrenin şematik gösterimi Şekil 5 de verilmiştir. Design and implement a circuit that takes as input one of the first eight letters of the alphabet and displays the Morse code for it on a red LED. Your circuit should use switches SW 2 and pushbuttons KEY 1 as inputs. When a user presses KEY 1, the circuit should display the Morse code for a letter specified by SW 2 ( for A, 1 for B, etc.), using.5-second pulses to represent dots, and 1.5-second pulses to represent dashes. Pushbutton KEY should function as an asynchronous reset. A high-level schematic diagram of the circuit is shown in Figure 5. İpucu:.5 saniyelik saati oluşturmak için bir sayacı, LEDR ın.5 yada 1.5 saniye yanmasını sağlamak için başka bir sayacı kullanın. 24

31 Pushbuttons and switches Letter size register Data Enable Load Letter Selection Logic Letter symbols shift register Logic LEDR Data Enable Load 2-bit counter Reset Enable Şekil 2: Uygulama IV için şematik gösterim. Ön Çalışma Laboratuvara gelmeden önce aşağıdakileri yapın: 1. Uygulama I deki devrenin verilog kodunu oluştur. 2. Uygulama II deki devrenin verilog kodunu oluştur. 3. Uygulama III deki devrenin verilog kodunu oluştur. 25

32 26

33 c i Laboratuvar Çalışması 6 a Toplayıcı, s Çıkarıcı c i ve Çarpıcılar s a FA b c Bu çalışmanın amacı sayıların arasındaki toplama, b o c çıkarma ve çarpma işlemlerini yapabilecek devre elemanları o oluşturmaktır. Her devre verilog 1 ile oluşturulup FPGA kartında gerçeklenecektir. Uygulama I a) Full adder circuit b) Full adder symbol Laboratuvar Çalışması 2 de yaptığımız 4-bitlik tam toplayıcı Şekil 1 de gösterilmiştir. b ac i c o s b 3 a 3 c 3 b 2 a 2 c 2 b 1 a 1 c 1 b a c in FA c out s 3 FA s 2 FA s 1 FA s c) Full adder truth table d) Four-bit ripple-carry adder circuit Şekil 1: 4-bit tam toplayıcı. Bu devre verilogda + işaretiyle tanımlanabilir. Mesela aşağıdaki kodda n-bitlik bir toplayıcı tanımlanmıştır: wire [n-1:] sum; wire carry;... assign {carry, sum} = A + B; Bu yapıyı kullanarak Şekil 2 deki sistemi oluşturun. Aşağıdaki gibi kodunuzu oluşturup Quartus II yazılımında derleyin, FPGA kartına yükleyerek test edin. 1. Yeni bir proje oluşturun. 2. Şekil 2 deki devre için bir verilog dosyası oluşturun. 3. A girişini SW 7 anahtarlarına, asenkron reseti KEY butonuna ve saatide KEY 1 butonuna bağlayın. Sum çıkışını LEDR 7 kırmızı ledlerine veson olarak elde bitini(carry) LEDR 8 kırmızı ledine bağlayın. 4. Pin assignment dosyasını projeye ekleyin. 5. Projenizi derleyin ve zamanlama simulasyonunu kullanarak test edin. Simulasyon sorunsuz çalışırsa projenizi FPGA kartına yükleyip farklı giriş değerleri için test edin. 6. Quartus II Compilation Report ta timing analyzer kısmını inceleyin. Devrenizin maksimum frekansı nedir? Devrenizin en uzun gecikme süresi nedir? 27

34 c out s 3 s 2 s 1 s a) Four-bit ripple-carry adder circuit A 8 Clock R Q 8 Q D overflow + c in 8 R Q Overflow S b) Eight-bit Şekilregistered 2: 8-bit akümülator. adder circuit Uygulama II Uygulama I deki devrenizi toplama ve çıkartma yapabilecek şekilde genişletin. Bunun için bir devreye add_sub girişi ekleyin. Eğer add_sub girişi 1 ise devre S den A yı çıkaracak, sıfır olduğunda ise uygulama I deki gibi A ile S yi toplayacak. Uygulama III Şekil 3a da bir çarpma işlemi gösterilmiştir. 1 1 x x a 3 b 3 p 7 p 6 p 5 x a 3 a 3 b a 2 b a 1 b b 1 a 2 b 1 a 1 b 1 a b 1 a 3 b 2 a 2 b 2 a 1 b 2 a b 2 a 2 b 3 a 1 b 3 a b 3 p 4 a 3 a 2 a 1 a b 3 b 2 b 1 b p 3 p 2 p 1 a b p a) Decimal b) Binary c) Implementation Şekil 3: Multiplication of binary numbers. P = A B ifadesini iki sayının toplamı şeklinde hesaplarız. İlki A ile B sayısının birler basamağının çarpımı, ikincisi ise A sayısıyla B sayısının onlar basamağının çarpımının bir birim sola kaydırılmış halidir. Bu iki sayıyı toplayarak sonuca ulaşırız. Şekil 3b de aynı örneğin 4-bitlik ikilik sistemde sayıların kullanıldığı hali gösterilmiştir. P = A B eşitliğini hesaplamak için A ile B nin bütün basamaklarının çarpımlarını toplamalıyız. Şekil 3c de çarpma işleminin mantık işlemleriyle gösterimi verilmiştir. 4-bitlik bir çarpma işleminin devre şeması Şekil 4 te verilmiştir. Düzenli yapısı nedeniyle bu tarz yapılara dizi çarpıcı denir. Her satırdaki AND kapıları toplam terimlerini oluşturur tam toplayıcılarda bu terimleri toplayarak çarpma işleminin sonucunu oluştururlar. 28

35 a 3 a 1 a 2 a 2 a 3 b a a 1 a b 1 b a c o FA c i s b a c o FA c i s b a c o FA c i s b a c o FA c i s a 3 a 2 a 1 a b 2 b a c o FA c i s b a c o FA c i s b a c o FA c i s b a c o FA c i s a 3 a 2 a 1 a b 3 b a c o FA c i s b a c o FA c i s b a c o FA c i s b a c o FA c i s p 7 p 6 p 5 p 4 p 3 p 2 p 1 p Şekil 4: Dizi çarpıcı devresi. Dizi çarpıcı devreyi oluşturmak için aşağıdaki adımları izleyin: 1. Yeni bir proje oluşturun. 2. Gerekli olan verilog dosyasını oluşturun ve devrenizi derleyin. 3. İşlevsel simulasyon yaparak devrenizi test edin. 4. Devrenin A girişini SW 11 8 anahtarlarına, B girişini SW 3 anahtarlarına bağlayın. A ve B nin 16-lık tabanda değerlerini sırasıyla HEX6 ve HEX4 göstergelernde sonucu ise HEX1 ve HEX göstergelerinde gösterecek şekilde çıkışları ayarlayın. 5. Projenizi tekrar derleyip FPGA kartına yükleyin. 6. Devrenizin işlevselliğini farklı girişler kullanarak test edin. Uygulama IV 29

36 Uygulama III te bir dizi çarpıcıyı tam toplayıcılar kullanarak gerçeklemiştik. Bu uygulamada ise tam toplayıcıların bir dizisi olan n-bit toplayıcılar kullanarak devreyi tekrar gerçekleyeceğiz. Oluşturmanız istenen devrenin şeması Şekil 5 te verilmiştir. a 3 a 2 a 1 a b a 3 a 2 a 1 a b 1 b 3 c o a 3 b 2 a 2 n-bit Adder s 3 s 2 s 1 s b 1 a 1 b a c i a 3 a 2 a 1 a b 2 b 3 c o a 3 b 2 a 2 n-bit Adder s 3 s 2 s 1 s b 1 a 1 b a c i a 3 a 2 a 1 a b3 c o b 3 a 3 b 2 a 2 b 1 n-bit Adder s 3 s 2 s 1 s a 1 b a c i p 7 p 6 p 5 p 4 p 3 p 2 p 1 p Şekil 5: An array multiplier implemented using n-bit adders. Çarpıcı devreyi sıralı toplamlar şeklinde oluşturmak bize tasarımımızı genişletme olanağı tanımaktadır. Bu yapıyı kullanarak 8x8 çarpıcı Şekil 5 daki gibi giriş çıkışlara flip-flop bağlayarak gerçekleyin. Çarpıcı devreyi sıralı toplamlar şeklinde oluşturmak bize tasarımımızı genişletme olanağı tanımaktadır. Bu yapıyı kullanarak 8x8 çarpıcı Şekil 6 daki gibi giriş çıkışlara flip-flop bağlayarak gerçekleyin. 3

37 A 5 B 5 Clock D Q D Q Multiplier 1 DR Q Şekil 6: A registered multiplier circuit. P Aşağıdaki adımları takip edin: 1. Yeni bir proje oluşturun. 2. İstenen devrenin verilog dosyasını oluşturarak derleyin. 3. İşlevsel simulasyon yaparak oluşturduğunuz devreyi kontrol edin. 4. Devrenin A girişini SW 15 8 anahtarlarına ve B girişini SW 7 anahtarlarına bağlayın. A ve B değişkenlerini sırasıyla HEX7-6 ve HEX5-4 göstergelerine ve P = A B çıkışınıda HEX3- göstergelerine bağlayın. 5. Projenizi tekrar derleyip FPGA kartına yükleyin. 6. Devrenizin çalışmasını anahtar ve göstergeler yardımıyla kontrol edin. 7. Devreniz kaç mantıksal eleman kaplıyor? 8. Devrenizin maksimum frekansı nedir? 31

38 Uygulama V Uygulama IV te sıralı toplayıcılar kullanarak çarpıcı oluşturduk. Ancak bir çarpıcı oluşturmanın bir diğer yolu ise toplayıcı ağaçları kullanmaktır. Bir toplayıcı ağacı birkaç sayının aynı anda paralel olarak toplanmasıdır. Bir toplayıcı ağacı Şekil 7 de gösterilmiştir. Şekil 7 de A, B, C, D, E, F, G ve H sayıları ikili gruplar halinde(a + B, C + D, E + F ve G + H) paralel olarak toplanır. Daha sonra bu toplamlarda ikili gruplar halinde paralel olarak toplanır. Sonuca ulaşıncaya kadar işlemler bu şekilde devam eder. A B C D E F G H P Şekil 7: 8 rakam için toplayıcı ağacı. Bu uygulamada sizden 8x8 dizi çarpıcı oluşturmanız istenmektedir. Bir toplayıcı ağacı kullanarak Şekil 5 teki devreyi oluşturun. Girişler A ile B ve çıkış olarak P Uygulama IV teki gibi flip-flop ile devreye bağlanmalıdır. Oluşturduğunuz devrenin maksimum frekansı nedir? Ön Çalışma Laboratuvara gelmeden önce bütün uygulamaların verilog kodlarını oluşturun. 32

39 Laboratuvar Çalışması 7 Sonlu Durum Makinesi Bu çalışma sonlu durum makinelerini anlamayı ve kullanmayı amaçlamaktadır. Uygulama I Girişin dört saat darbesi boyunca aynı kalmasıyla çıkışı bir yapan diğer durumlarda çıkışın sıfır kaldığı bir sonlu durum makinesi tasarlamak istiyoruz. Devrenin bir girişi (w) ve bir çıkışı (z) olacak. w dört saat darbesi boyunca bir yada dört saat dilimi boyunca sıfır olarak kalırsa z 1 olacak diğer tüm durumlarda z olarak kalacak. Eğer w 5 saat darbesi boyunca sabit kalırsa o zaman z iki saat darbesi boyunca 1 olarak kalıp a dönecek. Şekil 1 w, z ve saat arasındaki ilişkiyi göstermektedir. Clock w z Şekil 1: z için zaman diagramı. Bu sonlu durum makinesi için oluşturulan durum diagramı Şekil 2 de verilmiştir. Bu uygulamada diagramdaki her durumun flip-flopta tutulduğu sonlu durum makinesini kendimiz oluşturacağız. Sonlu durum makinesi oluşturmak için 9 durum flip-flopunun (y 8,..., y ) Tablo 1 deki gibi atamalarının yapıması gerekir. Reset B/ w = A/ 1 w = 1 F/ w = 1 1 C/ G/ w = 1 1 D/ 1 H/ w = 1 E/1 I/1 1 Şekil 2: Sonlu durum makinası için durum diagramı. 33

40 State Code Name y 8 y 7 y 6 y 5 y 4 y 3 y 2 y 1 y A 1 B 1 C 1 D 1 E 1 F 1 G 1 H 1 I 1 Tablo 1: Sonlu durum makinası için kodlar. Devrenizi aşağıdaki gibi tasarlayıp gerçekleyin: 1. Sonlu durum makinesi için yeni bir proje oluşturun. 2. Devrenizin verilog kodunu oluşturun. Bunu yaparken sadece assign komutunu kullanmalısınız. Senkron reset girişi için SW anahtarını, sonlu durum makinesinin w girişi için isesw 1 anahtarını ve saat için KEY[] butonunu kullanın. Devrenin z çıkışı için yeşil ledi (LEDG ) ve durum flip-flopunun çıkışınıda kırmızı ledleri (LEDR 8 - LEDR ) kullanın. 3. Verilog kodunuzu projenize ekleyin ve giriş çıkışları ilgili pinlere bağlayın ve projenizi derleyin. 4. Devrenizi davranışını simulasyon yaparak kontrol edin. 5. Devreniz doğru çalışıyorsa FPGA kartına yükleyin ve değişik girişlerle test edin. 6. Son olarak tablo 1 deki kodlamayı değiştirmeyi göz önünde bulundurmalısınız. Sonlu durum makinesini FPGA üzerinde gerçeklediğinizde bütün durum flip-floplarının olduğunu göreceksiniz. Çünkü FPGA üzerindeki flip-floplar clear biti içerirler ancak ilklendirme girişi içermezler. Tablo 2 de tüm flip-flopların sıfır olduğu durumu içerecek şekilde değiştirilmiş durum atamaları gösterilmiştir. Yeni tabloya göre kodunuzu değiştirin (İpucu: sadece durum atamalarını değiştirmeniz yeterli olacaktır.) devrenizi derleyin. Hem simulasyon hemde FPGA kartına yükleyerek devrenizi test edin. State Code Name y 8 y 7 y 6 y 5 y 4 y 3 y 2 y 1 y A B 11 C 11 D 11 E 11 F 11 G 11 H 11 I 11 Tablo 2: Modified one-hot codes for the FSM. Uygulama II 34

41 Bu uygulama için farklı bir yöntemle Şekil 2 deki gibi bir sonlu durum makinesini verilog ile gerçekleyeceksiniz. Sonlu durum makinesinin bu versiyonunda durumlara ait flip-flopları direk atama yöntemiyle atamayacaksınız. Bunun yerine verilog donanım tanımlama dilinin always bloğu içinde case komutunu kullanacaksınız. Bir başka always bloğunuda durum flip-floplarını temsil etmek için oluşturacaksınız. Devrenin çıkışını sürmek için ayrı bir always bloğu yada assign komutunu kullanabilirsiniz. Dört durumlu sonlu durum makinesini gerçeklemek için Tablo 3 teki ikilik kodları kullanın. State Code Name y 3 y 2 y 1 y A B 1 C 1 D 11 E 1 F 11 G 11 H 111 I 1 Tablo 3: Binary codes for the FSM. Bu devreyi gerçeklemek için oluşturacağınız verilog kodunun iskelet yapısı Şekil 3 te verilmiştir. module part2 (... );... define input and output ports... define signals reg [3:] y_q, Y_D; // y_q represents current state, Y_D represents next state parameter A = 4 b, B = 4 b1, C = 4 b1, D = 4 b11, E = 4 b1, F = 4 b11, G = 4 b11, H = 4 b111, I = 4 b1; y_q) begin: state_table case (y_q) A: if (!w) Y_D = B; else Y_D = F;... remainder of state table default: Y_D = 4 bxxxx; endcase end // state_table Clock) begin: state_ffs... end // state_ffs... assignments for output z and the LEDs endmodule Şekil 3: Skeleton Verilog code for the FSM. 35

42 Devrenizi aşağıdaki gibi gerçekleyin: 1. Yeni bir proje oluşturun. 2. Şekil 3 teki gibi oluşturduğunuz verilog kodunu projenize ekleyin. Senkron reset girişi için SW anahtarını, sonlu durum makinesinin w girişi için ise SW 1 anahtarını ve saat için KEY butonunu kullanın. Devrenin z çıkışı için yeşil ledi (LEDG ) ve durum flip-flopunun çıkışınıda kırmızı ledleri (LEDR 3 - LEDR ) kullanın. 3. Kodunuzu derlemeden önce Quartus II deki Synthesis aracına sonlu durum makinenizi tanıtmalısınız. Eğer yapmazsanız Synthesis aracı durum tanımlamalarınızı değişken ataması gibi algılayacak ve sonlu durum makinenizi tanımayacaktır. Bu ayarı yapmak için Quartus II programında Assignments > Settings menüsüne girip Analysis and Synthesis e tıklayın. Daha sonra More Setting butonuna tıklayın. Şekil 4 de gösterildiği gibi State Machine Processing kısmında User-Encoded seçeneğini seçin. 4. Quartus II programında RTL Viewer aracını kullanarak devrenizi inceleyin. Durum diagramını görüntülemek için durum makinesinin simgesinin üzerine çift-tıklayın. Compilation Report kısmından Analysis and Synthesis in altında State Machines yazısına tıklayın. 5. Devrenizin simulasyonunu yapın. 6. Devrenizin doğru çalıştığından emin olduktan sonra FPGA kartına yükleyin ve test edin Adım 3 teki ayarları geri alıp devrenizi tekrar derleyin. Tekrar Quartus II programında Assignments > Settings menüsüne girip Analysis and Synthesis e tıklayın. Daha sonra More Setting butonuna tıklayın. Açılan pencereden State Machine Processing kısmında User-Encoded yerine One-Hot seçin ve Tablo 2 de verilen durum kodlarını karşılaştırın. Şekil 4: Quartus II de durum atamaları. 36

43 Uygulama III Uygulama I ve II de yaptığımız devreyi kayan kaydediciler yardımıyla oluşturabiliriz. İki tane 4-bit kayan kaydedici oluşturun; birini peşpeşe dört tane biri tespit etmek için, diğerini ise dört tane sıfırı tespit etmek için ayarlayın. z çıkışını üretmek için mantık işlemlerini kullanacaksınız. Quartus II programında yeni bir proje oluşturun. Anahtar ve ledleri Uygulama I ve II de olduğu gibi kullanın ve devrenizin davranışını gözlemleyin. Bu devreyi tek bir kayan kaydediciyle oluşturabilir misiniz? Nasıl? Uygulama IV Bu uygulamada mors kodu çözücüyü sonlu durum makinesi kullanarak oluşturacaksınız. Mors kodu kısa(nokta) ve uzun(çizgi) sinyallerden oluşmaktadır. Herbir harf bu sinyallerin değişik kombinasyonlarıyla oluşturulur. Alfabenin ilk sekiz harfi için mors kodları: A B C D E F G H Sonlu durum makinesi kullanan bir mors kodu çözücüyü tasarlayıp gerçekleyin. Devreniz giriş olarak alfabenin ilk sekiz harfinden birini almalı ve kırmızı ledlerden birinde harfe ait mors kodunu gösterecektir. SW 2 anahtarlarını ve KEY 1 butonlarını giriş olarak kullanın. Eğer KEY 1 butonuna basılırsa SW 2 anahtarlarıyla belirtilen (A için, B için 1,...) harfe ait mors kodunu kırmızı ledde göstermelisiniz. Nokta için,5 saniye, çizgi için ise 1,5 saniye ledi yakacaksınız. KEY butonu ise asenkron reset olarak devreyi sıfırlamak için kullanılacaktır. Bir mors kodu çözücünün şematik gösterimi Şekil 5 te verilmiştir. Pushbuttons and switches Letter size register Data Enable Load Letter Selection Logic Letter symbols shift register Logic LEDR Data Enable Load 2-bit counter Reset Enable Şekil 5: Uygulama IV için kod çözücü. Ön Çalışma Laboratuvara gelmeden önce Uygulama I den IV e kadar olan bütün devrelerin verilog kodlarını oluşturun. 37

44 38

45 Laboratuvar Çalışması 8 Hafıza Birimleri Bilgisayar sistemlerinde hafıza birimleri büyük bir öneme sahiptir. Eğer bilgisayar sistemini FPGA kartı üzerinde gerçeklemek isterseniz, kartın üzerindeki hafıza birimlerini kullanabilirsiniz. Ancak bu hafıza birimleri yeterli gelmediğinde FPGA ye dışarıdan hafıza birimleri bağlamanız gerekmektedir. Bu çalışmada hafıza birimlerini nasıl gerçekleyeceğimizi inceleyeceğiz. İlk olarak FPGA in kaynaklarını kullanarak hafıza birimleri oluşturmayı, daha sonrada FPGA kartının üzerindeki hafıza birimlerini nasıl FPGA yongasına bağlayacağımızı göreceğiz. Şekil 1a da 32 tane 8-bit kelime uzunluğuna ve 5-bit adres girişine sahip bir rasgele erişimli hafıza (Random Access Memory - RAM) bloğu gösterilmiştir. Address Write 5 32 x 8 RAM 8 Data (a) RAM organization Address 5 5 DataIn x 8 RAM 8 DataOut Write Clock (b) RAM implementation Şekil 1: A 32 x 8 RAM module. Uygulama I Toplayıcı, kaydedici, sayıcı ve hafıza birimleri gibi mantık yapıları genelde LPM modülleri kullanılarak gerçeklenir. Altera rastgele erişimli bellek (RAM) gerçeklemek için altsyncram LPM modülünün kullanılmasını önermektedir. Bu LPM modülünü kullanarak 8-bitlik 32 kelime hafızalı bir hafıza birimi oluşturmak için aşağıdaki adımları takip edin: 1. ramlpm isminde yeni bir proje oluşturun. 39

46 2. MegaWizard Plug-in Manager aracını kullanarak bahsedilen hafıza birimini oluşturun. MegaWizard projeyle aynı isme sahip ramlpm.v verilog dosyasını oluşturacaktır. Şekil 2: RAM: 1-PORT LPM. Şekil 3: RAM: 1-PORT LPM daki giriş - çıkışların ayarlanması. 3. Devrenizi derleyin. Compilation Report u inceleyin, 256-bitlik bir hafıza birimini raporda görmeniz gerekiyor. 4

47 4. Simulasyonu çalıştırarak devrenizin davranışını inceleyin. Uygulama II Bu uygulamada da oluşturduğumuz hafıza birimine anahtarlar ile veri girmek ve içindeki verileri 7-segment göstergelerde görmek için gerekli ayarlamaları yapacağız. 1. fpgaram adında yeni bir proje oluşturun. 2. Gerekli fonksiyonları içeren bir verilog dosyası oluşturun. Ramlpm.v dosyasını projenize ekleyin. SW 7 anahtarlarını veri girişi için, SW anahtarlarını verinin tutulacağı adres girişi için kullanın. Her bir baytı sırayla iki 16 lık tabanda sayı olarak HEX1 ve HEX. göstergelerinde 2 saiyede bir bir sonrakine geçecek şekilde gösterin. Herbir byte gösterilirken adreside yine 16 lık tabanda HEX5 and HEX4 göstergelerinde gösterin. 3. Verilog dosyanızı projeye ekleyin. 4. Simulasyonu çalıştırarak devrenizin davrranışını denetleyin. 5. Gerekli pin atamalarını yapın. 6. Tekrar derleyip FPGA kartına yükleyin ve devrenizin çalışmasını farklı girişlerle kontrol edin. Uygulama III Hafıza birimlerini LPM modulleri yerine verilog kodlarıyla kendimizde tasarlayabiliriz. Verilog dilinde hafıza birimi tanımlamak için iki boyutlu diziler tanımlarız. 32 x 8-bitlik dizi 8-bitlik 32 kelime kapasiteye sahip bir hafıza birimine işaret eder ve verilogda aşağıdaki gibi tanımlanır. reg [7:] memory_array [31:]; FPGA yongalarında hafıza birimlerini her lojik elemanın sahip olduğu flip-flopları kullanarak oluşturabileceğiniz gibi yonganın üzerinde özel olarak tanımlanmış olan hafıza bloklarınıda kullanabilirsiniz. Hafıza bloklarını kullanmanın iki farklı yolu vardır. Biri uygulama I de gördüğümüz gibi LPM modülleri kullanmak, diğeri ise hafıza biriminizi Quartus II programının hafıza blokları kullanması gerektiğini anlayacağı şekilde tanımlamak. Quartus II Help dosyalarında bunun nasıl yapılacağını bulabilirsiniz. Perform the following steps: 1. Yeni bir proje oluşturun. 2. Devreniz için verilog kodunu oluşturun. Uygulama II deki gibi giriş ve çıkışları ayarlayın. 3. Kodunuzu projeye ekleyip derleyin. 4. Simulasyonu çalıştırarak devrenizin davranışını gözlemleyin. 5. Gerekli pin atamalarını yapın. 6. Tekrar derleyip FPGA kartına yükleyin. 7. Oluşturduğunuz devrenin girişlerini değiştirerek çıkışlarını denetleyin. Uygulama IV FPGA kartları 16-bitlik 256K kelime kapasiteye sahip SRAM yongaları içerirler. Sram yapısı bir adres ve bir data girişine sahiptir. Ayrıca aşağıdaki kontrol sinyallerinide giriş olarak alırlar: Chip Enable (CE) devre işlem yaptığı 41

48 sürece sıfır olmalıdır. Write Enable (W E) yazma işlemi boyunca sıfır olmalıdır. Upper Byte (UB) ve Lower Byte (LB) geçerli bir veri okunduğunda yaza yazıldığında sıfır olmalılardır. Okuma işlemi için geçerli bir data girişe verilmeli ve bir saat döngüsü sonra gerekli sinyaller sıfır yapılmalıdır. Bir yazma işlemi ise bir saat döngüsünde gerçekleşir. 1. FPGA kartının üzerindeki SRAM i kullanacağınız sram adında bir proje oluşturun. 2. sram.v adında bir verilog dosyası oluşturun. SW 7 anahtarlarını data girişi için SW 15 8 anahtarlarını ise 8-bitlik adres girişi için ayarlayın. Key[] butonunu okuma işlemi için read girişine ve KEY 1 butonunuda yazma işlemi için write girişine bağlayın. Son olarak SRAM den okuyacağınız veriyi HEX1 ve HEX da göstermek üzere bağlayın. 3. Gerekli pin atamalarını yapın(anahtarlar, göstergeler ve SRAM). 4. Devrenizi derleyip FPGA kartına yükleyin. 5. Devrenizin farklı girişlere verdiği tepkileri test edin. 42

49 Laboratuvar Çalışması 9 Basit İşlemci I Şekil 1 de 16-bit kaydedici, multiplexer, toplayıcı/çıkarıcı ve kontrol birimi(sonlu durum makinesi) bulunan sayısal bir sistem gösterilmiştir. 16-bit data sisteme DIN girişinden girer. Bu data 16-bitlik multiplexer aracılığıyla kaydedicilere(r,..., R7 ve A) aktarılır. Multiplexer aynı zamanda bir kaydedicinin içindeki datayı başka bir kaydediciye kaydetmek içinde kullanılabilmektedir. Şekilde multiplexerın çıkışı bus olarak adlandırılmıştır. Bunun sebebi genellikle bir datayı sistemin içinde bir yerden diğerine taşıyan birimlere bus denilmesidir. Toplayıcı yada çıkarıcı multiplexerın çıkışının A kaydedicisine kaydedildiği zaman işleme girer. A kaydedicisine bir data kaydedildiğinde ikinci 16-bitlik sayı bus a gelir işlem yapıldıktan sonra sonuç G kaydedicisine kaydedilir. Daha sonra G kaydedicisindeki data diğer kaydedicilere yollanabilir R in R R7 in R7 A in A Clock DIN 16 AddSub Addsub 9 8 Multiplexers G in G Bus G out DIN out R out R7out IR in IR 9 Control unit FSM Run Resetn Done Şekil 1: A digital system. Sistem kontrol birimi sayesinde her bir saat döngüsünde farklı bir işlem yapabilir. Kontrol birimi gelen veriyi tanımlar ve hangi kaydediciye kaydedileceğini belirler. Örnek olarak, eğer kontrol birimi R kaydedicisindeki datanın A ya yazılmasına karar verdiyse bir sonraki saat döngüsünde data A ya yazılır. Böyle sistemlere genellikle işlemci denir. Tablo 1 de bu çalışmada tanımlanan işlemcinin sahip olduğu komutların listesi verilmiştir. Operation kolonu komutları ve ve bu komutların argumanlarını göstermektedir. RX [RY] RY kaydedicisindeki datanın RX kaydedicisine kaydedileceğini belirtmektedir. mv (move) komutu bir kaydediciden diğerine datanın taşınması için kullanılmaktadır. mvi komutu ise D sabitini kaydediciye taşımak için kullanılmaktadır. 43

50 Kod mv Rx,Ry mvi Rx,#D add Rx, Ry sub Rx, Ry İşletilen fonksiyon Rx [Ry] Rx D Rx [Rx] + [Ry] Rx [Rx] [Ry] Tablo 1. Komut seti Her komut IR kaydedicisine 9-bitlik IIIXXXYYY şeklinde kodlanarak kaydedilir. Burada III kısmı komutun ne olduğunu, XXX kısmı RX kaydedicisinin hangisi olduğunu, YYY kısmı ise RY kaydedicisinin hangisi olduğunu işaret eder. Komut için 2-bitlik kod yeterli olmasına karşın işlemciye daha sonra başka komutlarda ekleyeceğimiz için 3-bit kulandık. Bu yüzden Şekil 1 de gösterildiği gibi DIN girişinin 9-biti IR kaydedicisine bağlanmıştır. mvi komutu için YYY kodlarının bir anlamı yoktur ve mvi komutu IR kaydedicisine yazıldığında DIN girişine gelen 16-bitlik veri işleme alınır. Soplama yada çıkarma gibi işlenmesi sırasında çoklu atama yapılan komutlar tamamlanmaları için birden çok saat döngüsüne ihtiyaç duyarlar. Kontrol birimindeki sonlu durum makinesi bir sonraki komuta geçmeden işlemdeki komutun tamamlanmasını sağlamak için saati komtrol etmektedir. İşlemci bir komutu işlerken Run sinyali verilir ve komut tamamlandığında ise Done sinyali verilerek komutun bittiği haber verilir. Tablo 2 de Tablo 1 deki komutların kontrol sinyalleri gösterilmiştir. Burada T anında IR in kontrol sinyali olmasına karşın tabloda T anı verilmemiştir. (mv): I RY out, RX in, Done (mvi): I 1 DIN out, RX in, Done T 1 T 2 T 3 (add): I 2 RX out, A in RY out, G in G out, RX in, Done (sub): I 3 RX out, A in RY out, G in, G out, RX in, AddSub Done Tablo 2. Komut seti/zaman ilişkisi. Uygulama I Şekil 1 deki işlemciyi verilog dilini kullanarak aşağıdaki gibi tasarlayıp gerçekleyin: 1. Yeni bir proje oluşturun. 2. İstenen verilog dosyasını oluşturun, projenize ekleyin ve derleyin. Oluşturmanız gereken verilog kodunun iskelet yapısı Şekil 2 de verilmiştir. 3. Simulasyonu çalıştırarak devrenizin davranışını gözlemleyin. Düzgün tasarlanmış devrenin simulasyon çıktısı Şekil 3 teki gibi olmalıdır. Bu şekilde 3. ns de DIN girişine (2) 16 verisi verilmiştir. Yani mvi R, #D komutu verilmiştir, 5. ns de ise girişe verilen 5 verisi R kaydedicisine yüklenmiştir. 9. ns de mv R1,R, 11. ns de add R,R1 ve 19. ns de ise sub R,R komutları verilmiştir. Burada simulasyon çıktısının DIN girişini 4 basamaklı 16lık sayı olarak ve IR kaydedicisindeki veriyi 3 basamaklı 8lik sayı olarak gösterdiğine dikkat edin. 4. Bir modül daha oluşturarak giriş ve çıkışları FPGA kartına uygun şekilde ayarlayın. SW 15 anahtarlarını DIN girişine, SW 17 anahtarını Run girişine, KEY butonunu Resetn girişine ve KEY 1 botununuda Clock girişine bağlayın. Bus çıkışını LEDR 15 ledlerine ve LEDR 17 ledinide Done çıkışına bağlayın. 44

51 5. pin assignment dosyasını projenize ekleyin. Devrenizi derleyip FPGA kartına yükleyin. 6. Anahtarların konumlarını değiştirerek işlemcinizin davranışını test edin. module proc (DIN, Resetn, Clock, Run, Done, BusWires); input [15:] DIN; input Resetn, Clock, Run; output Done; output [15:] BusWires; parameter T = 2 b, T1 = 2 b1, T2 = 2 b1, T3 = 2 b11;... declare variables assign I = IR[1:3]; dec3to8 decx (IR[4:6], 1 b1, Xreg); dec3to8 decy (IR[7:9], 1 b1, Yreg); Şekil 2a. İşlemci kodu için iskelet yapı. 45

52 // Kontrol SDM durumları Run, Done) begin case (Tstep_Q) T: // Bu adımda girişteki veri yüklenir. if (!Run) Tstep_D = T; else Tstep_D = T1; T1:... endcase end // Kontrol SDM çıkışları or I or Xreg or Yreg) begin... ilklendirmeleri yap. case (Tstep_Q) T: // Girişi DIN-e kaydet begin IRin = 1 b1; end T1: //Bu adımdaki sinyalleri tanımla case (I)... endcase T2: //Bu adımdaki sinyalleri tanımla case (I)... endcase T3: //Bu adımdaki sinyalleri tanımla case (I)... endcase endcase end // Kontrol SDM kaydedicileri Clock, negedge Resetn) if (!Resetn)... regn reg_ (BusWires, Rin[], Clock, R);... diğer kaydedicileri ve toplama çıkarma birimini oluştur.... bus-ı tanımla. endmodule Şekil 2b. İşlemci kodu için iskelet yapı. 46

53 module dec3to8(w, En, Y); input [2:] W; input En; output [:7] Y; reg [:7] Y; or En) begin if (En == 1) case (W) 3 b: Y = 8 b1; 3 b1: Y = 8 b1; 3 b1: Y = 8 b1; 3 b11: Y = 8 b1; 3 b1: Y = 8 b1; 3 b11: Y = 8 b1; 3 b11: Y = 8 b1; 3 b111: Y = 8 b1; endcase else Y = 8 b; end endmodule module regn(r, Rin, Clock, Q); parameter n = 16; input [n-1:] R; input Rin, Clock; output [n-1:] Q; reg [n-1:] Q; Clock) if (Rin) Q <= R; endmodule Şekil 2c. İşlemci için altmodüller. 47

54 Şekil 3. İşlemci simülasyon sonuçları. Uygulama II Bu uygulamada Şekil 4 deki bir sayıcı ve bir hafıza birimi eklenmiş işlemciden oluşan devreyi tasarlayacaksınız. Sayıcı hafıza biriminin adreslerini elde etmek için kullanılacak ve devrenizde PClock (işlemci için) ve MClock(hafıza için) olmak üzere iki ayrı saat kullanılacaktır. Counter Memory Processor n addr data 16 DIN Bus Done 16 Bus Done Resetn Run MClock PClock Resetn Run Şekil 4. İşlemciye hafızanın ve sayacın bağlanması. 1. Yeni bir proje oluşturun. 2. İşlemci, sayıcı ve hafıza birimini birleştiren bir verilog dosyası oluşturun. Hafıza birimini ROM: 1-PORT LPM modülünü kullanarak 16-bitlik 32 kelime kapasitesine sahip olacak şekilde oluşturun. Sihirbazın 4. ekranı Şekil 5 te verilmiştir. Hafıza birimi sadece okuma için olduğundan senkron sadece okunabilir hafıza (senkron ROM) olarak adlandırılır. Hafıza birimlerinin adresleri yüklemek için bir kaydedici kullandığına dikkat edin. Bu kaydedici FPGA lerin hafıza kaynaklarının tasarımından dolayı gereklidir. İşlemcinin komutlarını hafıza birimine yazmak için öntanımlı değerleri hafızaya kaydetmelisiniz. Bu sihirbaza memory initialization file (MIF) tanımlayarak yapılabilir. Şekil 6 da MegaWizard Plug-in Manager aracının ilgili ekranı gösterilmiştir. Bu ekranda projemizle aynı klasörde oluşturacağımız inst_mem.mif dosyasını ekliyeceğiz. Quartus II On-line Help ten MIF dosyalarının formatı hakkında bilgi edinebilir ve işlemciniz için yeteri kadar kod içeren bir MIF dosyasını oluşturabilirsiniz. 48

55 3. Simulasyonu çalıştırarak işlemciniz ile ROM devrenizin doğru haberleştiğinden emin olun. 4. Projenize pin assignment dosyasını ekleyin, SW 17 anahtarını Run girişine, KEY butonunu Resetn girişine, KEY 1 butonunu MClock girişine ve KEY 2 butonunu PClock girişine bağlayın. LEDR 15 ledlerini bus çıkışına ve son olarak LEDR 17 ledine Done çıkışına bağlayın. 5. Devrenizi derleyin ve FPGA kartına yükleyin. 6. Girişleri değiştirerek devrenizin davranışlarını gözlemleyin. Şekil 5. 1-PORT ROM için ayarlar. Şekil 6. Öntanımlı değerlerin hafızaya kaydedilmesi. 49

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ı

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol EEM122SAYISAL MANTIK BÖLÜM 6: KAYDEDİCİLER VE SAYICILAR Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol KAYDEDİCİLER VE SAYICILAR Flip-flopkullanan devreler fonksiyonlarına göre iki guruba

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI DENEY V : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI AMAÇLAR: ALTERA tarafından geliştirilen son teknoloji

Detaylı

T.C. İstanbul Medeniyet Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Elektrik-Elektronik Mühendisliği Bölümü

T.C. İstanbul Medeniyet Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Elektrik-Elektronik Mühendisliği Bölümü T.C. İstanbul Medeniyet Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Elektrik-Elektronik Mühendisliği Bölümü MANTIK DEVRELERİ TASARIMI LABORATUVARI DENEY FÖYLERİ 2018 Deney 1: MANTIK KAPILARI VE

Detaylı

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Bölüm 4 Ardışıl Lojik Devre Deneyleri Bölüm 4 Ardışıl Lojik Devre Deneyleri DENEY 4-1 Flip-Floplar DENEYİN AMACI 1. Kombinasyonel ve ardışıl lojik devreler arasındaki farkları ve çeşitli bellek birimi uygulamalarını anlamak. 2. Çeşitli flip-flop

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ı

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ı

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR 1 Amaç Toplayıcı ve çıkarıcı devreleri kurmak ve denemek. Büyüklük karşılaştırıcı devreleri kurmak ve denemek. 2 Kullanılan Malzemeler 7404 Altılı

Detaylı

SAYISAL MANTIK LAB. PROJELERİ

SAYISAL MANTIK LAB. PROJELERİ 1. 8 bitlik Okunur Yazılır Bellek (RAM) Her biri ayrı adreslenmiş 8 adet D tipi flip-flop kullanılabilir. RAM'lerde okuma ve yazma işlemleri CS (Chip Select), RD (Read), WR (Write) kontrol sinyalleri ile

Detaylı

ELK2016 SAYISAL TASARIM DERSİ LABORATUVARI DENEY NO: 2

ELK2016 SAYISAL TASARIM DERSİ LABORATUVARI DENEY NO: 2 ELK2016 SAYISAL TASARIM DERSİ LABORATUVARI DENEY NO: 2 DENEYİN ADI: LOJİK FONKSİYONLARIN SADECE TEK TİP KAPILARLA (SADECE NAND (VEDEĞİL), SADECE NOR (VEYADEĞİL)) GERÇEKLENMESİ VE ARİTMETİK İŞLEM DEVRELERİ

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ı

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Eşzamanlı (Senkron) Ardışıl Devrelerin Tasarlanması (Design) Bir ardışıl devrenin tasarlanması, çözülecek olan problemin sözle anlatımıyla (senaryo) başlar. Bundan sonra aşağıda açıklanan aşamalardan geçilerek

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ı

Deney 3: Asenkron Sayıcılar

Deney 3: Asenkron Sayıcılar Deney 3: Asenkron Sayıcılar Sayıcılar hakkında genel bilgi sahibi olunması, asenkron sayıcıların kurulması ve incelenmesi Kullanılan Elemanlar 1xLM555 Entegresi, 1x10 kohm direnç, 1x100 kohm direnç, 1x10

Detaylı

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ı

BİLGİSAYAR MİMARİSİ. İkili Kodlama ve Mantık Devreleri. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. İkili Kodlama ve Mantık Devreleri. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ İkili Kodlama ve Mantık Devreleri Özer Çelik Matematik-Bilgisayar Bölümü Kodlama Kodlama, iki küme elemanları arasında karşılıklığı kesin olarak belirtilen kurallar bütünüdür diye tanımlanabilir.

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ölüm 7 Ardışıl Lojik Devreler

Bölüm 7 Ardışıl Lojik Devreler Bölüm 7 Ardışıl Lojik Devreler DENEY 7- Flip-Floplar DENEYİN AMACI. Kombinasyonel ve ardışıl lojik devreler arasındaki farkları ve çeşitli bellek birimi uygulamalarını anlamak. 2. Çeşitli flip-flop türlerinin

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ı

DENEY 2- Sayıcılar. 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi.

DENEY 2- Sayıcılar. 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi. DENEY 2- Sayıcılar DENEY 2- JK Flip-Flop Devreleri DENEYİN AMACI 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi. GENEL BİLGİLER Sayıcılar flip-floplar

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 Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

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ı

XILINX PROGRAMI İLE PROJE HAZIRLANMASI İÇİNDEKİLER

XILINX PROGRAMI İLE PROJE HAZIRLANMASI İÇİNDEKİLER XILINX PROGRAMI İLE PROJE HAZIRLANMASI İÇİNDEKİLER PROJE OLUŞTURMA ŞEMATİK DOSYASI OLUŞTURULMASI VERILOG DOSYASI OLUŞTURULMASI TEST DOSYASI OLUŞTURULMASI XILINX ISE SIMULATOR İLE BENZETİM YAPILMASI PİN

Detaylı

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12

Bu derste! BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Yazmaç Aktarımı Düzeyi! Büyük Sayısal Sistemler! 12/25/12 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ı

DENEY 2- Sayıcılar ve Kaydırmalı Kaydediciler

DENEY 2- Sayıcılar ve Kaydırmalı Kaydediciler DENEY 2- Sayıcılar ve Kaydırmalı Kaydediciler DENEY 2a- JK Flip-Flop Devreleri DENEYİN AMACI 1. Sayıcıların prensiplerinin ve sayıcıların JK flip-flopları ile nasıl gerçeklendiklerinin incelenmesi. GENEL

Detaylı

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR DENEY 7: ASENKRON VE SENKRON SAYICILAR Deneyin Amaçları Asenkron ve senkron sayıcı devre yapılarının öğrenilmesi ve deneysel olarak yapılması Deney Malzemeleri 74LS08 Ve Kapı Entegresi (1 Adet) 74LS76

Detaylı

www.mekatroncnc.com.tr

www.mekatroncnc.com.tr Sayfa 1 Sayfa 2 Sayfa 3 MACH3 PROGRAMI KULLANMA KLAVUZU 1. ADIM: İlk olarak MACH3 MILL programı içerisine giriyoruz ve alttaki ekran karşımıza geliyor.(reset butonun yeşil yanmasına dikkat ediyoruz ve

Detaylı

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR 1 Amaç Toplayıcı ve çıkarıcı devreleri kurmak ve denemek. Büyüklük karşılaştırıcı devreleri kurmak ve denemek. 2 Kullanılan Malzemeler 7404 Altılı

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ı

Code Composer Studio İndirilmesi ve Kurulması

Code Composer Studio İndirilmesi ve Kurulması BÖLÜM 2: 2.1. STELARIS KART GENEL BİLGİ VE CODE COMPOSER STUDIO: Code Composer Studio İndirilmesi ve Kurulması 1. Aşağıdaki linkten Code Composer Studio yu indirebilirsiniz: http://processors.wiki.ti.com/index.php/download_ccs

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 ileşimsel Mantık Devreleri Yarım Toplayıcı İkili toplama işleini yapan devreye yarım toplayıcı adı verilir. Yarım toplayıcı girişlerine

Detaylı

NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ

NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ DENEY 1 Elektronik devrelerde sık sık karşımıza çıkan

Detaylı

Mikroçita. Mikroçita Rapor 2:

Mikroçita. Mikroçita Rapor 2: Mikroçita Rapor 2: İşlemci projemizle ilgili olarak hazırlamış olduğumuz bu ikinci raporda öncelikli olarak vhdl kullanarak tasarladığımız işlemcimizin genel çalışmasını ilk rapora göre daha ayrıntılı

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ı

(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 4 Ardışıl Lojik Devre Deneyleri

Bölüm 4 Ardışıl Lojik Devre Deneyleri Bölüm 4 Ardışıl Lojik Devre Deneyleri DENEY 4-1 Flip-Floplar DENEYİN AMACI 1. Kombinasyonel ve ardışıl lojik devreler arasındaki farkları ve çeşitli bellek birimi uygulamalarını anlamak. 2. Çeşitli flip-flop

Detaylı

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #5 16 Bitlik R Tipi İçin ALTERA MAX-PLUS-II VHDL de Tek Saat Veri Yolu Birimi 1.Giriş Bu deneyde

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ı

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ı

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler

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ı

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31

İÇİNDEKİLER 1. KLAVYE... 11 2. KLAVYE RB0... 19 3. KLAVYE RBHIGH... 27 4. 4 DİSPLAY... 31 İÇİNDEKİLER 1. KLAVYE... 11 Satır ve Sütunlar...11 Devre Şeması...14 Program...15 PIC 16F84 ile 4x4 klavye tasarımını gösterir. PORTA ya bağlı 4 adet LED ile tuş bilgisi gözlenir. Kendiniz Uygulayınız...18

Detaylı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

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 Hikmet Bilgehan UÇAR 6. HAFTA BİLEŞİK MANTIK DEVRELERİ (COMBINATIONAL LOGIC) Aritmetik İşlem Devreleri

Detaylı

Mantık Devreleri Laboratuarı

Mantık Devreleri Laboratuarı 2013 2014 Mantık Devreleri Laboratuarı Ders Sorumlusu: Prof. Dr. Mehmet AKBABA Laboratuar Sorumlusu: Emrullah SONUÇ İÇİNDEKİLER Deney 1: 'DEĞİL', 'VE', 'VEYA', 'VE DEĞİL', 'VEYA DEĞİL' KAPILARI... 3 1.0.

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ı

1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek.

1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek. DENEY 7-2 Sayıcılar DENEYİN AMACI 1. Sayıcıların çalışma prensiplerini ve JK flip-floplarla nasıl gerçekleştirileceğini anlamak. 2. Asenkron ve senkron sayıcıları incelemek. GENEL BİLGİLER Sayıcılar, flip-floplar

Detaylı

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Fatih University- Faculty of Engineering- Electric and Electronic Dept. SAYISAL DEVRE TASARIMI EEM Ref. Morris MANO & Michael D. CILETTI SAYISAL TASARIM 5. Baskı Fatih University- Faculty of Engineering- Electric and Electronic Dept. Birleşik Mantık Tanımı X{x, x, x, x n,}}

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ı

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ı

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ı

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ı

Deney 6: Ring (Halka) ve Johnson Sayıcılar

Deney 6: Ring (Halka) ve Johnson Sayıcılar Deney 6: Ring (Halka) ve Johnson Sayıcılar Kullanılan Elemanlar xlm Entegresi, x0 kohm direnç, x00 kohm direnç, x0 µf elektrolitik kondansatör, x00 nf kondansatör, x 7HC7 (D flip-flop), x 0 ohm, x Led

Detaylı

İKİ TABANLI SİSTEM TOPLAYICILARI (BINARY ADDERS)

İKİ TABANLI SİSTEM TOPLAYICILARI (BINARY ADDERS) Adı Soyadı: No: Grup: DENEY 4 Bu deneye gelmeden önce devre çizimleri yapılacak ve ilgili konular çalışılacaktır. Deney esnasında çizimlerinize göre bağlantı yapacağınız için çimilerin kesinlikle yapılması

Detaylı

Altera ile proje hazırlama. Quarturs programı üzerinde Altera De0 kartı için proje hazırlama

Altera ile proje hazırlama. Quarturs programı üzerinde Altera De0 kartı için proje hazırlama Quarturs programı üzerinde Altera De0 kartı için proje hazırlama Altera fpga kartları için derleyici programı Quartus tur. Aşağıdaki linkten quartus programı indirilebilir; https://www.altera.com/download/dnl-index.jsp

Detaylı

FPGA İLE UYGULAMA ÖRNEKLERİ

FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile Sonlu Durum Makinesi Uygulaması FPGA İLE UYGULAMA ÖRNEKLERİ FPGA ile (Sahada Programlanabilir Mantık Dizeleri) gerçekleştirilen bu örnek uygulamamızda geliştirme kartımız üzerinde bulunan 8 adet

Detaylı

B.Ç. / E.B. MİKROİŞLEMCİLER

B.Ç. / E.B. MİKROİŞLEMCİLER 1 MİKROİŞLEMCİLER RESET Girişi ve DEVRESİ Program herhangi bir nedenle kilitlenirse ya da program yeniden (baştan) çalıştırılmak istenirse dışarıdan PIC i reset yapmak gerekir. Aslında PIC in içinde besleme

Detaylı

Bölüm 8 Ardışıl Lojik Devre Uygulamaları

Bölüm 8 Ardışıl Lojik Devre Uygulamaları Bölüm 8 Ardışıl Lojik Devre Uygulamaları DENEY 8-1 Kayan LED Kontrolü DENEYİN AMACI 1. Kayan LED kontrol devresinin çalışma prensibini anlamak. 2. Bir kayan LED kontrol devresi gerçekleştirmek ve çalıştırmak.

Detaylı

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

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı SAYISAL ELEKTRONİK Ege Ü. Ege MYO Mekatronik Programı BÖLÜM 2 Sayı Sistemleri İkilik, Onaltılık ve İKO Sayılar İkilik Sayı Sistemi 3 Çoğu dijital sistemler 8, 16, 32, ve 64 bit gibi, 2 nin çift kuvvetleri

Detaylı

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6 DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6 16 Bitlik R Tipi İçin ALTERA MAX-PLUS-II VHDL de Tam Tek Saat Veri Yolu Birimi Amaç: Tek-Saat

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ı

BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi Birleşimsel Devreler - Çözümlenmesi - Tasarımı Bu derste... Birleşimsel Devre Örnekleri - Yarım Toplayıcı

Detaylı

Şekil 1. 74LS47 entegresi bağlantı şeması

Şekil 1. 74LS47 entegresi bağlantı şeması DENEY 5: ENTEGRELERLE VERİ DAĞITICI ve KOD ÇÖZÜCÜ DEVRELER Deneyin Amaçları 74LS47 7 parçalı display entegresinin yapısını ve kod çözme işlemini öğrenmek ve deneysel olarak doğrulamak. 74LS151 veri seçici

Detaylı

BÖLÜM 10 KAYDEDİCİLER (REGİSTERS) SAYISAL TASARIM. Bu bölümde aşağıdaki konular anlatılacaktır

BÖLÜM 10 KAYDEDİCİLER (REGİSTERS) SAYISAL TASARIM. Bu bölümde aşağıdaki konular anlatılacaktır erin BÖLÜM 10 KYEİCİLER (REGİSTERS) Bu bölümde aşağıdaki konular anlatılacaktır Kaydedicilerin(Registers) bilgi giriş çıkışına göre ve kaydırma yönüne göre sınıflandırılması. Sağa kaydırmalı kaydedici(right

Detaylı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları Digi SM 100 SM 100 Terazi Ayarları Digi SM 100 Terazi Ayarları Teraziyi ayarlamaya başlamak için öncelikle X S Z ENTER Raporlar Program Ayarlar FONKSIYON Bölümlerine geçiş yapabilmemiz gerekmektedir. Bunun

Detaylı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

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ı

Şekil 2.31: Proje yöneticisi penceresinden değişkenleri tanımlama

Şekil 2.31: Proje yöneticisi penceresinden değişkenleri tanımlama 2.3.1.1. Değişken İşlemleri Proje Yöneticisi penceresinin üst kısmındaki açılım "Variables" seçildiğinde pencerenin altında klasör ayraç etiketleri şeklinde sistem değişkenlerini tanımlama seçenekleri

Detaylı

DENEY 3a- Yarım Toplayıcı ve Tam Toplayıcı Devresi

DENEY 3a- Yarım Toplayıcı ve Tam Toplayıcı Devresi DENEY 3a- Yarım Toplayıcı ve Tam Toplayıcı Devresi DENEYİN AMACI 1. Aritmetik birimdeki yarım ve tam toplayıcıların karakteristiklerini anlamak. GENEL BİLGİLER Toplama devreleri, Yarım Toplayıcı (YT) ve

Detaylı

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ (TÜRKÇE) BLGM223 SAYISAL MANTIK TASARIMI

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ (TÜRKÇE) BLGM223 SAYISAL MANTIK TASARIMI DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ (TÜRKÇE) BLGM223 SAYISAL MANTIK TASARIMI DENEY II: QUARTUS II TASARIM ORTAMINA VE VERILOG PROGRAMLAMA İLE TASARIMA GİRİŞ Amaçlar: Bu deneyde ALTERA

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ı

DENEY 3-1 Kodlayıcı Devreler

DENEY 3-1 Kodlayıcı Devreler DENEY 3-1 Kodlayıcı Devreler DENEYİN AMACI 1. Kodlayıcı devrelerin çalışma prensibini anlamak. GENEL BİLGİLER Kodlayıcı, bir ya da daha fazla girişi alıp, belirli bir çıkış kodu üreten kombinasyonel bir

Detaylı

Küresel personel takip programı bordro, mesai hesaplama sürenizi ve alacağınız raporları en kısa sürede almanız için hazırlanmıştır.

Küresel personel takip programı bordro, mesai hesaplama sürenizi ve alacağınız raporları en kısa sürede almanız için hazırlanmıştır. Personel Takip Yazılımı Küresel Personel Devam Kontrol Programı Küresel personel takip programı bordro, mesai hesaplama sürenizi ve alacağınız raporları en kısa sürede almanız için hazırlanmıştır. İçindekiler

Detaylı

BÖLÜM 23 TD 200... F8 F4 SHIFT ESC ENTER M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 F8 F7 F6 F5 F4 F3 F2 F1. Shift + F1

BÖLÜM 23 TD 200... F8 F4 SHIFT ESC ENTER M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 F8 F7 F6 F5 F4 F3 F2 F1. Shift + F1 BÖLÜM 23 231 -TD 200 ( OPERATÖR PANEL) KULLANIMI TD 200 operatör paneli; PLC' ye mesaj göndermek, PLC' de daha önce yüklenmiş olan mesajları almak, analog işlemli projelerde ısı, nem, gaz, ışık gibi değerleri

Detaylı

BİLGİSAYAR DESTEKLİ TASARIM II

BİLGİSAYAR DESTEKLİ TASARIM II 0 BÖLÜM 1 ORCAD PROGRAMINA GİRİŞ: OR-CAD programını başlatmak için Başlat menüsünden programlara gelinir. Programların içerisinde ORCAD Release 9 ve bunun içerisinden de ORCAD Capture seçilir. Karşımıza

Detaylı

TEKNOLOJİ FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ EET-206 SAYISAL ELEKTRONİK - II LABORATUVARI

TEKNOLOJİ FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ EET-206 SAYISAL ELEKTRONİK - II LABORATUVARI TEKNOLOJİ FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ EET-206 SAYISAL ELEKTRONİK - II LABORATUVARI DENEY FÖYÜ 1 EET-206 SAYISAL ELEKTRONİK - II LABORATUVARI DENEY NO : 1 DENEYİN ADI : OSİLATÖR DEVRESİ Giriş

Detaylı

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

İnternet Programcılığı Öğr. Gör. Serkan AKSU  PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu

Detaylı

Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi Bu derste... BİL 201 Birleşimsel Mantık (Combinational Logic) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi Birleşimsel Devreler - Çözümlenmesi - Tasarımı Birleşimsel Devre Örnekleri - Yarım Toplayıcı

Detaylı

DENEY 8- Flip Flop ve Uygulamaları. Amaç: - Flip Flop çalışma mantığını kavramak

DENEY 8- Flip Flop ve Uygulamaları. Amaç: - Flip Flop çalışma mantığını kavramak DENEY 8- Flip Flop ve Uygulamaları Amaç: - Flip Flop çalışma mantığını kavramak Deneyin Yapılışı: - Deney bağlantı şemasında verilen devreleri uygun elemanlarla kurunuz. Entegrenin besleme ve GND bağlantılarını

Detaylı

18. FLİP FLOP LAR (FLIP FLOPS)

18. FLİP FLOP LAR (FLIP FLOPS) 18. FLİP FLOP LAR (FLIP FLOPS) Flip Flop lar iki kararlı elektriksel duruma sahip olan elektronik devrelerdir. Devrenin girişlerine uygulanan işarete göre çıkış bir kararlı durumdan diğer (ikinci) kararlı

Detaylı

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6 Hazırlayan: Erkan ÇİL 2016 2 FPGA Geliştirme Kartı Kullanıcı Kılavuzu İçindekiler FPGA Geliştirme Kartı Bilgileri FPGA Geliştirme Kartının Kullanımı FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ

Detaylı

ROKAY. Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0

ROKAY. Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0 ROKAY Robot Operatör Kayıt Cihazı KULLANMA KILAVUZU V:1.0 1 İÇİNDEKİLER SAYFA Cihazın Genel Özellikleri... 3 Programın Kurulumu... 4 Windows-7 Sürücülerin Yüklenmesi... 5 Windows-Vista Sürücülerin Yüklenmesi...

Detaylı

EAGLE KÜTÜPHANE OLUŞTURMA

EAGLE KÜTÜPHANE OLUŞTURMA 1 EAGLE mühendislik EAGLE KÜTÜPHANE OLUŞTURMA Merhaba Arkadaşlar, sizlerle bu yazımda bir PCB-Dizayn programı olan EAGLE da sıfırdan kütüphane oluşturmayı anlatmaya çalışacağım. Eagle bilindiği üzere iki

Detaylı

Şekil 2.23: Window menüsü ve elemanları

Şekil 2.23: Window menüsü ve elemanları 2.2.3.1. Window (Pencere) Menüsü Elemanları Şekil 23 de window menüsü elemanları gösterilmiştir. Şekil 2.23: Window menüsü ve elemanları Sayfalar arasında geçiş için kullanılır. Sayfa adlarının yanlarında

Detaylı

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz. Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz. Aşağıdaki pencereyi gördükten sonra cihazınız parametre ayarı

Detaylı

25. Aşağıdaki çıkarma işlemlerini doğrudan çıkarma yöntemi ile yapınız.

25. Aşağıdaki çıkarma işlemlerini doğrudan çıkarma yöntemi ile yapınız. BÖLÜM. Büyüklüklerin genel özellikleri nelerdir? 2. Analog büyüklük, analog işaret, analog sistem ve analog gösterge terimlerini açıklayınız. 3. Analog sisteme etrafınızdaki veya günlük hayatta kullandığınız

Detaylı

ABAQUS Programına Giriş Kullanılacak Sürümler

ABAQUS Programına Giriş Kullanılacak Sürümler ABAQUS Programına Giriş Kullanılacak Sürümler (1) Abaqus Öğrenci Sürümü (Student Edition) (Abaqus SE): Akademik öğrenciler tarafında indirilebilen ücretsiz Sonlu Elemanlar probram sürümüdür. İndirilme

Detaylı

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği SAYI VE KODLAMA SİSTEMLERİ Teknoloji Fakültesi/Bilgisayar Mühendisliği Neler Var? Sayısal Kodlar BCD Kodu (Binary Coded Decimal Code) - 8421 Kodu Gray Kodu Artı 3 (Excess 3) Kodu 5 de 2 Kodu Eşitlik (Parity)

Detaylı

BÖLÜM 9 (COUNTERS) SAYICILAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır

BÖLÜM 9 (COUNTERS) SAYICILAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır SYISL ELETRONİ ÖLÜM 9 (OUNTERS) SYIILR u bölümde aşağıdaki konular anlatılacaktır Sayıcılarda Mod kavramı senkron sayıcılar senkron yukarı sayıcı (Up counter) senkron aşağı sayıcı (Down counter) senkron

Detaylı

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK 1.1 Programın Başlatılması 1.2 Yeni Proje Oluşturma 1.3 MCU Seçimi Yrd.Doç.Dr.Bülent Çobanoğlu 1.4 MCU Programlama Dil Seçimi 1.5 Proje İsmi

Detaylı

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem 3.3. İki Tabanlı Sayı Sisteminde Dört İşlem A + B = 2 0 2 1 (Elde) A * B = Sonuç A B = 2 0 2 1 (Borç) A / B = Sonuç 0 + 0 = 0 0 0 * 0 = 0 0 0 = 0 0 0 / 0 = 0 0 + 1 = 1 0 0 * 1 = 0 0 1 = 1 1 0 / 1 = 0 1

Detaylı

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. ARDUİNO PROGRAMLAMA fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız. fonksiyonu: Diğer programlama dillerinden alışık olduğumuz

Detaylı

Bölüm 18 FBs-6AD Analog Giriş Modülü

Bölüm 18 FBs-6AD Analog Giriş Modülü Bölüm 18 FBs-6AD Analog Giriş Modülü FBs-6AD FATEK FBs serisinin analog giriş modüllerinden biridir. 12 veya 14 bit etkin çözünürlüklü 6 analog giriş sağlar. Jumper ayarları ile, sinyal akım veya gerilim

Detaylı

DENEY 6: VERİ SEÇİCİLER İLE TASARIM

DENEY 6: VERİ SEÇİCİLER İLE TASARIM DENEY 6: VERİ SEÇİCİLER İLE TASARIM 1 Amaç Mantıksal devre tasarımı ve veri seçiciler (çoklayıcı, multiplexer veya mux) ile gerçeklenmesi. Aynı giriş değerlerinden çoklu çıkış veren mantıksal devre uygulaması

Detaylı

Bölüm Bazı Temel Konseptler

Bölüm Bazı Temel Konseptler Bölüm 7 Bu ve bundan sonraki bölümde, makine komutlarını işleten ve diğer birimlerin faaliyetlerini düzenleyen işlem birimi üzerine yoğunlaşacağız. Bu birim genellikle Komut Seti Mimarisi (Instruction

Detaylı

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } } Temrin1: PIC in PORTB çıkışlarından RB5 e bağlı LED i devamlı olarak 2 sn. aralıklarla yakıp söndüren programı yapınız. En başta PORTB yi temizlemeyi unutmayınız. Devre Şeması: İşlem Basamakları 1. Devreyi

Detaylı

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir. DİZİLER/ARRAY: Dizi yi çeşitli şekillerde tanımlamak mümkün. Dizi içlerinde birden fazla değer saklayabilen veri kümeleridir diye tanımlarsak uygun olur sanırım. Diziler yan yana dizilmiş kutucuklar olarak

Detaylı

1 ELEKTRONİK KAVRAMLAR

1 ELEKTRONİK KAVRAMLAR İÇİNDEKİLER VII İÇİNDEKİLER 1 ELEKTRONİK KAVRAMLAR 1 Giriş 1 Atomun Yapısı, İletkenler ve Yarı İletkenler 2 Atomun Yapısı 2 İletkenler 3 Yarı İletkenler 5 Sayısal Değerler (I/O) 8 Dalga Şekilleri 9 Kare

Detaylı