时钟脉冲的Verilog程序,但是编译总是无法通过

2019-07-15 23:42发布

基于ise14.7
下面是一个时钟脉冲的Verilog程序,但是编译总是无法通过,检查也检查不出问题,求大神赐教!!!
module clock_pulse(
    input wire inp,
         input wire cclk,
         input wire clr,
         output wire outp
    );
         reg delay1;
         reg delay2;
         reg delay3;         
         always@(posedge cclk or negedge clr)
           begin
                  if(clr==1'b1)
                    begin
                           delay1<=0;
                                delay2<=0;
                                delay3<=0;
                         end
                  else
                    begin
                           delay1<=inp;
                                delay2<=delay1;
                                delay3<=delay2;
                         end
                end
    assign outp=delay1 & delay2 & ~delay3;//产生时钟脉冲
endmodule

注:
编译时提示的错误是:ERROR:HDLCompiler:1128 - "E:ISE-FPGA Procedureclock_pulseclock_pulse.v" Line 41: Assignment under multiple single edges is not supported for synthesis
警告有:
WARNING:HDLCompiler:462 - "E:ISE-FPGA Procedureclock_pulseclock_pulse.v" Line 33: if-condition does not match any sensitivity list edge
WARNING:HDLCompiler:91 - "E:ISE-FPGA Procedureclock_pulseclock_pulse.v" Line 41: Signal <inp> missing in the sensitivity list is added for synthesis purposes. HDL and post-synthesis simulations may differ as a result.
WARNING:HDLCompiler:1499 - "E:ISE-FPGA Procedureclock_pulseclock_pulse.v" Line 21: Empty module <clock_pulse> remains a black box.

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。