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

Download ""

Transkript

1 Res. Asist Erman Selim Res. Asist Sinan Zengin DİGİTAL SYSTEMS FPGA LAB

2 9/29/2015 Altera ile proje hazırlama Quartursprogramı üzerinde AlteraDe2 kartı için proje hazırlama Altera ile proje hazırlama Alterafpgakartları için derleyici programı Quartus tur. Bu programda da yazılan kodlar aynı çalışacaktır. Tek fark ara yüzdür. Aşağıdaki linkten quartus programı indirilebilir;

3 9/29/2015 Altera ile proje hazırlama Quartus programı çalıştırılır. Açılan programda «create new project» seçilirekyeni proje açılır. Altera ile proje hazırlama Projenin hedef dizini ve adı seçilir. (dizinde ve isimde türkçekarakter olmaması ve boşluk gibi özel karakterlerin olmaması gerekli)

4 9/29/2015 Altera ile proje hazırlama Projenin hedef dizini ve adı seçilir. (dizinde ve isimde türkçekarakter olmaması ve boşluk gibi özel karakterlerin olmaması gerekli) Altera ile proje hazırlama Kullanılacak fpgamodeli seçilir. De2 kartları için «Cyclone II EP2C35F672C6» seçilir.

5 9/29/2015 Altera ile proje hazırlama Gelen boş ekranda sol üst pencerede gözüken proje isimli logic kapı resmi projenin açıldığını gösterir. Altera ile proje hazırlama Sol köşedeki yeni ikonu ile yeni kaynak kod dosyası açılabilir. VHDL file seçilerek yeni kod dosyası açılır.

6 9/29/2015 Altera ile proje hazırlama Gelen boş ekran kod dosyasıdır. Quartustahazır kod şablonu açılmamaktadır. Altera ile proje hazırlama Kod yazıldıktan sonra dosyayı kaydederken ilk kod dosyasını proje ismine uygun yazınız. Örnekte counter kodu vardır. Ama projeye göre değiştirilmiştir.

7 9/29/2015 Altera ile proje hazırlama «Analysis&Synthesis» seçilerek kodun yazım doğrulu kontrol edilir. (Sentez edilir.) Simulasyon(Modelsim)

8 9/29/2015 Alteraile beraber yüklene Modelsim programı ücretsizdir. Modelsim programı adresinden öğrenci sürümü indirilebilir yüklendikten sonra sitesine yönlenerek lisans almanızı sağlar. Öğrenci lisansı 180 gündür. Modelsim Simulasyonu Simülasyon işlemine başlamak için herhangi bir derleyicide yazılan VHDL kodunda error olmadığı doğrulanmalıdır.

9 9/29/2015 Modelsim Simulasyonu Modelsim programı açılır. Modelsim Simulasyonu New->Library açılır. gelen ekrandan ayar yapılabilir. (yapılmasa da olur «ok»)

10 9/29/2015 Modelsim Simulasyonu Compile seçilerek proje dosyaları eklenir. Modelsim Simulasyonu Start Simulation seçilerek simülasyon başlar. Gelen simulasyonu çalıştırılacak olan dosya seçilir. (tek dosya simüle edilir)

11 9/29/2015 Modelsim Simulasyonu Simulasyonişlemi zamana göre adım adım ilerlemektedir. Modelsim Simulasyonu Öncelikle simülasyon sinyalleri yani modelin entity kısmındaki in/out lar simülasyona eklenir.

12 9/29/2015 Modelsim Simulasyonu Okların yönü giriş/çıkışı gösterir. Sinyaller önceden belirlenmez. Anlık olarak oluşturulup çalıştırılır. Modelsim Simulasyonu a girişi 1, b girişi 0 olan sistem çalıştırılacaktır. a sinyaline sağ tık ile «Force» seçilir. Gelen ekrana değer yazılır. Aynısı b için tekrarlanır.(«force»)

13 9/29/2015 Modelsim Simulasyonu Değerler belirlendikten sonra («Force») simülasyon belirtilen süre kadar (ör:100ns) çalıştırılır. «Run» butonu ile Modelsim Simulasyonu Denenecek başka bir durum için «Force» ile değer belirlenip yeniden «run» yapılır.(ör: a=0,b=1 için)

14 9/29/2015 Projenin Karta Aktarımı Altera ile proje hazırlama Kart üzerine pinatamaları yapılmalıdır. Bunu assignments-> pin planner seçilerek yapılır.

15 9/29/2015 Altera ile proje hazırlama Pin değerlerini linkteki tabloda bulabilirsiniz; ble.pdf Altera ile proje hazırlama Kodun yazım hatası olmadığı görüldükten ve kodun modelsim simulasyonuyapıldıktan sonra (modelsim simulasyonudökümanındaanlatılmıştır.) Pindeğerlerinin atanması yapılmıştır. Artık karta aktarıma geçilebilir. «compile design» seçilerek devam edilir.

16 9/29/2015 Altera ile proje hazırlama Yükleme işlemi için programmer seçilir. Programmer ekranında *.sof dosyası yükleme dosyasını gösteri. No Hardware gözüküyorsa ya takılı kart yoktur yada driver sorunu vardır. Altera ile proje hazırlama Driver sorunu varsa driveryükleme işlemi için aygıt yöneticisini açın. Alterausb! işateriylegözüküyordur. Sağ basarak sürücüyü güncelleyin. Driver dosyası quartusun kurulu olduğu dizinin altındadır.

17 9/29/2015 Altera ile proje hazırlama Bağlantı veya sürücüyle ilgili sorun yoksa programmerda hardware setup butonundan usbblaster seçilir. Altera ile proje hazırlama Hardware setup butonunun yanında USB-Blaster gözüküyorsa yükleme yapılabilir. Start butonuna basılrak yükleme yapılır.

18 9/29/2015 Altera ile proje hazırlama alterafpga/quartusile ilgili ayrıntılı ve geniş bilgi kendi sitesinden bulunabilir.

19 9/29/2015 VHDL Basics Entity Declaration The entity declaration defines the NAME of the entity and lists the input and output ports. The general form is as follows, entity NAME_OF_ENTITY is port (signal_names: mode type; signal_names: mode type; : signal_names: mode type); end [NAME_OF_ENTITY] ;

20 9/29/2015 Modes & Types mode: is one of the reserved words to indicate the signal direction: in indicates that the signal is an input out indicates that the signal is an output of the entity whose value can only be read by other entities that use it. inout the signal can be an input or an output. type: a built-in or user-defined signal type. o bit can have the value 0 and 1 o bit_vector is a vector of bit values (e.g. bit_vector(0 to 7) o std_logic, std_ulogic, std_logic_vector, std_ulogic_vector: o boolean can have the value TRUE and FALSE o integer can have a range of integer values o real can have a range of real values o character any printing character o time to indicate time Entity Declaration a b sum carry entity half_adder is port( a, b : instd_logic; sum, carry :out std_logic); end half_adder; The interface is a collection of ports Ports are a new programming object: signal Ports have a type: std_logic Ports have a mode: in, out, inout (bidirectional)

21 9/29/2015 Architecture body architecture architecture_name of NAME_OF_ENTITY is -- Declarations -- components declarations -- signal declarations -- constant declarations -- function declarations -- procedure declarations -- type declarations: begin -- Statements: end architecture_name; Architecture body a b sum carry entity half_adder is port(a, b : in std_logic; sum, carry :out std_logic); end half_adder; architecture behavior of half_adder is begin sum <=a xorb; carry <= a andb; end behavior; Description of events on output signals in terms of events on input signals: the signal assignment statement

22 9/29/2015 VHDL Operators Logical Operators not, and,nand, or, nor, xor, xnor - works on types BIT, BIT_VECTOR, BOOLEAN -vectors must be same length -the result is always the same type as the input Numerical Operators + "addition" - "subtraction" * "multiplication" / "division" mod "modulus" rem "remainder" abs "absolute value" ** "exponential" -works on types INTEGER, REAL -the types of the input operands must be the same VHDL Operators Relational Operators - Output is always BOOLEAN (TRUE, FALSE) - works on types: BOOLEAN, BIT, BIT_VECTOR, CHARACTER, INTEGER, REAL, TIME, STRING = "equal«/= "not equal" < "less than«<= "less than or equal" > "greater than«>= "greater than or equal«shift Operators - works on one-dimensional arrays - works on arrays that contain types BIT, BOOLEAN sll "shift left logical«srl "shift right logical" sla "shift left arithmetic«sra "shift right arithmetic" rol "rotate left«ror "rotate right«concatenation Operator -combines objects of same type into an array & "concatenate" ex) New_Bus<= ( Bus1(7:4) & Bus2(3:0) )

23 9/29/2015 signals ENTITY fewgates IS PORT ( A : IN STD_LOGIC; B : IN STD_LOGIC; C : IN STD_LOGIC; Y : OUT STD_LOGIC behavior ); END fewgates; ARCHITECTURE c1_behavior OF fewgates IS SIGNAL sig1: STD_LOGIC; BEGIN sig1 <= (NOT A) AND (NOT B); Y <= C OR sig1; END c1_behavior; sig1 Internal signals connect components component Half adder«ha» Halfadderalt modül yapılarak full adderda kullanılacaktır. full adder«fa»

24 9/29/2015 component Alt modüllerin sağ taraflarında kalan boşluklara virgülden önceye bağlanacak port ismi yazılarak. bağlantılar yapılır. Yazılacak başka kod varsa (örnekte or işlemi)kodun devamına yazılır. component

25 9/29/2015 process process (sensitivity_list) declarations; begin sequential statement; sequential statement;... end process; Contains a set of sequential statements to be executed sequentially The whole process is a concurrent statement Can be interpreted as a circuit part enclosed inside of a black box process Process with sensitivity list. Interpretation: black box, indivisible circuit part. Sensitivity list The execution of the process is initiated whenever an event occurs on any of the signals in the sensitivity list

26 9/29/2015 syntax for IF, CASE, WITH and WHEN!!! Inner of process!!! syntax for IF, CASE, WITH and WHEN!!! Inner of process!!!

27 9/29/2015 syntax for IF, CASE, WITH and WHEN!!! Outof process!!! syntax for IF, CASE, WITH and WHEN!!! Outof process!!!

