集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1844|回复: 2

这句verilog代码是什么意思?写得是否正确?

[复制链接]
ANG 发表于 2010-6-27 23:12:48 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-12 17:03 编辑

下面这句代码的逻辑怎么理解?
SPI_FifoWRn_r <= '1' when (reset='1') else SPI_FIFO_WRn_cs when (ADDR_s=A_FWR) else '1';


我仿照上面的代码写成下面的一个逻辑,是否正确呢?
we_SPI <= WRn_cs and tx_reg and ADSn when (addrbus_in(1 downto 0)="00") else WRn_cs and ADSn else '1';

我想表达的意思是:如果addrbus_in(1 downto 0)="00" 的话 we_SPI <= WRn_cs and tx_reg and ADSn
           如果addrbus_in(1 downto 0)="01"或者"10"或"11" 的话 we_SPI <= WRn_cs and ADSn
          最后的else '1'有没有必要加啊?

有没有更简单通用的表述方法?
ngtim 发表于 2010-6-28 00:20:08 | 显示全部楼层
else '1'确实没必要了<br>
前面已经有一个else WRn_cs and ADSn
ngtim 发表于 2010-6-28 00:56:27 | 显示全部楼层
仿照的也太死板了把,看看是什么对什么啊<br>
没必要加那个else 1拉
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 04:18 , Processed in 0.061190 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表