NET
Zde si dovolím porušit své pravidlo, že nebudu suplovat návod. Doufám, že se z toho nestane pravidlo. Pokud začnete více zkoumat *.hal soubor, tak tam najdete příkaz net.
Náhrada
Jedna z možností, jak realizovat spojení komponent může vypadat takto:
net signal-blue component.0.pin1-in component.1.pin1-out
net signal-red component.0.pin3-out component.1.pin3-in component.1.pin4-in
Pokusím se rozebrat spojení modrým signálem:
net - příkaz, který pomocí HAL signálu spojuje HAL piny
signal-blue - název signálu, leží vždy za příkazem net, bez něj příkaz net nemá smysl, jeho název si můžeme vymyslet jaký chceme, klidně název signálu může být babicka
component.0.pin1-in - název virtuálního HAL pinu
component.1.pin1-out - název virtuálního HAL pinu
Šipky
net signal-blue component.0.pin1-in <= component.1.pin1-out
net signal-red component.0.pin3-out => component.1.pin3-in => component.1.pin4-in
Těmito šipkami se zobrazuje směr signálu. Signál teče vždy z HAL pinu typu OUT do HAL pinu/pinů typu IN. Tyto šipky jsou nepovinné, takže autor *.hal souboru je dávat do zápisu může, ale nemusí, protože LCNC je stejně nečte. Každopádně použití těchto šipek hodně pomůže při čtení zápisu.
Pořadí HAL pinů
net signal-blue component.1.pin1-out => component.0.pin1-in
net signal-red component.1.pin3-in <= component.0.pin3-out => component.1.pin4-in
Alespoň jeden HAL pin
net signal-blue <= component.1.pin1-out
net signal-blue => component.0.pin1-in
net signal-red <= component.0.pin3-out
net signal-red => component.1.pin3-in
net signal-red => component.1.pin4-in
Často lze v *.hal souborech najít jen předpřipravené HAL signály s jedním HAL pinem a tento signál dál nevede. Pokud se chceme na takovýto pin "napíchnout", tak stačí spojit předpřipravený signál s dalším pinem.