<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ahmet Kargı</title>
    <description>The latest articles on DEV Community by Ahmet Kargı (@cevval).</description>
    <link>https://dev.to/cevval</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3594081%2F0b47477d-908a-47b2-b561-04cd6815bb44.jpg</url>
      <title>DEV Community: Ahmet Kargı</title>
      <link>https://dev.to/cevval</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cevval"/>
    <language>en</language>
    <item>
      <title>FPGA_Part_09</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Mon, 23 Mar 2026 12:10:29 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart08-504p</link>
      <guid>https://dev.to/cevval/fpgapart08-504p</guid>
      <description>&lt;p&gt;Selamünaleyküm&lt;br&gt;
Uzun bir zaman geçtiğinin farkındayım. Bu süreçte Basys3 kartım ile SPI ve I2C üzerine çalıştım. ELimde bulunan MPU-9250 modülünü hem SPI hem de I2C ile kullanarak FPGA üzerinden iletişim protokollerini kullanmayı anladım. Detaylara değinecek olursak:&lt;/p&gt;

&lt;p&gt;--SPI--&lt;br&gt;
SPI ile iletişim kurmak istediğim zaman mevzunun UART'tan çok daha farklı olduğu belliydi. FSM çok daha kompleks bir yapı oldu ve artık rx-tx gibi ayıramadığım SPI_Master modülünü geliştirmem gerekti.&lt;br&gt;
Ayrıca modüle yazılan address de hangi veriyi okuyacağımızı etkiliyordu. Birçok denemenin ardından MPU-9250 modülünden SPI protokolü üzerinden açı verisi okuyan ve okuduğu veriyi hem UART kullanarak bilgisayara aktaran hem de 7-Segment displayde 0-360 arası dereceyi gösteren bir sistem geliştirdim. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrakrwfki3ac1hnpcejf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrakrwfki3ac1hnpcejf.png" alt=" " width="310" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;--I2C--&lt;br&gt;
Aynı sistemi I2C protokolüne uygun hale getirmek çok zor olmadı. Modül yapısı sayesinde SPI da kullandığım modüllerin çoğunu I2C de de kullanabildim. Sadece i2c_master modülünü oluşturarak ve mpu_ctrl modülünde basit değişiklikler yaparak sistemin çalışmasını sağladım.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ormdla0uaczvtts6czs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ormdla0uaczvtts6czs.png" alt=" " width="310" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FPGA_Part_09&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
      <category>iot</category>
      <category>learning</category>
      <category>programming</category>
      <category>showdev</category>
    </item>
    <item>
      <title>FPGA_Part_08</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Sat, 24 Jan 2026 17:51:51 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart08-1gak</link>
      <guid>https://dev.to/cevval/fpgapart08-1gak</guid>
      <description>&lt;p&gt;Selamünaleyküm,&lt;/p&gt;

&lt;p&gt;Bu aralar UART protokolü üzerine çalıştım. Basys3 üzerinde UART ile switchlerden girdiğim veriyi JB1 pininden TX olarak verip aynı veriyi JB2 pininden RX olarak alıp 7-Segment üzerinde gösterdim.&lt;/p&gt;

&lt;p&gt;Daha sonra hocamdan aldığım NexysA7 100T kart ile Basys3 arasında UART protokolü üzerinden haberleşmelerini sağladım. Birbirlerine switch üzerinden veri yollayıp alanın 7-Segmentinde gösterttim. Bunu çift taraflı çalışır halde programladım.&lt;/p&gt;

&lt;p&gt;Son olarak ise NEXYSA7 üzerindeki UART to USB dönüştürücü ile bilgisayara kurduğum HTerm uygulamasıyla iletişim kurabilmesini sağladım.&lt;/p&gt;

&lt;p&gt;Önümüzdeki süreçte farklı tür tasarımlara devam edecem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2rs717t39pdig33lzf9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2rs717t39pdig33lzf9.jpeg" alt=" " width="800" height="1066"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdc9rjdx6677tu57pp7oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdc9rjdx6677tu57pp7oi.png" alt=" " width="800" height="731"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ximcj2ptieuwtd624yi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ximcj2ptieuwtd624yi.png" alt=" " width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A.KARGI&lt;br&gt;
FPGA_Part_07&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_07</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Sat, 24 Jan 2026 17:14:57 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart07-h6c</link>
      <guid>https://dev.to/cevval/fpgapart07-h6c</guid>
      <description>&lt;p&gt;Selamünaleyküm,&lt;br&gt;
