Модуль (module), порты, операторы ветвления, циклы

Главным элементом проекта на языке Verilog является модуль (module). Модуль состоит из имени модуля, определения портов, цепей и регистров, описания функционирования.

Ниже приведен пример простого модуля, который выполняет функцию NAND. Первая строка описания модуля содержит имя модуля и список портов. Вторая и третья строки объявляют направление для всех портов. (Порты могут  быть входными, выходными или двунаправленными). Четвертая строка в описании объявляет тип «провода». Следующая строка описывает функцию модуля. Последняя строка объявляет конец модуля.

   module NAND (y, a, b);

      output y; // объявление выходов

      input a, b; // объявление входов

      wire y, a, b; // тип цепь

        nand (у, a, b); // функция

   endmodule // конец модуля

Порты (Ports)

Порты обеспечивают связь модуля с другими модулями проекта. Список портов пишется через запятую в круглых скобках после имени модуля, как показано ниже.

module d_ff (q, d, reset, clock);

module Stimulus; // модуль не имеющий портов

Порты модуля характеризуются направлением потока информации. Они могут быть входными (input), выходными (output) и двунаправленными (inout

Ссылка на основную публикацию
Adblock detector