плохо знакомы с Verilog (ну, на самом деле, SystemVerilog, но я обнаружил, что для самых базовых ключевых слов c, таких как assign и initialize, я также могу учиться на ресурсах Verilog). Я следую примеру 2 по этой ссылке chipverify example 2 . Это просто, поэтому я запишу это. Я чувствую, как будто они совершили ошибку, но так как я новичок ie, трудно понять, правильно ли мое чувство или нет.
module xyz (input [3:0] x, //let x='hC or x='b1100 for this example's purposes
input y, //y is a 1bit scalar y='h1 = 'b1
output [4:0] z);
//case 8
assign z = {3{y}};
endmodule
В случае 8 они говорят, что z приведет к z = 'b00111. Я не думаю, что это правильно! Следуя их случаю 3, где z назначены только биты [4: 1], он заявил, что бит расширения не будет извлечен и, следовательно, приведет к высокому импедансу Z. Если бы результат случая 8 не был тогда z = ' bZZ111 , а не z = 'b00111 ?
Дайте мне знать, спасибо! =)