28 LAB 1) Do rt Bit Toplayıcı 1a) Half adder tasarımı. Half adder mantıksal devresi, VHDL dili kullanılarak tasarlanacak ve simülasyonu yapılacaktır. Half adder tasarımı kapılar kullanılarak aşağıdaki gibi gerçekleştirilir. 1b) Full adder tasarımı VHDL kod sayfasıyla elde hazırlanan Half adder tasarımını bitirdikten sonra tasarımı komponent olarak kullanarak VHDL ortamında full adder yaparken kullanacağız. 1c) 4 Bitlik toplayıcı Tasarladığımız full adder'ı kullanarak 4 bitlik bir toplayıcı yapmak istersek tasarladığımız full adder'ı da aynı half adder da olduğu gibi component olarak kullanarak VHDL ortamında carry sinyalleri ripple edicek şekilde devreyi aşağıdaki gibi birleştirmeliyiz. Bu devredeki carry lerin ripple etmesi demek bitlerdeki toplama işleminin gerçekleşebilmesi için önceki tüm bitlerdeki toplama işleminin bitirilmiş olması demektir. İşlem paralel gerçekleştirilmesine rağmen carry lerin aktarımı ekstra gecikmeye neden olmaktadır.

29 1d) Laboratuarda hardware tasarımın denenmesi Gerçek ortamda tasarımımızı deneyebilmemiz için değişiklik yapabileceğimiz girişlere ve bu girişlere karşı oluşan çıktıyı gözlemleyebilmek için çıkışlara ihtiyacımız var. Çıkışları laboratuar ortamında kolayca ledler üzerinde gözlemleyebiliriz. Girişler için ise tasarımımıza 4 er bitlik anahtar takımını Input_1 ve Input_2 operandları için kullanacağız. Pin atamasını.ucf dosyasının içerisinde ya da assignments-> pin planner kısmından yapmalıyız. Pin atamaları DE2_Pin_Table dan bakılarak yapılabilir.

30 LAB 2) 4-bit Up/Down Counter Sayıcılar n bitlik bir bilgiyi tutmanın yanısıra her saat çevriminde tuttukları değeri artıran veya azaltan ardışıl devrelerdir. Genel olarak iki gruba ayrılır: Senkron sayıcılar Asenkron sayıcılar (Ripple sayıcılar) Senkron sayıcılarda tüm flip-flop lara uygulanan ortak bir saat sinyali vardır. Böylece tüm flip-floplar aynı şekilde, saatin her bir pozitif kenarında tetiklenmekte ve çıkış üretmektedirler. Aşağıdaki resimde 8 bitlik bir sayıcının genel şematiği gösterilmiştir. Enable girişi; sistemin sayıp/saymayacağını gösterir. 1 için sayma işlemini yapar, 0 için içindeki değeri sabit tutar. Up_down girişi ; sistemin sayma yönünü gösterir. 1 için yukarı yönde, 0 için aşağı yönde sayar. asynch_clr senkron dışı sıfırlamadır. Saat sinyaline bakmaksızın her ne zaman 1 olursa içeriği yapar, aksi halde normal işlem devam eder. clk girişi klasik saat girişidir. Q çıkışları ise 8 bitlik sayıcının her bir bitini çıkışıdır. Hint1: iç içe yazılabilecek if- else komutları düşündüğünüz mantığı VHDL diline aktarmanızda kolay yöntem olabilir. Hint2: Std_logic_vector türündeki değişkenleri toplamak için vektör boyuna dikkat edin. Örneğin 8 bitlik count vektörünü bir arttırmak için count işlemi yapılabilir. Hint3: karta aktarıldı zaman clk sinyali için kartın üzerindeki 50MHz lik sinyal kullanılırsa insan gözünün algılayamadığı hızlarda sayım yapar. Çözüm için sinyal bölücü eklenmelidir. Sinyal bölücünün kodları hazır olarak kullanılabilir. Sinyal bölücü; library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity clk_div is Port ( clk_50 : in STD_LOGIC; reset: in std_logic; clk_out : out STD_LOGIC ); end clk_div; --50Mhz giriş clk --dışardan sıfırlamak için atadık. --çıkış clk

31 architecture Behavioral of clk_div is signal control: std_logic:='0'; signal counter: integer range 0 to :=0; begin process (clk_50,reset) begin if (reset='1') then counter <= 0; control <= '0'; elsif (rising_edge(clk_50)) then if (counter=49)then ) then control <= not(control); counter <= 0; else counter <=counter + 1; end if; end if; end process; clk_out <= control; end Behavioral;

32 LAB 3) Multiplexer ve ALU Tasarımı 3a) 3to8 Multiplexer Tasarımı Aşağıdaki 3to8 multiplexer ı tasarlayınız. X0..X7 i veri girişidir. S0..S2 seçme bitleridir. S3 multiplexerı aktif etmek için kullanılmalıdır. S3=0 iken multiplexer aktif olmalıdır. Y veri girişinden gelen bilgi, Y ise onun terslenmiş hali olmalıdır. Dip Not: Tasarımın gerçeklenmesine gerek yoktur, simülasyonda gösterilecektir. 3.b) ALU Tasarımı Aşağıda özellikleri verilen ALU yu tasarlayınız. S3..S0 pinleri selection bitleri olmalıdır. İşlem seçebilmek için N17, H18, L14 ve L13 switchleri kullanılmalıdır. A girişi 5, B girişi 15 olmalıdır. İşlem sonuçlarını binary görmek için F9, E9, D11, C11, F11, E11, E12, F12 ledleri kullanılmalıdır. S3..S0 bitlerinin durumlarına göre işlemler tabloda listelendiği gibi olmalıdır.

33 LAB 4) State Machine FSM(Finite State Machine) sınırlı sayıdaki durumlarım arasındaki iletişimi modellemek için kullanılır. Bu iletişim o anki durum ile dışardan gelen girdilere bağlıdır. Bu sistem VHDL'de ardışıl devreleri programlamak için kullanılan yöntemler biridir. ASM chart, sistem akışını gösteren diyagramdır. State(durum) box, desicion box ve conditional output box larından oluşur. Atama kutularında giriş ve çıkışlara göre yapılacak atama işlemleri veya değişkenler arasında matematiksel işlemler yapılabilir. Karar kutusunda ise şart tanımlanır. İf kutusu gibi düşünülebilir. Tahtaya çizilen örnek state machine diyagramını VHDL kodu ile gerçekleştiriniz. 3 ana bölüm olarak düşününüz.; 1. Bölüm: başlangıç ayarları ve reset işlemini yürütür. 2. Bölüm: stateler arası geçiş ve sistem akışını kontrol eder. 3. Bölüm: statelerde yapılacak işlemleri ve atamaları kontrol eder. Hint: Föyün arkasında bulunana örnek kodlardan yararlanabilirsiniz.

34 LAB 5) Memory ve Register Memory Tasarımı 5.a) Memory Tasarımı Memory 8x8 bitlik olacaktır. MW=1 iken yazım, MW=0 iken okuma yapılacaktır. Data in den data girişi, Address ten ise adres seçimi yapılacaktır. Veriler, data out tan dışarı yansıyacaktır. İstenilen bilginin yazılıp, okunabildiği simülasyonda gösterilecektir. Yukarıdaki özellikleri taşıyan memory i tasarlayınız. Hint: memory yapısı 2 boyutlu vektör olarak yeni şeklinde tanımlanır. Örnekte, 8bitlik 4 satır bilgi tutulmaktadır. type mem_type is array (3 downto 0) of std_logic_vector (7 downto 0); signal mem: mem_type:=(" "," "," "," "); 5.b) Register Tasarımı Register 8x8 bitlik olacaktır. RW=1 iken yazım, RW=0 iken okuma yapılacaktır. DA yazılacak adresin seçim bitleridir. AA okuma anında A çıkışında gösterilecek registeri seçen bitlerdir. BA okuma anında B çıkışında gösterilecek registeri seçen bitlerdir. Senkronizasyon için düşen kenarlı Clk kullanılacaktır. Veriler D data dan girecektir. İstenilen bilginin yazılıp, istenilen tarafta okunabildiği simülasyonda gösterilecektir. Hint: Föyün sonundaki örnek kodlardan yararlanılabilir.

35 LAB 6) Datapath Tasarımı Yukarıda gösterilen datapath yani veri yolu tasarlanacaktır. Bir önceki deneylerde oluşturulmuş register memory bu deneyde kullanılabilecektir. Tekrar tasarıma gerek yoktur. ALU (Fonksiyon ünitesi) tasarımı yapılırken eski ALU tasarımı V (Taşma), C (Elde), N (Negatif), Z (sıfır) bayrakları çıkartılarak kullanılabilir. İsterseniz ALU yu tekrar tasarlayabilirsiniz. ALU da en az 8 işlem yapılmalıdır. Şekilde görülen mux lar ayrı ayrı tasarlanacaktır. Tüm tasarımlar gerçekleştiğinde en sonunda birleştirme sağlanarak, örnek en az 2 uygulama gösterilecektir. Örnek Uygulama: R0=5, R5=15, İşlem: R3=R5-R0 Sonuç=10, Bayraklar: Z=0, V=0, C=0, N=0, R3=10

36 LAB 7) Control Unit Yukarıda gösterilen control unit tasarlanacaktır. Öncelikle her saniyede bir artan, 0..8 sayan counter (PC) yapılacaktır. 8x8 Bitlik instruction memory tasarımı yapılacaktır, address değerine göre çıkışta o adreste yazılan bilgi gösterilecektir. Zero fill de memory çıkışının son 3 biti alınıp dışarı 8 bit olarak yansıtılacaktır. Örneğin memory çıkışı 0b ise zerofill çıkışı 0b olacaktır. Instruction decoder komut çözen decoderiniz olacaktır. Memoryden gelen 8 bitlik bilgiye göre datapath e gidecek bilgiler ayrıştırılmalıdır. Tüm tasarımlar gerçekleştiğinde en sonunda birleştirme sağlanarak, örnek en az 2 uygulama gösterilecektir. Dip not: Kod ayrıştırma kısmını kendiniz yapabileceğiniz gibi, kitabınızdan da örnek alabilirsiniz. Fakat hangi 8 bitlik kodun, ne iş yapacağı belirtilmeli, ona göre çıkış değerleri simülasyonda gösterilmelidir.

