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

关于:Verilog HDL求教

将: //------------------------------------------------- always@(posedge clk1 or negedge clk2) begin d_out=data[1]; for(i=1;i<7;i=i+1) data=data[i+1]; data[7]=d_in; end 改为试一下: //------------------------------------------------ always@(posedge clk1) begin d_out=data[1]; for(i=1;i<7;i=i+1) {data=data[i+1]; data[7]=d_in;} end always@(negedge clk2) begin d_out=data[1]; for(i=1;i<7;i=i+1) {data=data[i+1]; data[7]=d_in;} end endmodule
对于你的第一段代码:
case 语句中defult 时的d_out的赋值呢
代码:
//--------------------------------------------
initial
begin
g=0;
case({clk,in1,in2})
3'b100: d_out=0;
3'b101: d_out=1;
3'b110: d_out=0;
3'b111: d_out=1;
default:g=1;
endcase
end
改为试一下:
//--------------------------------------------
initial
begin
case({clk,in1,in2})
3'b100: {d_out=0;
                 g=0;}
3'b101: {d_out=1;
                 g=0;}
3'b110: {d_out=0;
                g=0;}
3'b111:{ d_out=1;
                g=0;}
default:{d_out=0;//其它情况时的d_out的赋值
               g=1;}
endcase
end
返回列表