Hak Cipta (C) 2018-2020, Wuklab, UCSD.
Ini adalah sistem operasi (OS) yang berjalan di dalam FPGA yang memberikan abstraksi OS yang akrab (misalnya, MM, SCRED, NET) untuk aplikasi FPGA. Ini adalah prototipe penelitian tahap awal yang tidak mungkin. Sebagian besar kode ditulis dalam Xilinx HLS. Ini telah diuji pada VCU118 dan VCU108.
Itu dipublikasikan untuk tujuan pendidikan. Semoga Anda merasa berguna.
host/ : Tumpukan jaringan sisi host dan driver DMAalloc/ : Alocator Memorimm/ : Manajemen Memorinet/ : Subsistem Jaringankernel/ : beberapa kode terkait PRsystem/ : Sistem Terpadu Besar Terakhirapp/ : Aplikasi dapat memiliki FPGA dan kode host.include/ : file header yang digunakan oleh FPGA dan kode host. Misalnya, header jaringan.include/fpga : header yang digunakan oleh HLS sajainclude/uapi : header yang digunakan oleh HLS dan kode hosttools/ : Berbagai Pembantuscripts/ : File skrip templategenerated_ip/ : semua tidur IPS yang dihasilkan di sinigenerated_hls_project/ : Proyek Vivado HLSgenerated_vivado_project/ : Proyek VivadoFormat:
run_hls.tcl .mm_axi_wrapper adalah IP wrapper AXI di bawah subsistem MM.make help untuk melihat penjelasan terperinci.make di tingkat atas akan mengkompilasi seluruh proyek menggunakan papan default.system/ foldermake di setiap subfolder hanya akan menyusun folder itu.Alur kerja: Anda harus menyusun proyek saat pertama kali mengunduh kode sumber. Semua proyek kecil, menengah, dan proyek besar akan siap digunakan. Setelah ini, Anda dapat fokus pada IP yang Anda bangun. Perubahan akan tercermin secara otomatis dalam Vivado.
Juga, perhatikan papan mana yang Anda targetkan.
Tujuan menggunakan skrip adalah dua kali lipat
generated_vivado_project/ folder, pada folder yang sama di mana skrip dan kode sumber yang sesuai berada.Script mode proyek Vivado tersebut dihasilkan oleh Vivado itu sendiri. Dan skrip -skrip itu dapat digunakan untuk membangun kembali seluruh proyek apa adanya.
Itu adalah langkah saya yang tidak formal untuk membuat dan meretas skrip -skrip itu:
Berlari:
vivado -mode tcl -source run_vivado.tclgenerated_vivado_project/ akan dibuat di folder saat inigenerated_ip/ .Penciptaan:
write_project_tcl untuk menghasilkan skrip. Anda harus memberi tahu skrip baru bahwa proyek yang akan direbus harus ditempatkan di bawah di bawah folder yang generated_vivado_project . Dan Anda harus memberi nama skrip ke run_vivado.tcl .write_project_tcl -force -no_copy_sources -target_proj_dir ./generated_vivado_project ./run_vivado.tclwrite_project_tcl -force -target_proj_dir ./generated_vivado_project ./run_vivado.tclHack:
Tambahkan jalur IP ke skrip tingkat atas:
generated_ip/ Folder. Ini membuat pelacakan IP lebih mudah. Anda dapat menambahkan beberapa baris ke skrip sehingga Vivado tahu di mana mencari IP baru. Lihat scripts/template_vivado_ip.tcl untuk baris -baris itu.Paket IP secara otomatis:
generated_ip/ . Misalnya, ipx::package_project -root_dir ../../generated_ip/mm_axi_wrapper -vendor wuklab -library user -taxonomy UserIP -import_files -set_current false -forceipx::package_project -root_dir ../../generated_ip/mm_axi_rab_vcu118 -vendor wuklab -library user -taxonomy UserIP -module THE_BD_NAME -import_filesTambahkan lebih banyak sumber/XDC/file simulasi:
top.v , add_files dll.write_project_tcl lagi untuk menghasilkan skrip lain. Kemudian periksa perbedaannya.Pembungkus BD Autogenerate
Pengaturan lain:
write_project_tcl untuk menghasilkan skrip baru dan menyimpan perubahan yang sesuai. Setelah Anda terbiasa dengan perintah Vivado, Anda harus dapat melakukan secara manual dengan mengubah skrip.Peringatan:
Untuk saat ini, Anda dapat menemukan skrip contoh di mm/axi_wrapper/run_vivado.tcl , dan mm/sys/run_vivado.tcl .
Vivado hanya mendukung satu versi IP di setiap versi. Super Annoning jika kita menggunakan skrip yang dihasilkan. Untungnya, ada satu cara untuk mengatasinya. Kode berikut mengganti string IP dengan variabel. Namun, berhati -hatilah jika IP yang diperbarui memiliki port yang berbeda.
set axis_data_fifo [get_ipdefs -filter NAME==axis_data_fifo]
Replace all `xilinx.com:ip:axis_data_fifo:1.1` with `$axis_data_fifo
Skrip Vivado HLS relatif lebih mudah daripada skrip Vivado. Anda dapat menemukan skrip templat dalam scripts/template_run_hls.tcl . Anda harus menyesuaikan bagian, file yang ditambahkan, frekuensi, dan sebagainya. Jika Anda ingin secara otomatis membangun beberapa HLS di bawah folder yang sama, gunakan scripts/template_generate_hls.sh