Picproje Elektronik Sitesi

DİJİTAL & ANALOG ELEKTRONİK => Pld, Spld, Pal, Gal, Cpld, Fpga => Konuyu başlatan: ArifAhmet - 01 Mayıs 2014, 19:17:45

Başlık: FPGA ile hesap makinesi
Gönderen: ArifAhmet - 01 Mayıs 2014, 19:17:45
Merhaba, internette arattım ama bişey bulamadım. Elinde fpga için hesap makinesi şematiği olan varmı ?
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: speak48 - 07 Mayıs 2014, 17:41:59
hesap makinası dediğin ne arkadaş
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: ArifAhmet - 08 Mayıs 2014, 18:37:04
mantık kapılarıyla basit 8 bitlik toplayıcı
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: kralsam - 08 Mayıs 2014, 21:16:03
https://www.google.com.tr/?gfe_rd=cr&ei=r8lrU7WuKaKG8QfExYHwAQ#q=Full+ADder (https://www.google.com.tr/?gfe_rd=cr&ei=r8lrU7WuKaKG8QfExYHwAQ#q=Full+ADder)

Burdan faydalanabilirsin.
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: MC_Skywalker - 08 Mayıs 2014, 21:34:57
1 bitlik örmnek

(http://s9.postimg.cc/yt4c0bo0r/9941_o.jpg) (http://postimg.cc/image/yt4c0bo0r/)


    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;

    entity full_adder is
          Port ( X        : in     STD_LOGIC;
                    Y        : in     STD_LOGIC;
                    Z        : in     STD_LOGIC;
                   SUM    : out   STD_LOGIC;
                   CARRY : out   STD_LOGIC);
    end full_adder;

    architecture Behavioral of full_adder is
          COMPONENT half_adder
                 PORT( A : IN std_logic;
                            B : IN std_logic;
                           Sum : OUT std_logic;
                           Carry : OUT std_logic   );
          END COMPONENT;
          signal carry1,carry2,sum1:STD_LOGIC;
    begin
          Half_Adder_1: half_adder PORT MAP( A => X, B => Y, Sum => sum1 ,Carry => carry1 );
          Half_Adder_2: half_adder PORT MAP(  A => sum1,  B => Z, Sum =>SUM , Carry =>carry2 );
          CARRY<=carry1 OR carry2;
    end Behavioral;

Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: ArifAhmet - 08 Mayıs 2014, 21:57:02
full adder tasarımını biliyorum. Benim elimde 10 tane switch var. ilk swtchleri verip butona basacam sonra o switchler ikinci sayıyı girmek için ayarlacam.
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: MC_Skywalker - 09 Mayıs 2014, 15:19:11
Pardon ben yanlış anlamışım. Sen ALU dan bahsediyormuşsun.
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: speak48 - 09 Mayıs 2014, 15:33:39
full adder tasarımın bilmeden
mantık kapılarıyla nasıl adder tasarlıyacan.

önce bi logic öğrenin
sonra rtl öğrenin 
rtlde temel işleri isterseniz sentezleyici yapar isterseniz siz yaparsınız.

Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: ArifAhmet - 09 Mayıs 2014, 19:50:40
Alıntı yapılan: speak48 - 09 Mayıs 2014, 15:33:39
full adder tasarımın bilmeden
mantık kapılarıyla nasıl adder tasarlıyacan.

önce bi logic öğrenin
sonra rtl öğrenin 
rtlde temel işleri isterseniz sentezleyici yapar isterseniz siz yaparsınız.



full adder tasarımını biliyorum, basit düzeyde logic biliyorum, rtl hakkında da bilgi sahibiyim ve rtl seviyesinde tasarım yaptım.

elimde 10 switch var. daha önceden 5 bitlik bir hesap makinesi yaptım. fakat istediğim bu 10 tane switch'i full adderin her iki girişinede bağlamak. butona basıldığında A bacakları pasif b bacakları aktif olacak. bunu istiyorum sadece
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: speak48 - 10 Mayıs 2014, 12:44:07
input [9:0] switch;
wire [4:0] alu_in_a;
wire [4:0] alu_in_b;

assign alu_in_a=switch[4:0];
assign alu_in_b=switch[9:5];

10 biti ikitane 5 bit girişe bölüştürecen işte
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: ArifAhmet - 10 Mayıs 2014, 13:32:02
Alıntı yapılan: speak48 - 10 Mayıs 2014, 12:44:07
input [9:0] switch;
wire [4:0] alu_in_a;
wire [4:0] alu_in_b;

assign alu_in_a=switch[4:0];
assign alu_in_b=switch[9:5];

10 biti ikitane 5 bit girişe bölüştürecen işte

Bunu yaptım zaten. benim istediğim 10 tane fulladder tasarlayıp bu on switch'i A ve B girişlerine bağlamak. Bir buton yardımı ile de A girişlerini pasif hale getirip B girişlerini aktif etmek.
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: speak48 - 10 Mayıs 2014, 13:38:08
buradan sizin dediğinize çevirmek sizin  rtl tasarımınıza kalmış .

input [9:0] switch;
input [1:0] button.;
reg [9:0] alu_in_a;
reg [9:0] alu_in_b;


always@(posedge clk)
begin
case(button)
0:alu_in_a<=alu_in_a;         alu_in_b<=alu_in_b;
1:alu_in_a<=switch;         alu_in_b<=alu_in_b;
2:alu_in_a<=alu_in_a;         alu_in_b<=switch;
3:alu_in_a<=alu_in_a;         alu_in_b<=alu_in_b;
end
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: ArifAhmet - 11 Mayıs 2014, 12:41:35
Alıntı yapılan: speak48 - 10 Mayıs 2014, 13:38:08
buradan sizin dediğinize çevirmek sizin  rtl tasarımınıza kalmış .

input [9:0] switch;
input [1:0] button.;
reg [9:0] alu_in_a;
reg [9:0] alu_in_b;


always@(posedge clk)
begin
case(button)
0:alu_in_a<=alu_in_a;         alu_in_b<=alu_in_b;
1:alu_in_a<=switch;         alu_in_b<=alu_in_b;
2:alu_in_a<=alu_in_a;         alu_in_b<=switch;
3:alu_in_a<=alu_in_a;         alu_in_b<=alu_in_b;
end
Fakat ben VHDL ile hiç çalışmadım. Verilog hakkında temel bilgim var. Birbirlerine benzeselerde biraz farklılık olabiliyor. Ayrıca Bunu şematik tasarım olarak gerçekleyecektim.
Başlık: Ynt: FPGA ile hesap makinesi
Gönderen: speak48 - 11 Mayıs 2014, 12:51:03
bu zaten verilog.
şematik yada hdl rtl her yerde rtldir.
temel bilgilerini yeniden gözden geçirmelisin.


https://www.mediafire.com/?l1zmmip3z77bled (https://www.mediafire.com/?l1zmmip3z77bled)