Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Verilog

Экземпляры модуля Verilog

Как мы видели в предыдущей статье, более крупные и сложные проекты строятся путем иерархической интеграции нескольких модулей. Модули могут быть созданны внутри других модулей и портов этих экземпляров могут быть связаны с другими сигналами внутри родительского модуля.

Эти соединения портов могут быть выполнены через упорядоченный список или по имени.

Подключение портов по упорядоченному списку

Один из способов установления соединения между выражениями порта, перечисленными в экземпляре модуля, и сигналами внутри родительского модуля — это нумерованный список. .

мой дизайн - это 08 создан с именем d0 в другом модуле с именем tb_top. Порты подключаются в определенном порядке, который определяется положением этого порта в списке портов объявления модуля. Например, b в испытательном стенде подключен к y проекта просто потому, что оба находятся на второй позиции в списке портов.

06

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

Это очень неудобно, потому что порядок может измениться, если в список будет добавлен новый порт или когда количество портов в проекте очень велико.

Подключение порта по имени

Лучший способ соединить порты – явно связать порты с обеих сторон, используя их имя порта. .

Точка 14 указывает, что имя порта, следующее за точкой, принадлежит проекту. Имя сигнала, к которому должен быть подключен проектный порт, указано в круглых скобках 24 .

15 

Рекомендуется закодировать каждое соединение порта в отдельной строке, чтобы любое сообщение об ошибке компиляции правильно указывало на номер строки, в которой произошла ошибка. Это намного проще отлаживать и устранять, чем не знать, какой порт вызвал ошибку, если бы все они были в одной строке.

Поскольку эти соединения выполняются по имени, порядок их появления не имеет значения. Не допускается подключение нескольких портов экземпляра модуля.

23

Неподключенные/плавающие порты

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

37

Пример

Давайте возьмем пример со сдвиговым регистром, который мы видели ранее, и оставим некоторые порты неподключенными.

45

Обратите внимание, что выходы экземпляров u1 и u2 остаются неподключенными на схеме RTL, полученной после синтеза. Поскольку вход d экземпляров u2 и u3 теперь подключен к цепям, которые ничем не управляются, он заземлен.

При моделировании такие неподключенные порты будут обозначаться как порты с высоким импедансом ('hZ), которые обычно отображаются на осциллограммах в виде оранжевой линии, вертикально расположенной посередине.

Все объявления портов неявно объявлены как 32 и, следовательно, в этом случае достаточно направления порта. Однако 49 порты, которые должны хранить значения, должны быть объявлены как 54 тип данных и может использоваться в процедурном блоке, таком как 69 и 71 только.

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

53

Verilog

  1. Учебник Verilog
  2. Конкатенация Verilog
  3. Verilog - в ореховой скорлупе
  4. Верилог Задания
  5. Блокировка и неблокировка Verilog
  6. Верилог-функции
  7. Верилог Задача
  8. Иерархическая справочная область Verilog
  9. Генератор часов Verilog
  10. Математические функции Verilog