首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

新手求救Verilog问题

新手求救Verilog问题

module convolver(din,clk,reset,dout,dout2);
input din,clk,reset;
output[2:0] dout;
output[2:0] dout2;

reg[2:0] dout_temp;

reg[2:0] dout2_temp;
initial
dout_temp=3'b0;
always @(posedge clk or posedge reset )
begin
if (reset)
dout_temp=3'b0;
else
begin
dout_temp = dout_temp << 1; //输出信号左移一位
dout_temp[0] = din; //输入信号补充到输出信号的最低位
end
end
assign dout=dout_temp;
assign dout2={dout[0],dout[0]^dout[2],dout[0]^dout[1]^dout[2]};
endmodule
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
module convolver(din,clk,reset,dout,dout2);
input din,clk,reset;
output[2:0] dout;
output[2:0] dout2;

reg[2:0] dout_temp;

reg[2:0] dout2_temp;
initial
dout_temp=3'b0;
always @(posedge clk or posedge reset )
begin
if (reset)
dout_temp=3'b0;
else
begin
dout_temp = dout_temp << 1; //输出信号左移一位
dout_temp[0] = din; //输入信号补充到输出信号的最低位
dout2_temp={dout[0]^dout[1]^dout[2],dout[0]^dout[2],dout[0]};
end
end
assign dout=dout_temp;
assign dout2=dout2_temp;
endmodule

两个模块有什么不同?

返回列表