Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Desain tersemat dengan FPGA:Membangun proyek

Catatan Editor:Karena algoritme canggih terus muncul untuk desain produk cerdas, pengembang sering kali kesulitan menerapkan sistem tertanam yang mampu memenuhi tuntutan pemrosesan terkait algoritme ini. FPGA dapat memberikan kinerja yang diperlukan, tetapi merancang dengan FPGA telah lama dianggap terbatas pada bidang ahli pemrograman FPGA. Namun, hari ini, ketersediaan FPGA yang lebih kuat dan lingkungan pengembangan yang lebih efektif telah membuat pengembangan FPGA dapat diakses secara luas. Dalam kutipan ini, Bab 4 dari buku Architecting High-Performance Embedded Systems, penulis menawarkan tinjauan komprehensif perangkat FPGA, bahasa implementasi, dan proses pengembangan FPGA serta panduan terperinci tentang cara mulai mengimplementasikan FPGA di Anda sendiri desain. Kutipan lengkapnya disajikan dalam rangkaian angsuran berikut:
1:Sumber daya perangkat keras
2:Bahasa implementasi
3:Proses pengembangan
4:Membangun proyek (artikel ini)
5:Implementasi

Diadaptasi dari Merancang Sistem Tertanam Kinerja Tinggi, oleh Jim Ledin.


Mengembangkan proyek FPGA pertama Anda

Di bagian ini, kami akan mengembangkan dan mengimplementasikan proyek sederhana namun lengkap menggunakan perangkat FPGA Xilinx Artix-7 yang diinstal pada papan pengembangan Digilent Arty A7. Papan ini hadir dalam dua varian, versi berbiaya lebih rendah (US$129) dengan nomor model berakhiran-35T dan versi yang lebih mumpuni, tetapi lebih mahal, (US$249) dengan nomor model berakhiran -100T. Satu-satunya perbedaan antara kedua papan adalah model FPGA Artix-7 yang dipasang di papan. Seperti yang Anda harapkan, -35T memiliki lebih sedikit sumber daya yang tersedia daripada -100T.

Anda dapat menggunakan varian -35T atau -100T untuk proyek ini. Satu-satunya perbedaan dalam proses pengembangan adalah menentukan model papan yang benar setiap kali diperlukan. Namun, di bab selanjutnya, varian -100T akan diperlukan karena persyaratan sumber daya dari contoh desain proyek osiloskop digital, sehingga papan yang lebih mampu direkomendasikan.

Papan Arty A7 tersedia untuk dibeli di https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/ dan dari sumber lain, seperti Amazon.

Untuk tujuan proyek ini, sumber daya di papan minat adalah perangkat FPGA itu sendiri, serta empat sakelar, empat tombol tekan, dan lima LED. Proyek ini akan mendemonstrasikan cara menginstal rangkaian alat Vivado, membuat proyek, memasukkan kode HDL, menguji kode, dan akhirnya menghasilkan bitstream dan mengunduhnya ke papan. Setelah mengunduh bitstream ke papan, Anda akan dapat menguji pengoperasian sistem secara manual. Anda juga akan melihat cara memprogram gambar FPGA ke dalam memori flash pada board Arty A7 sehingga dapat dimuat dan berjalan setiap kali board dihidupkan.

Deskripsi proyek

Proyek ini akan menerapkan penambah biner empat bit di FPGA. Ini merupakan desain yang sangat sederhana karena fokus di sini adalah menyiapkan alat dan mempelajari cara menggunakannya, dan bukan pada penerapan model HDL yang rumit.

Empat sakelar di papan mewakili satu nomor biner 4-bit dan empat tombol tekan mewakili nomor 4-bit lainnya. Logika FPGA akan terus melakukan operasi penambahan antara dua angka ini dan menampilkan hasilnya sebagai angka biner 4-bit pada empat LED dengan LED kelima mewakili bit pembawa.

