Тип входных и выходных сигналов по умолчанию SystemVerilog - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь самостоятельно изучить SystemVerilog (я студент университета, и в своих проектах я всегда использовал VHDL), и у меня есть вопрос, касающийся типов данных.До сих пор, я думаю, я понял различия, плюсы и минусы между reg, wire и logic, но мне интересно, в этом фрагменте кода:

module example(

input clk,
input nrst,
input nset,
input up,
input [3:0] preload,
output [3:0] counter

);

какой тип назначен по умолчаниюна входы и выходы?Это логика (так как это лучший выбор для "повседневных" схем)?

1 Ответ

0 голосов
/ 03 января 2019

В SystemVerilog wire и reg/logic являются тесно связанными, но независимыми понятиями.logic - это тип данных , а wire обозначает чистый (или сетевой) сигнал вид .Существует два основных типа сигналов: сети (wire) и переменные (var). В объявлении списка портов по умолчанию используется значение wire logic, что означает 1-битную сеть с 4 состояниями.

Значения по умолчанию начинают становиться более сложными, когда вы указываете тип данных без вида и наоборот.Для входных данных по умолчанию неопределенный kind всегда является сетью, но для выходных данных, как только вы укажете тип данных , тип по умолчанию станет var.Verilog обращается к ленивым инженерам, которые не любят кодирование.Я предлагаю быть явным и никогда не использовать по умолчанию.

У меня есть несколько примеров этого здесь .

...