logo

Verilog hozzárendelési nyilatkozat

A hozzárendelési utasítások az értékek irányítására szolgálnak a neten. És abban is használják Adatfolyam-modellezés .

A vezetékes vagy adattípusú jelek folyamatos értékadást igényelnek. Amíg a vezeték egyik végére a +5V-os akkumulátor van rákapcsolva, addig a vezeték másik végére csatlakoztatott komponens megkapja a szükséges feszültséget.

java tömb lista

Ezt a koncepciót a hozzárendelési utasítás valósítja meg, ahol bármely vezeték vagy más hasonló vezeték (adattípus) folyamatosan meghajtható egy értékkel. Az érték lehet konstans vagy jelek csoportját tartalmazó kifejezés.

Szintaxis

A hozzárendelés szintaxisa az assign kulcsszóval kezdődik, amelyet a jel neve követ, amely lehet jel vagy különböző jelhálózatok kombinációja.

A hajtóerő és késleltetés opcionálisak, és többnyire adatfolyam-modellezésre használják, mint valódi hardverbe történő szintetizálásra.

A jobb oldali jelet kiértékeli és hozzárendeli a bal oldali hálóhoz vagy a hálók kifejezéséhez.

a java karakterláncot tartalmazza
 assign = [drive_strength] [delay] 

A késleltetési értékek hasznosak a kapuk késleltetésének meghatározásához, és valós hardverben az időzítési viselkedés modellezésére szolgálnak. Az érték határozza meg, hogy a nettóhoz mikor kell hozzárendelni a kiértékelt értéket.

Szabályok

Néhány szabályt be kell tartani a hozzárendelési utasítás használata során:

  • Az LHS-nek mindig skalárnak, vektornak vagy skalár- és vektorhálók kombinációjának kell lennie, de soha nem skalárnak vagy vektorregiszternek.
  • Az RHS skaláris vagy vektorregisztereket és függvényhívásokat tartalmazhat.
  • Amikor az RHS bármely operandusa értéke megváltozik, az LHS az új értékkel frissül.
  • A hozzárendelési utasításokat folyamatos hozzárendeléseknek is nevezik.

Rend változók hozzárendelése

Nem tudunk vezetni vagy megbízni reg típusú változókat hozzárendelési utasítással, mert a reg változó képes adatokat tárolni, és nem hajtja folyamatosan.

Reg jelek csak olyan eljárási blokkokban hajthatók meg, mint például mindig és kezdeti.

Implicit folyamatos hozzárendelés

Ha egy hozzárendelési utasítást használunk arra, hogy az adott hálót valamilyen értékkel rendeljük hozzá, akkor annek nevezzük kifejezett feladat

Ha a net során elvégzendő feladatot deklarálják, azt an-nak nevezzük beleértett feladat.

 wire [1:0] a; assign a = x & y; // Explicit assignment wire [1:0] a = x & y; // Implicit assignment 

Kombinációs logikai tervezés

Tekintsük a következő, kombinált kapukból készült digitális áramkört és a megfelelőt Verilog kód.

java string.format
Verilog hozzárendelési nyilatkozat

A kombinációs logika megköveteli, hogy a bemeneteket folyamatosan hajtsák meg a kimenet fenntartása érdekében, ellentétben a szekvenciális elemekkel, például a flip-flopokkal, ahol az értéket rögzítik és az óra szélén tárolják.

Egy hozzárendelt utasítás megfelel a célnak, mert az o kimenet minden alkalommal frissül, amikor a jobb oldali bemenetek bármelyike ​​megváltozik.

 // This module takes four inputs and performs a Boolean // operation and assigns output to o. // logic is realized using assign statement. module combo (input a, b, c, d, output o); assign o = ~((a & b) | c ^ d); endmodule 

Hardver séma

A tervezés kidolgozása és szintézise után a kombinációs áramkör ugyanúgy viselkedik, mint a hozzárendelési utasítás által modellezett.

Verilog hozzárendelési nyilatkozat

Az o jel 1 lesz, amikor az RHS kombinációs kifejezése igaz lesz.

Hasonlóképpen, az o 0 lesz, ha az RHS hamis. Az o kimenet X 0 ns és 10 ns között, mivel a bemenetek ugyanabban az időben X.