Тип Wire
Часть раздела Основы путешествия по Verilog на Coddy — урок 6 из 90.
В Verilog нам нужно объявить, какой тип сигнала мы используем. Самый распространенный тип — это wire.
wire представляет собой физическое соединение между компонентами. Это как настоящий провод в схеме.
- Провода не могут хранить значения — они просто пропускают значения через себя
- Провода используются с операторами
assign - Провода используются для соединения модулей друг с другом
Объявление wire
wire a; // Однобитный wire
wire b, c; // Несколько wire в одной строкеКак работают wire
module wire_example;
wire x;
reg y;
assign x = y; // x всегда следует за y
endmodulex связан с y. Всякий раз, когда y изменяется, x изменяется мгновенно.
Провода обычно используются для соединения входов и выходов:
module and_gate(
input a, // 'a' по умолчанию является проводом (wire)
input b, // 'b' по умолчанию является проводом (wire)
output c // 'c' по умолчанию является проводом (wire)
);
assign c = a & b; // c управляется этим назначением
endmoduleВ этом примере a, b и c — это проводники.
Проводники — это «клей», который соединяет различные части вашей схемы вместе!
Задание
Что нужно сделать:
- Добавьте wire с именем
temp
Шпаргалка
Wire представляет собой физическое соединение между компонентами. Проводники (wires) не могут хранить значения — они просто передают их.
wire a; // Однобитный проводник
wire b, c; // Несколько проводников в одной строкеПроводники используются с операторами assign. Всякий раз, когда источник меняется, значение проводника обновляется мгновенно:
wire x;
assign x = y; // x всегда следует за yВходы и выходы модуля по умолчанию являются проводниками (wires):
module and_gate(
input a, // wire по умолчанию
input b, // wire по умолчанию
output c // wire по умолчанию
);
assign c = a & b;
endmoduleПопробуйте сами
module simple(
input a,
input b,
output c
);
assign c = a & b;
// Объявите здесь wire temp
endmoduleВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
1Введение
Что такое VerilogHardware против SoftwareУровни абстракции проектированияВаш первый модульКомментарии4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияОператоры сравненияПовторение: простая математикаПобитовые операторы7Оператор Assign и логические вентили
Непрерывное присваиваниеAssign с операторамиВстроенные примитивы вентилейВентили AND, OR, NOTВентили XOR, XNORИтоги: Схемы на логических вентилях10Принятие решений
Оператор ifКонструкция if - elseПовторение: простой компараторОператор caseОператоры casex и casezПовторение: проектирование ALU5Операторы. Часть 2
Логические операторыОператоры редукцииОператоры сдвигаОператор конкатенацииУсловный операторПовторение — Испытание по операторам3Системы счисления
Двоичное представлениеЧисла с заданным размеромЧисла без заданного размераОтрицательные числаСпециальные значения X и ZИтоги — форматы чисел6Модули
Структура модуляВходные и выходные портыПорты InoutИнстанцирование модуляПодключение портов по имениПодключение портов по порядкуИтоги: создание модуля9Процедурные блоки
Блок alwaysБлок initialСписок чувствительностиБлокирующее присваиваниеНеблокирующее присваиваниеИтоги: always против initial