AN 987: Statik Güncelleme Kısmi
Yeniden Yapılandırma Eğitimi
Intel® ™ Agilex F-Serisi FPGA Geliştirme Kartı için Statik Güncelleme Kısmi Yeniden Yapılandırma Eğitimi
Bu uygulama notu, Intel ® F-Serisi FPGA Geliştirme Kartında statik güncelleme kısmi yeniden yapılandırmayı (SUPR) gösterir. Kısmi yeniden yapılandırma (PR), kalan FPGA çalışmaya devam ederken bir Intel FPGA'nın bir kısmını dinamik olarak yeniden yapılandırmanıza olanak tanır. PR, tasarımınızdaki belirli bir bölgede, bu bölgenin dışındaki alanlardaki işlemleri etkilemeden birden fazla kişiyi uygular. Bu metodoloji, aşağıdaki avantajları sağlartagBirden fazla fonksiyonun aynı FPGA kaynaklarını zaman paylaşımı yoluyla kullandığı sistemlerde:
- Çalışma zamanı yeniden yapılandırmasına izin verir
- Tasarım ölçeklenebilirliğini artırır
- Sistemin kapalı kalma süresini azaltır
- Tasarımda dinamik zaman çoğullama işlevlerini destekler
- Pano alanının verimli kullanımıyla maliyet ve güç tüketimini düşürür
Statik Güncelleme Kısmi Yeniden Yapılandırma Nedir?
Geleneksel PR'de, statik bölgedeki herhangi bir değişiklik her personanın yeniden derlenmesini gerektirir. Ancak, SUPR ile personaların yeniden derlenmesini gerektirmeden değişikliğe izin veren özel bir bölge tanımlayabilirsiniz. Bu teknik, risk azaltma için muhtemelen değiştirmek isteyebileceğiniz ancak asla çalışma zamanı yeniden yapılandırması gerektirmeyen bir tasarım bölümü için yararlıdır.
1.1. Eğitim Gereksinimleri
Bu eğitim için şunlar gereklidir:
- Intel Quartus® Prime Pro Edition FPGA uygulama akışı ve projesine ilişkin temel bilgi files.
- Intel Agilex aygıt desteğiyle Intel Quartus Prime Pro Edition sürüm 22.3'ün kurulumu.
- FPGA uygulaması için bir JTAG Tezgah üzerindeki Intel Agilex F-Serisi FPGA geliştirme kartıyla bağlantı.
- Referans Tasarımını İndirin Files. İlgili Bilgiler
- Kısmi Yeniden Yapılandırma Kullanıcı Kılavuzu
- Kısmi Yeniden Yapılandırma Eğitimleri
- Kısmi Yeniden Yapılandırma Çevrimiçi Eğitimi
Intel Kurumu. Tüm hakları Saklıdır. Intel, Intel logosu ve diğer Intel markaları, Intel Corporation'ın veya yan kuruluşlarının ticari markalarıdır. Intel, FPGA ve yarı iletken ürünlerinin Intel'in standart garantisine uygun olarak mevcut teknik özelliklere göre performansını garanti eder, ancak herhangi bir zamanda herhangi bir bildirimde bulunmaksızın herhangi bir ürün ve hizmette değişiklik yapma hakkını saklı tutar. Intel, yazılı olarak açıkça kabul etmedikçe, burada açıklanan herhangi bir bilgi, ürün veya hizmetin uygulanmasından veya kullanılmasından kaynaklanan hiçbir sorumluluk veya yükümlülük kabul etmez. Intel müşterilerinin, yayınlanmış herhangi bir bilgiye güvenmeden ve ürün veya hizmet siparişi vermeden önce cihaz özelliklerinin en son sürümünü edinmeleri önerilir. *Diğer adlar ve markalar başkalarının mülkiyetinde olabilir.
ISO 9001: 2015 Kayıtlı
1.2. Referans Tasarımıview
Bu referans tasarımı bir adet 32 bitlik sayaçtan oluşur. Kart düzeyinde, tasarım saati 50 MHz'lik bir kaynağa bağlar ve ardından çıkışı karttaki dört LED'e bağlar. Çıkışı sayaç bitlerinden belirli bir sırayla seçmek, LED'lerin belirli bir frekansta yanıp sönmesine neden olur. Top_counter modülü SUPR bölgesidir.
Şekil 1. Düz Referans Tasarımı
1.3. Statik Güncelleme Bölgesi Üzeriview
Aşağıdaki şekil, bir SUPR bölgesi içeren bir PR tasarımının blok diyagramını göstermektedir. Blok A, Üst statik bölgedir. Blok B, SUPR bölgesidir. Blok C, PR bölümüdür.
Şekil 2. SUPR Bölgesi ile PR Tasarımı
- Üst Statik Bölge—değişmeyen tasarım mantığını içerir. Bu bölgeyi değiştirmek, ilişkili tüm kişilerin yeniden derlenmesini gerektirir. Statik bölge, herhangi bir kişi için değişmeyen tasarım bölümünü içerir. Bu bölge, çevre ve çekirdek aygıt kaynaklarını içerebilir. SUPR ve PR bölümleri arasındaki tüm iletişimi statik bölgede kaydetmelisiniz. Bu gereklilik, statik bölge açısından herhangi bir kişi için zamanlama kapanışını sağlamaya yardımcı olur.
- B SUPR Bölgesi—risk azaltma için muhtemelen değişebilen, ancak asla çalışma zamanı yeniden yapılandırması gerektirmeyen yalnızca çekirdek mantığı içerir. SUPR bölgesi, PR bölümüyle aynı gereksinimlere ve kısıtlamalara sahiptir. SUPR bölümü yalnızca çekirdek kaynakları içerebilir. Bu nedenle, SUPR bölümü, tasarım çevre birimini ve saatleri içeren en üst düzey kök bölümünün bir alt bölümü olmalıdır. SUPR bölgesini değiştirmek bir SRAM Nesnesi üretir File (.sof) tüm mevcut derlenmiş Raw Binary ile uyumludur File (.rbf) files PR bölümü C içindir.
- C PR Bölümü—Derleme sırasında zamanlama kapanışını gerçekleştiren ve uyan herhangi bir tasarım mantığıyla çalışma zamanında yeniden programlayabileceğiniz keyfi mantığı içerir.
1.4. Referans Tasarımını İndirin Files
Kısmi yeniden yapılandırma eğitimi aşağıdaki konumda mevcuttur: https://github.com/intel/fpga-partial-reconfig
Öğreticiyi indirmek için:
- Klonla veya indir'e tıklayın.
- ZIP'i İndir'i tıklayın. fpga-partial-reconfig-master.zip dosyasını açın file.
- Referans tasarımına erişmek için tutorials/agilex_pcie_devkit_blinking_led_supr alt klasörüne gidin.
Düz klasör aşağıdakilerden oluşur files:
Tablo 1. Referans Tasarımı Files
File İsim | Tanım |
üst. sv | Üst düzey file Tasarımın düz uygulamasını içerir. Bu modül blinking_led alt bölümünü ve top_counter modülünü örneklendirir. |
t op_counter .sv | LED'i [32] doğrudan kontrol eden en üst düzey 1 bitlik sayaç. Sayacın kayıtlı çıkışı LED'i [0] kontrol eder ve ayrıca blinking_led modülü aracılığıyla LED'e [2] ve LED'e [3] güç sağlar. |
yanıp_sönen_led.sdc | Proje için zamanlama kısıtlamalarını tanımlar. |
yanıp_sönen_led.sv | Bu eğitimde, bu modülü bir ana PR bölümüne dönüştüreceksiniz. Modül, LED [2] ve LED [3]'ü kontrol eden top_counter modülünün kayıtlı çıktısını alır. |
yanıp sönen_led.qpf | Intel Quartus Prime projesi file projedeki tüm revizyonların listesini içerir. |
yanıp_sönen_led .qs f | Intel Quartus Prime ayarları file Projeye ilişkin atamaları ve ayarları içerir. |
Not: Supr klasörü, tüm setleri içerir fileBu uygulamayı kullanarak yarattığınız Not. Bunlara atıfta bulunun fileİzlenecek yol sırasında herhangi bir noktada.
1.5. Referans Tasarım Rehberi
Aşağıdaki adımlar SUPR'nin düz tasarımla uygulanmasını açıklamaktadır:
- Adım 1: Başlarken
- Adım 2: Tasarım Bölümleri Oluşturun
- Adım 3: Yerleştirme ve Yönlendirme Bölgelerini Tahsis Edin
- 4. Adım: Kişileri Tanımlayın
- Adım 5: Revizyonları Oluşturun
- Adım 6: Temel Revizyonu Derleyin
- Adım 7: PR Uygulama Revizyonlarını Ayarlayın
- Adım 8: SUPR Mantığını Değiştirin
- Adım 9: Kartı Programlayın
Şekil 3. SUPR Derleme Akışı
1.5.1. Adım 1: Başlarken
Referans tasarımını kopyalamak için fileçalışma ortamınıza ekleyin ve flashing_led düz tasarımını derleyin:
- Başlamadan önce, Referans Tasarımını İndirin Files. 5. sayfada.
- Çalışma ortamınızda agilex_pcie_devkit_blinking_led_supr dizinini oluşturun.
- İndirdiğiniz tutorials/agilex_pcie_devkit_blinking_led/flat alt klasörünü agilex_pcie_devkit_blinking_led_supr dizinine kopyalayın.
- Intel Quartus Prime Pro Edition yazılımında, File ➤ Projeyi açın ve /flat/blinking_led.qpf dosyasını açın.
- Temel tasarımı derlemek için, İşleme ➤ Derlemeyi Başlat'a tıklayın. Derleme tamamlandığında Zamanlama Analizörü otomatik olarak açılır. Şimdilik Zamanlama Analizörünü kapatabilirsiniz.
1.5.2. Adım 2: Tasarım Bölümleri Oluşturun
Kısmen yeniden yapılandırmak istediğiniz her bölge için tasarım bölümleri oluşturun. Projenizde istediğiniz sayıda bağımsız bölüm veya PR bölgesi oluşturabilirsiniz. u_blinking_led örneği için PR bölümü ve u_top_counter örneği için SUPR bölgesi olarak tasarım bölümleri oluşturmak için şu adımları izleyin:
- Proje Gezgini'nde u_blinking_led örneğine sağ tıklayın ve Bölüm Tasarla'ya tıklayın
➤ Yeniden yapılandırılabilir. Bölüm olarak ayarlanan her örneğin yanında bir tasarım bölümü simgesi görünür.
Şekil 4. Tasarım Bölümlerinin Oluşturulması - u_top_counter örneği için bir bölüm oluşturmak üzere 1. adımı tekrarlayın.
- Atamalar ➤ Tasarım Bölümleri Penceresi'ne tıklayın. Pencere projedeki tüm tasarım bölümlerini görüntüler.
Şekil 5. Tasarım Bölümleri Penceresi
- blinking_led Partition Name hücresine çift tıklayarak adını pr_partition olarak değiştirin. Benzer şekilde, top_counter bölümünü supr_partition olarak yeniden adlandırın.
Alternatif olarak, blinking_led.qsf dosyasına aşağıdaki satırları ekleyerek şu bölümler oluşturulur:
set_instance_assignment -name PARTITION pr_partition \ -to u_blinking_led -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION AÇIK \ -to u_blinking_led -entity üst
set_instance_assignment -name PARTITION supr_partition \ -to u_top_counter -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION AÇIK \ -to u_top_counter -entity top
1.5.3. Adım 3: Yerleştirme ve Yönlendirme Bölgelerini Tahsis Etme
Oluşturduğunuz her temel revizyon için Derleyici, karşılık gelen persona çekirdeğini ayrılmış bölgeye yerleştirmek için PR bölüm bölgesi tahsisini kullanır. Temel revizyonunuz için cihaz kat planında bir PR bölgesini bulmak ve atamak için şu adımları izleyin:
- Proje Gezgini Hiyerarşisi sekmesinde, u_blinking_led örneğine sağ tıklayın ve ardından Mantıksal Kilit Bölgesi ➤ Yeni Mantıksal Kilit Bölgesi Oluştur'a tıklayın. Bölge, Mantıksal Kilit Bölgeleri penceresinde görünür.
- Genişliği 5 ve Yüksekliği 5 olan bir bölge belirtin.
- Origin sütununda u_blinking_led için yerleşim bölgesi koordinatlarını belirtin. Origin, bölgenin sol alt köşesine karşılık gelir. Origin'i X166_Y199 olarak belirtin. Derleyici (X170 Y203)'ü sağ üst koordinat olarak hesaplar.
- Bölge için Rezerv ve Yalnızca Çekirdek seçeneklerini etkinleştirin.
- Yönlendirme Bölgesi seçeneğine çift tıklayın. Mantık Kilidi Yönlendirme Bölgesi Ayarları iletişim kutusu görüntülenir.
- Yönlendirme Türü için Genişlemeyle Sabit'i seçin. Bu seçenek otomatik olarak bir Genişleme uzunluğu atar.
- u_top_counter bölümü için aşağıdaki kaynakları tahsis etmek üzere önceki adımları tekrarlayın:
• Yükseklik—5
• Genişlik—5
• Köken—X173_Y199
• Yönlendirme Bölgesi— Bir genişleme uzunluğu ile genişleme ile düzeltildi.
• Ayrılmış—Açık
• Yalnızca Çekirdek—Açık
Şekil 6. Mantıksal Kilit Bölgeleri Penceresi
Not: Derleyicinin yönlendirmeleri için ekstra esneklik sağlamak amacıyla yönlendirme bölgesi, yerleştirme bölgesinden daha büyük olmalıdır.tage, Derleyici farklı kişileri yönlendirdiğinde.
- Yerleştirme bölgeniz blinking_led mantığını kapsamalıdır. Yerleştirme bölgesini Chip Planner'da düğümü bularak seçmek için, Mantık Kilitleme Bölgeleri penceresinde u_blinking_led bölge adına sağ tıklayın ve ardından Düğümü Bul ➤ Chip Planner'da Bul'a tıklayın.
- Bölüm Raporları altında, Rapor Tasarım Bölümleri'ne çift tıklayın. Chip Planner bölgeyi vurgular ve renk kodlar.
Şekil 7. Blinking_led için Çip Planlayıcı Düğüm Konumu
Alternatif olarak, blinking_led.qsf dosyasına aşağıdaki satırları ekleyerek şu bölgeler oluşturulabilir:
set_instance_assignment -name PARTITION pr_partition -to \ u_blinking_led -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION AÇIK \ -to u_blinking_led -entity üst
set_instance_assignment -name PARTITION supr_partition -to u_top_counter \ -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION AÇIK -to \ u_top_counter -entity top
set_instance_assignment -name YER_BÖLGESİ “X166 Y199 X170 Y203” -to \ u_blinking_led
set_instance_assignment -name RESERVE_PLACE_REGION AÇIK -to u_blinking_led
set_instance_assignment -name CORE_ONLY_PLACE_REGION AÇIK -to u_blinking_led
set_instance_assignment -name BÖLGE_ADI pr_partition -to u_blinking_led
set_instance_assignment -name ROUTE_REGION “X165 Y198 X171 Y204” -to \ u_blinking_led
set_instance_assignment -name RESERVE_ROUTE_REGION KAPALI -to u_blinking_led
set_instance_assignment -name YER_BÖLGESİ “X173 Y199 X177 Y203” -to \ u_top_counter
set_instance_assignment -name RESERVE_PLACE_REGION AÇIK -to u_top_counter
set_instance_assignment -name CORE_ONLY_PLACE_REGION AÇIK -to u_top_counter
set_instance_assignment -name BÖLGE_ADI supr_partition -to u_top_counter
set_instance_assignment -name ROUTE_REGION “X172 Y198 X178 Y204” -to \ u_top_counter
set_instance_assignment -name RESERVE_ROUTE_REGION KAPALI -to u_top_counter
1.5.4. Adım 4: Kişileri Tanımlayın
Bu referans tasarımı, tek PR bölümü için üç ayrı persona ve SUPR bölgesi için bir SUPR persona tanımlar. Bu personaları tanımlamak ve projenize dahil etmek için şu adımları izleyin. Intel Quartus Prime Text Editor kullanıyorsanız, Add'i devre dışı bırakın file
kaydederken geçerli projeye files.
- Yeni blinking_led_slow.sv, blinking_led_empty.sv ve top_counter_fast.sv SystemVerilog'u oluşturun fileÇalışma dizininizde blinking_led.sv dosyasının çalışma dizininde zaten mevcut olduğunu doğrulayın.
- SystemVerilog için aşağıdaki içerikleri girin files:
Tablo 2. Referans Tasarım Kişileri SystemVerilog
File İsim Tanım Kod yanıp_sönen_led_yavaş. sv LED'ler daha yavaş yanıp sönüyor zaman ölçeği 1 ps / 1 ps 'default_nettype none
modül blinking_led_slow // saat
giriş teli saati, giriş teli sıfırlama, giriş teli [31:01 sayacı,
// LED'lerin çıkış kablosu için kontrol sinyalleri led_two_on,
çıkış kablosu led_three_on localparam COUNTER_TAP = 27;
reg led_two_on_r; bacak led_three_on_r; led_two_on = led_two_on_r ata; led_three_on = led_three_on_r ata; always_off @(posedge saat) başla led_two_on_r <= counter[COUNTER_TAP]; led_three_on_r <= counter[COUNTER_TAP]; son sonmodülyanıp_sönen_led_boş. sv LED'ler AÇIK kalır zaman ölçeği 1 ps / 1 ps 'default_nettype none modülü blinking_led_empty( // saat giriş kablosu saat, giriş kablosu sıfırlama, giriş kablosu [31:01 sayacı, // LEC için kontrol sinyalleri- çıkış kablosu led_two_on, çıkış kablosu led_three_on devam etti… File İsim Tanım Kod // LED düşük seviyede aktiftir led_two_on = l'IDO ata; led_three_on = 11b0 ata; modül sonu en_iyi_sayaç_hızlı.sv İkinci SUPR 'zaman ölçeği 1 ps / 1 ps kişilik Thdefault_nettype hiçbiri modülü top_counter_fast // LED'ler için kontrol sinyalleri çıkış kablosu led_one_on, çıkış kablosu [31:0] sayısı, // saat giriş kablosu saat ) ; localparam COUNTER TAP = 23; reg [31:0] count_d; count = count_d ata; led_one_on = ount_d[COUNTER_TAP] ata; always_ff @(posedge saat) count_d <= count_d + 2'yi başlat; son .:modül - Tıklamak File ➤ Farklı Kaydet'e tıklayın ve .sv uzantılı dosyayı kaydedin files geçerli proje dizininde.
1.5.5. Adım 5: Revizyonları Oluşturun
PR tasarım akışı, Intel Quartus Prime yazılımındaki proje revizyonları özelliğini kullanır. İlk tasarımınız, FPGA'da statik bölge sınırlarını ve yeniden yapılandırılabilir bölgeleri tanımladığınız temel revizyondur. Temel revizyondan ek revizyonlar oluşturursunuz. Bu revizyonlar, PR bölgeleri için farklı uygulamaları içerir. Ancak, tüm PR uygulama revizyonları temel revizyondan aynı üst düzey yerleştirme ve yönlendirme sonuçlarını kullanır. Bir PR tasarımını derlemek için, her persona için bir PR uygulama revizyonu oluşturursunuz. Ayrıca, her revizyon için Kısmi Yeniden Yapılandırma – Temel veya Kısmi Yeniden Yapılandırma – Persona Uygulama revizyon türünden birini atamalısınız. Aşağıdaki tabloda, her revizyon için revizyon adı ve revizyon türü listelenmiştir. impl_blinking_led_supr_new.qsf revizyonu, SUPR persona uygulamasıdır.
Tablo 3. Revizyon Adları ve Türleri
Revizyon Adı | Revizyon Türü |
yanıp sönen_led | Kısmi Yeniden Yapılandırma – Temel |
yanıp sönen_led_default | Kısmi Yeniden Yapılandırma – Persona Uygulaması |
yanıp sönen_led_slow | Kısmi Yeniden Yapılandırma – Persona Uygulaması |
yanıp sönen_led_empty | Kısmi Yeniden Yapılandırma – Persona Uygulaması |
impl_yanıp_sönen_led_supr_yeni | Kısmi Yeniden Yapılandırma – Persona Uygulaması |
1.5.5.1. Temel Revizyonun Ayarlanması
blinking_led'i temel revizyon olarak ayarlamak için şu adımları izleyin:
- Proje ➤ Düzeltmeler'e tıklayın.
- Revizyon Türü için Kısmi Yeniden Yapılandırma – Temel seçeneğini belirleyin.
Bu adım blinking_led.qsf dosyasına şunları ekler:
##blinking_led.qsf set_global_assignment -name DÜZELTME_TÜRÜ PR_TABAN
1.5.5.2. Uygulama Revizyonlarının Oluşturulması
Uygulama revizyonlarını oluşturmak için şu adımları izleyin:
- Revizyonlar iletişim kutusunda < öğesine çift tıklayın >.
- Revizyon adı'nda, flashing_led_default'u belirtin ve Revizyona göre için yanıp sönen_led'i seçin.
- Revizyon türü için Kısmi Yeniden Yapılandırma – Persona Uygulaması'nı seçin.
- Geçerli revizyon olarak ayarla seçeneğini devre dışı bırakın.
- Diğer uygulama revizyonları için Revizyon türünü ayarlamak üzere 2 ila 5 arasındaki adımları tekrarlayın:
Revizyon Adı | Revizyon Türü | Revisio'ya Dayalın |
yanıp sönen_led_slow | Kısmi Yeniden Yapılandırma – Persona Uygulaması | yanıp sönen_led |
yanıp sönen_led_empty | Kısmi Yeniden Yapılandırma – Persona Uygulaması | yanıp sönen_led |
impl_yanıp_sönen_led_supr_yeni | Kısmi Yeniden Yapılandırma – Persona Uygulaması | yanıp sönen_led |
Şekil 8. Uygulama Revizyonlarının Oluşturulması
Her .qsf file şimdi şu ödevi içeriyor:
set_global_assignment -name REVİZYON_TÜRÜ PR_IMPL
set_instance_assignment -name ENTITY_REBINDING yer_tutucu -to u_top_counter
set_instance_assignment -name ENTITY_REBINDING yer_tutucu -to u_blinking_led
1.5.6. Adım 6: Temel Revizyonu Derleyin
Yeni PR kişileri için uygulama revizyonlarında daha sonra kullanılmak üzere temel revizyonu derlemek ve statik ve SUPR bölgelerini dışa aktarmak için şu adımları izleyin:
- Zaten ayarlanmamışsa blinking_led'i Geçerli Revizyon olarak ayarlayın.
- Tasarım Bölümleri Penceresinde, en sağdaki sütunun yanındaki (…) öğesine tıklayın ve Son Dışa Aktarma İşlemini Etkinleştirin File Sütun. Ayrıca sütunların sırasını devre dışı bırakabilir veya değiştirebilirsiniz.
- Her derlemeden sonra PR uygulama tasarım bölümlerinin son anlık görüntüsünü otomatik olarak dışa aktarmak için, Son Dışa Aktarma Sonrası için aşağıdakileri belirtin File kök ve SUPR bölümleri için seçenekler. .qdb files varsayılan olarak proje dizinine aktarılır.
• kök_bölümü—yanıp_sönen_led_static.qdb
• supr_partition—yanıp_sönen_led_supr_partition_final.qdb
Şekil 9. Tasarım Bölümleri Penceresinde Otomatik Dışa AktarmaAlternatif olarak, aşağıdaki .qsf atamaları her derlemeden sonra bölümleri otomatik olarak dışa aktarır:
set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_static.qdb -to | -entity top
set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_supr_partition_final.qdb -to u_top_counter \ -entity top - blinking_led temel revizyonunu derlemek için, İşleme ➤ Başlat'a tıklayın
Derleme. Alternatif olarak, bu revizyonu derlemek için aşağıdaki komutu kullanabilirsiniz:
quartus_sh –flow derleme blinking_led -c blinking_led Başarılı derlemeden sonra, aşağıdakiler fileProje dizininde şunlar görünür:
• yanıp_sönen_led.sof
• yanıp sönen_led.pr_bölümü.rbf
• yanıp sönen_led.supr_bölümü.rbf
• yanıp_sönen_led_static.qdb
• blinking_led_supr_partition_final.qdb
1.5.7. Adım 7: PR Uygulama Revizyonlarını Ayarlayın
Aygıt programlama için PR bit akışını üretebilmeniz için önce PR uygulama revizyonlarını hazırlamanız gerekir. Bu kurulum, statik bölge .qdb'yi eklemeyi içerir file kaynak olarak file her uygulama revizyonu için. Ayrıca, belirtmeniz gerekir
PR bölgesinin ilgili kuruluşu. PR uygulama revizyonlarını ayarlamak için şu adımları izleyin:
- Mevcut revizyonu ayarlamak için Proje ➤ Revizyonlar'a tıklayın, Revizyon adı olarak blinking_led_default'u seçin ve ardından Geçerliyi Ayarla'ya tıklayın. Alternatif olarak, ana Intel Quartus Prime araç çubuğunda mevcut revizyonu seçebilirsiniz.
- Bu uygulama revizyonu için doğru kaynağı doğrulamak için Proje ➤ Ekle/Kaldır'a tıklayın FileProjede s. blinking_led.sv'nin doğru olduğunu doğrulayın file görünür file liste.
- Doğru kaynağı doğrulamak için file uygulama revizyonları için Proje ➤ Ekle/Kaldır'a tıklayın fileProjede s'yi seçin ve aşağıdaki kaynağı ekleyin fileUygulama revizyonları için s. Mevcutsa, blinking_led.sv'yi proje listesinden kaldırın files.
IUygulama Revizyon Adı Kaynak File yanıp sönen_led_empty yanıp sönen_led_empty.sv yanıp sönen_led_slow yanıp sönen_led_slow.sv - blinking_led_default değerini Güncel Revizyon olarak ayarlayın.
- .qdb'yi belirtmek için file root_partition için kaynak olarak, Assignments ➤ Design Partitions Window'a tıklayın. Partition Database'e çift tıklayın File hücre ve blinking_led_static.qdb'yi belirtin file.
- Benzer şekilde, Partition Veritabanı olarak blinking_led_supr_partition_final.qdb'yi belirtin File supr_partition için.
Şekil 10.
Alternatif olarak, .qdb'yi belirtmek için aşağıdaki .qsf atamalarını kullanın:
set_instance_assignment -name QDB_FILE_PARTITION \ flashing_led_static.qdb -to |
set_instance_assignment -name QDB_FILE_PARTITION \ blinking_led_supr_partition_final.qdb -to u_top_counter - Tasarım Bölümleri Penceresinde, en sağdaki sütunun yanındaki (…) öğesine tıklayın ve Varlık Yeniden Bağlama sütununu etkinleştirin.
-
Varlık Yeniden Bağlama hücresinde, geçerli uygulama revizyonunda değiştirdiğiniz PR bölümü için yeni varlık adını belirtin. blinking_led_default uygulama revizyonunda varlık adı blinking_led'dir. Bu durumda, temel revizyon derlemesinden u_blinking_led örneğini yeni blinking_led varlığıyla geçersiz kılıyorsunuz. Diğer uygulama revizyonları için aşağıdaki tabloya bakın:
Revizyon Varlık Yeniden Bağlayıcı Değer yanıp sönen_led_slow yanıp sönen_led_slow yanıp sönen_led_empty yanıp sönen_led_empty Şekil 11. Varlık Yeniden Bağlama
Alternatif olarak, atamaları ayarlamak için her revizyonun .qsf dosyasında aşağıdaki satırları kullanabilirsiniz:
##yanıp_sönen_led_varsayılan.qsf
set_instance_assignment -name ENTITY_REBINDING yanıp sönen_led \ -to u_yanıp sönen_led
##yanıp_sönen_led_yavaş.qsf
set_instance_assignment -name ENTITY_REBINDING yanıp_gösteren_led_yavaş \ -u_yanıp_gösteren_led
##yanıp_sönen_led_boş.qsf
set_instance_assignment -name ENTITY_REBINDING yanıp_gösteren_led_boş \ -u_yanıp_gösteren_led'e - supr_partition için Varlık Yeniden Bağlama hücresinden yer_tutucu metnini silin.
- Tasarımı derlemek için, İşleme ➤ Derlemeyi Başlat'a tıklayın. Alternatif olarak, bu projeyi derlemek için şu komutu kullanın: quartus_sh –flow compile blinking_led –c blinking_led_default
- Blinking_led_slow ve blinking_led_empty uygulama revizyonlarını hazırlamak ve derlemek için 4 ila 11. adımları tekrarlayın.
1.5.8. Adım 8: SUPR Mantığını Değiştirin
SUPR bölümündeki mantığın işlevselliğini değiştirmek için SUPR bölümü kaynağını değiştirmeniz gerekir. SUPR bölümündeki u_top_counter örneğini top_counter_fast varlığıyla değiştirmek için aşağıdaki adımları tamamlayın.
- SUPR uygulama revizyonunu geçerli olarak ayarlamak için Proje ➤ Revizyonlar'a tıklayın ve impl_blinking_led_supr_new'i geçerli revizyon olarak ayarlayın veya
Intel Quartus Prime ana araç çubuğunda revizyon. - Doğru kaynağı doğrulamak için file uygulama revizyonu için Proje ➤'a tıklayın
Ekle/Kaldır fileProjede s ve top_counter_fast.sv'nin impl_blinking_led_supr_new uygulama revizyonunun kaynağı olduğunu doğrulayın. Mevcutsa, top_counter.sv'yi proje listesinden kaldırın files. - .qdb'yi belirtmek için file kök bölümüyle ilişkili, Atamalar ➤ Bölümleri Tasarla Penceresi'ne tıklayın ve ardından Bölüm Veritabanı'na çift tıklayın File blinking_led_static.qdb'yi belirtmek için hücre.
Alternatif olarak, bunu atamak için aşağıdaki komutu kullanın file: set_instance_atama -name QDB_FILE_PARTITION \ flashing_led_static.qdb -to | - Pr_partition için Varlık Yeniden Bağlama hücresinde uygun varlık adını belirtin. Bu örnek içinample, blinking_led_empty varlığını belirtin. Bu durumda, temel revizyon derlemesinden u_blinking_led örneğini yeni linking_led_empty varlığıyla geçersiz kılıyorsunuz. Aşağıdaki satır artık .qsf'de mevcuttur:
##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led - supr_partition için Varlık Yeniden Bağlama hücresinde, top_counter_fast varlığını belirtin. top_counter_fast, SUPR'yi tamamladığınızda u_top_counter'ın yerini alan statik varlığın adıdır.
##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING top_counter_fast \ -to u_top_counter
- Tasarımı derlemek için, İşleme ➤ Derlemeyi Başlat'a tıklayın. Alternatif olarak, bu proje revizyonunu derlemek için aşağıdaki komutu kullanın: quartus_sh –flow compile blinking_led –c \ impl_blinking_led_supr_new
1.5.9. Adım 9: Kartı Programlayın
Intel Agilex F-Serisi FPGA geliştirme kartını bağlamak ve programlamak için aşağıdaki adımları izleyin.
- Güç kaynağını Intel Agilex F-Serisi FPGA geliştirme kartına bağlayın.
- Bilgisayarınızın USB portu ile geliştirme kartındaki USB programlama donanımı arasına bir USB kablosu bağlayın.
- Intel Quartus Prime yazılımını açın ve ardından Araçlar ➤ Programlayıcı'ya tıklayın. Bir Geliştirme Kartını Programlama konusuna bakın.
- Programlayıcıda Donanım Kurulumu'na tıklayın ve ardından USB-Blaster'ı seçin.
- Otomatik Algıla'ya tıklayın ve ardından AGFB014R24B cihazını seçin.
- Tamam'ı tıklayın. Intel Quartus Prime yazılımı, programlayıcıyı karttaki üç FPGA cihazıyla algılar ve günceller.
- AGFB014R24B cihazını seçin, Değiştir'e tıklayın Fileve blinking_led_default.sof dosyasını yükleyin file.
- blinking_led_default.sof için Program/Yapılandırmayı Etkinleştir file.
- Başlat'a tıklayın ve ilerleme çubuğunun %100'e ulaşmasını bekleyin.
- Kart üzerindeki LED'lerin yanıp söndüğünü gözlemleyin.
- Yalnızca PR bölgesini programlamak için flashing_led_default.sof dosyasına sağ tıklayın file Programcı'da PR Programlaması Ekle'ye tıklayın File. blinking_led_slow.pr_partition.rbf'yi seçin file.
- blinking_led_default.sof için Program/Yapılandırmayı devre dışı bırakın file.
- blinking_led_slow.pr_partition.rbf için Program/Yapılandırmayı Etkinleştir fileve ardından Başlat'a tıklayın. Kartta, LED[0] ve LED[1]'in yanıp sönmeye devam ettiğini gözlemleyin. İlerleme çubuğu %100'e ulaştığında, LED[2] ve LED[3] daha yavaş yanıp söner.
- PR bölgesini yeniden programlamak için .rbf dosyasına sağ tıklayın file Programcı'da ve ardından PR Programlamasını Değiştir'e tıklayın File.
- .rbf'yi seçin filediğer iki kişinin tahtadaki davranışı gözlemlemesi için s. blinking_led_default.pr_partition.rbf yükleniyor file LED'lerin orijinal frekansta yanıp sönmesine neden olur ve blinking_led_empty.pr_partition.rbf'yi yükler file LED'lerin AÇIK kalmasına neden olur. 17. SUPR mantığını değiştirmek için, impl_blinking_led_supr_new.sof'u seçmek için yukarıdaki 7. adımı tekrarlayın. Bunu değiştirdikten sonra file, led [0:1] artık eskisinden daha hızlı bir oranda yanıp sönüyor. Diğer PR .rbf files aynı zamanda yeni .sof ile de uyumludur.
Not: Derleyici bir .rbf oluşturur file SUPR bölgesi için. Ancak, bunu kullanmamalısınız file SUPR bölümü dondurma köprüsünü, PR bölge denetleyicisini ve genel sistemdeki diğer mantığı örneklendirmediği için FPGA'yı çalışma zamanında yeniden programlamak. SUPR bölüm mantığında değişiklik yaptığınızda, tam .sof'u yeniden programlamanız gerekir file SUPR uygulama revizyon derlemesinden.
Şekil 12. Bir Geliştirme Kartının Programlanması
1.5.9.1. PR Programlama Hatalarının Giderilmesi
Intel Quartus Prime Programlayıcının ve bağlı donanımın doğru şekilde kurulması, PR programlama sırasında herhangi bir hatanın önlenmesine yardımcı olur.
Herhangi bir PR programlama hatasıyla karşılaşırsanız, adım adım sorun giderme ipuçları için Intel Quartus Prime Pro Edition Kullanıcı Kılavuzu: Kısmi Yeniden Yapılandırma'daki "PR Programlama Hatalarını Giderme" bölümüne bakın.
İlgili Bilgiler
PR Programlama Hatalarının Giderilmesi
1.5.10. SUPR Bölümünü Değiştirme
Mevcut bir SUPR bölümünü değiştirebilirsiniz. SUPR bölümünü değiştirdikten sonra, onu derlemeli, .sof'u oluşturmalısınız. fileve diğer kişileri derlemeden panoyu programlayın. Örneğinamptop_counter_fast.sv modülünü daha hızlı sayacak şekilde değiştirmek için şu adımları izleyin:
- Geçerli revizyon olarak impl_blinking_led_supr_new'i ayarlayın.
- top_counter_fast.sv dosyasında file, count_d + 2 ifadesini count_d + 4 ile değiştirin.
- SUPR bloğunu yeniden sentezlemek ve yeni .sof'u oluşturmak için aşağıdaki komutları çalıştırın file: quartus_sh –flow blinking_led'i derle \ -c impl_blinking_led_supr_new
Sonuçta ortaya çıkan .sof dosyası artık yeni SUPR bölgesini içeriyor ve varsayılan (açılış) persona için blinking_led'i kullanıyor.
1.6. AN 987'nin Belge Revizyon Geçmişi: Statik Güncelleme Kısmi Yeniden Yapılandırma Eğitimi Revizyon Geçmişi
Belge Sürümü | Intel Quartus Prime Sürümü | Değişiklikler |
2022.10.24 | 22. | Belgenin ilk yayımı. |
Intel® Quartus®Prime Design Suite için güncellendi: 22.3
En Sık Sorulan Soruların Yanıtları:
Geri bildirim gönder
S Statik güncelleme kısmi yeniden yapılandırma nedir?
Sayfa 3'te Statik Güncelleme Kısmi Yeniden Yapılandırma
S Bu eğitim için neye ihtiyacım var?
3. sayfadaki Eğitim Gereksinimleri
S Referans tasarımını nereden alabilirim?
Bir İndirme Referans Tasarımı File5. sayfada
S SUPR tasarımını nasıl oluşturabilirim?
Sayfa 6'da Referans Tasarım Rehberi
S PR personası nedir?
10. sayfadaki Kişileri tanımlayın
S SUPR mantığını nasıl değiştirebilirim? A Sayfa 16'daki SUPR Mantığını Değiştirin
Sayfa 16'daki SUPR Mantığını Değiştirin
S: Kartı nasıl programlarım?
Sayfa 18'deki Yönetim Kurulu Programı
S PR'ın bilinen sorunları ve sınırlamaları nelerdir?
Intel FPGA Destek Forumları: PR
Çevrimiçi sürüm
Geri bildirim gönder
Kimlik: 749443
AN-987
Sürüm: 2022.10.24
Belgeler / Kaynaklar
![]() |
intel Agilex F-Serisi FPGA Geliştirme Kartı [pdf] Kullanıcı Kılavuzu Agilex F-Serisi, Agilex F-Serisi FPGA Geliştirme Kartı, FPGA Geliştirme Kartı, Geliştirme Kartı, Kart |