Saya baru saja menyatakan menggunakan Vivado dalam proyek baru dan ingin meletakkan file proyek di bawah SVN.
Vivado tampaknya membuat semua file proyek dengan nama proyek (katakanlah proj1):
/<path to the project>/proj1/
proj1.xpr
proj1.srcs/
constrs_1/
new/
const1.xdc
proj1.runs/
proj1.data/
proj1.cache/
Pertanyaan saya adalah file apa yang perlu saya letakkan di bawah SVN selain XDC dan file XPR?
Jawaban:
Xilinx membuat video YouTube (desah) untuk menangani ini. Berikut ini tautan ke videonya
http://www.xilinx.com/training/vivado/vivado-version-control-overview.htm
Ini ringkasan video saya (8 menit)
Sebelum kamu memulai
Jika Anda benar-benar menyukai kontrol penuh, Xilinx menyarankan agar Anda melupakan GUI sepenuhnya dan melakukan segalanya di baris perintah, dan kemudian Anda tahu apa itu sumber dan apa yang tidak.
Jika tidak, Xilinx menyadari bahwa proyek Vivado tidak dirancang untuk kontrol versi. JANGAN PERIKSA DALAM SELURUH PROYEK. Tapi baca terus untuk petunjuk ...
Baseline
Tentu saja, apa pun yang Anda tulis di luar alat Vivado harus diperiksa.
Periksa file-file berikut
Blok IP
Jika Anda menggunakan blok IP, hasilkan IP di folder unik, dan periksa semuanya.
Pos pemeriksaan
Jika Anda ingin dapat menjalankan kembali bagian dari aliran tanpa menjalankan semuanya, periksa di file pos pemeriksaan.
Adendum saya
Jika alat Xilinx efisien, saya tidak akan merekomendasikan memeriksa file dcp, tetapi mereka membutuhkan waktu berjam-jam untuk menjalankannya, mungkin bermanfaat dengan mengorbankan sistem kontrol versi yang jelek.
Video tidak mengatakan jongkok tentang file proyek Vivado (* .xpr) jadi di sini adalah saran saya:
Alternatif yang direkomendasikan Xilinx (yang sebenarnya adalah peretasan, tidak cocok untuk kontrol versi) adalah menjalankan
File -> Write Project Tcl
perintah setiap kali Anda ingin komit, dan kemudian komit file TCL ke kontrol versi. Ketika Anda memperbarui folder lokal Anda, Anda perlu menjalankan kembali file TCL untuk membuat semua file proyek. Yuck.sumber
Vivado 2014.1 memungkinkan penggunaan skrip .tcl untuk membuat ulang proyek.
Untuk melakukan ini, dengan proyek Anda terbuka, buka File -> Write Project tcl.
Proyek Dasar
Saya biasanya menyimpan sumber dan skrip .tcl saya di lokasi di luar direktori proyek. Inti IP xilinx yang dihasilkan dalam proyek dapat disalin di tempat lain dengan mengklik kanan pada inti dan memilih "Salin IP". Dan menghapus yang asli. Ketika skrip tcl dibuat, ia membuat tautan relatif ke file-file ini. Ini biasanya seperti apa struktur direktori saya:
Hanya file IP .xml dan .xci yang perlu dikomit. (Dan bahkan ini tidak perlu, secara teknis, lihat catatan di akhir).
Inilah yang menjadi komitmen untuk git, perhatikan kurangnya project.xpr atau direktori proyek.
Ketika saya menjalankan
genproject.tcl
, itu menciptakan direktori lain untuk proyek.Folder baru ini benar-benar sekali pakai. Untuk membuat struktur ini, saya memodifikasi skrip tcl dengan cara berikut.
Saya mengubah 3 baris pertama sebagai berikut:
Ini membuat direktori proyek baru dan proyek baru di dir itu.
Lalu saya memodifikasi jalur untuk menunjuk ke tempat yang benar. Anda mungkin perlu mengubah jalur ini di tempat lain di skrip.
Saya juga memodifikasi desain berjalan untuk core IP seperti yang terlihat di jawaban ini .
File .wcfg dapat dimasukkan dengan cara yang mirip dengan ip dan srcs.
Di sinilah pemrosesan berakhir untuk proyek yang lebih sederhana (hanya berisi sumber dan IP, tanpa diagram blok). Hal-hal berikut juga perlu dilakukan untuk menyimpan data diagram blok.
Proyek Diagram Blok
Untuk menyimpan diagram blok, dengan diagram blok terbuka, buka File -> Export -> Block Diagram ke Tcl, dan simpan di dir yang sama dengan file tcl lainnya.
Lalu saya membuat
Generate_Wrapper.tcl
skrip yang membuat file pembungkus diagram blok sehingga Anda tidak perlu melakukannya secara manual. Folder project / project.srcs digunakan untuk menyimpan data bd, tetapi masih benar-benar sekali pakai, karena bd disimpan dalam skrip tcl. Simpan ini dengan dua lainnya.Pada akhir saya,
genproject.tcl
saya menambahkan baris berikut untuk menghasilkan diagram blok dan pembungkus:Untuk proyek tanpa sumber (diagram blok saja), komit git saya adalah sebagai berikut:
Untuk menghasilkan semuanya, jalankan
genproject.tcl
.Anda bahkan dapat menggabungkan semua ini menjadi satu jika Anda sangat efisien, saya belum bulat untuk itu.
Komponen Kustom: Proyek komponen
Catatan cepat lain tentang membuat komponen khusus. Jika Anda memiliki component.xml, tambahkan itu ke daftar sumber tcl Anda:
Dan kemudian tambahkan juga bagian berikut:
Ini termasuk desain komponen ke dalam proyek untuk kustomisasi yang mudah.
Komponen Kustom: Merujuk komponen Anda
Anda dapat meningkatkan jalur repo komponen kustom Anda seperti ini:
Di folder repo saya, ada beberapa folder yang berisi file .xml. Jadi, Anda tidak mereferensikan folder yang berisi .xml, tetapi orang tua dari folder itu. Misalnya:
Bagaimana kita menjalankan skrip tcl ini?
Buka Vivado, dan tanpa membuka proyek apa pun, pilih Alat -> Jalankan skrip TCL, dan navigasikan ke skrip Anda.
Catatan TCL ekstra
Setiap perintah yang Anda jalankan di Vivado ditampilkan di tcl console sebagai perintah tcl. Misalnya, ketika saya membuat IP Xilinx baru menggunakan GUI, ini muncul di konsol tcl:
Ini berarti beberapa hal:
Anda bahkan tidak perlu menyimpan core ip xilinx - begitu mereka menginginkannya, salin perintah ke skrip tcl dan Anda tidak perlu melakukan ip / lagi.
tentukan direktori IP dengan argumen -dir setelah -module_name untuk meletakkannya di mana saja Anda inginkan (secara default ada di project.srcs).
Kebanyakan apa pun yang Anda lakukan di GUI dapat dilakukan di tcl, cara termudah untuk melihat bagaimana xilinx melakukan sesuatu adalah dengan melakukannya di GUI dan kemudian melihat apa yang ada di konsol TCL sesudahnya.
Pdf humongous ini merinci semua perintah vivado tcl.
sumber
Ada video pelatihan Xilinx yang menjelaskan cara menggunakan sistem kontrol versi dengan Vivado. Pada dasarnya, daftar file tergantung pada fitur yang Anda gunakan.
Jika Anda menggunakan pendekatan skrip (seperti yang dilakukan vermaete), Anda dapat meminta Vivado menulis semua file perantara / sementara ke direktori terpisah ( lihat di sini ), sehingga Anda dapat dengan mudah memisahkannya.
Jika tidak, Anda bisa membersihkan folder build dengan Vivado, dan apa pun yang tersisa mungkin diletakkan di bawah kontrol versi.
sumber
Silakan lihat di utas ini di forum Xilinx:
http://forums.xilinx.com/t5/Implementation/What-files-to-put-under-revision-control-for-consistent-build/td-p/174232
sumber