[CPLD] 请教一条VERILOG的语句

[复制链接]
 楼主| 小研究 发表于 2016-7-20 09:45 | 显示全部楼层 |阅读模式
设计了一道CPLD程序,出了点小问题,最初用的是:
assign IOR=((CSA&CSB==1'b0)&&XR_W==1'b1&&XRD==1'b0)?0:1;  //SCI READING
但IOR这个信号出不来。
将此语句该写为:
assign IOR=((CSA==0||CSB==0)&&XR_W==1'b1&&XRD==1'b0)?0:1;  //SCI READING
就可以了。
两者有什么差别?
谢谢。
zyingjie 发表于 2016-7-20 10:08 来自手机 | 显示全部楼层
代码读不懂,为啥不多扩几个括号呢?
玄德 发表于 2016-7-20 11:03 | 显示全部楼层

CSA、CSB是几位宽度?


 楼主| 小研究 发表于 2016-7-20 13:44 | 显示全部楼层
搞明白了,的确是优先级的问题,&的优先级比==低。
或者多加括号。
谢谢。
 楼主| 小研究 发表于 2016-7-20 13:46 | 显示全部楼层
CSA和CSB是一位的片选信号,这条语句想表达:
主CPU(DSP)片选选中芯片A或B,且对其进行读操作的时候,芯片A或B的读信号有效。
kk118a 发表于 2016-7-20 13:49 | 显示全部楼层
&和&&不 一样
 楼主| 小研究 发表于 2016-7-20 14:10 | 显示全部楼层
对于一位的变量来说,&和&&是一样的。二者的优先级都比==低,这点跟C语言差别很大。
xmar 发表于 2016-7-20 14:29 | 显示全部楼层
本帖最后由 xmar 于 2016-7-20 14:49 编辑

第一个: IOR = /[(CSA*/CSB)*XR_W*/XRD]

第二个: IOR = /[(/CSA + /CSB)*XR_W*/XRD]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

869

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部

153

主题

869

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部