37 LAB 8) Single Cycle Tasarımı 1) CPU Nedir? Bir bilgisayarın en önemli parçalarından biri işlemcidir. Kısaca CPU (Central Processing Unit) ya da MİB (Merkezi İşlem Birimi) olarak anılan ve adından da anlaşılacağı üzere bilgisayardaki işlemleri sayısal olarak yürüten ve sonuçları gerekli yerlere gönderen elemanlardır. İşlemciler aritmetik ve mantıksal işlem yapabilme yeteneğine sahiptirler. Bu işlevlerini kullanabilmek için işlemci içerisine tanımlanmış, komut listelerinden ibaret bir takım programlar mevcuttur. Bu komutlar işlemciye iki sayının toplamı, çıkarılması yönünde emirler verebildiği gibi dış çevreden (örneğin klavyeden, yazıcıdan, fareden) alacağı emirlere göre bir takım komutları atlayıp başka komut satırlarını işlemeye devam edebilir. Temel olarak işlemcinin yaptığı iş, bitler üzerinde işlem yapmak üzere belirlediğimiz komutları çalıştırmaktır. CPU veya çeşitli donanım aygıtlarını kontrol edebilecek öte yandan kullanıcının rahatça vereceği komutları gerekli yerlere ulaştıracak bir sisteme ihtiyaç vardır. Temelde bu sistemler bilgisayarlarda yazılım tabanlıdır ve görevi diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve kütük sistemine erişimini sağlar. Birden çok program aynı anda çalışıyorsa, işletim sistemi her programa yeterli sistem kaynağını ayırmaktan ve birbirleri ile çakışmamalarını sağlamaktan da sorumludur. Bu deneyede yapacağınız işlemci 8 bitlik veriyoluna sahip, an az 8 komutu rahatlıkla işleyebilen, harvard mimarisine sahip single cycle computer olacaktır.

38 2) İşlemci Mimarileri 2.1) Von Neumann Mimarisi: John Von Neumann'ın 1945'teki makalesinde adı geçen ve bilgisayar tarihinde ilk kez ortaya atılan mimaridir. Basit bir temel üzerine kurulu olan yapıda kısaca komut hafızası ve veri hafızanın birlikte bulunduğu tek bir bellek elemanı, komutları işlem sırasına sokan denetim birimi ve istediğimiz işlemi yapmak için ise gelişmiş bir ALU'ya (CPU) sahiptir. Von Neumann mimarisinin en büyük eksikliği kaydedicilerin ve hafızanın aynı bellekte elemanı üzerinde bulunmasıdır. Bu ona hız konusunda büyük eksiklikler getirir. Genelde CISC işlemciler bu mimariyi baz alır ve oldukça fazla komuta sahiptirler. Buna örnek olarak Intelin 8051 mikrodenetleyicisi (255 komut içerir) gösterilebilir. Şekil 2 - Von Neumann Mimarisi 2.2) Harvard Mimarisi: Von Neumann'ın eksikliklerini gören IBM ve Intel mühendislerinin bir araya gelerek oluşturdukları mimaridir. Mühendislerin yaptığı ise komut hafızası ile veri hafızasını birbirinden ayırmaktır. Böylece bir komut işlenirken belleğe yazma işlemi beklenmemekte ve dolayısıyla hız artmaktadır. Genelde RISC işlemciler bu mimariye dayanmaktadır ve oldukça az komuta sahiptirler. Dolayısı ile işi işlemciyi programlayacak kişiye bırakır. Örnek olarak Microchip firmasının Picleri (16f serisi 35 komut içerir) ve daha birçok mikrodenetleyicisi ve günümüz işlemcileri (pentium vb.) gösterilebilir. 2.2) Single Cycle Computer: Adının da belirttiği gibi bir komutu tek bir adımda işleyen en basit CPU yapısıdır. Harvard mimarisine sahip CPU, kısaca veri yolu ve kontrol ünitesinden oluşur (3. bölümde anlatılacak). İşlemcimiz dışarıdan sağlayacağımız saatin frekansına göre çalışır ve o frekansla hızı anılır fakat tasarımda kullanılan malzemelerin hız değerleri, örneğin memory'e yazma hızı gibi etkenler CPU'nun çalışma hızını etkiler. Yapıda en yavaş çalışan bölüm, hız belirleme açısından en önemli bölüm olmaktadır.

39 2.3) Çalışma Mantığı: Programcı öncelikle yapmak istediği işlemleri komut hafızasına (Instruction Memory) yükler, Daha sonra CPU çalıştırılmaya başlanır, Program Counterher bir saat darbesinde birer artar (bu değiştirilebilir), Her bir PC değerine göre gerekli kod işletilir, İstenilen değerler Registerlere yüklenir, Bu değerler ile gerekli işlemler yapılır, Gerekirse işlem sonuçları hafızaya alınır, Komutlar bittiğinde program sonlanır. Örnek bir işlem yaptırmak istersek; *8 register tanımladığımızı R1=4, R4=5 olduğunu gerisinin ise '0' olduğunu kabul edelim *Komut belleğine ise 0) R3=R1+R4 1) R2=R3*R1 2) R5=R2/R4 olarak tanımlansın. *PC değerimiz sırasıyla 0,1,2,3.. şeklinde gidecek ve komutlar sırasıyla işletilecektir. *Sırayla işlemler yapıldığında son değerlerimiz; R3=9 R2=36 R5=7,2 olacaktır. *Tüm bu işlemler toplamda 3 clock cycle süre alacaktır. 3) Veri Yolu ve Kontrol Ünitesi 3.1) Veri Yolu: Veri yolu, işlemcinin yükünü çeken kısmıdır. Verilen komutlara göre sırasıyla çıkarma, toplama, çarpma gibi tüm işlemler bu kısımda yapılır. Çıkan sonuçlara göre bizlere kontrol etme olanağı da sağlayan bölümlere sahiptir. Kabaca veri yolu yukarıda görüldüğü gibi şu parçalardan oluşur; Register Birimi Fonksiyon Ünitesi Hafıza Elemanı

40 Register Birimi: İşlemlerde geçici hafıza olarak kullanılan bölümdür. Projemizde toplam 8 adet, 8 bitlik register kullanılacaktır. Register içerikleri istenildiği zaman dışarıdan kontrolle sıfır yapılabilmekte ve yine istediğimiz komuta göre istenilen registere, istenilen değer atanabilmektedir Fonksiyon Ünitesi: Veri yolunun en önemli yapısıdır. Toplama, çıkarma, çarpma, and ve or gibi aritmetik ve mantıksal işlemleri yerine getirebilmek için tasarlanmış bölüm burasıdır. Tasarımımızda 8 bitlik, 15 işlemi gerçekleştirebilen ALU tasarlanacaktır. İşlem sonuçlarına göre taşma (V), toplam sonuçlarında elde (C), negatiflik (N) ve sonucun sıfır (Z) olup olmadığını kontrol edebileceğimiz bit çıkışları da yine aynı yapı içerisine gömülmüş olup ayrıca bu bayrakları da yine bu yapıdan kontrol edilebilir Hafıza Elemanı: İşlemcide istediğimiz bilgiyi saklamak için kullanabileceğimiz, gerektiği zaman tekrar sakladığımız bilgiyi kullanabileceğimiz bölümdür. Tasarımızda 8x8 bitlik memory kullanacak olup şekilde görülen address out ve data out kısımları ile bu elemanın kontrolünü sağılanacaktır. 3.2) Kontrol Ünitesi: Veri yolu tasarlandıktan sonra verilen komutları sıralayan, kontrol eden ve düzenleyen kısım burasıdır. Bu bölüm daha önceki bahsettiğimiz Harvard mimarisinin bire bir yansımasıdır. Yukarıdaki resimde görülen kontrol ünitesi aşağıdaki birimlerden oluşur: Program Counter Birimi Komut Hafızası Komut Çözücü Program Counter Birimi: Seri işlemcilerin en büyük özelliklerinden biri olan, sırayla işlem yapma özelliğini kazandıran bölümdür. Görevi her saat darbesinde bir artmak ya da atlama komutu verildiğinde istenilen program koduna ulaşmayı sağlamaktır. Bu tasarımda kullanıcının da kontrol edebileceği, 8 bitlik sayıcı tasarlanacaktır Komut Hafızası: İşlemcinin hangi sırayla, hangi işlemleri yapacağı bilgisini saklandığı bölümdür. Şekil-2 de görülebilecek (Instruction Memory) bu kısım, özellikle işlemciyi programlayacak kişi tarafından algoritmalar geliştirilip, bu bölüme yükleme yapılmasıyla anlam kazanmaktadır. Bölüm kısaca aldığı program counter değeri ne ise, o kısmı işletme emri vermekle yükümlüdür. Yapılan tasarımda işlemciye 28 işlemi art ardına yapabilme özelliği kazandırılmıştır. Bu da basit bir algoritma yazacak programcı için oldukça yeterli bir hafızadır.

41 3.2.3 Komut Çözücü: Kontrol ünitesinin en önemli kısmıdır. Kullanıcı tarafından makine dilinde yazılan kodun çözüldüğü, veri yoluna hangi görevlerin yaptırılacağı, hafızaya değer alımları, atlama emirleri ve bunun gibi birçok komutun süzüldüğü yer burasıdır. Yapılan tasarımda 16 ya 17 lik kod çözücü tasarlanacaktır. 3.3) Hızı Etkileyen Unsurlar: Hızı etkileyen en büyük unsur veri yolundaki yavaşlıktan kaynaklanır. Genel anlamda ne kadar hızlı bir veri yolu tasarlanırsa o denli hızlı işlemci elde etmek mümkündür. Gelişen teknoloji ve kullanılan değişik mimari metotları ile (mesela pipeline) bu bölümü hızlandırmak mümkündür. Günümüz işlemcilerinde birden fazla veri yolu bulunmakta ve dahası bunlar paralel çalışarak işlemciye hız konusunda büyük özellikler kazandırmaktadır. One cycle computer de işlemler şöyle gerçekleşir: 1) Tüm bu işlemler komut hafızasına sırayla uygun olanı seçilerek yüklenir. 2) İşlemci çalıştırılır. 3) Program counter saymaya başlar ve komut hafızasının ilk adresinden itibaren kodları okutmaya başlar. 4) Kodlanmış komutlar komut çözücüye gelir ve veri yolunun anlayabileceği duruma getirilir. 5) Kullanılacak registerler, fonksiyonlar seçilir ve işlem bir saat darbesi içerisinde biter. 6) Daha sonra durum bir kez daha 3. maddeye döner ve bu sefer yeni bir komut alınarak işlemler devam eder. Bu deneyde, daha önce veri yolu ve kontrol ünitesi yapılmış single cycle computer tasarımı yapılacaktır. Yapacağınız işlemci en az 8 işlem yürütebilecek kapasitede olmalıdır. Instruction registere 8 farklı işlem tanımlanıp, çalıştığı simülasyon olarak gösterilecektir. Yapılan işlemlerin sonuçları memory e yazılacaktır. 8 sonuç da, memoryde gösterilecektir.