Uzun zamandır ilgilenemedim ve yazamadım maalesef. Finallerim vardı.&lt;br&gt;
Finallerden önce yaptıklarımı da yazamamış oldum. &lt;br&gt;
Finallerden önce yaptığım projelerden birisi sayaç idi. process(clk) mantığını kavradım ve elektroniğin olmazsa olmazı clock mekanizmasını FPGA üzerinde kullanmayı öğrendim. Pratik amacıyla Basys3 üzerinde yön tuşları ile dakikası/saniyesi ayarlanan bir zamanlayıcı mekanizması geliştirdim.&lt;/p&gt;

&lt;p&gt;Daha sonra ise PWM sinyali üreten bir yapı daha kurdum.&lt;/p&gt;

&lt;p&gt;Bunları yaparken sadece clock mekanizmasını değil ayrıca Code structure yapısını ve component yapılarını kavradım.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdq2z76opca6eyryu42j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdq2z76opca6eyryu42j.png" alt=" " width="462" height="260"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftbc0nmiyloqcgqpidq3y.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftbc0nmiyloqcgqpidq3y.jpeg" alt=" " width="800" height="1066"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_06</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Tue, 30 Dec 2025 09:11:40 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart06-2edl</link>
      <guid>https://dev.to/cevval/fpgapart06-2edl</guid>
      <description>&lt;p&gt;Selamünaleyküm,&lt;br&gt;
Elimde bulunan Basys3 kartına ilk defa kod yükledim ve çalıştırdım. Hazırladığım program bir N-bit adder. Üzerinde 16 switch i olan kartın ilk 8 switchini bir sayı son 8 switchini başka sayı alarak üzerindeki ledlerde sonucu gösteren bir toplama işlemi yapıyor.&lt;/p&gt;

&lt;p&gt;Half adder mekanizması iki sayının toplanmasını sağlıyor. Çıktı olarak ise bir toplam bir de elde değeri veriyor. Fakat önceden elimizde olan bir elde varsa onu sisteme ekleyemiyoruz.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsfbztnbldazfswdsqsjv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsfbztnbldazfswdsqsjv.png" alt=" " width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Önceden elimizde bulunan eldeyi de sisteme ekleyebilmek için iki half adder(birisini sayıların sonucunu bulma diğeri ise sonuçla önceden gelen eldeyi hesaplaması için kullanılıyor) kullanarak Full adder mekanizması kullanılır. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9073os0eekm4x1v22oe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9073os0eekm4x1v22oe.png" alt=" " width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fakat biz bircen fazla bit i art arda toplayacağımız için bunları N tane full adder ın birbirlerine bağlanarak oluşturduğu n-bit adder mekanizmasına ihtiyacımız var.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Friue6534mc21k87pidnz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Friue6534mc21k87pidnz.png" alt=" " width="800" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bunların kodlarını tek tek hazırladıktan sonra elimizde şöyle bir structure oluşmuş oluyor:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0coj0na4jtqjnuejhu27.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0coj0na4jtqjnuejhu27.png" alt=" " width="619" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8 bit toplayacağımız için 8 adet full adder ı n_bit_adder source kodunun altında birbirlerine bağlıyoruz en tepede ise bu mekanizmayı switch ve ledlerle bağlayan ve yöneten top source kodu bulunuyor. Top dosyası yazılımdaki main dosyasına tekabül ediyor.&lt;/p&gt;

&lt;p&gt;FPGA_Part_06&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_05</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Tue, 30 Dec 2025 08:09:30 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart05-4l9</link>
      <guid>https://dev.to/cevval/fpgapart05-4l9</guid>
      <description>&lt;p&gt;Selamün aleyküm uzun zamandır yazmadığımı fark ettim. En son Logic tasarımı üzerine araştırma yapıyordum ama VHDL öğrenmemin ve Vivado üzerine uzmanlaşmamın acelesi dolayısıyla ara vermek zorunda kaldım. 1. Hedefim Vivado üzerinde uzmanaşıp sonrasında ise Pynq-Z1 kartını programlamayı öğrenmek. &lt;br&gt;
