关于verilog语言if(!res_n)什么意思?

2019-07-16 01:21发布

捕获.PNG
verilog语言if(!res_n)什么意思?
这个if(!res_n)什么意思呢?这个res_n我知道,就是if(!)这个不知道什么意思?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
Bob-Liu
1楼-- · 2019-07-16 01:47
意思就是说: 如果res_n为低电平,则。。。
haozix521
2楼-- · 2019-07-16 05:52
Bob-Liu 发表于 2013-8-24 22:06
意思就是说: 如果res_n为低电平,则。。。

res_n是低电平啊,为什么还要加一个! 呢
九章融碎心平凡
3楼-- · 2019-07-16 11:35
 精彩回答 2  元偷偷看……
九章融碎心平凡
4楼-- · 2019-07-16 17:29
一个模块一般是这样的:
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

评分

参与人数 1积分 +2 收起 理由 A670521546 + 2

查看全部评分

4515515
5楼-- · 2019-07-16 22:01
{:20:}
Bob-Liu
6楼-- · 2019-07-16 22:27
haozix521 发表于 2013-8-24 22:38
res_n是低电平啊,为什么还要加一个! 呢

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为低电平),则进行复位。


评分

参与人数 1威望 +2 +2 积分 +2 收起 理由 A670521546 + 2 + 2 + 2 很给力

查看全部评分

一周热门 更多>