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

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ı

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ı

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ı

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ı

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ı

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ı

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 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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

İÇİ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ı

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ı

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ı

(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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

Ş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ı

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar SAYI SİSTEMLERİ 1. Sayı Sistemleri Sayı sistemleri; saymak, ölçmek gibi genel anlamda büyüklüklerin ifade edilmesi amacıyla kullanılan sistemler olarak tanımlanmaktadır. Temel olarak 4 sayı sistemi mevcuttur:

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ı

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 I: QUARTUS II TASARIM ORTAMINA GİRİŞ VE VHDL TEMELLERİNİ TANIMA Amaçlar: Bu deneyde ALTERA tarafından

Detaylı

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı

MC6800. Veri yolu D3 A11. Adres yolu A7 A6 NMI HALT DBE +5V 1 2. adres onaltılık onluk 0000 0. 8 bit 07FF 2047 0800 2048. kullanıcının program alanı GİRİŞ Günümüzde kullanılan bilgisayarların özelliklerinden bahsedilirken duyduğumuz 80386, 80486 Pentium-III birer mikroişlemcidir. Mikroişlemciler bilgisayar programlarının yapmak istediği tüm işlerin

Detaylı

SELÇUK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ ELEKTRĠK-ELEKTRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ LOJĠK DEVRE TASARIM DERS NOTLARI

SELÇUK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ ELEKTRĠK-ELEKTRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ LOJĠK DEVRE TASARIM DERS NOTLARI SELÇUK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK-MĠMARLIK FAKÜLTESĠ ELEKTRĠK-ELEKTRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ LOJĠK DEVRE TASARIM DERS NOTLARI Konya- 2012 i KONULAR 1. Ardışıl lojik devreler, senkron ardışıl lojik devreler

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ı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz. Ders-2: ---------- Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz. Hazırlanan programlarda pic in zaman zaman dış ortamdan bilgi

Detaylı

BLGM423 Gömülü Sistem Tasarımı

BLGM423 Gömülü Sistem Tasarımı 1 BLGM423 Gömülü Sistem Tasarımı İkinci Çalışma Sayısal giriş ucunun çeşitli konum ve hareketlerini algılama Bu çalışmada tipik bir anahtara bağlanmış olarak kullanılan sayısal giriş ucundaki konum ve

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ı

C-Serisi PLC İleri Seviye Eğitim

C-Serisi PLC İleri Seviye Eğitim C-Serisi PLC İleri Seviye Eğitim 1 PLC ye Giriş 2 PLC ye Giriş 3 PLC ye Giriş CJ1 I/O Modülleri - 8/16/32/64pts Max I/O - 160,640 Max Program Kapasitesi - 20K Steps Komut sayısı - 400 4 PLC Ladder Diyagram

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ı

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ı

C Programlama Dilininin Basit Yapıları

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

Detaylı

03.03.2014 VERILOG. Modüller

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

Detaylı

BÖLÜM 8 MANDAL(LATCH) VE FLİP-FLOPLAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır

BÖLÜM 8 MANDAL(LATCH) VE FLİP-FLOPLAR SAYISAL ELEKTRONİK. Bu bölümde aşağıdaki konular anlatılacaktır AYIAL ELETONİ BÖLÜM 8 MANAL(LATCH) VE FLİP-FLOPLA Bu bölümde aşağıdaki konular anlatılacaktır Mandallar(Latches),- Mandalı, Mandalı ontak sıçramasının mandallar yardımı ile engellenmesi Flip-Floplar,-

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ı

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B) 446 GÖMÜLÜ SİSTEM TASARIMI Adım Motoru 8.1 Amaç Bu laboratuvarda LauchPad a dışarıdan bağlanacak adım motorunun dönme yönünü ve hızını kontrol eden programın yazılımı verilecektir. 8.2 Gerekli Malzeme

Detaylı

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM INVT IVC1 -Kompakt Tip PLC Marketing 2014 HM Özelikler IVC1 Özelikleri Genişleme 128 IO 7 modül genişleme Haberleşme Arayüzü 2 seri port: 1xRS232, 1xRS232/485 Temel komut işlem Hızı 0.3μs Pulse Girişi

Detaylı

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

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

Detaylı

FP52 PROXIMITY KART OKUYUCUSU KULLANIM KILAVUZU

FP52 PROXIMITY KART OKUYUCUSU KULLANIM KILAVUZU FP52 PROXIMITY KART OKUYUCUSU KULLANIM KILAVUZU FP52 kart okuyucusunu; Mody serisi dış kapı buton modülleri ile birlikte kullanılır. Fp52 ile iki farklı röle çıkışı vardır.500 kullanıcıya kadar tanımlanabilir.

Detaylı

SAYISAL KONTROL 2 PROJESİ

SAYISAL KONTROL 2 PROJESİ SAYISAL KONTROL 2 PROJESİ AUTOMATIC CONTROL TELELAB (ACT) ile UZAKTAN KONTROL DENEYLERİ Automatic Control Telelab (ACT), kontrol deneylerinin uzaktan yapılmasını sağlayan web tabanlı bir sistemdir. Web

