Bu sayfadaki yazılar
Sayfanın metni
Sayfa 29
Minimig Prototipi
Şekil 5.
Minimig prototipi ilk defa 2005 Kasım ayında boot etti. Resimde görünen prototipte 68SEC000 çip ve 2MB SRAM ayrı bir PCB'de, SD kart, mouse, joystick ve video çıkışları ayrı bir PCB'de görülüyor. Bu aşamada çipset emülasyonunda birçok bug bulunuyordu. Bunların ayıklanması ve ilk versiyonun GPL lisansı altında yayınlanması 2007'yi buldu. Her ne kadar en son sürümünde bir takım buglar bulundursa bile bu projenin bu aşamaya kadar gelmesi Amiga çipsetini yeniden tasarlama amacı taşıyan projeler için çok umut verici. Amiga çipseti zamanında Jay Miner'ın önderliğinde her biri kendi alanında uzman 30 profesyonel tasarımcının çabalarıyla gerçekleşmişti. Aynı işlemi (gerçi biraz kopya çekerek de olsa) tek başına bir hobi tasarımcının gerçekleştirmesini Xilinx'in yarattığı bu FPGA devrimine borçlu olduğumuzu söyleyebiliriz.
Minimig projesinin ilk yan ürünü Tobias Gubener (http://www.opencores.org/people.cgi/info/tobiflex) tarafından geliştirilen TG68k projesi oldu. Bu proje, Amiga çipseti olarak tamamen Minimig kodu üzerine dayanmasına rağmen, 68000 işlemci yerine softcore (yani FPGA tarafından emüle edilen) bir 68000 işlemci kullanıyor. Bu yaklaşım, 68000 emülasyonundan doğan uyumluluk sorunları yaratma potansiyeli olsa bile, beraberinde getirdiği yeni olanaklar sayesinde TG68'in çok ilginç bir proje olmasını sağlıyor. Bu proje ile 68000'i daha hızlı emüle ederek hızlandırılmış bir Minimig elde etmek mümkün. Aynı zamanda 68030-68060 gibi artık üretilmeyen işlemcileri FPGA ortamında gerçekleştirmenin de yollarını açıyor. Belki ileride çeşitli Amiga modelleri için FPGA bazlı turbo kartlar da görebiliriz, kim bilir?
Altera DE2 Softcore Minimig
Şekil 6.
Sonuç olarak FPGA teknolojisinin gelişmesinin bizlere yeni donanım olanakları olarak geri döneceğini söyleyebiliriz. Burada bir yazının daha sonuna gelmiş bulunduk, umarım bir sonraki Plazma yazısında gelecek vaat eden bir diğer FPGA implementasyon projesi olan NatAmi hakkında daha ayrıntılı bilgi verebiliyor olacağız. Bu yazıda bahsi geçen projeler hakkında daha detaylı bilgi sahibi olmak isterseniz e-mail adresimden bana ulaşabilirsiniz.
Not: Bu yazıda kullanılan fotoğraflar, Dennis Van Weeren'in Minimig sayfası, Secret Weapons of Commodore, Total Amiga Jens Schönfield röportajı ve TG68 proje grubu'ndan alıntıdır. Linkler: Minimig projesi resmi sayfası: http://home.hetnet.nl/-weeren001/ TG68 yahoo grubu: http://www.opencores.org/projects.cgi/web/tg68/overview Minimig amiga.org topiği:
opic id-z27988
NatAmi resmi sayfası: http://www.natami.net/
Clone-A röportajı:
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 28
FPGA ve CPLD'lerden söz açılmışken biraz bu çipler hakkında bilgi vermek istiyorum. FPGA ne demek? İngilizce açılımı Field-Programmable Gate Array olan bu çiplere Türkçe anlaşılabilir bir isim vermek biraz zor, ama programlanabilir çip diyebiliriz. Tabi böyle deyince yine kafada soru işaretleri oluşabilir, programlanabilir çip ne demek? Normal CPU'larda programlanmıyor mu? diyebilirsiniz. Ama burada bahsedilen programlama biraz farklı. Bunun farkını kavrayabilmek için biraz alt seviyeye inip ASIC olarak ifade edilen (belli uygulamalara özgü) çiplerin yapısını anlatmamız gerekiyor. Bu çipler belirli sayıda mantık kapılarının (AND, OR, NOT ve bunların kombinasyonları) dizimiyle oluşturuluyor. Ve üretildikten sonra bu yapı sabit kalıyor. Bu ne demek, yani bir 68000 işlemci üretildikten sonra ancak bir 68000 işlemci işlevini görüyor veya bir MPG decoder çipi sadece MPG çözüm işleminde kullanılabiliyor. Yeniden programlanabilir çipler ise kullanıcı tarafından konfigürasyonu değiştirilebilen mantık kapılarından oluşan bir yapıya sahip. Yani AND/OR/NOT kapıları ve bunların kombinasyonları yeniden programlanabilir çiplerde yeniden ayarlanabiliyor ve çip tamamen farklı bir işlev görebiliyor.
Peki bu FPGA'ler ne için kullanılıyor? Ne işe yarıyorlar? Öncelikle hardware tasarımı konusunda bir devrim anlamına geliyor, çünkü eskiden çok büyük ve hantal transistör plakalarıyla çip geliştirme işlemini, bir kibrit kutusu büyüklüğünde bir çip ile evde masa üstünde yapabiliyorsunuz. Mesela Amiga çipsetinin ilk tasarım aşamasında kullanılan sisteme bir bakalım:
Daphne ve Agnus Plakaları
Şekil 3.
Bu fotoğrafta gördüğünüz sağdaki üç plaka Agnus çipini oluşturuyor. Soldaki plakalar ise ilk Denise prototipi olan Daphne'ye ait. Dizaynda bir değişiklik yapmak gerektiğinde, bu plakalar üzerinde el ile gerekli değişiklik yapılıyor (atıyorum bir AND OR ile değişiyor, veya 85'inci AND kapısının çıkışı 37'inci XOR'un girişine bağlanıyor, gibi). FPGA'lerde ise bu tip işlemler tamamen software ile birkaç tuş darbesiyle yapılan bir değişikliğe dönüşüyor. HDL (hardware design language) denilen donanım tasarım dilleri ile yapmak istediğiniz değişikliği yapıp çipinize yüklüyorsunuz.
İlk Amiga Prototipi Lorraine ve 'custom chipset'
Şekil 4.
Burada ufak bir parantez açarak sizi 'Donanım tasarım dilleri' konusunda kısaca bilgilendirmek istiyorum. İlk donanım tasarım dili olan Verilog aslen 1985 yılında Gateway tarafından geliştirilmiş olan bir dil. Verilog'un en büyük alternatifi olan VHDL ise 1987 yılında ABD savunma bakanlığı tarafından geliştiriliyor. O dönemlerde programlanabilir çip teknolojisi fazla gelişmiş olmadığından bu diller daha çok simülasyon ortamında kullanılıyordu. İlk FPGA'lerin tasarımı Xilinx tarafından 1984 yılına dayanmasına rağmen ev kullanıcılarına hitap eden Spartan serisi FPGA'lerin geliştirilmesi 1998'i bulur. 2005'e gelindiğinde ise Spartan serisi 128 milyon satan, Xilinx'e yılda 1.2 milyon gelir getiren dev bir sektör haline gelmişti. 2005 Mart ayında Xilinx Spartan3E serisini piyasaya sürdü. Tam bu sıralarda ise Hollandalı Dennis Van Weeren, biraz da Commodore One projesinin etkisiyle Amiga çipsetinin FPGA üzerinde emüle edilip edilemeyeceğini düşünüyordu. Aynı sene içinde kendisine bir Spartan 3 başlangıç kiti alarak Verilog ile ilk kodlarını yazmaya başladı.