Diğer sorunuza bakılırsa, siz bir Xilinx adamısınız. Bu yüzden Xilinx çipinizin veri sayfasını almanızı ve İşlevsel Açıklama bölümüne gitmenizi önemle tavsiye ederim. Kullandığım Spartan 3 yongası için 42 sayfalık eğlenceli okuma. Bir FPGA içinde hangi bileşenlerin olduğunu tam olarak detaylandırır - IOB'ler, CLB'ler, dilimler, LUT'lar, Blok RAM, Çarpanlar, Dijital Saat Yöneticisi, Saat Ağı, Ara Bağlantı ve bazı çok temel yapılandırma bilgileri. "Derlenmiş bir HDL" nin neye benzediğini bilmek istiyorsanız bu bilgileri anlamanız gerekir.
FPGA'nızın mimarisini öğrendikten sonra, bu işlemi anlayabilirsiniz. İlk olarak, HDL tasarımınız, HDL'nizi temelde RTL'ye dönüştüren sentez motoruyla çalıştırılır. Ardından Mapper, Sentez'in sonuçlarını işler ve bunları mevcut FPGA mimarisi parçalarına "eşleştirir". Sonra Yönlendirici, bu parçaların nereye gittiğini ve nasıl bağlanacağını anlayan Yer ve Rota (PAR) yapar. Son olarak, PAR sonuçları bir BIT dosyasına dönüştürülür. Tipik olarak bu BIT dosyası bir Flash çipine yüklenebilecek şekilde bir şekilde dönüştürülür, böylece FPGA açıldığında otomatik olarak programlanabilir.
Bu bit dosyası tüm FPGA programını açıklar. Örneğin, bir Spartan 3'teki CLB'ler, sadece 16 adresli 1 bitlik SRAM'ler olan LUT'lardan oluşan dilimlerden oluşur. BIT dosyasının içereceği şeylerden biri, SRAM'nin her adresine tam olarak hangi verilerin girdiği. BIT dosyasının içerdiği başka bir şey, LUT'un her girişinin bağlantı matrisine nasıl bağlandığıdır. BIT dosyası, blok RAM'in içine giren başlangıç değerlerini de içerecektir. Her dilimdeki her bir flip flopun set ve reset pimlerine neyin bağlı olduğunu açıklayacaktır. Taşıma zincirinin nasıl bağlandığını açıklayacaktır. Her IOB için mantık arabirimini (LVTTL, LVCMOS, LVDS, vb.) Tanımlayacaktır. Tüm entegre çekme veya çekme dirençlerini tarif edecektir. Temel olarak, her şey.
Xilinx için, konfigürasyon başlatıldığında FPGA'nın belleği silinir (yani PROG_B belirtilir). Bellek temizlendikten sonra, INIT_B fazın tamamlandığını göstermek için yükselir. BIT dosyası daha sonra, JTAG veya Flash çip arayüzü yoluyla yüklenir. Program yüklendikten sonra, Global Flip / Reset (GSR) atımı yapılır ve tüm flip floplar başlangıç durumlarına sıfırlanır. DONE pimi, yapılandırmanın tamamlandığını göstermek için yükselir. Tam olarak bir saat çevriminden sonra, Küresel Üç Durumlu sinyal (GTS) serbest bırakılarak çıkışların sürülmesine izin verilir. Tam olarak bir saat çevriminden sonra, Global Yazma Etkinliği (GWE) serbest bırakılır ve flip flopların girdilerine yanıt olarak durum değiştirmeye başlamasına izin verir. Bu son yapılandırma işleminin bile BIT dosyasında ayarlanan bayraklara bağlı olarak biraz yeniden sıralanabileceğini unutmayın.
DÜZENLE:
FPGA programının kalıcı olmamasının sebebinin mantık dokusunun uçucu bellekten (örn. SRAM) oluşmasıdır. Böylece FPGA güç kaybettiğinde program unutulur. Bu yüzden FPGA programı için kalıcı depolama olarak Flash çiplerine ihtiyaç duyarlar, böylece cihaz her açıldığında yüklenebilir.