Vivado'da mantık analizörü ILA kullanan "mükemmel blog yayını"

Bir omuz sırt çantası

Bu ne kadar zor?

Bir şans ver!

_

Uzun basın tanıma

FPGA ile sentezlenen devrelerin tamamı çipin içindedir, temelde sinyali bir osiloskop veya mantık analizörü ile ölçmek imkansızdır, bu nedenle xilinx gibi üreticiler yerleşik bir mantık analizörü icat etmiştir. Vivado'da ILA (Integrated Logic Analyzer), daha önce ISE'de ChipScope olarak adlandırılıyordu. Temel ilke, bir mantık analizörü oluşturmak için FPGA içindeki geçit devresini kullanmak ve sinyal hattını algılamak için birçok probu genişletmek için onu bir ILA çekirdeğine entegre etmektir.

Aşağıda, esas olarak ILA'ya odaklanarak çevrimiçi hata ayıklama süreci adım adım açıklanmaktadır. saat alanı Doğru kullanım.

İlk bölüm test edilen sinyal hattını ekler

Genellikle iki yol vardır:

1. Koda böyle bir cümle (* MARK_DEBUG = "TRUE" *) ekleyin. Reg veya tel tipi olup olmadığına bakılmaksızın, arayüz sinyalleri veya dahili değişkenler eklenebilir.

2. Kurulum Hata Ayıklama sürecinde, doğrudan Netlist'i ekleyin

Genelde genel sinyaller için DEBUG logosunu eklerim, geçici ölçüm için manuel olarak net eklerim, gerekirse eklerim ve gerekmiyorsa silerim.

İkinci kısım ILA modülleri oluşturmaktır

Sentezi tamamladıktan sonra, Sentez Tasarımını Aç, Hata Ayıklamayı Kur'u tıklayın.

Gerektiği gibi birini seçin

Girdikten sonra, test edilen ağı ekleyebilir / silebilirsiniz. Referans saatin olmadığı sorulursa, sağ tıklayın ve uygun bir saat seçin

FIFO derinliğini seçin. Bu derinlik çok büyük seçilebilir ve test edilen her sinyal o kadar büyük bir FIFO alacaktır, bu nedenle mantık analizörü çok fazla kaynak tüketir! Tetikleme koşulunu makul şekilde ayarlayın, böylece çok büyük FIFO seçmenize gerek kalmaz.

Bir önceki adımda saat alanını seçme kısmına geri dönmeme ve saat alanını seçmenin önemini göstermek için yukarıdaki FIFO'yu birleştirmeme izin verin.

Saat alanının seçimi iki ana yönü etkileyecektir: kaç tane ILA çekirdeği üretilir ve ne kadar zaman tespit edilebilir.

1) 3 saat seçerseniz, kesinlikle 3 ILA çekirdeği üreteceksiniz Sonuçta, D flip-floplar için clk farklıdır;

2) FIFO'nun referans saati farklıdır ve bu, FIFO'nun ne kadar süreyle dolu olacağını doğrudan belirler;

Örneğin, benim tasarımımda, IIC için 50mhz'den 20mhz'ye ve 8mhz'den 400khz'ye gelen 3 saat var. IIC'nin referansı 50 mhz ise scl sda'nın FIFO'su bir anda dolacaktır Tetiklemeden sonra FIFO görevi tamamlanır, ancak bir sinyal geçişi bile göremiyoruz. 400 khz'ye başvurursanız, başlangıç koşulundan 8 bit veriye, durdurma durumuna kadar yakalanabilir.

FIFO'da depolanan veriler, referans sinyal saatine dayanır ve bir clk'den sonra yalnızca 1 bitlik veri depolanır.

Doğru saat alanını seçmek çok önemlidir çünkü sonuçta kaynak işgalini etkileyecektir. ILA çekirdek sayısı, FIFO sayısı (genellikle yakalanacak 500 hatta 1000 sinyal vardır. Neden bu kadar çok! Örneğin, 32 bit adresiniz, 32 bit veriyolunuz ve ayrı ayrı okuyun ve yazın, birkaç tane yavaş Daha fazla toplamak için yavaş, fpga'nın asıl işlevi hızı artırmak için paralel veri yolu ilkesini kullanmaktır).

Örneğin, aşağıdaki ayarda 3 ILA çekirdeği kesinlikle üretilecek ve 3 dalga formu arayüzünde görüntülenecektir. Aslında, kaynaklar gerçekten yeterliyse, farklı arayüzlerde görüntülenebilmeleri için bunları ana işlevlere göre ayırmanız ve ardından her biri için tetikleme koşullarını ayarlamanız önerilir.

Sinyal dalga formunun üçüncü bölümü

Jtag'i bağlayın, hedef panoyu açın ve ardından bit ve ltx dosyalarını programlayın.

Tetikleme koşulunu ayarlayın. İşte osiloskopla aynı kullanım, çalıştırabilir veya tetikleyebilirsiniz.

Sağ düğmenin birçok işlevi vardır: kısa görünen ad, renk ayarı, temel dönüştürme, gruplama vb. Bunun hakkında düşünebilirsiniz.

Örneğin

Aşağıda ölçülen sinyal 20 mhz clk'dir, ancak görüntülenen dalga biçimi tek tip bir kare dalga değildir! neden? 50 mhz saat ile toplandığı için, bu kadar, bunda yanlış bir şey yok. Yine, saat alanı seçimi çok önemlidir.

"Wolf Warriors 2" 6 günde 1,5 milyar gol attı, tüm halk "Amway: Arkamda güçlü bir vatanım var" diye bağırdı
önceki
Yalama Ekran Süresi | Miho Nakayama, Snow Lover
Sonraki
Xiangshui patlamasının kurbanları için ilk yedi kurban! Patlamayla hayatları değişen çiftler
Gizlilik ve rahatlık arasında, park uygulamalarını seçmek zordur
Ünlü İtalyan yönetmen Bertolucci vefat etti ve Oscar'ları "Son İmparator" ile süpürdü
Dijitalden optik MACOM'a kadar eksiksiz bir ürün yelpazesi ile Çin pazarını kullanıyor
Gazetedeki suikastçı "Assassin's Creed" roman serisinden bahsediyor
Su Daqiang'ın "aklama" tartışmasına atıfta bulunur, "Her Şey İyi" mutlu bir sonla bitmeli mi?
Ekranı yalama zamanı | Her zaman on yedi yaşında yaşayan Kazuya Ninomiya
2015 yılında, Pinduoduo neden "gruba katılan" bir sosyal e-ticaret olmayı seçti?
Kadınların parası çok iyi Dyson saç maşası yaklaşık 4000 yuan değerinde mi?
Petrol Tankeri için 4G Bazlı Elektronik Kurşun Sızdırmazlık Sisteminin Tasarımı
Anne kızı erkek arkadaşını baştan çıkarıyor mu? Bu kanlı komplo Japonlar tarafından hayal edilebilir
Tanıklar bana şunu söylüyor: Appleın 36 teknik siyah üretiminden nasıl kurtulabilirim ve 100 milyondan fazla varlığı kurtarabilirim
To Top