Обозначение автобуса в Verilog - PullRequest
3 голосов
/ 26 марта 2019

Я всегда думал, что обозначения шины аннотируются так:

input bus[MSB:LSB]

, где MSB> = LSB.

Но недавно мне сказали, что даже это возможно:

wire LSB >= MSB.

Это даже правда?

Если это так, то почему инструменты синтезатора получают размер шины и все такое?Считают ли они, что какой бы индекс ни был большим - MSB?

Ответы [ 2 ]

3 голосов
/ 26 марта 2019

Да, оба направления нумерации битов могут использоваться в объявлениях. Однако при выборе битов необходимо использовать тот же порядок. Например

wire [0:15] bus;
reg  [15:0] data;
assign bus [3:6] = data[3:0];

В большинстве случаев в промышленности используется второе обозначение (msb> lsb), и оно поощряется по соображениям согласованности. Однако в некоторых ситуациях удобно делать обратное.

2 голосов
/ 26 марта 2019

Нумерация битов не имеет значения, пока вы не выберете один бит или часть выбора шины.До тех пор, пока вы знаете, как объявляется сигнал, любой инструмент может определить ширину в битах и ​​порядок следования мсб

...