verilog always语句中怎么实现 延时一定时间100ns左右 急?
时钟假设50MHZ我想实现的是if(!reveive)send=0(send延时100ns);//就是想在这部分里实现100ns延时,使send延迟100ns的低电平之后...
时钟假设50MHZ 我想实现的是 if(!reveive)
send=0(send延时100ns); //就是想在这部分里实现100ns延时,使send延迟100ns的低电平之后再变高。这里该怎么写呢??
else send=1; 展开
send=0(send延时100ns); //就是想在这部分里实现100ns延时,使send延迟100ns的低电平之后再变高。这里该怎么写呢??
else send=1; 展开
1个回答
展开全部
50MHZ时钟20ns周期。延时100ns就是五个周期。
reg[2:0] cnt;
always@(posedge clk or nengedge reset)
if(!reset)
cnt <= 0;
else if(cnt == 5 \\(或)!reverve)这里两个竖线打出来是斜的
cnt <= 0;
else
cnt <= cnt + 1'b1;
always@(posedge clk or nengedge reset)
if(!reveive)
send <= 0;
else if(cnt == 5)
send <= 1;
else
send <= send;
reg[2:0] cnt;
always@(posedge clk or nengedge reset)
if(!reset)
cnt <= 0;
else if(cnt == 5 \\(或)!reverve)这里两个竖线打出来是斜的
cnt <= 0;
else
cnt <= cnt + 1'b1;
always@(posedge clk or nengedge reset)
if(!reveive)
send <= 0;
else if(cnt == 5)
send <= 1;
else
send <= send;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询