FPGA'lar mantıklarını dinamik olarak değiştirebilir mi?


15

Teorik olarak bir FPGA'nın bir konfigürasyon görüntüsünü harici bir belleğe yazması ve konfigürasyon görüntüsünü kendisini yeniden yapılandırması için bellekten yüklemesi mümkündür. Bu "dinamik olmayan" yeniden yapılandırma olacaktır.

FPGA'lar mantık yapılarını dinamik olarak yeniden bağlayabiliyor mu? Aslında, parmak arası terliklerin değeri değiştirilebilse de, arama tablolarının ve mantık dokusunu oluşturan dahili kabloların dinamik olarak yeniden yapılandırıldığını duymadım.

FPGA dahili mantığı (anılar hariç) dinamik olarak değiştirilebilir mi? Değilse, neden olmasın?


"dinamik yeniden yapılandırma" gerçekten aradığınız kelime öbeğidir :)
Martin Thompson

Kendilerini yeniden yapılandırabilecek (bazı mikro denetleyicilerin yapabileceği gibi) veya harici bir bileşenden yeniden yapılandırılabilecekleri (çalışma zamanı) FPGA mı arıyorsunuz?
Trygve Laugstøl

Yanıtlar:


12

Evet, en azından Xilinx'in dinamik yeniden yapılandırmayı destekleyen parçalara sahip olduğunu ve diğer büyük satıcıların da muhtemelen olduğunu biliyorum.

Yine de bunu yapmak büyük bir girişimdir, bu yüzden gerçekten ihtiyacınız olduğundan emin olmanız gerekir. Çipi fiziksel olarak iki veya daha fazla alana ayırmanız gerekir, bunlardan en az biri yeniden yapılandırılamaz ve sentez araçlarının tüm doğru bağlantıları yapabilmesi için tüm iç arabirimleri alanlar arasında fiziksel olarak "sabitleyin".


1
"Yeniden yapılandırılabilirlik" için Xilinx web sitesinde arama yapın!
Leon Heller

3

Birinin kullanabileceği iki genel yaklaşım vardır. Birçok FPGA tipi, yapılandırmalarını başlangıçta harici bir aygıttan (genellikle bir EEPROM) getirilen mandallarda tutar; harici cihaza okunduktan sonra FPGA ihtiyaç duymaz. Cihaz çalışması sırasında EEPROM'daki değişiklikler, FPGA'nın içeriğini yeniden yüklemesi istenmedikçe geçerli olmayacaktır. Böylece, FPGA olmadan tamamen çalışmaz hale gelecek olan bir cihazın çalışma sırasında FPGA'yı yeniden programlaması mümkündür; ancak EEPROM yazımı sırasında bir şeyler ters giderse, harici bir cihaz (bazen 'tuğla' olarak adlandırılır olarak adlandırılan bir durum) tarafından yeniden yazılmadıkça veya o zamana kadar cihaz çalışmaz olabilir.

EEPROM hücreleri işlevselliklerini "doğrudan" kontrol eden (mandallara kopyalanmanın aksine) CPLD'lerle sıklıkla yararlı olan alternatif bir yaklaşım, programlanabilir cihaz işe yaramaz durumda olsa bile sınırlı işlevsellik ile çalışabilen bir sisteme sahip olmaktır. CPLD'yi yeniden programlamak için bu gibi sınırlı bir işlevsellik yeterliyse, cihaz 'tuğlalama' ile bağışık olmayabilir. Örneğin, bir kablosuz aygıt, kablosuz işlevlerini ve diğer özelliklerini denetlemek için bir CPLD kullanabilir. CPLD'yi yeniden programlamanın normal yöntemi, kablosuz bağlantı aracılığıyla RAM'e bir görüntü almak ve daha sonra bu görüntüyü CPLD'yi yeniden programlamak için kullanmak olabilir. Dosya programlanıyorsa, kablosuz bağlantı CPLD yeniden programlanıncaya kadar kullanılamayabilir. Ancak sistemin kurtarmasına izin vermek için, işlemci "varsayılan" içerebilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.