Корзина

0 Товары - 0.00 RUB
В корзину

Курсы Валют

Курсы Валют  Дата ЦБ
Нал.USD
18.08 66.88
Нал.EUR
18.08 76.18
Нал.CNY
18.08 97.19

Оплата

visa

Реклама

Статьи

Verilog

Введение в язык Verilog.

Введение в язык Verilog

Языка verilog-это язык описания аппаратуры (HDL). HDL это язык, используемый для описания цифровой системы: например, сетевой коммутатор, микропроцессор или память или простой триггер. Это просто означает, что с помощью HDL, можно создать описание любого (цифрового) оборудования, любого уровня.

d_ff.gif

Verilog Code:
  1. //код D триггера
  2.  
  3. module d_ff ( d, clk, q, q_bar);
  4. input d ,clk;
  5. output q, q_bar;
  6. wire d ,clk;
  7. reg q, q_bar;
  8.  
  9. always @ (posedge clk)
  10. begin
  11. q <= d;
  12. q_bar <= ! d;
  13. end
  14.  
  15. endmodule

Можно описать простой триггер, как на рисунке выше, или сложную конструкцию, имеющую 1 млн вентилей. Verilog является одним из  лучших HDL языков для проектирования аппаратных средств. Это позволяет нам спроектировать цифровой дизайн на уровне поведения, на уровне регистровых передач (RTL), уровне логических элементов и на уровне вентилей. Verilog позволяет проектировщикам аппаратных средств выражать свои проекты поведенческими конструкциями, откладывая детали внедрения на более поздние стадии в заключительном дизайне.

Много инженеров, которые хотят выучить этот язык, очень часто задают этот вопрос, сколько времени потребуется, чтобы изучить Verilog? Хорошо, мой ответ на них, "Может потребоваться не больше, чем одна неделя, если Вы знаете по крайней мере один язык программирования".

Стили проектирования

Verilog, как любой другой язык описания аппаратных средств, разрешает дизайн или в Восходящей или в Нисходящей методологии.

Восходящее проектирование

Традиционный метод электронного дизайна восходящий. Каждый дизайн выполнен на логических элементов, используя стандартные библиотеки (обратитесь к справке для получения дополнительной информации). С увеличивающейся сложностью новых проектов этот подход почти невозможно поддерживать. Новые системы состоят из ASIC или микропроцессоров со сложностью тысяч транзисторов. Это традиционное восходящее проектирование должно уступить свое место новым структурным, иерархическим методам разработки. Без этих новых методов было бы невозможно создавать проекты с новой, возросшей сложностью.

Нисходящее проектирование

Желаемый стиль разработки всех проектировщиков - нисходящий. Реальный нисходящий стиль разработки позволяет осуществлять раннее тестирование, легкое применение различных технологий, внедрение структурированного системного проектирования и предлагает много других преимуществ. Но очень трудно придерживаться чистого нисходящего проектирования. Из-за этого факта большинство проектов - соединение обоих методов, включающих основные элементы обоих стилей разработки.

Пример  нисходящего проектирования

design_flow.gif

Уровни абстракции Verilog

Verilog поддерживает проектирование на разных уровнях абстракции. Три из них очень важны:

  • Поведенческий уровень
  • Уровень межрегистровых передач (УМП),
  • Уровень логических элементов

Поведенческий уровень

Этот уровень описывает систему параллельными (Поведенческими) алгоритмами. Каждый алгоритм сам последователен, он состоит из ряда инструкций, которые выполняются друг за другом. Функции (function), задачи (task) и блоки always, являются главными элементами. Этот уровень не имеет отношения к структурной реализации дизайна.

Уровень межрегистровых передач (УМП)

Проекты использующие уровень УМП определяют особенности схемы операциями передачи данных между регистрами. Используя явную привязку к времени. Дизайн УМП содержит точные границы выбора времени: операции, как намечено, произойдут в определенное время. Современное определение УМП - "Любой синтезабельный код, называется кодом УМП".

Уровень логических элементов

В пределах логического уровня особенности системы описаны логическими связями и их временными параметрами. Все сигналы - дискретные сигналы. У них могут только быть определенные логические значения ('0', '1', 'X', 'Z'). Применимые операции предопределены логические примитивы (И, ИЛИ, НЕ и другие логические элементы). Использование моделирования на уровне логических элементов не могло бы быть хорошей идеей для любого уровня логического дизайна. Код уровня логических элементов генерируется такими инструментами как инструменты синтеза, а созданный список цепей  используется для моделирования уровня логических элементов.

Перевод

Вход

Или классический вход:

Время

Ссылки

Карта сайта Визуальная электроника Полезные ссылки сайта Визуальная электроника


Пользуясь настоящим веб-сайтом, вы даете свое согласие на использование файлов cookies.
Подробнее. Ok