Detaylı

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

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

Detaylı

PEY-D810 SĠNYALĠZASYON SĠSTEMĠ

PEY-D810 SĠNYALĠZASYON SĠSTEMĠ PEY-D810 SĠNYALĠZASYON SĠSTEMĠ AÇIKLAMALAR-KULLANIM-BAĞLANTILAR Sayfa 1 ĠÇĠNDEKĠLER SAYFA 1-) Sistemin Genel Tanıtımı 3 2-) Sistemin ÇalıĢma ġekli.4 3-) Sistem Yazılımı 5 4-) Sistemin Elektrik ve Bağlantı

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ı

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ı

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ı

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ı

SAYICILAR. Tetikleme işaretlerinin Sayma yönüne göre Sayma kodlanmasına göre uygulanışına göre. Şekil 52. Sayıcıların Sınıflandırılması

SAYICILAR. Tetikleme işaretlerinin Sayma yönüne göre Sayma kodlanmasına göre uygulanışına göre. Şekil 52. Sayıcıların Sınıflandırılması 25. Sayıcı Devreleri Giriş darbelerine bağlı olarak belirli bir durum dizisini tekrarlayan lojik devreler, sayıcı olarak adlandırılır. Çok değişik alanlarda kullanılan sayıcı devreleri, FF lerin uygun

Detaylı

UYGULAMA 2 TABLO YAPIMI

UYGULAMA 2 TABLO YAPIMI 1 UYGULAMA 2 TABLO YAPIMI Amaç: SPSS 10 istatistiksel paket programında veri girişi ve tablo yapımı. SPSS 10 istatistiksel paket programı ilk açıldığında ekrana gelen görüntü aşağıdaki gibidir. Bu pencere

Detaylı

ELM019 - Ölçme ve Enstrümantasyon 3

ELM019 - Ölçme ve Enstrümantasyon 3 DAQ - Converters Veri Toplayıcılar Data Acquisition Bir Veri Toplama Sisteminin (DAS) Bileşenleri Bazı tıbbi cihazlar bir hastadan gelen fizyolojik işaretlerin takibini ve analizini yapabilir. Şekildeki

Detaylı

İnönü Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

İnönü Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü İnönü Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü 00223 - Mantık Devreleri Tasarımı Laboratuar Föyleri Numara: Ad Soyad: Arş. Grv. Bilal ŞENOL Devre Kurma Alanı Arş. Grv. Bilal ŞENOL

Detaylı

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır. BA&BS MUTABAKAT PROGRAMI Kurulumu 1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır. 3. Server ayarlarının yapılacağı pencere açılır. 3.1 Server Adı\instance

Detaylı

GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı-

GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı- GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı- RS485 Bağlantı: 1- RS485 bağlantı için PLC nin RS485 bağlantısı için olan COM2 girişini kullanınız. (Şekildeki gibi takınız)

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

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

Detaylı

T.C. RC SERVO MOTOR KONTROLÜ

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

Detaylı

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com Sayı Sistemleri İşlemci elektrik sinyalleri ile çalışır, bu elektrik sinyallerini 1/0 şeklinde yorumlayarak işlemcide olup bitenler anlaşılabilir hale getirilir. Böylece gerçek hayattaki bilgileri 1/0

Detaylı

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak LPC2104 Mikro Denetleyicisini KEIL İle Programlamak Program yazabilmek için öncelikle komutları tanımamız ve ne işe yaradıklarını bilmemiz gerekir. Komutlar yeri geldikçe çalışma içerisinde anlatılacaktır.

Detaylı

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme Giriş MİKROİŞLEMCİ SİSTEMLERİ Bilgisayar teknolojisindeki gelişme Elektronik öncesi kuşak Elektronik kuşak Mikroişlemci kuşağı Yrd. Doç. Dr. Şule Gündüz Öğüdücü 1 Bilgisayar Tarihi Elektronik Öncesi Kuşak

Detaylı

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

Şekil 2.1 : Şekil 2.2 : Şekil 2.3 :

Şekil 2.1 : Şekil 2.2 : Şekil 2.3 : BÖLÜM 2 MĐCROWIN 32 PROGRAMININ BĐLGĐSAYARA YÜKLENMESĐ 2.1 - Giriş: PLC de tasarlanan projeyi çalıştırabilmek için Micro/WIN 32 veya Micro/WIN 16 paket programın öncelikle bilgisayara yüklenmesi gerekmektedir.

Detaylı

ideal Sistem Tester Kullanım Klavuzu

ideal Sistem Tester Kullanım Klavuzu 1- Sistem Modülüne Giriş ideal Sistem Tester Kullanım Klavuzu Herhangi bir Grafik penceresinin başlığındaki S harfine basılarak açılan menüden yapılabilen seçimlerle kullanılmaya başlanır. Bu menüden,

Detaylı

Bir devrede bellek elemanı olarak kullanılmak üzere tutucuları inceledik.

