HAL Jest to zintegrowane środowisko do analizy listy cyfrowych układów elektronicznychjest to kompleksowe ramy inżynierii odwrotnej i manipulacji dla list sieci na poziomie drzwi, które koncentrują się na wydajności, skalowalności i przenośności. HAL jest wyposażony w system wtyczek completo co pozwala na wprowadzenie dowolnych funkcjonalności w jądrze.
Ciekawe przez HAL polega na tym, że pozwala zobaczyć i przeanalizować obwód w GUI i manipulować nim za pomocą skryptów Pythona. W skryptach można korzystać z dołączonej „standardowej biblioteki” funkcji, które implementują operacje teorii grafów, przydatnych w inżynierii odwrotnej cyfrowych układów elektronicznych (przy użyciu tych funkcji można heurystycznie wykrywać różne wzorce projektowe i usuwać proste zaciemnienia za pomocą skryptu w wielu wierszach) .
Biblioteka zawiera również zajęcia z zarządzania projektami w IDE, które można wykorzystać podczas opracowywania wtyczek do analizy i kontroli połączeń. Parsery są dostępne dla języków opisu sprzętu VHDL i Verilog.
To środowisko jest rozwijane przez kilka niemieckich uniwersytetów, napisany w C ++, Qt i Python i wydany na licencji MIT.
Z jego głównych cech wyróżniają się następujące:
- Ukierunkowana naturalna graficzna reprezentacja pozycji listy sieci i ich powiązań.
- Obsługa niestandardowych bibliotek drzwi.
- Wysoka wydajność dzięki zoptymalizowanemu jądru C ++
- Modułowość - pisz własne wtyczki C ++ do wydajnej analizy i manipulacji listą sieci (na przykład przy użyciu algorytmów graficznych)
- Bogaty w funkcje graficzny interfejs użytkownika, który umożliwia wizualną kontrolę listy sieci i interaktywną analizę
- Wbudowana powłoka Pythona do eksploracyjnej interakcji z elementami listy sieci i do interakcji z wtyczkami z GUI
Informacje o HAL w wersji 2.0.0
Teraz to środowisko jest w wersji 2.0.0 w którym Poprawiono analizatory VHDL i Verilog, wraz z systemem kompilacji CMake, który został zaktualizowany w celu używania konfiguracji opartych na celach.
również podkreśla się, że dodano obsługę hierarchizacji i modularyzacji, a także dodatkowy widok izolacji i nowy system projektowania.
Z innych zmian wspomniane w nowej wersji:
- Zmiany w systemie bibliotek drzwi
- BDD zastąpiono funkcjami boolowskimi
- Główne zmiany w wewnętrznej reprezentacji typów bramek
- Umożliwia rozróżnienie między LUTami, przerzutnikami, zatrzaskami i kombinowanymi typami bramek
- W zatrzaskach i przerzutnikach można teraz określić specjalne sekwencyjne wejścia, takie jak włączanie, zegar, konfiguracja i resetowanie.
- Biblioteki bramek JSON zastąpione plikami wolności
- Uproszczony system wtyczek
- W zestawie biblioteka Igraph
- Główny przegląd GUI
Jak zainstalować HAL na Ubuntu i pochodnych?
Dla tych, którzy są zainteresowani zainstalowaniem tej struktury inżynierii odwrotnej dla obwodów elektronicznych, mogą to zrobić, postępując zgodnie z instrukcjami które udostępniamy poniżej.
HAL można zainstalować na dwa sposoby w Ubuntu i pochodnych, pierwsza wspiera nas z repozytorium wniosku (Dotyczy tylko Ubuntu 18.04).
to możemy go dodać do systemu za pomocą terminala (Możesz go otworzyć za pomocą klawiszy skrótu Ctrl + Alt + T) iw nim wpiszemy następujące polecenia.
Najpierw dodamy z repozytorium:
sudo add-apt-repository ppa:sebastian-wallat/hal
Aktualizujemy pakiety i listę repozytoriów o:
sudo apt-get update
I przystępujemy do instalacji aplikacji w naszym systemie, wpisując następujące polecenie:
sudo apt install hal-reverse
Inną metodą instalacji jest kompilacja aplikacji w systemie. W tym celu musimy pobrać kod HAL za pomocą terminala.
Najpierw wpiszemy:
git clone https://github.com/emsec/hal.git && cd hal
Teraz zamierzamy zainstalować niezbędne zależności:
./install_dependencies.sh
I przystępujemy do kompilacji kodu za pomocą:
mkdir build && cd build cmake .. make
Po zakończeniu kompilacji przystępujemy do instalacji za pomocą:
make install
W końcu może zapoznać się z dokumentacją i innymi informacjami o HAL W poniższym linku.