42 Altera DE2 Board Pin Table Signal Name FPGA Pin No. Description SW[0] PIN_N25 Toggle Switch[0] SW[1] PIN_N26 Toggle Switch[1] SW[2] PIN_P25 Toggle Switch[2] SW[3] PIN_AE14 Toggle Switch[3] SW[4] PIN_AF14 Toggle Switch[4] SW[5] PIN_AD13 Toggle Switch[5] SW[6] PIN_AC13 Toggle Switch[6] SW[7] PIN_C13 Toggle Switch[7] SW[8] PIN_B13 Toggle Switch[8] SW[9] PIN_A13 Toggle Switch[9] SW[10] PIN_N1 Toggle Switch[10] SW[11] PIN_P1 Toggle Switch[11] SW[12] PIN_P2 Toggle Switch[12] SW[13] PIN_T7 Toggle Switch[13] SW[14] PIN_U3 Toggle Switch[14] SW[15] PIN_U4 Toggle Switch[15] SW[16] PIN_V1 Toggle Switch[16] SW[17] PIN_V2 Toggle Switch[17] Signal Name FPGA Pin No. Description DRAM_ADDR[0] PIN_T6 SDRAM Address[0] DRAM_ADDR[1] PIN_V4 SDRAM Address[1] DRAM_ADDR[2] PIN_V3 SDRAM Address[2] DRAM_ADDR[3] PIN_W2 SDRAM Address[3] DRAM_ADDR[4] PIN_W1 SDRAM Address[4] DRAM_ADDR[5] PIN_U6 SDRAM Address[5] DRAM_ADDR[6] PIN_U7 SDRAM Address[6] DRAM_ADDR[7] PIN_U5 SDRAM Address[7] DRAM_ADDR[8] PIN_W4 SDRAM Address[8] DRAM_ADDR[9] PIN_W3 SDRAM Address[9] DRAM_ADDR[10] PIN_Y1 SDRAM Address[10] DRAM_ADDR[11] PIN_V5 SDRAM Address[11] DRAM_DQ[0] PIN_V6 SDRAM Data[0] DRAM_DQ[1] PIN_AA2 SDRAM Data[1] DRAM_DQ[2] PIN_AA1 SDRAM Data[2] DRAM_DQ[3] PIN_Y3 SDRAM Data[3] DRAM_DQ[4] PIN_Y4 SDRAM Data[4] DRAM_DQ[5] PIN_R8 SDRAM Data[5] DRAM_DQ[6] PIN_T8 SDRAM Data[6] DRAM_DQ[7] PIN_V7 SDRAM Data[7] DRAM_DQ[8] PIN_W6 SDRAM Data[8] DRAM_DQ[9] PIN_AB2 SDRAM Data[9] DRAM_DQ[10] PIN_AB1 SDRAM Data[10] DRAM_DQ[11] PIN_AA4 SDRAM Data[11] DRAM_DQ[12] PIN_AA3 SDRAM Data[12] DRAM_DQ[13] PIN_AC2 SDRAM Data[13] DRAM_DQ[14] PIN_AC1 SDRAM Data[14] DRAM_DQ[15] PIN_AA5 SDRAM Data[15] DRAM_BA_0 PIN_AE2 SDRAM Bank Address[0] DRAM_BA_1 PIN_AE3 SDRAM Bank Address[1] DRAM_LDQM PIN_AD2 SDRAM Low-byte Data Mask DRAM_UDQM PIN_Y5 SDRAM High-byte Data Mask DRAM_RAS_N PIN_AB4 SDRAM Row Address Strobe DRAM_CAS_N PIN_AB3 SDRAM Column Address Strobe DRAM_CKE PIN_AA6 SDRAM Clock Enable DRAM_CLK PIN_AA7 SDRAM Clock DRAM_WE_N PIN_AD3 SDRAM Write Enable DRAM_CS_N PIN_AC3 SDRAM Chip Select Signal Name FPGA Pin No. Description FL_ADDR[0] PIN_AC18 FLASH Address[0] FL_ADDR[1] PIN_AB18 FLASH Address[1] FL_ADDR[2] PIN_AE19 FLASH Address[2] FL_ADDR[3] PIN_AF19 FLASH Address[3] FL_ADDR[4] PIN_AE18 FLASH Address[4]

43 Altera DE2 Board Pin Table FL_ADDR[5] PIN_AF18 FLASH Address[5] FL_ADDR[6] PIN_Y16 FLASH Address[6] FL_ADDR[7] PIN_AA16 FLASH Address[7] FL_ADDR[8] PIN_AD17 FLASH Address[8] FL_ADDR[9] PIN_AC17 FLASH Address[9] FL_ADDR[10] PIN_AE17 FLASH Address[10] FL_ADDR[11] PIN_AF17 FLASH Address[11] FL_ADDR[12] PIN_W16 FLASH Address[12] FL_ADDR[13] PIN_W15 FLASH Address[13] FL_ADDR[14] PIN_AC16 FLASH Address[14] FL_ADDR[15] PIN_AD16 FLASH Address[15] FL_ADDR[16] PIN_AE16 FLASH Address[16] FL_ADDR[17] PIN_AC15 FLASH Address[17] FL_ADDR[18] PIN_AB15 FLASH Address[18] FL_ADDR[19] PIN_AA15 FLASH Address[19] FL_ADDR[20] PIN_Y15 FLASH Address[20] FL_ADDR[21] PIN_Y14 FLASH Address[21] FL_DQ[0] PIN_AD19 FLASH Data[0] FL_DQ[1] PIN_AC19 FLASH Data[1] FL_DQ[2] PIN_AF20 FLASH Data[2] FL_DQ[3] PIN_AE20 FLASH Data[3] FL_DQ[4] PIN_AB20 FLASH Data[4] FL_DQ[5] PIN_AC20 FLASH Data[5] FL_DQ[6] PIN_AF21 FLASH Data[6] FL_DQ[7] PIN_AE21 FLASH Data[7] FL_CE_N PIN_V17 FLASH Chip Enable FL_OE_N PIN_W17 FLASH Output Enable FL_RST_N PIN_AA18 FLASH Reset FL_WE_N PIN_AA17 FLASH Write Enable Signal Name FPGA Pin No. Description SRAM_ADDR[0] PIN_AE4 SRAM Address[0] SRAM_ADDR[1] PIN_AF4 SRAM Address[1] SRAM_ADDR[2] PIN_AC5 SRAM Address[2] SRAM_ADDR[3] PIN_AC6 SRAM Address[3] SRAM_ADDR[4] PIN_AD4 SRAM Address[4] SRAM_ADDR[5] PIN_AD5 SRAM Address[5] SRAM_ADDR[6] PIN_AE5 SRAM Address[6] SRAM_ADDR[7] PIN_AF5 SRAM Address[7] SRAM_ADDR[8] PIN_AD6 SRAM Address[8] SRAM_ADDR[9] PIN_AD7 SRAM Address[9] SRAM_ADDR[10] PIN_V10 SRAM Address[10] SRAM_ADDR[11] PIN_V9 SRAM Address[11] SRAM_ADDR[12] PIN_AC7 SRAM Address[12] SRAM_ADDR[13] PIN_W8 SRAM Address[13] SRAM_ADDR[14] PIN_W10 SRAM Address[14] SRAM_ADDR[15] PIN_Y10 SRAM Address[15] SRAM_ADDR[16] PIN_AB8 SRAM Address[16] SRAM_ADDR[17] PIN_AC8 SRAM Address[17] SRAM_DQ[0] PIN_AD8 SRAM Data[0] SRAM_DQ[1] PIN_AE6 SRAM Data[1] SRAM_DQ[2] PIN_AF6 SRAM Data[2] SRAM_DQ[3] PIN_AA9 SRAM Data[3] SRAM_DQ[4] PIN_AA10 SRAM Data[4] SRAM_DQ[5] PIN_AB10 SRAM Data[5] SRAM_DQ[6] PIN_AA11 SRAM Data[6] SRAM_DQ[7] PIN_Y11 SRAM Data[7] SRAM_DQ[8] PIN_AE7 SRAM Data[8] SRAM_DQ[9] PIN_AF7 SRAM Data[9] SRAM_DQ[10] PIN_AE8 SRAM Data[10] SRAM_DQ[11] PIN_AF8 SRAM Data[11] SRAM_DQ[12] PIN_W11 SRAM Data[12] SRAM_DQ[13] PIN_W12 SRAM Data[13] SRAM_DQ[14] PIN_AC9 SRAM Data[14] SRAM_DQ[15] PIN_AC10 SRAM Data[15]