Kode penambah 4-bit didasarkan pada rangkaian penambah penuh bit tunggal yang dijelaskan dalam Bahasa desain perangkat keras bagian dari Bab 1 , Merancang Sistem Tertanam Berkinerja Tinggi .

Memasang alat Vivado

Kami akan menggunakan rangkaian alat pengembangan FPGA Xilinx Vivado untuk proyek ini dan untuk proyek di bab mendatang. Alat-alat ini tersedia secara gratis dan didukung pada sistem operasi Windows dan Linux. Anda dapat menginstal alat di kedua sistem operasi. Deskripsi di bagian ini mencakup alat versi Windows, tetapi jika Anda menginstal di Linux, perbedaannya akan terlihat jelas. Bekerja dengan alat Vivado harus hampir identik pada sistem operasi yang berbeda:

  1. Jika Anda belum memilikinya, buat akun pengguna Xilinx di https://www.xilinx.com/registration/create-account.html.
  2. Kunjungi https://xilinx.com dan masuk ke akun pengguna Anda. Setelah masuk, buka halaman unduh alat di https://www.xilinx.com/support/download.html.
  3. Unduh Xilinx Unified Installer:Windows Self-Extracting Web Installer . Anda mungkin harus memilih versi terbaru yang tersedia, tetapi jika Anda ingin mengikuti versi yang digunakan dalam buku ini, pilih versi 2020.1 .
  4. File penginstal akan memiliki nama yang mirip dengan Xilinx_1_0602_1208_Win64.exe. Temukan file ini di direktori unduhan Anda dan jalankan. Jika sebuah dialog memperingatkan Anda tentang menginstal aplikasi yang tidak diverifikasi oleh Microsoft, klik Tetap instal .
  5. Saat Selamat Datang layar muncul, klik Berikutnya :


Gambar 4.3 – Dialog Selamat Datang Pemasang

  1. Pada layar berikut, masukkan ID pengguna dan kata sandi xilinx.com Anda, lalu klik Berikutnya :


Gambar 4.4 – Dialog login penginstal

  1. Dialog berikutnya meminta Anda menerima beberapa perjanjian lisensi. Centang kotak yang bertuliskan Saya Setuju , lalu klik Berikutnya .
  2. Pada dialog berikutnya, tinggalkan Vitis dipilih sebagai produk yang akan dipasang dan klik Berikutnya . Vitis menyertakan rangkaian alat Vivado bersama dengan koleksi alat pengembangan Xilinx lainnya:


Gambar 4.5 – Dialog pemilihan produk penginstal

  1. Dialog berikutnya memungkinkan Anda memilih komponen perangkat lunak yang akan diinstal. Biarkan pilihan pada nilai defaultnya dan klik Berikutnya .
  2. Dialog berikutnya memungkinkan Anda memilih direktori tujuan dan menentukan opsi pintasan program. Direktori tujuan C:\Xilinx adalah lokasi yang cocok. Buat direktori ini jika tidak ada. Klik Berikutnya .
  3. Dialog berikutnya menampilkan ringkasan opsi penginstalan. Klik Pasang untuk melanjutkan instalasi. Bergantung pada kecepatan komputer dan koneksi internet Anda, penginstalan mungkin memerlukan waktu beberapa jam untuk diselesaikan:


Gambar 4.6 – Dialog instalasi selesai

Setelah menyelesaikan instalasi, selanjutnya kita akan membuat proyek pertama kita.

Membuat proyek

Ikuti langkah-langkah berikut untuk membuat dan membangun proyek penambah biner 4-bit untuk board Arty A7:

  1. Cari ikon desktop berjudul Vivado 2020.1 (atau cari nomor versi Anda, jika berbeda) dan klik dua kali.
  2. Saat Vivado menampilkan layar utamanya, klik Buat Proyek di Mulai Cepat bagian:


