Тип Wire
Часть раздела Основы путешествия по Verilog на Coddy — урок 6 из 90.
В Verilog нам нужно объявлять тип используемого сигнала. Самый распространенный тип — wire.
wire представляет собой физическое соединение между компонентами. Это как реальный провод в схеме.
- Проводники (
wire) не могут хранить значения — они просто передают их дальше - Проводники используются с операторами
assign - Проводники используются для соединения модулей между собой
Объявление wire
wire a; // Однобитный провод
wire b, c; // Несколько проводов в одной строкеКак работают wire
module wire_example;
wire x;
reg y;
assign x = y; // x всегда следует за y
endmodulex подключен к y. Каждый раз, когда меняется y, x мгновенно меняется.
wires обычно используются для соединения входов и выходов:
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.
wire — это «клей», который соединяет вместе различные части вашей схемы!
Задание
Что нужно сделать:
- Добавьте wire с именем
temp
Попробуйте сами
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