Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Neden donanım kullanıyoruz? Daha hızlı (Performans) Paralel Düşük güç tüketimi Maliyet Boyut Her yere bilgisayar?

Benzer bir sunumlar


... konulu sunumlar: "Neden donanım kullanıyoruz? Daha hızlı (Performans) Paralel Düşük güç tüketimi Maliyet Boyut Her yere bilgisayar?"— Sunum transkripti:

1 Neden donanım kullanıyoruz? Daha hızlı (Performans) Paralel Düşük güç tüketimi Maliyet Boyut Her yere bilgisayar?

2 FPGA Nedir? Field Programmable Gate Array Ne işe yarar? Yapısı? Giriş çıkış birimleri Hesaplama birimleri Kombinezonsal devre tasarımı Ardışıl devre tasarımı

3 FPGA üzerinde nasıl devre oluşturacağız? Xilinx ISE HDL: Hardware Description Language – Verilog – VHDL Verilog için kitap: FPGA Prototyping by Verilog Examples – Pong P. Chu VHDL için kitap: Circuit Design with VHDL – V.A. Pedroni

4 X X X X W1(7:0) W2(7:0) W3(7:0) W4(7:0) + x1 x2 x3 x4 (7:0) (14:0) (17:0) y Perceptron Test Devresi Sadece bir test devresi ne kadar anlamlı?

5 İşaretli Ondalık Sayıları İkili Tabanda Nasıl Temsil Edeceğiz? İşaret biti Tam sayı kısmı Kesirli Sayı 0_1101_010 Pozitif Sayı 01101010=+(1*2 0 +1*2 2 +1*2 3 +1*2 -2 )=13,25 1_0010_101 Negatif Sayı 2’ye tümleyenini alalım: 1_0010_101^1111_1111+1 =0_1101_010+1=0_1101_011 01101011=-(1*2 0 +1*2 2 +1*2 3 +1*2 -2 +1*2 -3 )=-13,375

6 Peki çarpma sonrasında ne oldu? İşaret biti Tam sayı kısmı Kesirli Sayı 0_1101_010*0_1101_010=0_10101111_100100 Nasıl Yaptık? Oluşan sayı kaç bit?

7 Full Adder Yapalım AB Full Adder Cin Cout S Cout= (A.B) + (Cin (A^B)) S= A^B^Cin O zaman exor, and ve or’a ihtiyacımız var

8 AND module AND( input in1, input in2, output o ); assign o = in1 & in2; endmodule

9 OR module OR( input in1, input in2, output o ); assign o = in1 | in2; endmodule

10 EXOR module EXOR( input in1, input in2, output o ); reg res; always @(*) begin if ((in1 == 1 && in2 == 0) || (in1 ==0 && in2==1) ) begin res <= 1'b1; end else begin res <= 1'b0; end assign o = res; endmodule

11 Full Adder module FullAdder( input A, input B, input Cin, output S, output Cout ); wire ResExor1; EXOR exor1 (A,B,ResExor1); EXOR exor2 (ResExor1,Cin,S); AND and1 (A,B,ResAnd1); AND and2 (ResExor1,Cin,ResAnd2); OR or1 (ResAnd1,ResAnd2,Cout); endmodule

12 Yazdıklarımız Doğru mu Peki? Isim Simülatörünü kullanacağız

13 Ödev? Size verilen çarpma ve toplama bloklarını istenilen işi yapacak biçimde birbirine bağlayın Ağırlıkları oluşturun (reg kullanarak) ve MATLAB ile bulduğunuz değerleri atayın Aktivasyon fonksiyonunu kendiniz oluşturup toplama bloğu ve çıkışa bağlayın

14 Peki FPGA ile her şey güzel mi? Tabii ki değil!! FPGA’in kaynakları sınırlı Kendi içinde sadece 4 tane fiziksel olarak hazır çarpma bloğu var ve hepsini kullandık. Ya daha fazla boyut isteseydik? Device Utilization Summary (estimated values)[-] Logic UtilizationUsedAvailable Utilizati on Number of Slices10196010% Number of 4 input LUTs18219209% Number of bonded IOBs336650% Number of MULT18X18SIOs 44100%

15 Peki ya tasarım sonrası? CMOS teknolojisi IC tasarımı


"Neden donanım kullanıyoruz? Daha hızlı (Performans) Paralel Düşük güç tüketimi Maliyet Boyut Her yere bilgisayar?" indir ppt

Benzer bir sunumlar


Google Reklamları