Что такое Verilog
Часть раздела Основы путешествия по Verilog на Coddy. Урок 1 из 90.
Verilog — это язык описания аппаратуры (HDL), используемый для моделирования, проектирования и симуляции цифровых электронных схем — от простых логических вентилей до сложных процессоров.
В отличие от языков программирования, которые выполняются последовательно на CPU, Verilog описывает аппаратное обеспечение, работающее параллельно. Это отраслевой стандарт для проектирования FPGA и ASIC, используемый в таких инструментах, как ModelSim, Vivado и Quartus.
В этом курсе вы изучите Verilog с нуля: начнёте с базового вывода результатов симуляции, затем будете создавать комбинационные и последовательностные схемы и в итоге проектировать настоящие модули, такие как счётчики, регистры сдвига и интерфейсы UART.
Задание
ЛегкоДобро пожаловать в вашу первую программу на Verilog! Код уже написан за вас.
Что делать:
- Посмотрите на код. Он использует
$displayдля вывода текста, подобноprintfв C - Нажмите Запустить код, чтобы скомпилировать и смоделировать его
- В выводе вы должны увидеть
Hello World!
Примечание: Каждая программа на Verilog выполняется внутри module. Блок initial запускается один раз в начале симуляции, а $finish завершает её.
Попробуйте сами
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleВсе уроки раздела Основы
1Введение
Что такое VerilogАппаратное обеспечение и программное обеспечениеВаш первый модульКомментарииУровни абстракции проектирования4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicПотренируйтесь самостоятельно: Онлайн-компилятор Verilog