Gambar 4.7 – Dialog Mulai Cepat Vivado

  1. Ini akan memulai Buat Proyek Vivado Baru Penyihir. Klik Berikutnya untuk mencapai Nama Proyek halaman dan masukkan ArtyAdder sebagai nama proyek. Pilih lokasi direktori yang sesuai untuk proyek dan centang kotak untuk membuat subdirektori, lalu klik Berikutnya . Contoh dalam buku ini akan menggunakan direktori C:\Projects sebagai lokasi untuk semua proyek:


Gambar 4.8 – Dialog Nama Proyek

  1. Dalam Jenis Proyek dialog, pilih Proyek RTL dan centang kotak di samping Jangan tentukan sumber saat ini . Klik Berikutnya :


Gambar 4.9 – Dialog Jenis Proyek

  1. Di Bagian Default dialog, klik Papan tab dan ketik Arty ke dalam Telusuri bidang. Tergantung pada jenis papan yang Anda miliki (atau jika Anda belum memiliki papan), pilih salah satu Arty A7-100 atau Arty A7-35 dan klik Berikutnya :


Gambar 4.10 – Dialog Bagian Default

  1. Dalam Ringkasan Proyek Baru dialog, klik Selesai .

Kami sekarang telah membuat proyek kosong. Di bagian selanjutnya, kita akan membuat file sumber VHDL yang berisi desain rangkaian logika untuk proyek ini.

Membuat file sumber VHDL

Langkah-langkah berikut menjelaskan proses pembuatan file sumber VHDL, memasukkan kode sumber, dan menyusun desain FPGA:

  1. Di Sumber sub-jendela, klik kanan Sumber Desain dan pilih Tambahkan Sumber… :


Gambar 4.11 – Tambahkan Sumber… pemilihan menu

  1. Dalam Tambahkan Sumber dialog, pastikan Tambah atau buat sumber desain dipilih, lalu klik Berikutnya .
  2. Dalam Tambah atau Buat Sumber Desain dialog, klik Buat File :


Gambar 4.12 – Tambah atau Buat dialog Sumber Desain

  1. Masukkan nama file FullAdder.vhdl dan klik OK :


Gambar 4.13 – Membuat dialog File Sumber

  1. Ulangi dua langkah sebelumnya untuk membuat file lain bernama Adder4.vhdl, lalu klik Selesai di Tambah atau Buat Sumber Desain dialog.
  1. Tentukan Modul akan muncul dialog selanjutnya. Kami tidak akan memasukkan apa pun di sini. Klik Oke untuk menutup ini Anda akan ditanya apakah Anda yakin ingin menggunakan nilai ini. Klik Ya :


Gambar 4.14 – Dialog Menentukan Modul

  1. Luaskan File Non-modul di bawah Sumber Desain , lalu klik dua kali FullAdder.vhdl. Jendela editor akan terbuka menampilkan file FullAdder.vhdl yang kosong:


Gambar 4.15 – File sumber yang baru dibuat

  1. Masukkan kode VHDL berikut ke dalam jendela editor FullAdder.vhdl:
-- Muat pustaka standar IEEE; gunakan IEEE.STD_LOGIC_1164.ALL;-- Tentukan input dan output penambah penuh FULL_ADDER adalah port ( A :in std_logic; B :in std_logic; C_IN :in std_logic; S :out std_logic; C_OUT :out std_logic );end entity FULL_ADDER; -- Mendefinisikan perilaku arsitektur adder penuh PERILAKU FULL_ADDER adalahmulai S <=(A XOR B) XOR C_IN; C_OUT <=(A DAN B) OR ((A XOR B) AND C_IN); arsitektur akhir PERILAKU;

Ini adalah kode penambah penuh bit tunggal yang sama yang kami periksa dalam Bahasa desain perangkat keras bagian Bab 1, Merancang Sistem Tertanam Kinerja Tinggi . Gambar 4.16 menunjukkan kode di jendela editor Vivado:


Gambar 4.16 – Kode sumber FullAdder.vhdl

  1. Dengan cara yang sama, klik dua kali Adder4(Behavioral) (Adder4.vhdl) di bawah Sumber Desain . Hapus konten yang diisi secara otomatis dari Adder4.vhdl jendela editor dan masukkan kode berikut ke dalam Adder4.vhdl editor:
