



Degate adalah perangkat lunak multi-platform untuk rekayasa reverse vlsi semi-otomatis dari logika digital dalam chip. Repositori ini merupakan kelanjutan dari proyek Degate asli, dengan perubahan besar dan pemelihara baru. Untuk lebih lanjut, silakan kunjungi halaman wiki kami dan, jika Anda ingin mengobrol, kunjungi gitter kami. Pemelihara utama Degate saat ini adalah Dorian Bachelot.
Degate dikembangkan secara aktif oleh Martin Schobert, selama tesisnya, dari 2008 hingga 2011. Dari 2013 hingga 2018, proyek ini terutama tidak aktif dan hanya mendapat beberapa perbaikan kecil selama bertahun -tahun. Pada saat ini, proyek ini terdiri dari perpustakaan (libgate) dan antarmuka GUI (degate).
Degate jelas memiliki potensi besar, terutama karena itu adalah satu-satunya perangkat lunak bebas dan open-source untuk rekayasa perangkat keras chip, tetapi tidak pernah tahu bagaimana memaksakan dirinya di masyarakat. Salah satu alasan yang mungkin untuk itu adalah bahwa degat diketahui tidak stabil dan memiliki bug yang berdampak di tempat pertama.
Anda dapat menelusuri kode degat lama di sini dan repositori lama di sini:
https://github.com/nitram2342/degate
Proyek ini menggantikan degat lama, dengan fokus pada dukungan Windows, Linux dan MacOS, mendapatkan stabilitas yang lebih baik dan modernisasi umum. Untuk mencapai ini, langkah pertama adalah menjatuhkan GTK, pindah ke QT dan gabungkan Lib dan bagian GUI dari proyek. Tujuan lain adalah untuk meminimalkan jumlah dependensi, karena saat ini hanya menggunakan Boost dan QT dan tujuan jangka menengah adalah untuk hanya menjaga QT dan menghapus Boost.
Stabilitas adalah masalah utama dari degat lama dan alasan utama mengapa masyarakat belum bersatu di sekitarnya. Mengenai itu, kami ingin memiliki lebih sedikit bug, bahkan jika beberapa fungsi perlu dijatuhkan (untuk saat ini).
Untuk saat ini kita memiliki (sebagai fungsionalitas):
Kami menjatuhkan fungsi -fungsi tersebut dari degat lama:
Banyak bug yang diperbaiki dalam versi yang lebih baru ini, dan itu harus menjadi basis yang lebih baik untuk meningkatkan degate lebih banyak lagi di masa depan.
Masih banyak yang harus dilakukan dalam versi baru ini, tetapi semua fungsi inti (dan bahkan lebih) diimplementasikan.
Fungsionalitas masa depan yang tersisa untuk diterapkan (tidak terbatas):
Untuk peta jalan yang lebih tepat, lihat file roadmap.md.
Dokumentasi Degat Resmi tersedia di sini. Itu masih dalam pembangunan.
Juga, Anda dapat menemukan di sini wiki degate resmi. Misalnya, Anda dapat menemukan daftar tutorial untuk degat dan untuk rekayasa balik IC.




