AN 987: Pembaruan Statis Parsial
Tutorial Konfigurasi Ulang
Tutorial Konfigurasi Ulang Parsial Pembaruan Statis untuk Intel® ™ Agilex F-Series FPGA Development Board
Catatan aplikasi ini menunjukkan konfigurasi ulang parsial pembaruan statis (SUPR) pada Intel ® F-Series FPGA Development Board. Konfigurasi ulang parsial (PR) memungkinkan Anda mengkonfigurasi ulang sebagian dari Intel FPGA secara dinamis, sementara FPGA lainnya terus beroperasi. PR menerapkan banyak persona di wilayah tertentu dalam desain Anda, tanpa memengaruhi pengoperasian di area di luar wilayah ini. Metodologi ini memberikan keuntungan sebagai berikuttagIni adalah sistem yang memiliki banyak fungsi yang berbagi waktu dengan sumber daya FPGA yang sama:
- Memungkinkan konfigurasi ulang run-time
- Meningkatkan skalabilitas desain
- Mengurangi waktu henti sistem
- Mendukung fungsi multipleksing waktu dinamis dalam desain
- Menurunkan biaya dan konsumsi daya dengan penggunaan ruang papan yang efisien
Apa itu Konfigurasi Ulang Parsial Pembaruan Statis?
Dalam PR tradisional, setiap perubahan pada wilayah statis memerlukan kompilasi ulang setiap persona. Namun, dengan SUPR Anda dapat menentukan wilayah khusus yang memungkinkan perubahan, tanpa memerlukan kompilasi ulang persona. Teknik ini berguna untuk sebagian desain yang mungkin ingin Anda ubah untuk mitigasi risiko, namun tidak memerlukan konfigurasi ulang runtime.
1.1. Persyaratan Tutorial
Tutorial ini memerlukan hal berikut:
- Pemahaman dasar tentang alur dan proyek implementasi Intel Quartus® Prime Pro Edition FPGA files.
- Instalasi Intel Quartus Prime Pro Edition versi 22.3, dengan dukungan perangkat Intel Agilex.
- Untuk implementasi FPGA, JTAG koneksi dengan papan pengembangan FPGA Intel Agilex F-Series di bangku cadangan.
- Unduh Desain Referensi FileS. Informasi Terkait
- Panduan Pengguna Konfigurasi Ulang Sebagian
- Tutorial Konfigurasi Ulang Sebagian
- Pelatihan Online Konfigurasi Ulang Sebagian
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
1.2. Referensi Desain Selesaiview
Desain referensi ini terdiri dari satu pencacah 32-bit. Pada tingkat papan, desain menghubungkan jam ke sumber 50MHz, dan kemudian menghubungkan output ke empat LED di papan. Memilih output dari bit counter, dalam urutan tertentu, menyebabkan LED berkedip pada frekuensi tertentu. Modul top_counter adalah wilayah SUPR.
Gambar 1. Desain Referensi Datar
1.3. Wilayah Pembaruan Statis Berakhirview
Gambar berikut menunjukkan diagram blok untuk desain PR yang mencakup wilayah SUPR. Blok A adalah wilayah statis teratas. Blok B merupakan wilayah SUPR. Blok C adalah partisi PR.
Gambar 2. Desain PR dengan Region SUPR
- Wilayah Statis Teratas—berisi logika desain yang tidak berubah. Mengubah wilayah ini memerlukan kompilasi ulang semua persona terkait. Wilayah statis mencakup bagian desain yang tidak berubah untuk setiap persona. Wilayah ini dapat mencakup sumber daya perangkat periferal dan inti. Anda harus mendaftarkan semua komunikasi antara partisi SUPR dan PR di wilayah statis. Persyaratan ini membantu memastikan penutupan waktu untuk setiap persona, sehubungan dengan wilayah statis.
- Wilayah B SUPR—berisi logika khusus inti yang mungkin berubah untuk mitigasi risiko, namun tidak memerlukan konfigurasi ulang runtime. Wilayah SUPR memiliki persyaratan dan batasan yang sama dengan partisi PR. Partisi SUPR hanya dapat berisi sumber daya inti. Oleh karena itu, partisi SUPR harus merupakan partisi anak dari partisi root tingkat atas yang berisi periferal desain dan jam. Mengubah wilayah SUPR menghasilkan Objek SRAM File (.sof) yang kompatibel dengan semua Raw Binary terkompilasi yang ada File (.rbf) files untuk partisi PR C.
- Partisi C PR—berisi logika arbitrer yang dapat Anda program ulang saat runtime dengan logika desain apa pun yang sesuai dan mencapai penutupan waktu selama kompilasi.
1.4. Unduh Desain Referensi Files
Tutorial konfigurasi ulang sebagian tersedia di lokasi berikut: https://github.com/intel/fpga-partial-reconfig
Untuk mendownload tutorialnya:
- Klik Klon atau unduh.
- Klik Unduh ZIP. Buka zip fpga-partial-reconfig-master.zip file.
- Navigasikan ke subfolder tutorials/agilex_pcie_devkit_blinking_led_supr untuk mengakses desain referensi.
Folder datar terdiri dari berikut ini files:
Tabel 1. Referensi Desain Files
File Nama | Keterangan |
atas. St | Tingkat atas file berisi implementasi desain datar. Modul ini membuat instance sub-partisi flashing_led dan modul top_counter. |
ke op_counter. St | Penghitung 32-bit tingkat atas yang mengontrol LED [1] secara langsung. Output terdaftar dari penghitung mengontrol LED [0], dan juga memberi daya pada LED [2] dan LED [3] melalui modul flashing_led. |
berkedip_led. sdc | Mendefinisikan batasan waktu untuk proyek. |
berkedip_led. St | Dalam tutorial ini, Anda mengubah modul ini menjadi partisi PR induk. Modul menerima output terdaftar dari modul top_counter, yang mengontrol LED [2] dan LED [3]. |
berkedip_led.qpf | Proyek Intel Quartus Prime file berisi daftar semua revisi dalam proyek. |
berkedip_led . qs f | Pengaturan Intel Quartus Prime file berisi tugas dan pengaturan untuk proyek tersebut. |
Catatan: Folder supr berisi set lengkap fileyang Anda buat menggunakan aplikasi ini catatan. Referensi ini files kapan saja selama penelusuran.
1.5. Panduan Desain Referensi
Berikut langkah-langkah implementasi SUPR dengan desain datar:
- Langkah 1: Memulai
- Langkah 2: Buat Partisi Desain
- Langkah 3: Alokasikan Wilayah Penempatan dan Perutean
- Langkah 4: Tentukan Persona
- Langkah 5: Buat Revisi
- Langkah 6: Kompilasi Revisi Dasar
- Langkah 7: Siapkan Revisi Implementasi PR
- Langkah 8: Ubah Logika SUPR
- Langkah 9: Programkan Dewan
Gambar 3. Alur Kompilasi SUPR
1.5.1. Langkah 1: Memulai
Untuk menyalin desain referensi files ke lingkungan kerja Anda dan kompilasi desain datar flashing_led:
- Sebelum Anda mulai, Unduh Desain Referensi Files di halaman 5.
- Buat direktori agilex_pcie_devkit_blinking_led_supr di lingkungan kerja Anda.
- Salin sub-folder tutorials/agilex_pcie_devkit_blinking_led/flat yang telah diunduh ke direktori agilex_pcie_devkit_blinking_led_supr.
- Di perangkat lunak Intel Quartus Prime Pro Edition, klik File ➤ Buka Proyek dan buka /flat/blinking_led.qpf.
- Untuk mengkompilasi desain dasar, klik Memproses ➤ Mulai Kompilasi. Laporan Timing Analyzer terbuka secara otomatis ketika kompilasi selesai. Anda dapat menutup Timing Analyzer untuk saat ini.
1.5.2. Langkah 2: Buat Partisi Desain
Buat partisi desain untuk setiap wilayah yang ingin Anda konfigurasi ulang sebagian. Anda dapat membuat sejumlah partisi independen atau wilayah PR di proyek Anda. Ikuti langkah-langkah berikut untuk membuat partisi desain untuk instans u_blinking_led sebagai partisi PR, dan instans u_top_counter sebagai wilayah SUPR:
- Klik kanan instance u_blinking_led di Project Navigator dan klik Design Partition
➤ Dapat dikonfigurasi ulang. Ikon partisi desain muncul di samping setiap instance yang ditetapkan sebagai partisi.
Gambar 4. Membuat Desain Partisi - Ulangi langkah 1 untuk membuat partisi untuk instance u_top_counter.
- Klik Tugas ➤ Jendela Desain Partisi. Jendela menampilkan semua partisi desain dalam proyek.
Gambar 5. Desain Partisi Jendela
- Klik dua kali sel Nama Partisi yang berkedip_led untuk mengganti namanya menjadi pr_partition. Demikian pula, ganti nama partisi top_counter menjadi supr_partition.
Alternatifnya, menambahkan baris berikut ke flashing_led.qsf akan membuat partisi berikut:
set_instance_assignment -nama PARTISI pr_partition \ -ke u_blinking_led -entitas atas
set_instance_assignment -nama PARTIAL_RECONFIGURATION_PARTITION ON \ -ke u_blinking_led -entitas atas
set_instance_assignment -nama PARTITION supr_partition \ -to u_top_counter -entity top
set_instance_assignment -nama PARTIAL_RECONFIGURATION_PARTITION ON \ -ke u_top_counter -entitas atas
1.5.3. Langkah 3: Alokasikan Wilayah Penempatan dan Perutean
Untuk setiap revisi dasar yang Anda buat, Kompiler menggunakan alokasi wilayah partisi PR untuk menempatkan inti persona yang sesuai di wilayah yang dicadangkan. Ikuti langkah-langkah berikut untuk menemukan dan menetapkan wilayah PR di denah lantai perangkat untuk revisi dasar Anda:
- Di tab Project Navigator Hierarchy, klik kanan instance u_blinking_led, lalu klik Logic Lock Region ➤ Create New Logic Lock Region. Wilayah tersebut muncul di jendela Logic Lock Regions.
- Tentukan wilayah Lebar 5 dan Tinggi 5.
- Tentukan koordinat wilayah penempatan u_blinking_led pada kolom Asal. Titik asal sesuai dengan pojok kiri bawah wilayah tersebut. Tentukan Asal sebagai X166_Y199. Kompiler menghitung (X170 Y203) sebagai koordinat kanan atas.
- Aktifkan opsi Reserved dan Core-Only untuk wilayah tersebut.
- Klik dua kali opsi Wilayah Perutean. Kotak dialog Pengaturan Wilayah Perutean Kunci Logika muncul.
- Untuk Jenis Perutean, pilih Diperbaiki dengan perluasan. Opsi ini secara otomatis menetapkan panjang Ekspansi sebesar satu.
- Ulangi langkah sebelumnya untuk mengalokasikan sumber daya berikut untuk partisi u_top_counter:
• Tinggi—5
• Lebar—5
• Asal—X173_Y199
• Wilayah Perutean— Diperbaiki dengan perluasan dengan panjang Ekspansi satu.
• Dicadangkan—Aktif
• Hanya Inti—Aktif
Gambar 6. Jendela Wilayah Kunci Logika
Catatan: Wilayah perutean harus lebih besar dari wilayah penempatan, untuk memberikan fleksibilitas ekstra pada perutean Kompilertage, ketika Kompiler merutekan persona yang berbeda.
- Wilayah penempatan Anda harus menyertakan logika flashing_led. Untuk memilih wilayah penempatan dengan menemukan lokasi node di Chip Planner, klik kanan nama wilayah u_blinking_led di jendela Logic Lock Regions, lalu klik Locate Node ➤ Locate in Chip Planner.
- Di bawah Laporan Partisi, klik dua kali Partisi Desain Laporan. Chip Planner menyoroti dan memberi kode warna pada wilayah tersebut.
Gambar 7. Lokasi Node Perencana Chip untuk flashing_led
Alternatifnya, menambahkan baris berikut ke flashing_led.qsf akan membuat wilayah berikut:
set_instance_assignment -nama PARTISI pr_partition -ke \ u_blinking_led -entitas atas
set_instance_assignment -nama PARTIAL_RECONFIGURATION_PARTITION ON \ -ke u_blinking_led -entitas atas
set_instance_assignment -nama PARTITION supr_partition -ke u_top_counter \ -entity top
set_instance_assignment -nama PARTIAL_RECONFIGURATION_PARTITION ON -ke \ u_top_counter -entitas atas
set_instance_assignment -nama PLACE_REGION “X166 Y199 X170 Y203” -ke \ u_blinking_led
set_instance_assignment -nama RESERVE_PLACE_REGION ON -ke u_blinking_led
set_instance_assignment -nama CORE_ONLY_PLACE_REGION AKTIF -ke u_blinking_led
set_instance_assignment -nama REGION_NAME pr_partition -ke u_blinking_led
set_instance_assignment -nama ROUTE_REGION “X165 Y198 X171 Y204” -ke \ u_blinking_led
set_instance_assignment -nama RESERVE_ROUTE_REGION OFF -ke u_blinking_led
set_instance_assignment -nama PLACE_REGION “X173 Y199 X177 Y203” -ke \ u_top_counter
set_instance_assignment -nama RESERVE_PLACE_REGION ON -ke u_top_counter
set_instance_assignment -nama CORE_ONLY_PLACE_REGION ON -ke u_top_counter
set_instance_assignment -nama REGION_NAME supr_partition -ke u_top_counter
set_instance_assignment -nama ROUTE_REGION “X172 Y198 X178 Y204” -ke \ u_top_counter
set_instance_assignment -nama RESERVE_ROUTE_REGION OFF -ke u_top_counter
1.5.4. Langkah 4: Tentukan Persona
Desain referensi ini mendefinisikan tiga persona terpisah untuk partisi PR tunggal, dan satu persona SUPR untuk wilayah SUPR. Ikuti langkah-langkah berikut untuk menentukan dan menyertakan persona ini dalam proyek Anda. Jika menggunakan Intel Quartus Prime Text Editor, nonaktifkan Tambah file
ke proyek saat ini saat menyimpan files.
- Buat flashing_led_slow.sv, flashing_led_empty.sv, dan top_counter_fast.sv SystemVerilog baru files di direktori kerja Anda. Konfirmasikan bahwa flashing_led.sv sudah ada di direktori kerja.
- Masukkan konten berikut untuk SystemVerilog files:
Tabel 2. Referensi Perancangan Persona SystemVerilog
File Nama Keterangan Kode berkedip_led_lambat. St LED berkedip lebih lambat skala waktu 1 ps / 1 ps 'default_nettype none
modul flashing_led_slow // jam
jam kabel input, reset kabel input, kabel input [penghitung 31:01,
// Sinyal kontrol untuk kabel keluaran LED led_two_on,
kabel keluaran led_three_on localparam COUNTER_TAP = 27;
reg led_two_on_r; kaki led_three_on_r; tetapkan led_two_on = led_two_on_r; tetapkan led_three_on = led_three_on_r; selalu_ff @(jam yang diposisikan) mulai led_two_on_r <= counter[COUNTER_TAP]; led_three_on_r <= penghitung[COUNTER_TAP]; modul akhir akhirberkedip_led_kosong. St LED tetap ON skala waktu 1 ps / 1 ps 'default_nettype tidak ada modul flashing_led_empty( // jam kabel input jam, reset kabel input, kabel input [penghitung 31:01, // Sinyal kontrol untuk kabel output LEC led_two_on, kabel output led_three_on lanjutan… File Nama Keterangan Kode // LED aktif rendah tetapkan led_two_on = l'IDO; tetapkan led_three_on = 11b0; modul akhir top_counter_fast.sv SUPR Kedua 'skala waktu 1 ps / 1 ps orang Thdefault_nettype tidak ada modul top_counter_fast // Sinyal kontrol untuk kabel output LED led_one_on, jumlah kabel output [31:0], // jam kabel input jam ) ; localparam COUNTER TAP = 23; reg [31:0] hitungan_d; tetapkan hitungan = hitungan_d; tetapkan led_one_on = jumlah_d[COUNTER_TAP]; selalu_ff @(jam yang diposisikan) mulai count_d <= count_d + 2; akhir .:modul - Klik File ➤ Simpan Sebagai dan simpan .sv files di direktori proyek saat ini.
1.5.5. Langkah 5: Buat Revisi
Alur desain PR menggunakan fitur revisi proyek pada perangkat lunak Intel Quartus Prime. Desain awal Anda adalah revisi dasar, tempat Anda menentukan batas wilayah statis dan wilayah yang dapat dikonfigurasi ulang pada FPGA. Dari revisi dasar, Anda membuat revisi tambahan. Revisi ini memuat perbedaan implementasi di bidang PR. Namun seluruh revisi implementasi PR menggunakan hasil penempatan dan routing tingkat atas yang sama dari revisi dasar. Untuk menyusun desain PR, Anda membuat revisi implementasi PR untuk setiap persona. Selain itu, Anda harus menetapkan jenis revisi Konfigurasi Ulang Sebagian – Basis atau Konfigurasi Ulang Sebagian – Implementasi Persona untuk setiap revisi. Tabel berikut mencantumkan nama revisi dan jenis revisi untuk setiap revisi. Revisi impl_blinking_led_supr_new.qsf adalah implementasi persona SUPR.
Tabel 3. Nama dan Jenis Revisi
Nama Revisi | Jenis Revisi |
berkedip_led | Konfigurasi Ulang Sebagian – Basis |
berkedip_led_default | Konfigurasi Ulang Sebagian – Implementasi Persona |
berkedip_led_lambat | Konfigurasi Ulang Sebagian – Implementasi Persona |
berkedip_led_kosong | Konfigurasi Ulang Sebagian – Implementasi Persona |
impl_blinking_led_supr_new | Konfigurasi Ulang Sebagian – Implementasi Persona |
1.5.5.1. Menetapkan Revisi Dasar
Ikuti langkah-langkah berikut untuk menetapkan flashing_led sebagai revisi dasar:
- Klik Proyek ➤ Revisi.
- Untuk Jenis Revisi, pilih Konfigurasi Ulang Sebagian – Basis.
Langkah ini menambahkan yang berikut ini ke flashing_led.qsf:
##blinking_led.qsf set_global_assignment -nama REVISION_TYPE PR_BASE
1.5.5.2. Membuat Revisi Implementasi
Ikuti langkah-langkah berikut untuk membuat revisi implementasi:
- Di kotak dialog Revisi, klik dua kali < >.
- Di Nama revisi, tentukan flashing_led_default dan pilih flashing_led untuk Berdasarkan revisi.
- Untuk jenis Revisi, pilih Konfigurasi Ulang Parsial – Implementasi Persona.
- Nonaktifkan opsi Tetapkan sebagai revisi saat ini.
- Ulangi langkah 2 hingga 5 untuk mengatur jenis Revisi untuk revisi implementasi lainnya:
Nama Revisi | Jenis Revisi | Berdasarkan Revision |
berkedip_led_lambat | Konfigurasi Ulang Sebagian – Implementasi Persona | berkedip_led |
berkedip_led_kosong | Konfigurasi Ulang Sebagian – Implementasi Persona | berkedip_led |
impl_blinking_led_supr_new | Konfigurasi Ulang Sebagian – Implementasi Persona | berkedip_led |
Gambar 8. Membuat Revisi Implementasi
Setiap .qsf file sekarang berisi tugas berikut:
set_global_assignment -nama REVISION_TYPE PR_IMPL
set_instance_assignment -nama ENTITY_REBINDING place_holder -ke u_top_counter
set_instance_assignment -nama ENTITY_REBINDING place_holder -ke u_blinking_led
1.5.6. Langkah 6: Kompilasi Revisi Dasar
Ikuti langkah-langkah berikut untuk mengkompilasi revisi dasar dan mengekspor wilayah statis dan SUPR untuk digunakan nanti dalam revisi implementasi untuk persona PR baru:
- Tetapkan flashing_led sebagai Revisi Saat Ini jika belum ditetapkan.
- Di Jendela Partisi Desain, klik (…) yang berdekatan dengan kolom paling kanan dan aktifkan Ekspor Pasca Akhir File kolom. Anda juga dapat menonaktifkan atau mengubah urutan kolom.
- Untuk secara otomatis mengekspor snapshot akhir partisi desain implementasi PR setelah setiap kompilasi, tentukan hal berikut untuk Ekspor Pasca Final File opsi untuk partisi root dan SUPR. .qdb files mengekspor ke direktori proyek secara default.
• root_partition—berkedip_led_statis.qdb
• supr_partition—berkedip_led_supr_partition_final.qdb
Gambar 9. Ekspor Otomatis di Jendela Partisi DesainAlternatifnya, penetapan .qsf berikut mengekspor partisi secara otomatis setelah setiap kompilasi:
set_instance_assignment -nama EXPORT_PARTITION_SNAPSHOT_FINAL \blinking_led_static.qdb -ke | -entitas atas
set_instance_assignment -nama EXPORT_PARTITION_SNAPSHOT_FINAL \ flashing_led_supr_partition_final.qdb -ke u_top_counter \ -entity top - Untuk mengkompilasi revisi dasar flashing_led, klik Processing ➤ Start
Kompilasi. Alternatifnya, Anda dapat menggunakan perintah berikut untuk mengkompilasi revisi ini:
quartus_sh –flow kompilasi flashing_led -c flashing_led Setelah kompilasi berhasil, berikut ini files muncul di direktori proyek:
• berkedip_led.sof
• berkedip_led.pr_partition.rbf
• berkedip_led.supr_partition.rbf
• berkedip_led_static.qdb
• berkedip_led_supr_partition_final.qdb
1.5.7. Langkah 7: Menyiapkan Revisi Implementasi PR
Anda harus menyiapkan revisi implementasi PR sebelum Anda dapat menghasilkan bitstream PR untuk pemrograman perangkat. Penyiapan ini mencakup penambahan wilayah statis .qdb file sebagai sumbernya file untuk setiap revisi implementasi. Selain itu, Anda harus menentukan
entitas terkait di wilayah PR. Ikuti langkah-langkah berikut untuk menyiapkan revisi implementasi PR:
- Untuk mengatur revisi saat ini, klik Proyek ➤ Revisi, pilih flashing_led_default sebagai nama Revisi, lalu klik Setel Saat Ini. Alternatifnya, Anda dapat memilih revisi saat ini pada toolbar utama Intel Quartus Prime.
- Untuk memverifikasi sumber yang benar untuk revisi implementasi ini, klik Proyek ➤ Tambah/Hapus Files di Proyek. Konfirmasikan bahwa flashing_led.sv file muncul di file daftar.
- Untuk memverifikasi sumber yang benar file untuk revisi implementasi, klik Project ➤ Add/Remove files di Project, dan tambahkan sumber berikut files untuk revisi implementasi. Jika ada, hapus flashing_led.sv dari daftar proyek files.
INama Revisi implementasi Sumber File berkedip_led_kosong berkedip_led_empty.sv berkedip_led_lambat berkedip_led_lambat.sv - Tetapkan flashing_led_default sebagai Revisi Saat Ini.
- Untuk menentukan .qdb file sebagai sumber root_partition, klik Assignments ➤ Design Partitions Window. Klik dua kali Database Partisi File sel dan tentukan flashing_led_static.qdb file.
- Demikian pula, tentukan flashing_led_supr_partition_final.qdb sebagai Basis Data Partisi File untuk supr_partition.
Gambar 10.
Alternatifnya, gunakan penetapan .qsf berikut untuk menentukan .qdb:
set_instance_assignment -nama QDB_FILE_PARTITION\blinking_led_static.qdb -ke |
set_instance_assignment -nama QDB_FILE_PARTITION\blinking_led_supr_partition_final.qdb -ke u_top_counter - Di Jendela Partisi Desain, klik (…) yang berdekatan dengan kolom paling kanan dan aktifkan kolom Pengikatan Ulang Entitas.
-
Di sel Pengikatan Ulang Entitas, tentukan nama entitas baru untuk partisi PR yang Anda ubah dalam revisi implementasi saat ini. Untuk revisi implementasi flashing_led_default, nama entitasnya adalah flashing_led. Dalam hal ini, Anda menimpa instance u_blinking_led dari kompilasi revisi dasar dengan entitas baru flashing_led. Untuk revisi implementasi lainnya, lihat tabel berikut:
Revisi Nilai Pengikatan Kembali Entitas berkedip_led_lambat berkedip_led_lambat berkedip_led_kosong berkedip_led_kosong Gambar 11. Pengikatan Ulang Entitas
Alternatifnya, Anda dapat menggunakan baris berikut di setiap revisi .qsf untuk mengatur penugasan:
##berkedip_led_default.qsf
set_instance_assignment -nama ENTITY_REBINDING flashing_led \ -ke u_blinking_led
##berkedip_led_lambat.qsf
set_instance_assignment -nama ENTITY_REBINDING flashing_led_slow \ -ke u_blinking_led
##berkedip_led_empty.qsf
set_instance_assignment -nama ENTITY_REBINDING flashing_led_empty \ -ke u_blinking_led - Hapus teks place_holder dari sel Pengikatan Ulang Entitas untuk supr_partition.
- Untuk mengkompilasi desain, klik Memproses ➤ Mulai Kompilasi. Alternatifnya, gunakan perintah berikut untuk mengkompilasi proyek ini: quartus_sh –flow kompilasi flashing_led –c flashing_led_default
- Ulangi langkah 4 hingga 11 untuk mempersiapkan dan mengkompilasi revisi implementasi flashing_led_slow dan flashing_led_empty.
1.5.8. Langkah 8: Ubah Logika SUPR
Untuk mengubah fungsionalitas logika dalam partisi SUPR, Anda harus mengubah sumber partisi SUPR. Selesaikan langkah-langkah berikut untuk mengganti instance u_top_counter di partisi SUPR dengan entitas top_counter_fast.
- Untuk mengatur revisi implementasi SUPR sebagai yang terbaru, klik Project ➤ Revisions dan atur impl_blinking_led_supr_new sebagai revisi saat ini, atau pilih
revisi pada toolbar utama Intel Quartus Prime. - Untuk memverifikasi sumber yang benar file untuk revisi implementasi, klik Project ➤
Tambahkan/Hapus files di Project, dan verifikasi bahwa top_counter_fast.sv adalah sumber untuk revisi implementasi impl_blinking_led_supr_new. Jika ada, hapus top_counter.sv dari daftar proyek files. - Untuk menentukan .qdb file terkait dengan partisi root, klik Assignments ➤ Design Partitions Window, lalu klik dua kali Partition Database File sel untuk menentukan flashing_led_static.qdb.
Alternatifnya, gunakan perintah berikut untuk menetapkan ini file: set_instance_assignment -nama QDB_FILE_PARTITION\blinking_led_static.qdb -ke | - Di sel Pengikatan Ulang Entitas untuk pr_partition, tentukan nama entitas yang sesuai. Untuk mantan iniample, tentukan entitas flashing_led_empty. Dalam hal ini, Anda menimpa instance u_blinking_led dari kompilasi revisi dasar dengan entitas baru linking_led_empty. Baris berikut sekarang ada di .qsf:
##impl_blinking_led_supr_new.qsf set_instance_assignment -nama ENTITY_REBINDING flashing_led_empty \ -ke u_blinking_led - Di sel Pengikatan Ulang Entitas untuk supr_partition, tentukan entitas top_counter_fast. top_counter_fast adalah nama entitas statis yang menggantikan u_top_counter saat Anda menyelesaikan SUPR.
##impl_blinking_led_supr_new.qsf set_instance_assignment -nama ENTITY_REBINDING top_counter_fast \ -ke u_top_counter
- Untuk mengkompilasi desain, klik Memproses ➤ Mulai Kompilasi. Alternatifnya, gunakan perintah berikut untuk mengkompilasi revisi proyek ini: quartus_sh –flow kompilasi flashing_led –c \ impl_blinking_led_supr_new
1.5.9. Langkah 9: Programkan Dewan
Ikuti langkah-langkah berikut untuk menyambungkan dan memprogram papan pengembangan Intel Agilex F-Series FPGA.
- Hubungkan catu daya ke papan pengembangan Intel Agilex F-Series FPGA.
- Hubungkan kabel USB antara port USB PC Anda dan perangkat keras pemrograman USB di papan pengembangan.
- Buka perangkat lunak Intel Quartus Prime, lalu klik Tools ➤ Programmer. Lihat Pemrograman Papan Pengembangan.
- Di Programmer, klik Hardware Setup, lalu pilih USB-Blaster.
- Klik Deteksi Otomatis, lalu pilih perangkat AGFB014R24B.
- Klik Oke. Perangkat lunak Intel Quartus Prime mendeteksi dan memperbarui Programmer dengan tiga perangkat FPGA di papan.
- Pilih perangkat AGFB014R24B, klik Ubah File, dan muat flashing_led_default.sof file.
- Aktifkan Program/Konfigurasi untuk flashing_led_default.sof file.
- Klik Mulai dan tunggu hingga bilah kemajuan mencapai 100%.
- Amati LED di papan berkedip.
- Untuk memprogram wilayah PR saja, klik kanan flashing_led_default.sof file di Programmer dan klik Tambah Pemrograman PR File. Pilih flashing_led_slow.pr_partition.rbf file.
- Nonaktifkan Program/Konfigurasi untuk flashing_led_default.sof file.
- Aktifkan Program/Konfigurasi untuk flashing_led_slow.pr_partition.rbf file, lalu klik Mulai. Di papan, amati LED[0] dan LED[1] terus berkedip. Ketika bilah kemajuan mencapai 100%, LED[2] dan LED[3] berkedip lebih lambat.
- Untuk memprogram ulang wilayah PR, klik kanan .rbf file di Programmer, lalu klik Ubah Pemrograman PR File.
- Pilih .rbf files agar dua persona lainnya mengamati perilaku di papan. Memuat flashing_led_default.pr_partition.rbf file menyebabkan LED berkedip pada frekuensi aslinya, dan memuat flashing_led_empty.pr_partition.rbf file menyebabkan LED tetap ON. 17. Untuk mengubah logika SUPR, ulangi langkah 7 di atas untuk memilih impl_blinking_led_supr_new.sof. Setelah mengubah ini file, led [0:1] sekarang berkedip lebih cepat dari sebelumnya. PR lainnya .rbf files juga kompatibel dengan .sof baru.
Catatan: Assembler menghasilkan .rbf file untuk wilayah SUPR. Namun, Anda sebaiknya tidak menggunakan ini file untuk memprogram ulang FPGA saat runtime karena partisi SUPR tidak membuat instance jembatan beku, pengontrol wilayah PR, dan logika lain di sistem secara keseluruhan. Saat Anda membuat perubahan pada logika partisi SUPR, Anda harus memprogram ulang seluruh .sof file dari kompilasi revisi implementasi SUPR.
Gambar 12. Pemrograman Papan Pengembangan
1.5.9.1. Mengatasi Masalah Kesalahan Pemrograman PR
Memastikan pengaturan yang tepat dari Intel Quartus Prime Programmer dan perangkat keras yang terhubung membantu menghindari kesalahan apa pun selama pemrograman PR.
Jika Anda menghadapi kesalahan pemrograman PR, lihat “Memecahkan Masalah Kesalahan Pemrograman PR” di Panduan Pengguna Intel Quartus Prime Pro Edition: Konfigurasi Ulang Sebagian untuk tips pemecahan masalah langkah demi langkah.
Informasi Terkait
Mengatasi Masalah Kesalahan Pemrograman PR
1.5.10. Memodifikasi Partisi SUPR
Anda dapat mengubah partisi SUPR yang ada. Setelah memodifikasi partisi SUPR, Anda harus mengkompilasinya, menghasilkan .sof file, dan memprogram papan, tanpa menyusun persona lainnya. Misalnyaample, ikuti langkah berikut untuk mengubah modul top_counter_fast.sv agar menghitung lebih cepat:
- Tetapkan impl_blinking_led_supr_new sebagai revisi saat ini.
- Di top_counter_fast.sv file, ganti pernyataan count_d + 2 dengan count_d + 4.
- Jalankan perintah berikut untuk mensintesis ulang blok SUPR dan menghasilkan .sof baru file: quartus_sh –kompilasi aliran flashing_led \ -c impl_blinking_led_supr_new
.sof yang dihasilkan sekarang berisi wilayah SUPR baru, dan menggunakan flashing_led sebagai persona default (power-on).
1.6. Riwayat Revisi Dokumen AN 987: Riwayat Revisi Tutorial Konfigurasi Ulang Parsial Pembaruan Statis
Versi Dokumen | Versi Intel Quartus Prime | Perubahan |
2022.10.24 | 22. | Rilis awal dokumen. |
Diperbarui untuk Intel® Quartus®Prime Design Suite: 22.3
Jawaban atas FAQ Teratas:
Kirim Masukan
T Apa yang dimaksud dengan konfigurasi ulang parsial pembaruan statis
Konfigurasi Ulang Parsial Pembaruan Statis di halaman 3
Q Apa yang saya perlukan untuk tutorial ini?
Persyaratan Tutorial di halaman 3
Q Dimana saya bisa mendapatkan referensi desainnya?
Desain Referensi Unduhan Fileada di halaman 5
Q Bagaimana cara membuat desain SUPR?
Panduan Desain Referensi di halaman 6
T Apa yang dimaksud dengan persona PR?
Tentukan Persona di halaman 10
Q Bagaimana cara mengubah logika SUPR? A Mengubah Logika SUPR di halaman 16
A Mengubah Logika SUPR di halaman 16
Q Bagaimana cara memprogram papan?
Program Papan di halaman 18
T Apa saja permasalahan dan keterbatasan PR yang diketahui?
Forum Dukungan Intel FPGA: PR
Versi Online
Kirim Masukan
ID: 749443
AN-987
Versi: 2022.10.24
Dokumen / Sumber Daya
![]() |
Dewan Pengembangan FPGA Seri F intel Agilex [Bahasa Indonesia:] Panduan Pengguna Agilex F-Series, Papan Pengembangan FPGA Agilex F-Series, Papan Pengembangan FPGA, Papan Pengembangan, Papan |