0
데이터를 이동 한 다음 255로 11111111과 함께 "논리적 인"및 "논리적"으로 처리하려고합니다.하지만 마지막 비트에서 1을 얻고 있습니다. 다른 비트는 변경되지 않습니다. 데이터 이동이 올바르지 만 "and"연산자에 문제가 있습니다.논리적이고 Verilog로
module Data_shiftin(
input reset_n, clk,
input [31:0] data_in,
output [31:0] data_out
);
reg [31:0] data_R24;
reg [31:0] data_R16;
reg [31:0] data_R8;
reg [31:0] data_R;
reg [31:0] and_R16;
reg [31:0] and_R8;
reg [31:0] and_R;
integer a=255;
always @ (posedge clk)
begin
data_R24[7:0]<=data_in[31:24];
end
always @ (posedge clk)
begin
data_R16[15:0]<=data_in[31:16];
and_R16[15:0]<= a[7:0] && data_R16[15:0];
end
always @ (posedge clk)
begin
data_R8[23:0]<=data_in[31:8];
and_R8[23:0]<= a[7:0] && data_R8[23:0];
end
always @ (posedge clk)
begin
data_R[31:0]<=data_in[31:0];
and_R[31:0]<= a[7:0] && data_R[31:0];
end
endmodule
. 감사! 그것은 bitwise과 :) –
@ AwaisHussain, 당신이 책 (발행인)에 실수를 제출할 수 있다면 좋을 것이 다행, 그리고 그것은 정오표에 포함되어야합니다! 그들이 내가 그들에게 지적한 실수를 결코 출판하지 않는다고 말한다. – Morgan
게시자에게 메일을 보냈습니다. 나는 곧 반응을 얻기를 희망한다. –