logo

Верилог ассигн Статемент

Наредбе Ассигн се користе за покретање вредности на мрежи. И такође се користи у Моделирање тока података .

Сигнали типа жице или типа података захтевају континуирано додељивање вредности. Све док је батерија +5В примењена на један крај жице, компонента повезана на други крај жице ће добити потребан напон.

Овај концепт се реализује наредбом додељивања где било која жица или друга слична жица (типови података) може да се покреће континуирано са вредношћу. Вредност може бити или константа или израз који се састоји од групе сигнала.

Синтакса

Синтакса доделе почиње кључном речи ассигн, праћено именом сигнала, које може бити или сигнал или комбинација различитих сигналних мрежа.

Тхе погонска снага и кашњење су опциони и углавном се користе за моделирање протока података него за синтезу у прави хардвер.

Сигнал на десној страни се вреднује и додељује мрежи или изразу мрежа на левој страни.

 assign = [drive_strength] [delay] 

Вредности кашњења су корисне за одређивање кашњења за капије и користе се за моделирање понашања времена у стварном хардверу. Вредност диктира када мрежи треба да буде додељена процењена вредност.

Правила

Нека правила се морају поштовати током употребе изјаве о додели:

  • ЛХС увек треба да буде скалар, вектор или комбинација скаларних и векторских мрежа, али никада скаларни или векторски регистар.
  • РХС може да садржи скаларне или векторске регистре и позиве функција.
  • Кад год било који операнд на РХС промени вредност, ЛХС ће бити ажуриран новом вредношћу.
  • Додели искази се такође називају континуираним додељивањем.

Додели рег променљиве

Не можемо да возимо или доделимо рег тип променљиве са наредбом за додељивање јер је рег променљива способна да складишти податке и не покреће се непрекидно.

Рег сигнали се могу покретати само у процедуралним блоковима као што су увек и почетни.

Имплицитно континуирано додељивање

Када се наредба ассигн користи за додељивање дате мреже са неком вредношћу, она се назива ан експлицитна додељивање

Ако је декларисана додела која треба да се уради током мреже, то се зове ан имплицитно додељивање.

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

Комбинациони логички дизајн

Размотрите следеће дигитално коло направљено од комбинационих капија и одговарајућих Верилог код.

Верилог ассигн Статемент

Комбинациона логика захтева да се улази непрекидно управљају како би се одржао излаз, за ​​разлику од секвенцијалних елемената као што су јапанци где се вредност хвата и чува на ивици сата.

Додељени исказ задовољава сврху јер се излаз о ажурира кад год се било који од улаза на десној страни промени.

 // 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 

Хардваре Сцхематиц

Након елаборације дизајна и синтезе, комбинационо коло се понаша на исти начин као што је моделовано наредбом за додељивање.

Верилог ассигн Статемент

Сигнал о постаје 1 кад год комбиновани израз на РХС-у постане истинит.

Слично, о постаје 0 када је РХС нетачан. Излаз о је Кс од 0нс до 10нс јер су улази Кс током истог времена.