10 вопросов для интервью Verilog (с примерами)
Verilog — это компьютерный язык описания оборудования, используемый для описания электронных систем и схем. Он был изобретен в 1980-х годах и с тех пор является одним из самых популярных языков описания. Если вы готовитесь к собеседованию на должность, использующую язык Verilog, вам необходимо ознакомиться с некоторыми из наиболее часто задаваемых вопросов на собеседовании в Verilog. В этой статье мы рассмотрим 10 вопросов Verilog, основанных на знаниях, и примеры успешных ответов.
10 вопросов Verilog, часто задаваемых на собеседовании (с примерами ответов)
Прежде чем встретиться с менеджером по найму или работодателем для собеседования, важно потратить некоторое время на отработку ответов на распространенные вопросы интервью. Вот 10 распространенных вопросов для интервью Verilog с примерами ответов:
1. В чем разница между блокировкой и неблокировкой?
Пример: «Verilog имеет два типа процедурных операторов присваивания, блокирующий и неблокирующий. Оба идентифицируются с помощью операторов присваивания, представленных символами = и <=. Блокирующий оператор присваивания ведет себя аналогично старым языкам программирования. оператор завершается сразу, прежде чем управление переходит к следующему оператору. Однако неблокирующий оператор оценивает все правые части для текущей единицы времени и назначает левые части позже по завершении единицы времени».
2. Объясните полный случай Verilog и параллельный случай.
Пример: «Полные операторы case — это операторы, в которых каждый двоичный шаблон потенциального case-выражения может сопоставляться либо с элементом case, либо со значением по умолчанию. бинарное выражение case, которое не соответствует ни одному из определенных элементов case, оператор case не будет считаться полным.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Параллельный оператор case — это оператор, в котором можно сопоставить только выражение case, только один элемент case. Если вы можете найти выражение case, которое подходит более чем к одному элементу case, совпадающие элементы case называются «перекрывающимися элементами case», и оператор case не будет параллельным».
3. В чем разница между задачей и функцией?
Пример: «Функция не может активировать задачу, но функции могут активировать другие функции, внутри функций не допускаются никакие события, операторы управления временем или задержки, и в каждой функции всегда должен быть как минимум один аргумент. Кроме того, функции могут дают только одно значение и не могут использовать операторы ввода или вывода. Кроме того, задачи могут включать функцию и включать дополнительные версии определенной задачи. Задачи могут содержать любые операторы и могут использовать ноль или более аргументов, включая вывод, ввод или Вход.”
4. Что такое ПЛИ?
Пример: «Интерфейс языка программирования, или PLI, представляет собой механизм, который позволяет взаимодействовать между программами Verilog и программами, написанными на языке C. Он также обеспечивает механизм доступа к внутренним базам данных симулятора в программе C. Пользователи используют PLI для реализации системы. вызовы, которые сложны, а иногда и невозможны при использовании синтаксиса Verilog. Использование PLI позволяет вам использовать преимущества как параллельных, так и аппаратных функций Verilog, а также последовательного выполнения программы на языке C».
5. В чем разница между == и ===?
Пример: «Вывод == может быть либо 1, 0, либо X. Однако вывод === может быть только 0 или 1. Если вы сравниваете два номера с помощью == и если один или оба числа имеют один или более битов как X, то вывод будет X. Но, если вы использовали ===, вывод будет 0 или 1. == можно использовать только для сравнения 1 и 0, так как он не может сравнивать X. Чтобы сравнить X, вам нужно будет включить ===».
6. Что такое $monitor, $display и $strobe?
Пример: «Все эти команды имеют схожий синтаксис и отображают текст на экране во время моделирования. Как правило, они менее удобны в использовании, чем инструменты формирования сигналов, такие как cwaves. $display и $strobe появляются один раз при каждом их выполнении. , но $monitor отображается каждый раз, когда вы изменяете один из параметров.”
Ключевое различие между $display и $strobe заключается в том, что $strobe отображает параметры в конце текущей единицы времени симуляции, а не в момент ее выполнения. Последовательность форматирования похожа на C/C++ и иногда содержит символы форматирования. Обычно используемые символы формата включают «%d» для десятичного, «%h» для шестнадцатеричного, «%b» для двоичного, «%c» для символа, «%s» для строки, «%t» для времени и «%». m” для уровня иерархии.
7. Как бы вы выполнили блокирующие и неблокирующие операторы?
Пример: «Чтобы выполнить блокирующие присваивания, вы обычно должны выполнить простой процесс, состоящий из оценки уравнения правой части и обновления выражения левой части без вмешательства другого оператора Verilog. Функция блокирующего присваивания состоит в том, чтобы блокировать замыкающие присваивания. до тех пор, пока не завершится текущее присваивание.И наоборот, процесс выполнения неблокирующих присваиваний включает два шага: оценить правую часть всех неблокирующих операторов в начале временного шага и обновить левую часть все неблокирующие операторы в конце временного шага».
8. Объясните транспортную задержку и инерционную задержку.
Пример: «Задержка передачи — это задержка, вызванная проводами, соединяющими ворота. Провода задерживают сигнал, который они передают, из-за сопротивления провода, индуктивности и капитана. Задержка передачи — это в основном задержка распространения по проводу. В Verilog задержка передачи моделируется следующим образом: a <= #10 b. Инерционная задержка — это время, которое требуется вентилю для изменения своего выхода. В Verilog инерционная задержка моделируется следующим образом: присвоить #10 a = b;.
9. Каковы основные различия между Verilog и VDHL?
Пример: «Verilog синтаксически похож на язык программирования типа C, в то время как VHDL больше похож на язык ADA. Verilog легко выучить и просто написать, но VHDL требует больше времени для изучения и требует более сложного написанного кода. Verilog также поддерживает логическое представление более низкого уровня, а VHDL — нет».
10. К чему относятся термины wire и reg?
Пример: «Провод — это физическое соединение между структурными элементами, которые необходимы для функционирования Verilog. Его значение обозначается непрерывным назначением или выходом логического элемента. Тип регистра, также называемый reg, integer, time, real и real-time, представляет собой абстрактный элемент хранения данных, ему присваиваются значения только в рамках оператора always или начального оператора.
Основное различие между wire и reg заключается в том, что wire не может хранить значение, если нет связи между a и b. Без такого соединения, как a->b, провод теряет ценность. Однако reg может хранить значение, даже если физического соединения нет. Значения wire и reg по умолчанию — Z и X соответственно».