44 Altera DE2 Board Pin Table SRAM_WE_N PIN_AE10 SRAM Write Enable SRAM_OE_N PIN_AD10 SRAM Output Enable SRAM_UB_N PIN_AF9 SRAM High-byte Data Mask SRAM_LB_N PIN_AE9 SRAM Low-byte Data Mask SRAM_CE_N PIN_AC11 SRAM Chip Enable Signal Name FPGA Pin No. Description OTG_ADDR[0] PIN_K7 ISP1362 Address[0] OTG_ADDR[1] PIN_F2 ISP1362 Address[1] OTG_DATA[0] PIN_F4 ISP1362 Data[0] OTG_DATA[1] PIN_D2 ISP1362 Data[1] OTG_DATA[2] PIN_D1 ISP1362 Data[2] OTG_DATA[3] PIN_F7 ISP1362 Data[3] OTG_DATA[4] PIN_J5 ISP1362 Data[4] OTG_DATA[5] PIN_J8 ISP1362 Data[5] OTG_DATA[6] PIN_J7 ISP1362 Data[6] OTG_DATA[7] PIN_H6 ISP1362 Data[7] OTG_DATA[8] PIN_E2 ISP1362 Data[8] OTG_DATA[9] PIN_E1 ISP1362 Data[9] OTG_DATA[10] PIN_K6 ISP1362 Data[10] OTG_DATA[11] PIN_K5 ISP1362 Data[11] OTG_DATA[12] PIN_G4 ISP1362 Data[12] OTG_DATA[13] PIN_G3 ISP1362 Data[13] OTG_DATA[14] PIN_J6 ISP1362 Data[14] OTG_DATA[15] PIN_K8 ISP1362 Data[15] OTG_CS_N PIN_F1 ISP1362 Chip Select OTG_RD_N PIN_G2 ISP1362 Read OTG_WR_N PIN_G1 ISP1362 Write OTG_RST_N PIN_G5 ISP1362 Reset OTG_INT0 PIN_B3 ISP1362 Interrupt 0 OTG_INT1 PIN_C3 ISP1362 Interrupt 1 OTG_DACK0_N PIN_C2 ISP1362 DMA Acknowledge 0 OTG_DACK1_N PIN_B2 ISP1362 DMA Acknowledge 1 OTG_DREQ0 PIN_F6 ISP1362 DMA Request 0 OTG_DREQ1 PIN_E5 ISP1362 DMA Request 1 OTG_FSPEED PIN_F3 USB Full Speed, 0 = Enable, Z = Disable OTG_LSPEED PIN_G6 USB Low Speed, 0 = Enable, Z = Disable Signal Name FPGA Pin No. Description LCD_DATA[0] PIN_J1 LCD Data[0] LCD_DATA[1] PIN_J2 LCD Data[1] LCD_DATA[2] PIN_H1 LCD Data[2] LCD_DATA[3] PIN_H2 LCD Data[3] LCD_DATA[4] PIN_J4 LCD Data[4] LCD_DATA[5] PIN_J3 LCD Data[5] LCD_DATA[6] PIN_H4 LCD Data[6] LCD_DATA[7] PIN_H3 LCD Data[7] LCD_RW PIN_K4 LCD Read/Write Select, 0 = Write, 1 = Read LCD_EN PIN_K3 LCD Enable LCD_RS PIN_K1 LCD Command/Data Select, 0 = Command, 1 = Data LCD_ON PIN_L4 LCD Power ON/OFF LCD_BLON PIN_K2 LCD Back Light ON/OFF Signal Name FPGA Pin No. Description SD_DAT PIN_AD24 SD Card Data SD_DAT3 PIN_AC23 SD Card Data 3 SD_CMD PIN_Y21 SD Card Command Signal SD_CLK PIN_AD25 SD Card Clock Signal Name FPGA Pin No. Description TDI PIN_B14 CPLD -> FPGA (Data in) TCS PIN_A14 CPLD -> FPGA (CS) TCK PIN_D14 CPLD -> FPGA (Clock) TDO PIN_F14 FPGA -> CPLD (Data out) Signal Name FPGA Pin No. Description IRDA_TXD PIN_AE24 IRDA Transmitter IRDA_RXD PIN_AE25 IRDA Receiver Signal Name FPGA Pin No. Description

45 Altera DE2 Board Pin Table HEX0[0] PIN_AF10 Seven Segment Digit 0[0] HEX0[1] PIN_AB12 Seven Segment Digit 0[1] HEX0[2] PIN_AC12 Seven Segment Digit 0[2] HEX0[3] PIN_AD11 Seven Segment Digit 0[3] HEX0[4] PIN_AE11 Seven Segment Digit 0[4] HEX0[5] PIN_V14 Seven Segment Digit 0[5] HEX0[6] PIN_V13 Seven Segment Digit 0[6] HEX1[0] PIN_V20 Seven Segment Digit 1[0] HEX1[1] PIN_V21 Seven Segment Digit 1[1] HEX1[2] PIN_W21 Seven Segment Digit 1[2] HEX1[3] PIN_Y22 Seven Segment Digit 1[3] HEX1[4] PIN_AA24 Seven Segment Digit 1[4] HEX1[5] PIN_AA23 Seven Segment Digit 1[5] HEX1[6] PIN_AB24 Seven Segment Digit 1[6] HEX2[0] PIN_AB23 Seven Segment Digit 2[0] HEX2[1] PIN_V22 Seven Segment Digit 2[1] HEX2[2] PIN_AC25 Seven Segment Digit 2[2] HEX2[3] PIN_AC26 Seven Segment Digit 2[3] HEX2[4] PIN_AB26 Seven Segment Digit 2[4] HEX2[5] PIN_AB25 Seven Segment Digit 2[5] HEX2[6] PIN_Y24 Seven Segment Digit 2[6] HEX3[0] PIN_Y23 Seven Segment Digit 3[0] HEX3[1] PIN_AA25 Seven Segment Digit 3[1] HEX3[2] PIN_AA26 Seven Segment Digit 3[2] HEX3[3] PIN_Y26 Seven Segment Digit 3[3] HEX3[4] PIN_Y25 Seven Segment Digit 3[4] HEX3[5] PIN_U22 Seven Segment Digit 3[5] HEX3[6] PIN_W24 Seven Segment Digit 3[6] HEX4[0] PIN_U9 Seven Segment Digit 4[0] HEX4[1] PIN_U1 Seven Segment Digit 4[1] HEX4[2] PIN_U2 Seven Segment Digit 4[2] HEX4[3] PIN_T4 Seven Segment Digit 4[3] HEX4[4] PIN_R7 Seven Segment Digit 4[4] HEX4[5] PIN_R6 Seven Segment Digit 4[5] HEX4[6] PIN_T3 Seven Segment Digit 4[6] HEX5[0] PIN_T2 Seven Segment Digit 5[0] HEX5[1] PIN_P6 Seven Segment Digit 5[1] HEX5[2] PIN_P7 Seven Segment Digit 5[2] HEX5[3] PIN_T9 Seven Segment Digit 5[3] HEX5[4] PIN_R5 Seven Segment Digit 5[4] HEX5[5] PIN_R4 Seven Segment Digit 5[5] HEX5[6] PIN_R3 Seven Segment Digit 5[6] HEX6[0] PIN_R2 Seven Segment Digit 6[0] HEX6[1] PIN_P4 Seven Segment Digit 6[1] HEX6[2] PIN_P3 Seven Segment Digit 6[2] HEX6[3] PIN_M2 Seven Segment Digit 6[3] HEX6[4] PIN_M3 Seven Segment Digit 6[4] HEX6[5] PIN_M5 Seven Segment Digit 6[5] HEX6[6] PIN_M4 Seven Segment Digit 6[6] HEX7[0] PIN_L3 Seven Segment Digit 7[0] HEX7[1] PIN_L2 Seven Segment Digit 7[1] HEX7[2] PIN_L9 Seven Segment Digit 7[2] HEX7[3] PIN_L6 Seven Segment Digit 7[3] HEX7[4] PIN_L7 Seven Segment Digit 7[4] HEX7[5] PIN_P9 Seven Segment Digit 7[5] HEX7[6] PIN_N9 Seven Segment Digit 7[6] Signal Name FPGA Pin No. Description KEY[0] PIN_G26 Pushbutton[0] KEY[1] PIN_N23 Pushbutton[1] KEY[2] PIN_P23 Pushbutton[2] KEY[3] PIN_W26 Pushbutton[3] Signal Name FPGA Pin No. Description LEDR[0] PIN_AE23 LED Red[0] LEDR[1] PIN_AF23 LED Red[1]

46 Altera DE2 Board Pin Table LEDR[2] PIN_AB21 LED Red[2] LEDR[3] PIN_AC22 LED Red[3] LEDR[4] PIN_AD22 LED Red[4] LEDR[5] PIN_AD23 LED Red[5] LEDR[6] PIN_AD21 LED Red[6] LEDR[7] PIN_AC21 LED Red[7] LEDR[8] PIN_AA14 LED Red[8] LEDR[9] PIN_Y13 LED Red[9] LEDR[10] PIN_AA13 LED Red[10] LEDR[11] PIN_AC14 LED Red[11] LEDR[12] PIN_AD15 LED Red[12] LEDR[13] PIN_AE15 LED Red[13] LEDR[14] PIN_AF13 LED Red[14] LEDR[15] PIN_AE13 LED Red[15] LEDR[16] PIN_AE12 LED Red[16] LEDR[17] PIN_AD12 LED Red[17] LEDG[0] PIN_AE22 LED Green[0] LEDG[1] PIN_AF22 LED Green[1] LEDG[2] PIN_W19 LED Green[2] LEDG[3] PIN_V18 LED Green[3] LEDG[4] PIN_U18 LED Green[4] LEDG[5] PIN_U17 LED Green[5] LEDG[6] PIN_AA20 LED Green[6] LEDG[7] PIN_Y18 LED Green[7] LEDG[8] PIN_Y12 LED Green[8] Signal Name FPGA Pin No. Description CLOCK_27 PIN_D13 On Board 27 MHz CLOCK_50 PIN_N2 On Board 50 MHz EXT_CLOCK PIN_P26 External Clock Signal Name FPGA Pin No. Description UART_RXD PIN_C25 UART Receiver UART_TXD PIN_B25 UART Transmitter Signal Name FPGA Pin No. Description PS2_CLK PIN_D26 PS2 Data PS2_DAT PIN_C24 PS2 Clock Signal Name FPGA Pin No. Description I2C_SCLK PIN_A6 I2C Data I2C_SDAT PIN_B6 I2C Clock Signal Name FPGA Pin No. Description TD_DATA[0] PIN_J9 TV Decoder Data[0] TD_DATA[1] PIN_E8 TV Decoder Data[1] TD_DATA[2] PIN_H8 TV Decoder Data[2] TD_DATA[3] PIN_H10 TV Decoder Data[3] TD_DATA[4] PIN_G9 TV Decoder Data[4] TD_DATA[5] PIN_F9 TV Decoder Data[5] TD_DATA[6] PIN_D7 TV Decoder Data[6] TD_DATA[7] PIN_C7 TV Decoder Data[7] TD_HS PIN_D5 TV Decoder H_SYNC TD_VS PIN_K9 TV Decoder V_SYNC TD_RESET PIN_C4 TV Decoder Reset Signal Name FPGA Pin No. Description VGA_R[0] PIN_C8 VGA Red[0] VGA_R[1] PIN_F10 VGA Red[1] VGA_R[2] PIN_G10 VGA Red[2] VGA_R[3] PIN_D9 VGA Red[3] VGA_R[4] PIN_C9 VGA Red[4] VGA_R[5] PIN_A8 VGA Red[5] VGA_R[6] PIN_H11 VGA Red[6] VGA_R[7] PIN_H12 VGA Red[7] VGA_R[8] PIN_F11 VGA Red[8] VGA_R[9] PIN_E10 VGA Red[9] VGA_G[0] PIN_B9 VGA Green[0] VGA_G[1] PIN_A9 VGA Green[1] VGA_G[2] PIN_C10 VGA Green[2]

