(3)鎖存器狀態(tài)機和例化
2022-10-24 20:44 作者:豆豆?jié)M江紅 | 我要投稿
latch
latch 是指鎖存器,是一種對脈沖電平敏感的存儲單元電路。鎖存器和寄存器都是基本存儲單元,鎖存器是電平觸發(fā)的存儲器,寄存器是邊沿觸發(fā)的存儲器。兩者的基本功能是一樣的,都可以存儲數(shù)據(jù)。鎖存器是組合邏輯產(chǎn)生的,而寄存器是在時序電路中使用,由時鐘觸發(fā)產(chǎn)生的。
latch 的主要危害是會產(chǎn)生毛刺(glitch),這種毛刺對下一級電路是很危險的。并且其隱蔽性很強,不易查出。因此,在設(shè)計中,應(yīng)盡量避免 latch 的使用。代碼里面出現(xiàn) latch 的兩個原因是在組合邏輯中,if 或者 case 語句不完整的描述,比如 if 缺少 else 分支,case 缺少 default 分支,導(dǎo)致代碼在綜合過程中出現(xiàn)了 latch。解決辦法就是 if 必須帶 else 分支,case 必須帶default 分支。
需要注意下,只有不帶時鐘的 always 語句 if 或者 case 語句不完整才會產(chǎn)生 latch,帶時鐘的語句 if或者 case 語句不完整描述不會產(chǎn)生 latch。
狀態(tài)機

3.例化模塊



標(biāo)簽: