Son yıllarda yapay zekâ hayatımızın hemen hemen her alanında karşımıza çıkmaya başladı. Metin ve görsel üretmekten yazılım geliştirmeye, veri analizinden mühendislik problemlerinin çözümüne kadar artık birbirinden farklı birçok yapay zekâ aracını günlük hayatımızda kullanıyoruz.
Bir donanım mühendisi olarak benim için işin asıl ilgi çekici tarafı ise yapay zekânın gerçek bir elektronik tasarım sürecinde ne kadar etki edebileceği oluyor ve bu, datasheet okumaktan komponent seçimine, devre hesaplarından simülasyona, PCB tasarımından firmware geliştirmeye kadar oldukça geniş bir kullanım alanını kapsıyor.
Elbette her yeni teknolojide olduğu gibi yapay zekâya da mesafeli yaklaşanlar var. Fakat bana kalırsa bugün bir mühendisin yapay zekâyı tamamen görmezden gelmesi, hesap makinesi varken bütün hesapları kâğıt kalemle yapmaya çalışmaktan çok da farklı değil. Yapay zeka elbette mühendisliği bizim yerimize yapacak sihirli bir araç değil; fakat doğru kullanıldığında ciddi zaman kazandıran yeni ve güçlü bir araç. Bu yeniliği benimseyip, işlerine adapte etmektense karşı durup, teknolojiye direnen dinozorlardan biri olmak işten bile değil.
Fakat burada başka bir soru daha ortaya çıkıyor: Yapay zekâ kimin elinde gerçekten güçlü bir araç? Deneyimli bir mühendis, verilen cevaptaki hatayı veya mantıksızlığı çoğu zaman fark edip yapay zekâyı doğru yöne yönlendirebilir. Deneyimsiz bir mühendis ise son derece ikna edici görünen yanlış bir cevabı doğru kabul ederek tasarımına doğrudan uygulayabilir. Bu açıdan bakıldığında yapay zeka, ilk bakışta düşünülenin aksine, belki de deneyimsiz mühendisten çok deneyimli mühendisin verimliliğini artıran bir araç gibi görülebilir.
Bu yazıda yapay zekanın donanım mühendisliğinde, ileride olacakları ön görmeye çalışarak, nerede gerçekten işe yarayacağını, nerede tehlikeli olabileceğini ve mühendislik tecrübesinin yapay zekâ çağında değer kaybedip kaybetmeyeceğini kendi deneyimlerim üzerinden irdelemeye çalışacağım.
Donanım Mühendisliğinin Kısa Tarihçesi
Donanım mühendisliği bugün kullandığımız bilgisayar destekli tasarım araçlarına ulaşana kadar yüz yılı aşkın bir dönüşüm geçirdi. 1900’lerin başında elektronik tasarım büyük ölçüde vakum tüpleri, pasif komponentler ve deneysel çalışmalar üzerine kuruluydu. Mühendislerin elindeki en önemli araçlar kâğıt, kalem, matematik tabloları ve laboratuvarda kullanabilecekleri nispeten basit ölçüm cihazlarıydı. Bir devrenin çalışıp çalışmayacağını anlamanın en güvenilir yollarından biri ise onu gerçekten kurup ölçmekti.
1940’lı ve 1950’li yıllar ise bu çalışma biçimini kökten değiştirecek gelişmelere sahne oldu. Radar ve ilk elektronik bilgisayarlarla çok daha karmaşık elektronik sistemler ortaya çıkarken, 1947 yılında transistörün icadı elektronik dünyasında yeni bir dönemi başlattı. 1960’larda entegre devrelerin yaygınlaşmasıyla yüzlerce komponentle gerçekleştirilen fonksiyonlar giderek daha küçük alanlara sığmaya başladı. Artık donanım mühendisinin işi yalnızca tek tek direnç, kondansatör ve transistörlerle devre kurmaktan ibaret değildi.
1970’lerde mikroişlemcinin ortaya çıkmasıyla donanım ve yazılım arasındaki sınır da değişmeye başladı. Aynı yıllarda hesap makineleri mühendislerin masalarına girdi ve daha önce kâğıt üzerinde yapılan uzun hesapların önemli bir kısmı birkaç tuşa basılarak yapılabilir hale geldi. Bilgisayarların gelişmesiyle birlikte devre analizi ve simülasyonu da bilgisayar ortamına taşındı. SPICE gibi araçlar sayesinde bir devreyi fiziksel olarak kurmadan önce davranışını görmek mümkün hale geldi.
1980’ler ve 1990’larda kişisel bilgisayarların yaygınlaşmasıyla mühendislik masası giderek dijitalleşti. Şematik çizimi, PCB tasarımı, devre simülasyonu ve daha sonra FPGA gibi programlanabilir donanımlar için kullanılan CAD/EDA araçları mühendisliğin ayrılmaz bir parçası haline geldi. Cetvel, asetat ve elle çizilen PCB’lerden bilgisayar üzerinde tasarlanan çok katmanlı kartlara geçiş aslında mühendislik pratiğinde başlı başına bir devrimdi.
2000’li yıllarda ise belki de en büyük değişikliklerden biri bilgiye erişimde yaşandı. İnternet sayesinde yüzlerce sayfalık datasheet’lere, application note’lara, referans tasarımlara ve üreticilerin teknik dokümanlarına birkaç saniye içerisinde ulaşabilir hale geldik. Forumlar ve daha sonra açık kaynak platformları sayesinde dünyanın başka bir yerindeki mühendisin yaşadığı bir problem ve çözümü bizim için de erişilebilir oldu.
2010’lara geldiğimizde modern bir donanım mühendisinin önünde artık oldukça güçlü bir takım çantası bulunuyordu. Gelişmiş EDA yazılımları şematik ve PCB tasarımımızı kontrol ediyor, SPICE devrelerimizi simüle ediyor, güçlü osiloskoplar milyonlarca örneği işleyebiliyor, üreticilerin parametrik arama araçları binlerce komponent arasından seçim yapmamıza yardımcı oluyor ve internet ihtiyaç duyduğumuz teknik bilgiye saniyeler içerisinde ulaşmamızı sağlıyordu.
Dikkat edilirse bütün bu teknolojiler mühendislerin yaptığı bazı işleri ortadan kaldırırken mühendisliği ortadan kaldırmadı. Hesap makinesi mühendisin matematik bilmesine, SPICE devre teorisini anlamasına, EDA yazılımları PCB tasarım kurallarını bilmesine veya internet hangi bilginin doğru olduğunu sorgulamasına olan ihtiyacı ortadan kaldırmadı. Aksine bu araçları doğru kullanabilen mühendislerin çok daha karmaşık tasarımları çok daha kısa sürelerde gerçekleştirmesine imkân sağladı.
2020’lere geldiğimizde ise bu araçların hemen hemen tamamının ortak bir özelliği vardı: Ne aradığımızı, ne hesaplayacağımızı ve karşımıza çıkan sonucu nasıl yorumlayacağımızı hâlâ bizim bilmemiz gerekiyordu.
2020’ler: Takım Çantasına Yapay Zeka Giriyor
2020’li yıllarla birlikte donanım mühendisinin takım çantasına, önceki araçlardan biraz daha farklı bir araç eklenmeye başladı: yapay zeka. Aslında yapay zeka yeni bir kavram değil, ancak son yıllarda yaşanan hızlı gelişmelerle birlikte araştırma laboratuvarlarından çıkıp doğrudan günlük hayatımızda ve mühendislik çalışmalarımızda kullanabileceğimiz bir noktaya geldi.
Yalnız bu değişimi önceki teknolojilerden ayıran önemli bir fark var; hesap makinesine hangi işlemi yapacağına, SPICE’a hangi devreyi simüle edeceğine, EDA programına ise hangi devreyi çizeceğimize bizim yönetmemiz gerekiyordu. İnternet sayesinde neredeyse sınırsız bilgiye ulaşabiliyorduk fakat yüzlerce sayfalık bir datasheet içerisinde ne aradığımızı ve bulduğumuz bilgiyi nasıl kullanacağımızı yine bizim bilmemiz gerekiyordu.
Yapay zeka ile birlikte ise ilk defa kullandığımız araçla doğrudan mühendislik problemi üzerine konuşabilir hale geldik. Bir datasheet’i inceleyip istediğimiz parametreyi bulmasını, iki komponenti karşılaştırmasını, yaptığımız hesabı kontrol etmesini, bir devredeki olası problemi yorumlamasını veya bir mikrodenetleyici için kod oluşturmasını isteyebiliyoruz. Üstelik artık bu etkileşim yalnızca yazıyla da sınırlı değil; devre şemaları, PCB görüntüleri ve ölçüm sonuçları da yapay zekanın değerlendirebildiği girdiler arasına girmeye başladı. Bunun doğal sonucu olarak mühendisin özellikle bilgiye ulaşmak ve rutin işleri yapmak için harcadığı zaman ciddi şekilde azaldı. Eskiden doğru dokümanı bulmak, datasheet’in farklı bölümlerini karşılaştırmak veya benzer bir problemi forumlarda araştırmak için harcadığımız zamanın önemli bir kısmını artık çok daha verimli kullanabiliyoruz.
Yapay Zekanın Tehlikesi
Yapay zeka donanım mühendisinin işini ciddi anlamda hızlandırabilecek bir araç olsa da, diğer mühendislik araçlarından ayrıldığı ve özellikle dikkat edilmesi gereken bir tarafı var: Yanlış bir cevabı son derece doğru ve ikna edici bir şekilde verebilmesi.
Bir hesap makinesine doğru işlemi girerseniz sonucunu çoğu zaman sorgulamanız gerekmez. SPICE ise oluşturduğunuz devreyi, verdiğiniz modeller ve matematiksel kurallar çerçevesinde simüle eder. Elbette ikisinden de yanlış sonuç alabilirsiniz; fakat çoğu zaman hatanın kaynağı yanlış girilen değer veya yanlış kurulan modeldir. Yapay zekada ise durum biraz daha farklıdır. Sistem bazen bilmediği bir bilgiyi de biliyormuş gibi tamamlayabilir.
Her ne kadar yapay zeka modelleri gün geçtikçe iyileşse de bir mikrodenetleyicide gerçekte bulunmayan bir register’ı varmış gibi gösterebilir, başka bir işlemci ailesine ait özelliği kullandığınız işlemcide de varmış gibi anlatabilir veya datasheet’te bulunmayan bir bilgiyi oldukça emin bir şekilde söyleyebilir. Aynı durum devre hesabında veya komponent seçiminde de karşımıza çıkabilir. Gerilim, akım, sıcaklık veya transient koşullarından birini gözden kaçırarak ilk bakışta oldukça mantıklı görünen fakat gerçek devrede kullanılamayacak bir çözüm önerebilir.
Donanım mühendisliğinde bunun bedeli bazen yazılımdan çok daha ağırdır. Hatalı oluşturulan bir kod çoğu zaman derlenmez veya sistem beklediğiniz gibi çalışmaz. Ancak yanlış seçilmiş bir MOSFET, gözden kaçırılmış bir absolute maximum rating veya hatalı hesaplanmış bir izolasyon mesafesi fiziksel olarak zarar gören bir devreyle ve yüzlerce, binlerce dolarlık maliyetler ve gereksiz zaman kayıpları ile sonuçlanabilir.
Üstelik yapay zekanın yaptığı hatalar her zaman kolay fark edilecek türden değildir. Formüller doğru görünebilir, teknik terimler yerinde kullanılabilir ve cevabın arkasındaki açıklama oldukça mantıklı gelebilir. Bu da bizi özellikle tasarım alanına yeni başlayan kişilerin düştüğü yanılgılara getirir.
Yeni Mühendisler İçin Yapay Zekanın Kullanımı
Yapay zekanın belki de en tartışmalı taraflarından biri yeni mezun veya henüz yeterli tecrübeye sahip olmayan mühendislerin bu araçları nasıl kullanacağıdır. İlk bakışta yapay zeka yeni bir mühendis için inanılmaz bir imkan sunuyor gibi gözükse de özellikle analog tasarımcı gibi gerçek dünyaya dokunmak zorunda olan kişiler için bir çeşit yeterlilik illüzyonu da yaratabilir.
Bugün elektronik konusunda çok az tecrübesi olan bir mühendis, yapay zekaya birkaç doğru soru sorarak oldukça profesyonel görünen bir devre şeması oluşturabilir. Komponentleri seçebilir, değerleri hesaplatabilir, simülasyonunu yaptırabilir ve hatta devrenin firmware’ini birkaç saat içerisinde ortaya çıkarabilir. Ortaya çıkan sonuç o kadar ikna edici olabilir ki, mühendisin kendisi de tasarıma gerçekte olduğundan çok daha fazla hakim olduğunu düşünebilir.
Fakat donanım mühendisliği yalnızca şematik üzerinde birbirine bağlanan ideal komponentlerden oluşmaz. Özellikle analog ve güç elektroniği tarafında gerçek dünya; parazitik endüktanslar, kapasiteler, toleranslar, sıcaklık, komponent yaşlanması, EMI/EMC, layout, ground loop, switching noise ve transientler gibi ilk tasarım sırasında kolaylıkla gözden kaçabilecek birçok etkeni beraberinde getirir. Bir devrenin şematik olarak doğru olması, o devrenin PCB üzerinde aynı şekilde çalışacağı anlamına asla gelmez.
Aslında tecrübenin önemli bir kısmı da tam mesleğe başlanan bu ilk tasarımlardan kazanılır. Örneğin tek bir mosfet yaktığınızda gate’e yalnızca 10V uygulamanın yeterli olmadığını; gate loop’un, dead-time’ın veya dv/dt’nin de önemli olduğunu öğrenirsiniz. ADC’de anlamsız değerler gördüğünüzde yalnızca yazılımı değil ground bağlantısını, referans gerilimini, örnekleme süresini ve kaynağın empedansını da sorgulamaya başlarsınız. EMC testinden ilk kez kaldığınızda ise şematik üzerinde görünmeyen birçok şeyin aslında devrenin bir parçası olduğunu fark edersiniz.
Yapay zeka burada ilginç bir problem yaratıyor. Yeni mühendis, normalde deneme-yanılma ve problem çözme sürecinde karşılaşacağı birçok hatanın çözümüne, daha o hatayla gerçekten mücadele etmeden ulaşabiliyor. Bu durum ilk bakışta büyük bir avantaj gibi görünse de, aslında mühendislik sezgisini geliştiren “kasların” yeterince çalışmamasına neden olabilir. Çünkü bir problemin çözümünü görmek ile o çözümü kendi başına bulabilecek düşünce yapısını geliştirmek aynı şey değil. Bir devrenin neden çalışmadığını saatlerce sorgulamak, ölçmek, yanlış ihtimalleri elemek ve sonunda problemi bulmak; yalnızca o sorunu çözmez, benzer bir problemle tekrar karşılaşıldığında kullanılacak mühendislik reflekslerini de geliştirir. Yapay zeka bu süreci sürekli kısalttığında ise yeni mühendis sonuca çok daha hızlı ulaşırken, normalde yıllar içerisinde oluşacak bazı problem çözme reflekslerini geliştirmeden yoluna devam etme riskiyle karşı karşıya kalabilir.
Bu yüzden yeni başlayan bir mühendisin yapay zekayı kendisi yerine düşünen bir araç olarak değil, kendisiyle birlikte düşünen bir araç olarak kullanmasının daha doğru olduğunu düşünüyorum. Yapay zekaya yalnızca “Bu devreyi tasarla” demek yerine “Neden bu topolojiyi seçtin?”, “Bu komponent neden uygun?”, “Hangi koşullarda çalışmaz?”, “Hangi parametreleri gözden kaçırıyor olabilirim?”, “Bunu nasıl doğrulayabilirim?” gibi sorular sormak çok daha değerli olacaktır.
Belki de yeni mühendisler için uygulanabilecek en basit kural şu olabilir:
Önce Düşün → Yapay Zekaya Sor → Cevabı Sorgula → Kaynağından Doğrula → Deney Yap → Tasarım Kasını Güçlendir
Çünkü mühendislikte önemli olan yalnızca çalışan bir devre ortaya çıkarmak değil, neden çalıştığını ve hangi koşullarda çalışmayacağını anlayabilmektir.
Deneyimli Mühendisler İçin Yapay Zekanın Kullanımı
İlk bakışta yapay zekanın en büyük faydayı yeni mühendislere sağlayacağı düşünülebilir. Fakat kendi kullanımımda gördüğüm kadarıyla durum bunun tam tersi şekilde ilerliyor. Çünkü deneyimli bir mühendis yapay zekanın verdiği cevabı yalnızca kullanmakla kalmıyor, aynı zamanda cevabın mantıklı olup olmadığını da kontrol edebiliyor.
Bunun yanında deneyimli mühendis çoğu zaman hangi soruyu sorması gerektiğini de biliyor. Bana göre yapay zekadan alınan sonucun kalitesini belirleyen en önemli etkenlerden biri de bu. Bu noktada yapay zekanın asıl gücü bilgi eksikliğini kapatmaktan çok, mühendisin mevcut bilgi ve tecrübesini çok daha hızlı kullanmasını sağlamakta ortaya çıkıyor.
Yüzlerce sayfalık bir datasheet içerisinde belirli bir bilgiyi bulmak, komponent karşılaştırmak, hesapları kontrol etmek, register tablosu hazırlamak, test senaryoları oluşturmak veya firmware’in rutin bölümlerini yazmak gibi işler artık çok daha kısa sürede yapılabiliyor. Üstelik bunların önemli bir kısmı geçmişte deneyimli mühendislerin giriş seviyesindeki mühendislere verdiği işlerdi.
Böyle baktığımda yapay zekayı deneyimli mühendis için çok hızlı çalışan bir yardımcı mühendis veya kişisel test asistanı gibi görüyorum. Araştırabilir, hesaplayabilir, alternatifler sunabilir, rutin işleri üstlenebilir ve asla şikayet etmez, hastalanmaz, surat asmaz. Tasarım kararının ve doğrulamanın sorumluluğu ise yine tecrübeli mühendise kalır.
Fakat bunun yeni mühendisler açısından önemli bir sonucu olabilir. Deneyimli bir mühendis, daha önce bir junior mühendise vereceği birçok işi artık yapay zeka ile kendi başına gerçekleştirebildiği için şirketlerin giriş seviyesindeki mühendis ihtiyacı azalabilir. Bu da yeni mezunlar açısından işsizliğin artması ve sektöre girişin zorlaşması gibi riskleri beraberinde getirir.
Burada ilginç bir paradoks ortaya çıkıyor: Deneyimli mühendis yetiştirebilmek için önce deneyimsiz bir mühendise iş vermek gerekiyor. Fakat yapay zeka giriş seviyesindeki işlerin önemli bir kısmını üstlendikçe, geleceğin deneyimli mühendislerinin nerede ve nasıl yetişeceği de ayrı bir problem haline geliyor.
Belki de yapay zekanın mühendislik dünyasındaki en büyük etkisi mühendisleri tamamen ortadan kaldırmak değil, aynı işi yapmak için ihtiyaç duyulan mühendis sayısını azaltmak olacaktır.
Donanım Mühendisliğinde Yapay Zekanın Geleceği
Bugün yapay zeka ile yaptıklarımız bana göre henüz oldukça ilkel. Çoğunlukla yapay zekaya bir soru soruyor, datasheet yüklüyor, hesap yaptırıyor, kod yazdırıyor veya bir devre hakkında yorum yapmasını istiyoruz. Yani yapay zeka hâlâ mühendislik sürecinin dışında duran ve gerektiğinde çağırdığımız bir yardımcı konumunda.
Asıl büyük değişimin, yapay zekanın kullandığımız mühendislik araçlarının içerisine doğrudan girmesiyle yaşanacağını düşünüyorum.
Örneğin gelecekte EDA programının içerisindeki yapay zeka yalnızca çizdiğimiz şematiği görmekle kalmayabilir. Kullandığımız komponentlerin datasheet’lerini okuyabilir, SPICE modellerine erişebilir, PCB üzerindeki yerleşimi inceleyebilir, BOM maliyetini kontrol edebilir ve daha kart üretilmeden tasarımla ilgili olası problemleri bize söyleyebilir.
Bir MOSFET seçtiğimizi düşünelim. Sistem aynı anda MOSFET’in datasheet’ini, gate driver’ı, switching frekansını, PCB üzerindeki gate loop alanını, termal modeli ve SPICE sonuçlarını değerlendirerek bize yalnızca “bu komponent uygun” demek yerine neden uygun olduğunu ve hangi koşullarda problem yaşayabileceğimizi gösterebilir.
İş bununla da kalmayabilir. Kart üretildikten sonra laboratuvarda aldığımız osiloskop görüntüleri, termal kamera ölçümleri ve test sonuçları aynı tasarım ortamına aktarılabilir. Yapay zeka simülasyonda beklenen waveform ile gerçek osiloskop görüntüsünü karşılaştırarak aradaki farkın olası nedenlerini araştırabilir. Yani bugün birbirinden bağımsız olan şematik, PCB, simülasyon, datasheet, firmware ve laboratuvar ölçümleri aynı sistem içerisinde birbirleriyle konuşmaya başlayabilir.
Bence yapay zekanın donanım mühendisliğinde yaratacağı asıl değişim de burada olacak.
Bugün bir mühendis bütün bu araçların arasında bilgiyi taşıyan kişi konumunda. Datasheet’i biz okuyor, değeri SPICE’a biz giriyor, simülasyon sonucunu PCB tasarımına biz aktarıyor, kart üretildikten sonra osiloskopta gördüğümüz sonucu tekrar tasarımla biz ilişkilendiriyoruz.
Gelecekte bu bağlantıların önemli bir kısmını yapay zeka kurabilir.
Ancak bütün bunların sonunda yine aynı noktaya geliyoruz. Yapay zeka mühendisin kullandığı araçları değiştirebilir, bazı işleri tamamen otomatik hale getirebilir ve tek bir mühendisin bugün olduğundan çok daha fazla iş yapmasını sağlayabilir. Fakat özellikle gerçek dünyayla temas eden donanım tarafında fizik değişmeyecek.
MOSFET yine ısınacak, kondansatör yine ripple akımına maruz kalacak, PCB üzerindeki parazitik endüktans yine voltage spike oluşturacak ve yanlış tasarlanan bir devre yine çalışmayacak.
Dolayısıyla geleceğin başarılı donanım mühendisinin yalnızca elektronik bilen veya yalnızca yapay zekayı iyi kullanan kişi değil, elektroniği iyi bilen ve yapay zekayı doğru yerde kullanmayı öğrenmiş mühendis olacağını düşünüyorum.
Tüm düşüncelerinizi yorum bölümünden bana iletebilirsiniz.
Herkese çalışmalarında başarılar diliyorum!