



Le degré est un logiciel multi-plate-forme pour l'ingénierie inverse VLSI semi-automatique de la logique numérique dans les puces. Ce référentiel est une continuation du projet d'origine, avec des changements majeurs et un nouveau mainteneur. Pour plus, veuillez visiter notre page Wiki et, si vous voulez discuter, visitez notre gitter. Le principal mainteneur actuel du degré est Dorian Bachelot.
Degate a été activement développé par Martin Schobert, au cours de sa thèse, de 2008 à 2011. De 2013 à 2018, le projet était principalement inactif et n'a obtenu que de petites solutions au fil des ans. À l'heure actuelle, le projet était composé d'une bibliothèque (libgate) et d'une interface GUI (Degate).
Degate a certainement un grand potentiel, principalement parce qu'il s'agit du seul logiciel libre et open source pour le matériel inverse de la puce, mais je n'ai jamais su s'imposer dans la communauté. Une raison possible à cela est que le degré était connu pour être instable et avoir un impact sur les bogues en premier lieu.
Vous pouvez parcourir l'ancien code degate ici et l'ancien référentiel ici:
https://github.com/nitram2342/degate
Ce projet remplace l'ancien degré, par un accent sur la prise en charge de Windows, Linux et MacOS, obtenant une meilleure stabilité et une modernisation générale. Pour y parvenir, la première étape a été de supprimer GTK, de passer à QT et de fusionner la LIB et la partie GUI du projet. Un autre objectif était de minimiser le nombre de dépendances, pour l'instant il n'utilise que Boost et QT et l'objectif à mi-parcours est de garder seulement QT et supprimer Boost.
La stabilité était le principal problème de l'ancien degré et la principale raison pour laquelle la communauté ne s'était pas déjà unie autour de lui. En ce qui concerne cela, nous voulons avoir moins de bogues possible, même si certaines fonctionnalités doivent être supprimées (pour le moment).
Pour le moment, nous avons (en fonction des fonctionnalités):
Nous avons laissé tomber ces fonctionnalités d'un vieux degré:
Beaucoup de bogues ont été corrigés dans cette nouvelle version, et il devrait être une meilleure base pour améliorer encore plus le degré à l'avenir.
Il y a encore beaucoup à faire dans cette nouvelle version, mais toutes les fonctionnalités de base (et encore plus) sont implémentées.
Les fonctionnalités futures restantes à mettre en œuvre (non limitées):
Pour une feuille de route plus précise, consultez le fichier RoadMap.md.
La documentation officielle de la mise en scène est disponible ici. Il est toujours en construction.
En outre, vous pouvez trouver ici le wiki officiel degate. Par exemple, vous pouvez y trouver une liste de didacticiels pour le degois et pour l'ingénierie infresque IC.




Le degré n'a que 2 dépendances: Boost et Qt6.
Nous utilisons VCPKG pour gérer l'installation de ceux-ci, veuillez vous référer à la section # Quick-Start ci-dessous.
Pour Linux (veuillez lire la section Linux ci-dessous, certaines dépendances ne sont nécessaires que si vous utilisez le QT de VCPKG ):
Pour macOS (veuillez lire la section macOS ci-dessous):
Si vous utilisez une installation QT6 locale:
Tout d'abord, clone ce référentiel (aide ici):
> git clone https://github.com/DegateCommunity/Degate
> git submodule update --init --recursivePréparez l'installation des dépendances (certaines d'entre elles ne sont nécessaires que si vous utilisez le QT de 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-archiveSi quelque chose manque, vous devez être invité à l'aide sur la façon d'installer les outils nécessaires.
Build (dans le dossier 'build', par exemple):
> cmake .. -DVCPKG_QT=1
> makeLes binaires sont dans le dossier «build / out / bin».
Si vous préférez utiliser votre installation QT locale (et pour éviter de reconstruire QT via VCPKG), veuillez utiliser l'option -DVCPKG_QT=0 .
Installez les dépendances:
> . v cpkg b ootstrap-vcpkg.bat -disableMetricsBuild (dans le dossier 'build', par exemple):
> cmake .. -DVCPKG_QT=1
> cmake --build .Les binaires sont dans le dossier «build / out / bin».
Si vous préférez utiliser votre installation QT locale (et pour éviter de reconstruire QT via VCPKG), veuillez utiliser l'option -DVCPKG_QT=0 et spécifier le chemin de QT6 avec -DCMAKE_PREFIX_PATH="path_to_qt" .
Préparez l'installation des dépendances:
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> brew install autoconf autoconf-archive automake Build (dans le dossier 'build', par exemple):
> cmake .. -DVCPKG_QT=1
> cmake --build .Les binaires sont dans le dossier 'build / out / bin' dans le format bundle ".app".
Si vous préférez utiliser votre installation QT locale (et pour éviter de reconstruire QT via VCPKG), veuillez utiliser l'option -DVCPKG_QT=0 .
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
Ce message peut être causé par les options par défaut qui obligent à utiliser la version statique et multithread de la bibliothèque boost. Par exemple, il s'agit d'un problème lors de l'installation de boost avec MacPorts sur MacOS car la version installée ne fournit pas de version statique par défaut. Pour modifier ces options par défaut, vous pouvez utiliser ces deux commandes lors de l'appel CMake (ON / OFF):
> cmake .. -DBoost_USE_STATIC_LIBS=OFF -DBoost_USE_MULTITHREADED=OFFSur Windows, cela peut également être causé par une version installée de boost qui ne correspond pas à votre compilateur installé.
/etc/cmake/ConfigureFiles.cmake:25 (file): file failed to open for reading (No such file or directory): .../VERSION
Ce message peut apparaître pour les utilisateurs de macOS. Le problème provient d'espaces dans les noms de répertoires, il s'agit d'un bug de CMake. Déplacez simplement votre dossier degate vers une arborescence de fichiers sans espaces dans les noms de répertoire.
CMake Error at vcpkg_execute_required_process.cmake:127 (message): Command failed: vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v
Veuillez vous référer à la sortie VCPKG, ceci est lié à l'installation QT qui nécessite des dépendances préinstallées sur certaines plates-formes. Par exemple, sur Linux, vous devez exécuter: sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl1-mesa-dev et sudo apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev .
Vous pouvez trouver des projets de démonstration ici.
Lisez le fichier "contributing.md".
Pour l'instant, seuls l'anglais et le français sont pris en charge, mais si vous le souhaitez, vous pouvez vous aider facilement. Degate Utilisez QT Linguist pour la traduction, vous pouvez en savoir plus ici: https://doc.qt.io/qt-5/linguist-translators.html. Vous pouvez trouver des fichiers .ts (à utiliser avec QT Linguist) dans «Res / Languages».
Langues:
Pour ajouter une nouvelle langue, ouvre un nouveau problème, ou utilisez notre projet Crowdin: https://crowdin.com/project/degate.
Degate est publié dans le cadre de la licence générale GNU version 3. Voir Licence.txt pour plus de détails.
Le principal responsable de Degate actuel est Dorian Bachelot [email protected] et le mainteneur d'origine de Degate est Martin Schobert [email protected].