-- Muat pustaka standar IEEE; gunakan IEEE.STD_LOGIC_1164.ALL;-- Tentukan input dan output penambah 4-bitsentitas ADDER4 adalah port ( A4 :di std_logic_vector(3 turun ke 0); B4 :di std_logic_vector(3 turun ke 0); SUM4 :keluar std_logic_vector(3 turun ke 0); ); C_OUT4 :out std_logic );end entity ADDER4;-- Tentukan perilaku dari 4-bit adderarchitecture PERILAKU ADDER4 adalah -- Referensi definisi sebelumnya dari komponen full adder FULL_ADDER adalah port ( A :in std_logic; B :in std_logic; C_IN :masuk std_logic; S :keluar std_logic; C_OUT :keluar std_logic ); komponen akhir; -- Tentukan sinyal yang digunakan secara internal dalam sinyal penambah 4-bit c0, c1, c2 :std_logic;begin -- Masukan carry ke penambah pertama diatur ke 0 FULL_ADDER0 :FULL_ADDER port map ( A => A4(0), B => B4(0), C_IN => '0', S => SUM4(0), C_OUT => c0 ); FULL_ADDER1 :FULL_ADDER port map ( A => A4(1), B => B4(1), C_IN => c0, S => SUM4(1), C_OUT => c1 ); FULL_ADDER2 :FULL_ADDER peta port ( A => A4(2), B => B4(2), C_IN => c1, S => SUM4(2), C_OUT => c2 ); FULL_ADDER3 :FULL_ADDER port map ( A => A4(3), B => B4(3), C_IN => c2, S => SUM4(3), C_OUT => C_OUT4 );end arsitektur PERILAKU;

Kode ini membuat empat salinan dari penambah penuh bit tunggal. Carry ke penambah paling tidak signifikan diatur ke nol dan carry dari setiap penambah riak ke penambah paling signifikan berikutnya. Hasil penjumlahan dua angka 4-bit adalah hasil 4-bit dan satu bit carry:


Gambar 4.17 – Kode sumber Adder4.vhdl

Artikel berikutnya akan menunjukkan cara menguji desain dan mengimplementasikan desain kami untuk papan Arty.

Dicetak ulang dengan izin dari Packt Publishing. Hak Cipta © 2021 Packt Publishing


Jim Ledin adalah CEO dari Ledin Engineering, Inc. Jim adalah pakar dalam desain, pengembangan, dan pengujian perangkat lunak dan perangkat keras tertanam. Dia juga mahir dalam penilaian keamanan siber sistem tertanam dan pengujian penetrasi. Dia memiliki B.S. gelar di bidang teknik kedirgantaraan dari Iowa State University dan M.S. gelar di bidang teknik listrik dan komputer dari Georgia Institute of Technology. Jim adalah insinyur listrik profesional terdaftar di California, Certified Information System Security Professional (CISSP), Certified Ethical Hacker (CEH), dan Certified Penetrasi Tester (CPT).

Konten Terkait:

Untuk lebih banyak Tertanam, berlangganan buletin email mingguan Tertanam.


Tertanam

  1. Manufaktur Aditif Cair:Membangun Objek 3D Dengan Cairan
  2. Apa itu Desain Sistem Tertanam :Langkah-langkah dalam Proses Desain
  3. Mengubah data besar menjadi data pintar dengan AI tersemat
  4. Arrow Electronics meluncurkan kontes pengembang FPGA Eropa
  5. Kit desain mengukur tekanan darah dengan sensor optik
  6. FPGA tingkat pertahanan debut dengan akses awal
  7. Membuat robot dengan Raspberry Pi dan Python
  8. Membangun segway dengan Raspberry Pi
  9. GoPiGo v2 dengan Windows IoT
  10. Semua Dengan Aditif