楼主是想做32位的移位计数器吗?我初学者,不知下面的代码行不行?
always @(posedge CP)
begin
A_temp[0]<=Dat_IN;
A_temp[1]<=A_temp[0];
A_temp[2]<=A_temp[1];
...
A_temp[30]<=A_temp[29];
A_temp[31]<=A_temp[30];
end
Dat_IN是数据输入,高电平当做启动信号,如果想在A_temp[31]==1时停止移位,就改一下代码
always @(posedge CP)
begin
if(Reset)
begin
A_temp<=0;
end
else
if(A_temp[31]!=1)
begin
A_temp[0]<=Dat_IN;
A_temp[1]<=A_temp[0];
A_temp[2]<=A_temp[1];
...
A_temp[30]<=A_temp[29];
A_temp[31]<=A_temp[30];
end
end
Dat_IN是启动信号,Reset是复位信号。不知是否可行。
always @(posedge CP)
begin
A_temp[0]<=Dat_IN;
A_temp[1]<=A_temp[0];
A_temp[2]<=A_temp[1];
...
A_temp[30]<=A_temp[29];
A_temp[31]<=A_temp[30];
end
Dat_IN是数据输入,高电平当做启动信号,如果想在A_temp[31]==1时停止移位,就改一下代码
always @(posedge CP)
begin
if(Reset)
begin
A_temp<=0;
end
else
if(A_temp[31]!=1)
begin
A_temp[0]<=Dat_IN;
A_temp[1]<=A_temp[0];
A_temp[2]<=A_temp[1];
...
A_temp[30]<=A_temp[29];
A_temp[31]<=A_temp[30];
end
end
Dat_IN是启动信号,Reset是复位信号。不知是否可行。
移位寄存器如果按照你这样的方法写,那不得麻烦死,看看verilog数字系统设计那本书吧,用拼接符,或者移位写
一周热门 更多>