|  | 
 
| 
最近在接手维护离职同事的项目,FPGA控制的多信号采集存储系统。没想到他几万行的代码都没写注释,头都大!!看代码的时候发现他经常用下来的语句来调整时序:
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  
 
 
    
        复制代码
 module example(iclk,idata,odata);
input iclk;
input idata;
output odata;
reg rdata1,rdata2,rdata3;
always@(posedge iclk)
begin
    rdata1<=idata;
    rdata2<=rdata1;
    rdata3<=rdata2;
end
assign    odata = rdata3;
endmodule
 
 
 请问这种这种延时靠谱吗,是他比较厉害规划出要设置几个reg来控制延时,还是这样写不好?
 
 
 很多时候他的设计,嵌套在大模块底下的小模块的一些判断下降沿的语句:
 
 
 
    
        复制代码
 module example2(imainclk,idata,odata);
input imainclk,idata;
output odata;
reg rdata1,rdata2;
always@(posedge imainclk)
begin
    rdata1<=idata;
    rdata2<=rdata1;
    if(rdata2 == 1 && rdata1 == 0)
        odata<=1;
    else
        odata <=0;
end
endmodule
 
 
 请问各位大大,这样的他为什么要这样写,改成if(posedge idata)会有什么区别啊?
 | 
 |