Şimdilik ulaştığım seviye karta N-bit adder programı yüklemek oldu. Ama bundan önce VHDL kodunun kısımlarını açıklamak istiyorum.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
-Library and Package declerations(Bu kısımda standart ve user defined packages ı dahil edebiliyoruz.)
-Entity(Burası dış dünyayla tanımlamaların yapıldığı yer. Init kısmı gibi düşünülebilir.)
    -Generic(Sabitler, tanımlamalar)
    -Port(Portların tanımlanması -in -out -inout -std_logic -std_logic_vector)
-Architecture(Yapısal olarak her şeyi kurduğumuz yer Main fonksiyonu gibi düşünülebilir ama yazılımsal değil donanımsal atamalar yapıyoruz. Malum FPGA in yapısı sebebiyle...)
    -Constants(Sabitlerin tanımlanması)
    -Component declerations(Fonksiyon tanımlama gibi düşünülebilir ama tam değil. Aslında her dosya kendi başına belirli giriş ve çıkışları olan birer fonksiyondur. VHDL kodunda  oluşturulan structureda alt birimler üst birimlerce bu şekilde kullanılır.)(Küçük not= Vivado da klasörlerle ve kodları dizmekle uğraşmaya gerek kalmaz bir source u diğerine component olarak tanımladığın anda program onu onun altına hierarchical yapıda atar.)
    -Types(Burada farklı türler oluşturabiliyoruz. Daha sonra bunları signallere atamak da mümkün.)
    -Signals(Başta giriş, çıkış ve ne tür sinyal olduğunu tanımladığımız sinyallerin özelliklerini tanımlıyoruz.Başlangıç değerleri vs.)
    -Begin(tüm setupların bitmesi ile artık birşeyler yapabiliriz.)
        -Component instantiations(Tanımlanan component e girdi ve çıktı olarak verilecek değer atmalarını yapıyoruz. Fonksiyon kullanmak gibi düşünülebilir.)
        -Assingments(Bu kısımda signal değerlerine son atamaları yapılıyor.)
            -Concurrent assingements(Dümdüz tanımlama yapılıyor. Burada if, switch case gibi yapılar kullanılabilir. Bir değere bir kere tanımlama yapılabilir yoksa hata verir.
            -Sequencial assingments - process block(Burada bazı işlemlerle atamalar yapılabilir
                -Combinational Process(Clock olmadan sinyal ataması yapılır.
                -Sequencal Process(Atama yapılırken clock kullanılır.)

end architecture;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feo62pvcbqwb04abjhb80.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feo62pvcbqwb04abjhb80.jpeg" alt=" " width="557" height="1378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FPGA_Part_05&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_04</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Tue, 02 Dec 2025 18:05:22 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart04-3fe7</link>
      <guid>https://dev.to/cevval/fpgapart04-3fe7</guid>
      <description>&lt;p&gt;Selamünaleyküm,&lt;br&gt;
Aradan birazcık zaman geçti arada sınavlarım vardı. Sınavlardan sonra yeniden çalışmaya başladım. Bir hocamın da yol göstermesi ile PYNQ-Z1 kartının programlanması üzerine bir araştırmaya başladım. Python ve ZYNQ kelimelerinin birleşimi ile adlandırılmış bu kartın yapısına bakalım. Üzerinde ZYNQ işlem birimi bullanıyor. ZYNQ işlemci PL ve PS olarak adlandırılan 2 parçadan oluşan SOC(System on a chip) türü bir işlem birimi. PL(Programmable Logic) kısmı FPGA türü bir işlemci iken PS(Processing System) kısmı ise ARM temelli bir işlemci. Bu iki ayrı sistem aynı çip üzerinde bulunur. Üzerinde bir çok I/O portu bulunan kartın en güzel yanlarından brisi ise Python ile programlanabiliyor olması. Adındaki Python buradan geliyor zaten. Bir nevi Rasppberry Pi ile FPGA işlemcinin birleştirilmiş hali.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhzpe809xg5urnsg8mu3s.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhzpe809xg5urnsg8mu3s.jpg" alt=" " width="800" height="973"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Üzerindeki portlarla Arduino gibi kartlara direkt bağlanabiliyor. Z2 modelinin üzerinde ise RPi için ayrıca bağlantı pinleri de bulunmakta.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9cvsu9cyz2gp3xluofnp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9cvsu9cyz2gp3xluofnp.png" alt=" " width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hakkında playlistleri ve documentationları takip etmeye devam ediyorum.&lt;/p&gt;

&lt;p&gt;FPGA_Part_04&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_03</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Wed, 05 Nov 2025 22:03:05 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart03-5c1p</link>
      <guid>https://dev.to/cevval/fpgapart03-5c1p</guid>
      <description>&lt;p&gt;En son postta yüklediğim göselde ne olduğunu ve nasıl çalıştığını bilmediğim MUX lar hakkında araştırma yaptım ve seçenek seçici gibi düşünebiliriz. 2x1, 4x1, 8x1... gibi artan türleri var. Aslında binary bit sistemine göre seçeneği seçiyor. Örnek vermek gerekirse 4x1 MUX un 2 tane seçim pini var ve bunlarla 00 01 10 11 kombinosyanları ile I0, I1, I2, I3 inputlarından istediğimizi çıkışa verebiliyoruz.&lt;br&gt;
 Mantıksal işlemler yapmamızda da tabii ki işe yarıyorlar. Belli mintermleri sağlayan fonksiyonları uygulamamızı sağlıyorlar. DEMUX ise MUX un tam tersi oluyor.&lt;br&gt;
 Aslında projenin amacı FPGA üzerine çalışmaktı biliyorum ama digital desing üzerine olan cahilliğimi bitirmeden bu işe girmenin fayda sağlamayacağını düşünmeye başladım. O yüzden MUX öğrenmek için başladığım NESO Academy nin Digital Electronics ders playlistini izlemeye başladım. Oradan öğrendiklerimi gene FPGA başlığı altında postlicam şimdilik.&lt;br&gt;
Bazı şemalar:&lt;br&gt;
2x1 MUX:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F782cqs0n48jm68t0yvf2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F782cqs0n48jm68t0yvf2.png" alt=" " width="800" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4x1 MUX:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ax4ftr141fhz7xbv9o3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ax4ftr141fhz7xbv9o3.png" alt=" " width="600" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8x1 MUX:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frxcqvvaprd6plg70k3bd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frxcqvvaprd6plg70k3bd.jpg" alt=" " width="800" height="594"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NESO Academy'nin içeriğinden MUX ları fonksiyonlarda kullanmayı anlatan ders:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4zoe9rm2u2aw8p5ro66.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc4zoe9rm2u2aw8p5ro66.png" alt=" " width="800" height="214"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41yz7oxdz2cwjdob2e83.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41yz7oxdz2cwjdob2e83.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/playlist?list=PLBlnK6fEyqRjMH3mWf6kwqiTbT798eAOm&amp;amp;si=m0V2P9RXR89oHvWL" rel="noopener noreferrer"&gt;NESO Academy'nin Playlist linki&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FPGA_Part_03&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_02</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Tue, 04 Nov 2025 22:53:37 +0000</pubDate>
      <link>https://dev.to/cevval/fpgastart02-37k4</link>
      <guid>https://dev.to/cevval/fpgastart02-37k4</guid>
      <description>&lt;p&gt;VHDL ile FPGA programlamaya devam ederken Vivado'da görüdğünüz bir logic biriminin içini gösteren şeyi görmeyi başardım. Slice deniyormuş bu minnik birimlere ve bu kare birimden sayısız tane var diye düşünün. Sol altta sline numarası yazıyor. İsimlendirmeyi koordinat gibi yapmışlar. İçindeki birimlere de baktım ve yaptığım bir örnekten de gördüğüm üzere şunları öğrendim:&lt;br&gt;
-AND için 4 tane 6-gate AND birimi var fakar bunlar 5+1 gate olarak taarlanmışlar. başta neden böyle yapmışlar diye düşünürken aldığım örnek tasarım çıktısından da esinlenerek aklıma gelen bir ihtimal 2 adet giriş olduğu zaman birisini 5lik kısımdan birisini ise kalan kısımdan geçirerek içerde dönen iş yükü azaltılmaya çalışılmış olabilir. Bunlara LUT deniyormuş bu sırada.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yanındaki yamuk şekiller ise 2x1 MUX lar. Şu anda da MUX lar hakkında detaylı video izliyorum. Önümüzdeki günlerde hakkında post atacam inşallah.
-Büyük dikdörtgenin adı sanırım CARRY. İçinde ise 2x1 MUX lar ve XOR birimleri var. Sanırım toplama ve kıyas işlemlerinde kullanılıyorlar.
-En sağdaki üst üste dizilmiş 8 mini kare ise her biri 1 bit tutan birer flip filop.
Daha fazla öğrenmeye çalışacam.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ev0oa9mt66wx49tp430.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ev0oa9mt66wx49tp430.png" alt=" " width="800" height="758"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yüklediğim bir başka görsel ise I/O pad inin yapısını gösteriyor. BUFFERlar işlemcinin düşük gerilimiyle dışarının gerilim seviyesini denkleştirmek için elzem.&lt;/p&gt;

&lt;p&gt;FPGA_Part_02&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FPGA_Part_01</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Mon, 03 Nov 2025 14:20:13 +0000</pubDate>
      <link>https://dev.to/cevval/fpgapart01-749</link>
      <guid>https://dev.to/cevval/fpgapart01-749</guid>
      <description>&lt;p&gt;FPGA(Field Programmable Gate Array - Alanda Programlanabilir Kapı Dizileri)şu şekil programlanabilir bölgelerin  Logic Birimlerini birleştirmesi üzerine kurulmuş bir yapı. Bunun olayı anladığım kadarıyla bu programlanabilir bölgeleri değiştirerek işlem birimini farklı şekillerde kullanabiliyorsun. Resimde de gördüğünmüz gibi her türlü I/O yu in veya out olarak programlayabiliyor ve onları içerideki logic cell lerle bağlayabiliyor, istediğimiz işlemi yaptırabiliyoruz. Yani işlemciyi programlıyoruz gibi bişey. Gayet hoş.&lt;br&gt;
 CPU dan farkı ne diye bir baktığımızda ise asıl fark tabiki de işlemcinin iç yapısını değiştiremiyor oluşumuz. FPGA larda içerdeki içerdeki yolları değiştirebilirken CPU ların yapısı sabit. Örneğin bir işlemcinin protokol pinleri sabitken FPGA da bunların hepsini ayarlayabiliyoruz.&lt;br&gt;
 Bir başka fark ise performans alanında öne çıkıyor. FPGA larda sadece istediğimiz birimleri istediğimiz şekilde çalıştırdığımız için güç konusunda çok daha verimli olmasının yanında FPGA da işlem birimlerinin birbirinden bağımsız olması aynı anda birden fazla işlemin yapılabilmesine olanak sağlamakta. CPU lar işlemleri sıraya sokup hepsini sırayla yaparken FPGA da farklı işlem birimleri farklı işlemleri eşzamanlı olarak yürütebilmekte. FPGA ların esnekliğinden bahsetmiyorum bile.&lt;br&gt;
 FPGA ların geliştirme süreci ise işlemcilerden çok daha karmaşık ilerler. Belli bir yazılımı çalıştırmak için var olmayan bu işlem birimleri C/C++ gibi yazılım  temelli dillerle programlanamazla. Verilog veya VHDL gibi donanım destekli dillerle programlanabilirler.&lt;br&gt;
 Son olarak FPGA lar yüksek performanslarından ve esnekliklerinden dolayı özellikle iletişim ve veri merkezlerinde ve endüstride kullanılıyor.&lt;/p&gt;

&lt;p&gt;FPGA_Part_01&lt;br&gt;
A.KARGI&lt;/p&gt;

</description>
    </item>
    <item>
      <title>START</title>
      <dc:creator>Ahmet Kargı</dc:creator>
      <pubDate>Mon, 03 Nov 2025 13:14:55 +0000</pubDate>
      <link>https://dev.to/cevval/start-35em</link>
      <guid>https://dev.to/cevval/start-35em</guid>
      <description>&lt;p&gt;Bismillahirrahmanirrahim.&lt;br&gt;
Selamunaleykum&lt;br&gt;
I am Ahmet KARGI. I'm studying electronic and communication engineering at Yıldız Technical University.&lt;br&gt;
I started studying FPGA just a few days ago and one brother that I really love told me about this place. I will upload everything I learned in this process.&lt;/p&gt;

&lt;p&gt;I have to thank my precious wife for her unwavering support throughout this process. With all my love, thank you my dear.&lt;/p&gt;

&lt;p&gt;A.KARGI&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