Degate hanya memiliki 2 dependensi: Boost dan Qt6.
Kami menggunakan VCPKG untuk menangani pemasangannya, silakan merujuk ke bagian #Quick-Start di bawah ini.
Untuk Linux (harap baca bagian Linux di bawah ini, beberapa dependensi hanya diperlukan jika menggunakan qt vcpkg ):
Untuk macOS (silakan baca bagian macOS di bawah):
Jika Anda menggunakan instalasi QT6 lokal:
Pertama, klon repositori ini (bantu di sini):
> git clone https://github.com/DegateCommunity/Degate
> git submodule update --init --recursiveSiapkan pemasangan dependensi (beberapa di antaranya hanya diperlukan jika menggunakan qt vcpkg ):
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> apt install ' ^libxcb.*-dev ' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev
libxkbcommon-x11-dev libegl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev
autoconf autoconf-archiveJika ada yang hilang, Anda harus diminta dengan bantuan tentang cara menginstal alat yang dibutuhkan.
Bangun (di folder 'Bangun', misalnya):
> cmake .. -DVCPKG_QT=1
> makeBinari ada di folder 'build/out/bin'.
Jika Anda lebih suka menggunakan instalasi QT lokal Anda (dan untuk menghindari pembangunan kembali QT melalui VCPKG), silakan gunakan opsi -DVCPKG_QT=0 .
Instal dependensi:
> . v cpkg b ootstrap-vcpkg.bat -disableMetricsBangun (di folder 'Bangun', misalnya):
> cmake .. -DVCPKG_QT=1
> cmake --build .Binari ada di folder 'build/out/bin'.
Jika Anda lebih suka menggunakan instalasi QT lokal Anda (dan untuk menghindari pembangunan kembali QT melalui vcpkg), silakan gunakan opsi -DVCPKG_QT=0 dan tentukan jalur QT6 dengan -DCMAKE_PREFIX_PATH="path_to_qt" .
Siapkan pemasangan dependensi:
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> brew install autoconf autoconf-archive automake Bangun (di folder 'Bangun', misalnya):
> cmake .. -DVCPKG_QT=1
> cmake --build .Binari ada di folder 'build/out/bin' di format bundel ".app".
Jika Anda lebih suka menggunakan instalasi QT lokal Anda (dan untuk menghindari pembangunan kembali QT melalui VCPKG), silakan gunakan opsi -DVCPKG_QT=0 .
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
Pesan ini mungkin disebabkan oleh opsi default yang memaksa menggunakan versi statis dan multithreaded dari pustaka Boost. Misalnya, ini adalah masalah saat menginstal Boost dengan MacPorts di MacOS karena versi yang diinstal tidak memberikan versi statis secara default. Untuk mengubah opsi default ini, Anda dapat menggunakan dua perintah ini saat memanggil cmake (on/off):
> cmake .. -DBoost_USE_STATIC_LIBS=OFF -DBoost_USE_MULTITHREADED=OFFPada windows ini juga dapat disebabkan oleh versi boost yang diinstal yang tidak cocok dengan kompiler yang Anda instal.
/etc/cmake/ConfigureFiles.cmake:25 (file): file failed to open for reading (No such file or directory): .../VERSION
Pesan ini dapat muncul untuk pengguna macOS. Masalahnya berasal dari spasi dalam nama direktori, ini adalah bug dari cmake. Cukup pindahkan folder degat Anda ke pohon file tanpa spasi dalam nama direktori.
CMake Error at vcpkg_execute_required_process.cmake:127 (message): Command failed: vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v
Silakan merujuk ke output VCPKG, ini ditautkan ke instalasi QT yang membutuhkan dependensi yang telah dipasang sebelumnya pada beberapa platform. Misalnya di Linux Anda perlu mengeksekusi: sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl1-mesa-dev sudo apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev .
Anda dapat menemukan proyek demo di sini.
Baca file "Contributing.md".
Untuk saat ini hanya bahasa Inggris dan Prancis yang didukung, tetapi jika Anda berharap Anda dapat membantu dengan mudah. Degat Gunakan ahli bahasa QT untuk terjemahan, Anda dapat mempelajari lebih lanjut di sini: https://doc.qt.io/qt-5/linguist-ranslators.html. Anda dapat menemukan file .ts (untuk digunakan dengan ahli bahasa QT) di 'res/bahasa'.
Bahasa:
Untuk menambahkan bahasa baru membuka masalah baru, atau menggunakan proyek Crowdin kami: https://crowdin.com/project/degate.
Degate dirilis di bawah GNU General Public License Version 3. Lihat lisensi.txt untuk detailnya.
Pemelihara utama Degate saat ini adalah Dorian Bachelot [email protected] dan pemelihara degat asli adalah Martin Schobert [email protected].