2019-07-16 01:21发布
Bob-Liu 发表于 2013-8-24 22:06 意思就是说: 如果res_n为低电平,则。。。
查看全部评分
haozix521 发表于 2013-8-24 22:38 res_n是低电平啊,为什么还要加一个! 呢
最多设置5个标签!
res_n是低电平啊,为什么还要加一个! 呢
reg[17:0]cnt;
always @(posedge clk or negedge rst)begin
if(!rst)begin
cnt<=0;//对变量进行初始化赋值,rst一般是dcm模块出来的一个复位信号,低电平有效,所以要取反
end
else begin
cnt<=cnt+1;//变量自加,注意会溢出,溢出后又从0开始自加
end
end
评分
查看全部评分
res_n有高电平1的时候,也有低电平0的时候,还有可能会是未知状态x,显然,在这里你是想要在res_为0的时候对cnt进行复位。
if()的意义是:如果()里逻辑值为1,则怎么怎么样。所以如果写成if(res_n)意思就是:如果res_n为逻辑1则进行复位,不符合你的要求。因此为了满足低电平才复位的要求,要在res_n前加个!号(!号表示对信号电平取反),也就是if(!res_n),表示如果!res_n为逻辑1(即如果res_n为低电平),则进行复位。
评分
查看全部评分
一周热门 更多>