как писать Verilog отбора части автобуса

J

jfzhan

Guest
Уважаемые все,

Есть автобус [0:100], B [0:15], а также зарегистрироваться длины [3:0].
Регистры могут быть установлены пользователем.
Если длина = 0, B [0:15] = [0:15],
Если длина = 1, B [0:15] = [1:16],
Если длина = 2, B [0:15] = [2:17],
Если длина = 3, B [0:15] = [3:18], и так далее.

я могу писать так,
назначить s_point = длина;
назначить e_point = длина 15;
назначить B [0:15] = [s_point: e_point];

Лучшим методом является следующий метод?

всегда @ (длины или) начинают
случае (длина)
0: B [0:15] = [0:15];
1: B [0:15] = [1:15];
2: B [0:15] = [2:15];
...
15: B [0:15] = [15:30];
endcase
конец

Ли там есть какие-то хороший способ писать??

Спасибо!

 
Привет,
Не простой Verilog.Но в SystemVerilog, вы можете сделать:

Код:назначить B [0:15] = [s_point : 15];
 
Мне очень жаль!Я только хочу знать, как писать его в Verilog!

 
Я считаю, что оптимальный способ

всегда @ (длины или) начинают
случае (длина)
0: B [0:15] = [0:15];
1: B [0:15] = [1:15];
2: B [0:15] = [2:15];
...
15: B [0:15] = [15:30];
endcase
конец

 
Да.Я думаю, только второй метод является хорошим способом.

 

Welcome to EDABoard.com

Sponsor

Back
Top