HAL je integrirano okolje za analizo seznama digitalnih elektronskih vezijje je celovit obratni inženirski in manipulacijski okvir za mrežne sezname na ravni vrat, ki se osredotočajo na učinkovitost, razširljivost in prenosljivost. HAL prihaja s sistemom vtičnikov dokončanje ki omogoča uvajanje poljubnih funkcij v jedru.
Zanimivo avtor HAL je, da omogoča ogled in analizo vezja v GUI ter njegovo manipulacijo z uporabo skriptov python. V skriptih lahko uporabite priloženo "standardno knjižnico" funkcij, ki izvajajo operacije teorije grafov, uporabne za digitalno elektronsko vezje z obratnim inženiringom (z uporabo teh funkcij lahko hevristično zaznate različne vzorce načrtovanja in odstranite preproste zamegljenosti s skriptom v več vrsticah) .
Knjižnica vključuje tudi razrede za upravljanje projektov v IDE, ki se lahko uporablja pri razvoju vtičnikov za analizo in pregled povezav. Na voljo so razčlenjevalniki za jezike za opis strojne opreme VHDL in Verilog.
To okolje razvija več nemških univerz, napisano v jeziku C ++, Qt in Python in izdano pod licenco MIT.
Njegove glavne značilnosti izstopajo:
- Usmerjena naravna grafična predstavitev elementov netlista in njihovih povezav.
- Podpora za knjižnice vrat po meri.
- Visoka zmogljivost zahvaljujoč optimiziranemu jedru C ++
- Modularnost - napišite lastne vtičnike C ++ za učinkovito analizo in manipulacijo seznamov omrežij (na primer z uporabo grafičnih algoritmov)
- Funkcijski GUI, ki omogoča vizualni pregled seznama omrežij in interaktivno analizo
- Vgrajena lupina Python za raziskovalno interakcijo z elementi netlista in za interakcijo z vtičniki iz GUI
O različici HAL 2.0.0
Zdaj to okolje je v svoji različici 2.0.0 v katerem Izboljšani analizatorji VHDL in Verilog, skupaj s sistemom gradnje CMake, ki je bil posodobljen tako, da uporablja ciljne konfiguracije.
prav tako poudarjeno je, da je bila dodana podpora za hierarhizacijo in modularizacijo, kot tudi dodaten izolacijski pogled in nov sistem zasnove.
Od ostalih sprememb omenjena v tej novi različici:
- Spremembe sistema knjižnice vrat
- BDD je bil zamenjan z logičnimi funkcijami
- Glavne spremembe v notranji predstavitvi vrst vrat
- Omogoča razlikovanje med LUT-ji, natikači, zapahi in kombinacijskimi tipi vrat
- V zapahih in natikačih lahko zdaj določite posebne zaporedne vhode, kot so omogočanje, ura, konfiguracija in ponastavitev.
- Knjižnice vrat JSON so zamenjane z datotekami svobode
- Poenostavljeni sistem vtičnikov
- Vključena knjižnica Igraph
- Glavni pregled GUI
Kako namestiti HAL na Ubuntu in izpeljanke?
Za tiste, ki jih zanima namestitev tega povratnega inženirskega okvira za elektronska vezja, to lahko storijo po navodilih ki jih delimo spodaj.
HAL lahko namestite na dva načina v Ubuntuju in izpeljanih finančnih instrumentih, prvi izmed njih nas podpira iz skladišča vloge (Velja samo za Ubuntu 18.04).
ta lahko ga v sistem dodamo s pomočjo terminala (Odprete ga lahko s bližnjicami Ctrl + Alt + T) in vanj vtipkamo naslednje ukaze.
Najprej bomo iz repozitorija dodali z:
sudo add-apt-repository ppa:sebastian-wallat/hal
Pakete in seznam skladišč posodobimo z:
sudo apt-get update
In nadaljujemo z namestitvijo aplikacije v naš sistem, tako da vtipkamo naslednji ukaz:
sudo apt install hal-reverse
Drugi način namestitve je prevajanje aplikacije v sistemu. Za to moramo s pomočjo terminala prenesti kodo HAL.
Najprej bomo vtipkali:
git clone https://github.com/emsec/hal.git && cd hal
Zdaj namestili bomo potrebne odvisnosti:
./install_dependencies.sh
In nadaljujemo z zbiranjem kode z:
mkdir build && cd build cmake .. make
Ko je sestavljanje končano, nadaljujemo z namestitvijo z:
make install
Končno lahko pregleda dokumentacijo in druge informacije približno HAL V naslednji povezavi.