logo

Verilog priskyrimo pareiškimas

Priskyrimo sakiniai naudojami vertėms tinkle valdyti. Ir jis taip pat naudojamas Duomenų srauto modeliavimas .

Laido ar duomenų tipo signalams reikia nuolat priskirti vertę. Kol viename laido gale bus prijungta +5 V baterija, komponentas, prijungtas prie kito laido galo, gaus reikiamą įtampą.

Ši koncepcija realizuojama priskyrimo sakiniu, kai bet koks laidas ar kitas panašus laidas (duomenų tipai) gali būti nuolat varomas su verte. Reikšmė gali būti konstanta arba išraiška, sudaryta iš signalų grupės.

Sintaksė

string json java

Priskyrimo sintaksė prasideda raktiniu žodžiu assign, po kurio nurodomas signalo pavadinimas, kuris gali būti signalas arba skirtingų signalų tinklų derinys.

The pavaros jėga ir delsimas yra neprivalomi ir dažniausiai naudojami duomenų srauto modeliavimui, o ne sintezei į tikrą aparatinę įrangą.

Dešinėje pusėje esantis signalas įvertinamas ir priskiriamas tinklui arba tinklų išraiškai kairėje pusėje.

avl medis
 assign = [drive_strength] [delay] 

Vėlavimo reikšmės yra naudingos nurodant vartų vėlavimą ir yra naudojamos modeliuoti laiko elgseną realioje aparatinėje įrangoje. Vertė nurodo, kada tinklui turi būti priskirta įvertinta vertė.

Taisyklės

Naudojant priskyrimo teiginį reikia laikytis kai kurių taisyklių:

  • LHS visada turėtų būti skaliarinis, vektorius arba skaliarinių ir vektorinių tinklų derinys, bet niekada ne skaliarinis ar vektorinis registras.
  • RHS gali turėti skaliarinius arba vektorinius registrus ir funkcijų iškvietimus.
  • Kai bet kurio RHS operando vertė pasikeičia, LHS bus atnaujinta nauja verte.
  • Priskyrimo teiginiai taip pat vadinami tęstiniais priskyrimais.

Priskirkite reg Kintamuosius

Negalime vairuoti ar paskirti reg tipo kintamuosius su priskyrimo sakiniu, nes reg kintamasis gali saugoti duomenis ir nėra nuolat valdomas.

java kamino

Reg signalai gali būti valdomi tik procedūriniuose blokuose, tokiuose kaip visada ir pradinis.

Numanomas nuolatinis priskyrimas

Kai priskyrimo sakinys naudojamas tam tikram tinklui priskirti tam tikrą reikšmę, jis vadinamas an aiškus paskyrimas

Jei deklaruojama užduotis, kurią reikia atlikti tinklo metu, ji vadinama an numanomas paskyrimas.

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

Kombinuotas loginis dizainas

Apsvarstykite šią skaitmeninę grandinę, pagamintą iš kombinuotų vartų ir atitinkamų Verilog kodas.

Verilog priskyrimo pareiškimas

Kombinuota logika reikalauja, kad įėjimai būtų nuolat valdomi, kad būtų išlaikytas išėjimas, kitaip nei nuoseklūs elementai, pvz., šlepetės, kai vertė fiksuojama ir saugoma laikrodžio krašte.

Priskirtas sakinys atitinka tikslą, nes išvestis o atnaujinama, kai pasikeičia bet kuri iš dešinės pusės įvesties.

java cast int į eilutę
 // 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 

Techninės įrangos schema

Parengus dizainą ir sintezę, kombinacinė grandinė veikia taip pat, kaip modeliuojama priskyrimo sakinyje.

Verilog priskyrimo pareiškimas

Signalas o tampa 1, kai kombinacinė išraiška RHS tampa teisinga.

Panašiai o tampa 0, kai RHS yra klaidingas. Išėjimas o yra X nuo 0 ns iki 10 ns, nes įėjimai yra X tuo pačiu metu.