找回密码
 注册
关于网站域名变更的通知
查看: 383|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-19 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
转——always block內省略else所代表的電路 (SOC) (Verilog)
( x  P4 K# J3 k

7 Q  x( j1 |; wAbstract9 ?1 `9 B( ~- l- C
在Verilog中,always block可以用來代表Flip-Flop, Combination Logic與Latch,本文比較在不寫else下,always block所代表的電路。" Q9 s- J  P& b$ c+ J# q3 v
& U2 N  w  m- O; T3 }8 L" k
Introduction( B) J3 Q: v* x+ P  A' _; Q- z- y" i7 o
在C語言裡,省略else只是代表不處理而;已但在Verilog裡,省略else所代表的是不同的電路。- ]7 {, j1 o! y/ s' }- r/ G% s7 D

5 D' e. t* b' X: r% W! malways@(a or b or en)
( H! I+ J3 L6 G  if (en). O0 l! O4 n5 K: m, y% N* E
    c = a & b;
- x  n0 ]: N4 D7 g. H) t在combination logic中省略else,由於必須在~en保留原本的值,所以會產生latch。
9 k5 I7 F6 D$ Z& R7 l  o
2 W* ]+ N( f0 h# \3 a( N' C
5 i9 v% c0 T' Z: B3 ^- I( G7 R: J- N
" g2 E' B0 x5 [  O5 k: Qalways@(posedge clk)# S# o/ C  v5 I
  if (en)
* u% X/ X2 `( G$ ]; O: N* Q    c <= a & b;
' b' `% C9 w6 j4 A雖然也必須在~en保留原本的值,但由於flip-flop就有記憶的功能,所以不會產生latch。if將產生mux,並將flip-flop的值拉回給mux。* U9 X( Z0 v0 Z. F# k

' ^" V6 Y4 K% C
' M4 O( S0 l2 j! D' P; s( g& ~/ y" P# H( v; b) Q# |2 q& \2 Q
Conclusion
! [7 D" b0 `; q/ ?8 f$ |, L, j在Verilog中,雖然只是小小的差異,但結果卻有天大的差異。
8 q9 A5 r# ]6 r4 g/ I9 Z; A; @% c& v3 {. T; ^8 D
全文完。6 p$ Y1 g9 q, I+ J1 c4 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 18:39 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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