47 Altera DE2 Board Pin Table VGA_G[3] PIN_D10 VGA Green[3] VGA_G[4] PIN_B10 VGA Green[4] VGA_G[5] PIN_A10 VGA Green[5] VGA_G[6] PIN_G11 VGA Green[6] VGA_G[7] PIN_D11 VGA Green[7] VGA_G[8] PIN_E12 VGA Green[8] VGA_G[9] PIN_D12 VGA Green[9] VGA_B[0] PIN_J13 VGA Blue[0] VGA_B[1] PIN_J14 VGA Blue[1] VGA_B[2] PIN_F12 VGA Blue[2] VGA_B[3] PIN_G12 VGA Blue[3] VGA_B[4] PIN_J10 VGA Blue[4] VGA_B[5] PIN_J11 VGA Blue[5] VGA_B[6] PIN_C11 VGA Blue[6] VGA_B[7] PIN_B11 VGA Blue[7] VGA_B[8] PIN_C12 VGA Blue[8] VGA_B[9] PIN_B12 VGA Blue[9] VGA_CLK PIN_B8 VGA Clock VGA_BLANK PIN_D6 VGA BLANK VGA_HS PIN_A7 VGA H_SYNC VGA_VS PIN_D8 VGA V_SYNC VGA_SYNC PIN_B7 VGA SYNC Signal Name FPGA Pin No. Description AUD_ADCLRCK PIN_C5 Audio CODEC ADC LR Clock AUD_ADCDAT PIN_B5 Audio CODEC ADC Data AUD_DACLRCK PIN_C6 Audio CODEC DAC LR Clock AUD_DACDAT PIN_A4 Audio CODEC DAC Data AUD_XCK PIN_A5 Audio CODEC Chip Clock AUD_BCLK PIN_B4 Audio CODEC Bit-Stream Clock Signal Name FPGA Pin No. Description ENET_DATA[0] PIN_D17 DM9000A DATA[0] ENET_DATA[1] PIN_C17 DM9000A DATA[1] ENET_DATA[2] PIN_B18 DM9000A DATA[2] ENET_DATA[3] PIN_A18 DM9000A DATA[3] ENET_DATA[4] PIN_B17 DM9000A DATA[4] ENET_DATA[5] PIN_A17 DM9000A DATA[5] ENET_DATA[6] PIN_B16 DM9000A DATA[6] ENET_DATA[7] PIN_B15 DM9000A DATA[7] ENET_DATA[8] PIN_B20 DM9000A DATA[8] ENET_DATA[9] PIN_A20 DM9000A DATA[9] ENET_DATA[10] PIN_C19 DM9000A DATA[10] ENET_DATA[11] PIN_D19 DM9000A DATA[11] ENET_DATA[12] PIN_B19 DM9000A DATA[12] ENET_DATA[13] PIN_A19 DM9000A DATA[13] ENET_DATA[14] PIN_E18 DM9000A DATA[14] ENET_DATA[15] PIN_D18 DM9000A DATA[15] ENET_CLK PIN_B24 DM9000A Clock 25 MHz ENET_CMD PIN_A21 DM9000A Command/Data Select, 0 = Command, 1 = Data ENET_CS_N PIN_A23 DM9000A Chip Select ENET_INT PIN_B21 DM9000A Interrupt ENET_RD_N PIN_A22 DM9000A Read ENET_WR_N PIN_B22 DM9000A Write ENET_RST_N PIN_B23 DM9000A Reset Signal Name FPGA Pin No. Description GPIO_0[0] PIN_D25 GPIO Connection 0[0] GPIO_0[1] PIN_J22 GPIO Connection 0[1] GPIO_0[2] PIN_E26 GPIO Connection 0[2] GPIO_0[3] PIN_E25 GPIO Connection 0[3] GPIO_0[4] PIN_F24 GPIO Connection 0[4] GPIO_0[5] PIN_F23 GPIO Connection 0[5] GPIO_0[6] PIN_J21 GPIO Connection 0[6] GPIO_0[7] PIN_J20 GPIO Connection 0[7] GPIO_0[8] PIN_F25 GPIO Connection 0[8] GPIO_0[9] PIN_F26 GPIO Connection 0[9]

48 Altera DE2 Board Pin Table GPIO_0[10] PIN_N18 GPIO Connection 0[10] GPIO_0[11] PIN_P18 GPIO Connection 0[11] GPIO_0[12] PIN_G23 GPIO Connection 0[12] GPIO_0[13] PIN_G24 GPIO Connection 0[13] GPIO_0[14] PIN_K22 GPIO Connection 0[14] GPIO_0[15] PIN_G25 GPIO Connection 0[15] GPIO_0[16] PIN_H23 GPIO Connection 0[16] GPIO_0[17] PIN_H24 GPIO Connection 0[17] GPIO_0[18] PIN_J23 GPIO Connection 0[18] GPIO_0[19] PIN_J24 GPIO Connection 0[19] GPIO_0[20] PIN_H25 GPIO Connection 0[20] GPIO_0[21] PIN_H26 GPIO Connection 0[21] GPIO_0[22] PIN_H19 GPIO Connection 0[22] GPIO_0[23] PIN_K18 GPIO Connection 0[23] GPIO_0[24] PIN_K19 GPIO Connection 0[24] GPIO_0[25] PIN_K21 GPIO Connection 0[25] GPIO_0[26] PIN_K23 GPIO Connection 0[26] GPIO_0[27] PIN_K24 GPIO Connection 0[27] GPIO_0[28] PIN_L21 GPIO Connection 0[28] GPIO_0[29] PIN_L20 GPIO Connection 0[29] GPIO_0[30] PIN_J25 GPIO Connection 0[30] GPIO_0[31] PIN_J26 GPIO Connection 0[31] GPIO_0[32] PIN_L23 GPIO Connection 0[32] GPIO_0[33] PIN_L24 GPIO Connection 0[33] GPIO_0[34] PIN_L25 GPIO Connection 0[34] GPIO_0[35] PIN_L19 GPIO Connection 0[35] GPIO_1[0] PIN_K25 GPIO Connection 1[0] GPIO_1[1] PIN_K26 GPIO Connection 1[1] GPIO_1[2] PIN_M22 GPIO Connection 1[2] GPIO_1[3] PIN_M23 GPIO Connection 1[3] GPIO_1[4] PIN_M19 GPIO Connection 1[4] GPIO_1[5] PIN_M20 GPIO Connection 1[5] GPIO_1[6] PIN_N20 GPIO Connection 1[6] GPIO_1[7] PIN_M21 GPIO Connection 1[7] GPIO_1[8] PIN_M24 GPIO Connection 1[8] GPIO_1[9] PIN_M25 GPIO Connection 1[9] GPIO_1[10] PIN_N24 GPIO Connection 1[10] GPIO_1[11] PIN_P24 GPIO Connection 1[11] GPIO_1[12] PIN_R25 GPIO Connection 1[12] GPIO_1[13] PIN_R24 GPIO Connection 1[13] GPIO_1[14] PIN_R20 GPIO Connection 1[14] GPIO_1[15] PIN_T22 GPIO Connection 1[15] GPIO_1[16] PIN_T23 GPIO Connection 1[16] GPIO_1[17] PIN_T24 GPIO Connection 1[17] GPIO_1[18] PIN_T25 GPIO Connection 1[18] GPIO_1[19] PIN_T18 GPIO Connection 1[19] GPIO_1[20] PIN_T21 GPIO Connection 1[20] GPIO_1[21] PIN_T20 GPIO Connection 1[21] GPIO_1[22] PIN_U26 GPIO Connection 1[22] GPIO_1[23] PIN_U25 GPIO Connection 1[23] GPIO_1[24] PIN_U23 GPIO Connection 1[24] GPIO_1[25] PIN_U24 GPIO Connection 1[25] GPIO_1[26] PIN_R19 GPIO Connection 1[26] GPIO_1[27] PIN_T19 GPIO Connection 1[27] GPIO_1[28] PIN_U20 GPIO Connection 1[28] GPIO_1[29] PIN_U21 GPIO Connection 1[29] GPIO_1[30] PIN_V26 GPIO Connection 1[30] GPIO_1[31] PIN_V25 GPIO Connection 1[31] GPIO_1[32] PIN_V24 GPIO Connection 1[32] GPIO_1[33] PIN_V23 GPIO Connection 1[33] GPIO_1[34] PIN_W25 GPIO Connection 1[34] GPIO_1[35] PIN_W23 GPIO Connection 1[35]

49 ECE385 DIGITAL SYSTEMS LABORATORY Introduction to VHDL What is VHDL: VHSIC Hardware Description Language VHSIC - Very High Speed Integrated Circuits Follows the structure of ADA programming Language Originally intended as a Simulation Language for very large systems Very Strongly Typed Language, for example, bit vector 0011 and integer 3 are not easily interchangeable. VHDL is not case sensitive. Uses 9 Signal Values (IEEE standard): A Signal Value must be enclosed in single quotes 0 -- Forcing Forcing 1 X -- Forcing Unknown - -- Don t Care Z -- High Impedance U -- Uninitialized L -- Weak 0 H -- Weak 1 Data Objects: VHDL provides different data objects, such as, signal, variable, and constant. Signals can be thought of as representing wires in the circuit. A signal holds the current and future values of an object. Declaring signals: signal <signal_name>: <signal_type> signal <signal_name>: std_logic; signal count: std_logic; signal <signal_name>: std_logic_vector(<upper_bound> downto <lower_bound>); signal vector_a: std_logic_vector(7 downto 0); Variables can be assigned a single value of a specific data type. Variables are used for computations within processes, just like in conventional programming languages. Declaring variables: variable <variable_name>: <variable_type> variable var1: std_logic; variable var2: std_logic_vector(7 downto 0); variable var3: integer range 0 to 8;

