|
回復 1# michael6172 - b7 s( e! E# N' f& K, M
, Q0 m. q. o" Y0 E# d+ K( ^; M8 o
會這樣通常是RTL model的方式不正確導致合成後產生latch,但沒看到code&你也沒詳細描述是怎樣的錯誤,很難找出問題
& ? D: z0 y/ w( S% I/ } u4 ?/ b. B6 h
另外model FSM時,個人習慣分成3個always block:
1 C5 Z( Y# Q. c5 w' j
0 ~7 }0 T, |/ Q3 [% h& h& S 1. sequential logic part for state assign
' [. a* k, e2 w" M1 [ y4 N6 G! [ 2. combinational logic part for state transition
. R3 f4 _; L. q/ I- z: x% y 3. combinational logic part for control signals
, F: H. P4 O3 A5 S
6 _2 u' H9 P: z& i" j$ X這樣做的好處是可以讓合成器確切的合出FSM,另外閱讀時也可以很清楚的掌握狀態的改變和每個狀態所要做的事,debug的時候比較方便,希望對你有幫助,FYI。 |
評分
-
查看全部評分
|