集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1808|回复: 5

always block內省略else所代表的電路 (SOC) (Verilog)

[复制链接]
晓灰灰 发表于 2018-9-27 16:52:07 | 显示全部楼层 |阅读模式
Abstract
在Verilog中,always block可以用來代表Flip-Flop, Combination Logic與Latch,本文比較在不寫else下,always block所代表的電路。

Introduction
在C語言裡,省略else只是代表不處理而;已但在Verilog裡,省略else所代表的是不同的電路。

always@(a or b or en)
  if (en)
    c = a & b;
在combination logic中省略else,由於必須在~en保留原本的值,所以會產生latch。



always@(posedge clk)
  if (en)
    c <= a & b;
雖然也必須在~en保留原本的值,但由於flip-flop就有記憶的功能,所以不會產生latch。if將產生mux,並將flip-flop的值拉回給mux。



Conclusion
在Verilog中,雖然只是小小的差異,但結果卻有天大的差異。

全文完。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 晓灰灰 发表于 2018-9-27 16:52:23 | 显示全部楼层
always block內省略else所代表的電路 (SOC) (Verilog)
Sunlife 发表于 2018-9-27 18:19:54 | 显示全部楼层
                    
zhangyukun 发表于 2018-9-28 09:39:50 | 显示全部楼层
always block內省略else所代表的電路 (SOC) (Verilog)
 楼主| 晓灰灰 发表于 2018-9-28 14:56:30 | 显示全部楼层
always block內省略else所代表的電路 (SOC) (Verilog)
 楼主| 晓灰灰 发表于 2018-10-8 10:42:46 | 显示全部楼层
always block內省略else所代表的電路 (SOC) (Verilog)
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2025-5-1 15:32 , Processed in 0.068928 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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