50 Constants can be any valid data type. Constants are only allowed to be declared and initialized at the beginning of the simulation. Declaring constants: constant <constant_name>: <constant_type> constant max: integer:= 25; Difference between signals and variables: Signals can be assigned different values at different points in time so a signal can have multiple values. Signals are scheduled to receive certain values at certain points in time by the simulator, and thus signal objects must maintain a history of values. Variables, on the other hand, can only be assigned one value at any point in time. Variables are assigned value during the execution of the assignment statement. Also, you can trace signals in simulation waveforms but not variables. Data Types: You will generally be using signals and variables of type std_logic and std_logic_vector, but VHDL also has other standard data types that you can use, such as, integer, boolean etc. Single bit values are enclosed in single quotes and bit vectors are enclosed in double quotes. The data types are defined in STANDARD package libraries provided according to the IEEE standard system. Operators: Operators can be used in expressions involving signals, variables, or constant object types. Here are some of the useful operators: Logical: not, and, or, nand, nor, xor Relational: =, /= (inequality), <, <=, >, >= Addition: +, - Concatenation: & (used to combine bits) Shift: sll (logical left shift), srl, sla (arithmetic left shift), sra Note: VHDL also has some other operators that are not mentioned here since all operators are not supported by all synthesis tools. Older versions of VHDL may not include some of the operators. For example, xnor is not supported in VHDL 87, but is supported in VHDL 93. Shift operators are also only supported in VHDL 93. Converting Between Data Types: CONV_STD_LOGIC_VECTOR(integer, bits) Converts an integer to a standard logic vector. Example: CONV_STD_LOGIC_VECTOR(2, 3) will produce a standard logic vector of 010. CONV_INTEGER(std_logic_vector) Converts a standard logic vector to an integer. Example: CONV_INTEGER( 010 ) will produce an integer value of 2.

51 Entities and Architectures: Design Entity Entity is the primary design unit in VHDL. Multiple entities may be combined to form a larger design. An entity-architecture pair provides design entity description. Entity declaration provides the external interface to the design entity. It contains pinout description, interface description, input-output port definitions etc. Architecture describes the behavior of an entity or its structure (gates, wires, etc.) using VHDL constructs. Example: -- Always include necessary Libraries library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Entity declaration. -- x and y are the inputs and z is the output of the entity called Example -- entity Example is Port ( x : in std_logic; y : in std_logic; z : out std_logic); end Example; -- Architecture definition. -- The behavior of the entity, Behavioral (can be any name), describes -- the function of the design entity. -- architecture Behavioral of Example is begin z <= x or y; -- output z will be the logical or of x and y end Behavioral; Concurrency in VHDL: Concurrent Signal Assignments (CSA) All statements in a VHDL description are executed concurrently unless specified within a process. Concurrency is useful in describing combinational logic circuits. A concurrent statement is evaluated when any of its arguments change its value.

52 A process executes only on specified triggers A process declaration includes a sensitivity list. A process executes only when one of the arguments in the sensitivity list changes. Processes are useful in describing sequential circuits and state transition diagrams. Signals and Variables: Signal assignments take effect during the next simulation cycle and after exiting a process if put in a process construct. If it is desired that the values change immediately, then variables should be used. Signals are declared before begin in architecture definition and variables are declared before begin in process definition. Example: Using Signals and Variables library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity sig_var_example is Port ( a : in std_logic; b : in std_logic; c : in std_logic; out_sig : out std_logic; out_var : out std_logic); end sig_var_example; architecture Behavioral of sig_var_example is signal sig1, sig2 : std_logic; -- Signals are declared here begin sig_proc: process (a, b, c) is begin sig1 <= b or c; sig2 <= sig1 and a; out_sig <= sig1 nand sig2; end process; -- Output based on signals var_proc: process (a, b, c) is variable var1, var2 : std_logic; -- Notice where variables are declared. begin var1 := b or c; -- Notice the assignment operator var2 := var1 and a; out_var <= var1 nand var2; -- Output based on variables end process; end Behavioral;

53 In this case, the values of sig1 and sig2 will not change until the next simulation cycle after the process exits. out_sig will be computed using the old values of sig1 and sig2. out_var will be calculated from the current values of a, b, and c since var1 and var2 will reflect the results immediately (rather than during the next simulation cycle). Behavioral Simulation: Notice the difference between out_sig and out_var If-Then-Else and If-Then-Elsif Statements: An if statement executes a block of sequential statements upon matching certain condition(s). It can also include an else component or one or more elsif (not elseif or else if, no e in else) components. If-then-elsif construct forces a priority order in the logic. I.e. the first statement will be evaluated first and then the following statements in order. If statements are only allowed within a process. The statements are executed sequentially if a conditional match is detected. To avoid inferred latches, all outputs should be assigned values on all execution paths. Keep common statements outside of the if-then-else or if-then-elsif statements. Example: Inference library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity if_example is Port ( x : in std_logic; y : in std_logic; z : in std_logic; sel : in std_logic; w : out std_logic); end if_example;

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

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

Detaylı

Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz.

Yazılan programın simülasyonu için; (A<B), (A>B) ve (A=B) durumunu sağlayacak 2 şer tane değeri girerek modelsimde oluşan sonuçları çiziniz. Girilen iki sayının birbiriyle karşılaştırılıp sonucunda büyük, küçük veya eşit sinyallerinin verileceği bir programı VHDL dili ile yazınız. A : karşılaştırılacak 1.sayıdır. 8 bitlik giriştir. B : karşılaştırılacak

Detaylı

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

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

Detaylı

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ı

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ı

İşletim Sistemleri (Operating Systems)

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

Detaylı

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü

Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü 1 BİLGİSAYAR MİMARİSİ Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü http:// http:// Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Detaylı

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

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

Detaylı

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde

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ı

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ı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Processor organization Register organization Instruction cycle 2 Processor organization İşlemci

Detaylı

BM-311 Bilgisayar Mimarisi

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

Detaylı

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ı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

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

Detaylı

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

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

Detaylı

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

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

Detaylı

7.Yazmaçlar (Registers), Sayıcılar (Counters)

7.Yazmaçlar (Registers), Sayıcılar (Counters) 7.Yazmaçlar (Registers), Sayıcılar (Counters) 7..Yazmaçlar Paralel Yüklemeli Yazmaçlar Ötelemeli Yazmaçlar 7.2.Sayıcılar Đkili Asenkron Sayıcılar (Binary Ripple Counter) Đkili Kodlanmış Onlu Asenkron Sayıcı

Detaylı

Bölüm Bazı Temel Konseptler

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

Detaylı

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ı

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ı

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ı

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ı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

Programlanabilir Devreler

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

Detaylı

Giris {\} /\ Suhap SAHIN

Giris {\} /\ Suhap SAHIN Giris 0 {\} /\ Suhap SAHIN Kaynaklar http://users.ece.utexas.edu/~valvano/volume1/e-book/ Kaynaklar https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x Konular 1. 2. 3. 4. 5. 6.

Detaylı

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği

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ı

Deney 8: ALU da Aritmetik Fonksiyonlar

Deney 8: ALU da Aritmetik Fonksiyonlar Deney 8: ALU da Aritmetik Fonksiyonlar ALU da Aritmetik Fonksiyonlar Kullanılan Elemanlar 1x74LS181 ALU Entegresi, 4 x switch, 4 x 4.7 kohm 4 x 330 ohm, 4 x Led Giriş (Deney-7) Tipik olarak, bir ALU, birkaç

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ı

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ı

Tek Vuruşluk Đşlemci. -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği

Tek Vuruşluk Đşlemci. -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği Tek Vuruşluk Đşlemci -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği Bolumu -- Engineer : MOME TUM Proje Grubu -- Project ame : Tek Vurusluk Islemci -- Module ame : Ana Modul -- Additional

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ı

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım

Detaylı

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) 1 BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING) LECTURE 3: ASSIGNMENT OPERATOR Lecturer: Burcu Can BBS 514 - Yapısal Programlama (Structured Programming) 2 Lexical Elements (Sözcüksel Elemanlar)

Detaylı

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu

MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu MİKROBİLGİSAYAR SİSTEMLERİ Teknik Bilimler Meslek Yüksekokulu Dersin Amacı Mikroişlemciler Mikrodenetleyiciler PIC Mikrodenetleyiciler Micro BASIC Programlama Kullanılacak Programlar MSDOS DEBUG PROTEUS

Detaylı

Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose

Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose Mehmet BAKACAK, Taner TOPAL Bilgisayar Mühendisliği Kırıkkale

Detaylı

BÖLÜM 2 SAYI SİSTEMLERİ

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

Detaylı

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri

D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri A: Access time : Erişim Zamanı Active High : Aktif Yüksek Active Low : Aktif Düşük Adress : Adres Address Bus : Adres Yolu Adress Decoding : Adres Kod Çözümü ALE : Adress Latch Enable Architecture : Mimari

Detaylı

EK A VHDL DONANIM TANIMLAMA DİLİ

EK A VHDL DONANIM TANIMLAMA DİLİ EK A VHDL DONANIM TANIMLAMA DİLİ Elektronik sistemlerin karmaşıklığının artması tasarım yöntemlerinin de gelişmesini gerektirmiştir. Bu sebeple, geleneksel "kağıt ve kalem kullanarak tasarımı yap" ve "devreyi

Detaylı

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır. 1 İVME VGA İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır. Genel olarak yazmaçlar, hafıza elemanlarından

Detaylı

INTRODUCTION TO JAVASCRIPT JAVASCRIPT JavaScript is used in millions of Web pages to improve the design, validate forms, detect browsers, create cookies, and much more. JavaScript is the most popular scripting

Detaylı

BM-311 Bilgisayar Mimarisi

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

Detaylı

Embedded(Gömülü)Sistem Nedir?

Embedded(Gömülü)Sistem Nedir? Embedded(Gömülü)Sistem Nedir? Embedded Computing System de amaç; elektronik cihaza bir işlevi sürekli tekrar ettirmektir. Sistem içindeki program buna göre hazırlanmıştır. PC lerde (Desktop veya Laptop)

Detaylı

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir. Kesmeler çağırılma kaynaklarına göre 3 kısma ayrılırlar: Yazılım kesmeleri Donanım

Detaylı

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine

Detaylı

İletişim Protokolleri (Communication Protocols)

İletişim Protokolleri (Communication Protocols) İletişim Protokolleri (Communication Protocols) Arduino dış dünya ile iletişim kurabilmek için genel amaçlı i/o pinleri önceki konu başlığında incelenmişti. LED, buton, role vb. cihazlardan girdi almak

Detaylı

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

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

Detaylı

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1 Von Neumann Mimarisi Mikroişlemciler ve Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar

Detaylı

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

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

Detaylı

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ı

Sınavında sık yapılan temel hatalar:

Sınavında sık yapılan temel hatalar: Sınavında sık yapılan temel hatalar: 1) İsim tamlamalarında hata yapılabiliyor. Aşağıda bir kaç örnekle doğru ve yanlış kullanımlar gösterilmiştir. Belirtili isim tamlaması: Hem tamlayan (1. isim) hem

Detaylı

Bilgisayar Mimarisi ve Organizasyonu Giriş

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