Bir devrede bellek elemanı olarak kullanılmak üzere tutucuları inceledik. Flip-Flop Bir devrede bellek elemanı olarak kullanılmak üzere tutucuları inceledik. Tutucular bazı problemlere sahiptir: Tutucuyu ne zaman enable yapacağımızı bilmeliyiz. Tutucuyu çabucak devredışı bırakabilmeliyiz

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUARI İKİLİ TABANDA ÇOK BAYTLI ÇARPMA Aritmetik işlemler onlu sayı sisteminde yapılabileceği gibi diğer sayı sistemleri

Detaylı

T.C. BOZOK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ LOJĐK DEVRELER LABORATUARI DENEY FÖYÜ

T.C. BOZOK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ LOJĐK DEVRELER LABORATUARI DENEY FÖYÜ T.C. BOZOK ÜNİVERSİTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ LOJĐK DEVRELER LABORATUARI DENEY FÖYÜ Haziran 2009 ĐÇĐNDEKĐLER Deney-1 Temel Kapı Devreleri. 1 1.1 Ön Çalışma. 1 1.2 Deneyin Amacı 1 1.3

Detaylı

Toplu Kayıt Kullanıcı Kitapçığı

Toplu Kayıt Kullanıcı Kitapçığı OnSync Web Toplantı, Sanal Sınıf, Web ve Video Toplantı Servisi Toplu Kayıt Kullanıcı Kitapçığı 1 Öncelikle Etgi Grup u tercih ettiğiniz için teşekkür ederiz. OnSync sistemine giriş yapmadan önce toplu

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

Detaylı

1 Organizasyon Tanımlama

1 Organizasyon Tanımlama İçindekiler 1 Organizasyon Tanımlama... 3 1.1 Şirket Tanımlama... 3 1.2 Kullanıcı Tanımlama... 3 1.3 İş Akışında Kullanılacak Grup/Birimlerin Oluşturulması... 3 1.4 Oluşturulan Grup/Birim Altına Kullanıcı

Detaylı

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir.

8086 nın Bacak Bağlantısı ve İşlevleri. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit mikroişlemcilerdir. Bölüm 9: 8086 nın Bacak Bağlantısı ve İşlevleri 8086 & 8088 her iki işlemci 40-pin dual in-line (DIP) paketinde üretilmişlerdir. 8086, 16-bit veri yoluna (data bus) 8088 ise 8- bit veri yoluna sahip16-bit

Detaylı

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Mantık Devreleri EEE307 5 3+0 3 3

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Mantık Devreleri EEE307 5 3+0 3 3 DERS BİLGİLERİ Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS Mantık Devreleri EEE307 5 3+0 3 3 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü İngilizce Lisans Zorunlu / Yüz Yüze Dersin

Detaylı

EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ. 1 - Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma:

EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ. 1 - Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma: EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ 1 Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma 2 Web Sayfasına Yeni Element Ekleme Ve Özelliklerini Belirleme Değişiklik Yapma 3 Web Sayfası Tasarımını

Detaylı

BÖLÜM 2 8051 Mikrodenetleyicisine Giriş

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

Detaylı

UYGULANMIŞ ÖRNEK PLC PROGRAMLARI

UYGULANMIŞ ÖRNEK PLC PROGRAMLARI UYGULANMIŞ ÖRNEK PLC PROGRAMLARI Örnek 1: Örneğ e başlamadan önce CPU yu 221 seçmeliyiz.(bu işlem program sonunda da yapılabilir.) Girişler I 0.0 dan I 0.5 e, Çıkışlar Q 0.0 dan Q 0.3 e kadardır. Amacı

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

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

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

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

LMS PC aracı ACS420. LMS parametre ayarlarının yapılması için PC yazılımı. Kurlum ve çalıştırma talimatları

LMS PC aracı ACS420. LMS parametre ayarlarının yapılması için PC yazılımı. Kurlum ve çalıştırma talimatları LMS PC aracı ACS420 LMS parametre ayarlarının yapılması için PC yazılımı Kurlum ve çalıştırma talimatları 1 İçindekiler 1. ACS420 programının kurulumu.. 3 2. OCI430 ara yüzün sürücü kurulumu.. 7 OCI430

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

MENÜ AYARLAMA 1. MENÜ AYARLAMA. [X] Fusion@6. [X] Fusion@6 Standard. [X] Entegre@6. [X] Yeni Fonksiyon

MENÜ AYARLAMA 1. MENÜ AYARLAMA. [X] Fusion@6. [X] Fusion@6 Standard. [X] Entegre@6. [X] Yeni Fonksiyon MENÜ AYARLAMA Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard [X] Entegre@6 Kategori Versiyon Önkoşulu [X] Yeni Fonksiyon @6 Uygulama Fusion@6 serisi ürünlerde ürün ana menüsü çeşitli temalarla görsel olarak

Detaylı

Cadence OrCAD Kurulum ve Simulasyon

Cadence OrCAD Kurulum ve Simulasyon Cadence OrCAD Kurulum ve Simulasyon http://www.cadence.com/products/orcad/pages/downloads.aspx Yukarida belirtilen link uzerinden, Cadence programlarinin demo versiyonlarini indirebilirsiniz. Sadece yapacagınız

Detaylı