Detaylı

MX2-CJ2M ETHERNET/IP HABERLEŞMESİ

MX2-CJ2M ETHERNET/IP HABERLEŞMESİ MX2-CJ2M ETHERNET/IP HABERLEŞMESİ İÇİNDEKİLER Giriş 3G3AX-MX2-EIP-A ve montajı 3G3MX2 invertör parametre ayarları Cx-Programmer da PLC ye IP atama Network Configurator ile tag tanımlama CJ2M-CPU33 konfigürasyonu

Detaylı

Bilgisayar Mimarisi Nedir?

Bilgisayar Mimarisi Nedir? BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde

Detaylı

Fen ve Mühendislik Uygulamaları ile MATLAB

Fen ve Mühendislik Uygulamaları ile MATLAB Fen ve Mühendislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü M-Dosyaları Kontrol İfadeleri - İlişkisel ve Mantıksal Operatörler

Detaylı

Deney 7: Aritmetik ve Lojik İşlem Birimi(ALU)

Deney 7: Aritmetik ve Lojik İşlem Birimi(ALU) Deney 7: Aritmetik ve Lojik İşlem Birimi(ALU) 4 bitlik bir ALU yu incelemek (74LS181) Kullanılan Elemanlar 1x74LS181 ALU Entegresi, 4 x switch, 4 x 4.7 kohm 4 x 330 ohm, 4 x Led Giriş Tipik olarak, bir

Detaylı

CNC MACH breakout board user manual V8 type

CNC MACH breakout board user manual V8 type CNC MACH breakout board user manual V8 type 1 Catalogue CNC Router breakout board V8 type user manual... Hata! Yer işareti tanımlanmamış. 1) Brief introduction:...3 2) Breakout board drawing:...4 3) Wiring:...5

Detaylı

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

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

Detaylı

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması 7. Port Programlama Şekil 2.1. Atmega16 mikrodenetleyici pin şeması A, B, C ve D portları için Register yapıları benzer şekildedir. -42- 7.1. Port Yönlendirme Mikrodenetleyicinin A, B, C, D ve varsa diğer

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ı

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı SAYISAL TASARIM Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 1 Sayıcılar İkili (Binary) Sayma İkili (Binary) sayma 1 ve 0 ların belirli bir düzen içerisinde sıralanması ile yapılır. Her dört sayıda

Detaylı

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür. İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler

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ı

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü

BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi

Detaylı

K uark projesi. Temel Özellikler :

K uark projesi. Temel Özellikler : K uark projesi Temel Özellikler : Kuark işlemcisi 16 bit kelime uzunluğuna sahip bir işlemcidir. Veri ve komut belleği aynıdır ve en fazla 4 Gigabyte bellek adresleyebilir. İşlemcimiz paralel çalışabilecek

Detaylı

Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni

Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni 2010-2011 Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni Deneyi hangi grubun hangi tarihte ve saatte yapacağı internet sayfasında (http://www.ce.yildiz.edu.tr/myindex.php?id=54) duyurulmuştur.

Detaylı

Ham Veri. İşlenmiş Veri Kullanıcı. Kullanıcı. Giriş İşleme Çıkış. Yazılı Çizili Saklama. Doç.Dr. Yaşar SARI-ESOGÜ-Turizm Fakültesi

Ham Veri. İşlenmiş Veri Kullanıcı. Kullanıcı. Giriş İşleme Çıkış. Yazılı Çizili Saklama. Doç.Dr. Yaşar SARI-ESOGÜ-Turizm Fakültesi Kullanıcı Ham Veri İşlenmiş Veri Kullanıcı Giriş İşleme Çıkış Yazılı Çizili Saklama Server PC Laptop PDA (Personal Digital Assitance) Netbook Tablet PC BİLGİSAYAR DONANIM YAZILIM Scanner (Tarayıcı)

Detaylı

Swansoft Fanuc OiT Kullanımı

Swansoft Fanuc OiT Kullanımı CNC Torna ve Frezede gerçek simülasyon yapılabilir. 50 den fazla farklı Kontrol Sistemi, 150 nin üzerinde ünite. Alt Programlama ve Delik çevrimleri dahil Manuel programlama Değişken parametrelerle Macro

Detaylı

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri

Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri Öğrenci No Ad-Soyad Puan Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri S1) 8086 mikroişlemcisi bitlik adres yoluna ve.. bitlik veri yoluna sahip bir işlemcidir. S2) 8086 Mikroişlemci mimarisinde paralel

Detaylı

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma

Detaylı

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı Kenan Baysal 1, Deniz Taşkın 2, Eser Sert 3, Nurşen Topçubaşı 4 1 Namık Kemal Üniversitesi, Hayrabolu Meslek Yüksekokulu, Bilgi Yönetimi

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I GENEL DERS BİLGİLERİ Öğretim Elemanı : İzzet TAMER Ofis : MUH 311 Ofis Saatleri : Pazartesi: 14:10 15:00, Salı:

Detaylı

e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.

e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection  LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0. e-tartı LTR3 Firmware Upgrade Yazılım Güncelleme Moduler Connection www.etarti.com LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.0 1 LTR3 Firmware Upgrade / LTR3 Yazılım Güncelleme v1.0.0 2 Contents

Detaylı

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR

Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR Mikroişlemciler ve Assembler Programlama Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR Mikroişlemciler Mikroişlemciler bilgisayar teknolojilerinin gerçek sürükleyicisi olan donanımsal

Detaylı

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1 Kullanıcı Dökümanı Flash B2B Versiyon 0.1 12 Kasım 2004 Geçmiş Değişiklikler İsim Tarih Değişiklik Nedeni Versiyon İçindekiler GEÇMİŞ DEĞİŞİKLİKLER... 2 1. KURULUM... 4 2. KULLANIM... 5 2.1. MAP OLUŞTURMA...

Detaylı

Multiplication/division

Multiplication/division Multiplication/division Oku H&P sections 4.6-4.8 Bir kac integer multiplication algorithm Bir integer division algorithms Floating point math 10/22/2004 Bilgisayar Mimarisi 6.1 10/22/2004 Bilgisayar Mimarisi

Detaylı

SPSS (Statistical Package for Social Sciences)

SPSS (Statistical Package for Social Sciences) SPSS (Statistical Package for Social Sciences) SPSS Data Editor: Microsoft Excel formatına benzer satır ve sütunlardan oluşan çalışma sayfası (*sav) Data Editör iki arayüzden oluşur. 1. Data View 2. Variable

Detaylı

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

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

Detaylı

Ethercat 1S Servo Kütüphanesi

Ethercat 1S Servo Kütüphanesi Ethercat 1S Servo Kütüphanesi İÇİNDEKİLER Giriş Uygulanabilir ürünler/versiyonlar Doğru kullanım için öneriler/önlemler Kütüphane indirme ve kurulumu Sycmac Studio da projeye kütüphane ekleme Backup_1S

Detaylı

Mimari. risi. Yazar: İşlemci Mimar. bulunmasını istediğimiz. mimariyi. Şekil 1

Mimari. risi. Yazar: İşlemci Mimar. bulunmasını istediğimiz. mimariyi. Şekil 1 İşlemci Mimar risi Yazar: Erman Üret (ermanuret@gmail.com) Bu yazıda işlemci tasarımı yapılırken izlenecek yol ve unsurlar ile yapılması gerekli dokümantasyon hakkında bilgi verilecektir. İşlemci tasarımındaki

Detaylı

Bilgisayarların Gelişimi

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

Detaylı

MIRACLE DATA WORKS KURULUM DOKÜMANI

MIRACLE DATA WORKS KURULUM DOKÜMANI MIRACLE DATA WORKS KURULUM DOKÜMANI İçindekiler Server Kurulumu... 3 Microsoft.NET Framework 4.0 Kurulumu... 3 Crystal Reports 2008 Redistributable Package (C12) Kurulumu... 5 Microsoft SQL Server 2008

Detaylı

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ 8259 PIC (Programmable Interrupt Controller) ve 8086 CPU tümleşik devrelerin sinyal akışı

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İ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ

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

Detaylı

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ı

Sayıcılar n bitlik bir bilgiyi tutmanın yanısıra her saat çevriminde tuttukları değeri artıran veya azaltan ardışıl devrelerdir.

Sayıcılar n bitlik bir bilgiyi tutmanın yanısıra her saat çevriminde tuttukları değeri artıran veya azaltan ardışıl devrelerdir. Sayıcılar (Counters) Sayıcılar n bitlik bir bilgiyi tutmanın yanısıra her saat çevriminde tuttukları değeri artıran veya azaltan ardışıl devrelerdir. Genel olarak iki gruba ayrılır: Senkron sayıcılar Asenkron

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ı

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ı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN Mikroişlemci Nedir? Bir bilgisayarın en önemli parçası Mikroişlemcisidir. Hiçbir bilgisayar mikroişlemci olmadan çalışamaz. Bu nedenle Mikroişlemci

Detaylı

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

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

Detaylı

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30 VII 1 GİRİŞ 1 Gömülü Sistemler (Embedded Systems) 1 Kitap Hakkında 2 Kitap Kimler İçin? 2 Kitabı Takip Edebilmek İçin Gerekenler 3 Kitabın İçeriği ve Uygulamaları 4 2 ARM İŞLEMCISI VE MIKRO-DENETLEYICILER

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ı

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf(deger girin:); scanf(%f, p); printf(girilen deger:%f\n, *p); Ege University Electrical and Electronics Engineering Introduction to Computer Programming Laboratory Lab 11 - Pointers 1) Pointer syntax. Declare a variable and a pointer with same data type. Assign variable

Detaylı

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır. DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #2 DİZİLERE ERİŞİMDE MIPS BELLEK TALİMATLARI Amaç: Veri bölütü kullanımını ve tek-modüllü dizi

Detaylı

1. LabVIEW ile Programlama

1. LabVIEW ile Programlama 1. LabVIEW ile Programlama LabVIEW ile programlama mantığı, program kodu yazılan programlama mantığına benzemekle birlikte, kontrol adı verilen nesneler arasında veri yolu bağlantısı ile program akışı

Detaylı

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı SAYISAL TASARIM Ege Üniversitesi Ege MYO Mekatronik Programı BÖLÜM 2 Kayar Yazaçlar 23.02.2015 Sayısal Tasarım 3 Kayar Yazacın Çalışma Şekilleri Kayar yazaç flip-flopların veri saklamak ve veri taşımak

Detaylı