|
本帖最後由 masonchung 於 2010-12-2 11:09 AM 編輯
8 s3 ]) H1 A$ q3 ?$ q' X/ }- R4 B' X4 h3 H4 h! T4 T9 p
我要怎麼把原本演算法用FSM的方式去用pipeline的方式去寫呢???4 ]. R% T& A) Z6 C: F. w
==>將演算法先排好data flow,再用FSM安排控制流程
0 q3 _8 t$ N5 {5 l3 Gpipeline的概念我大概知道我的疑問是如果我現在有3個stage' o: I. a3 q& P/ I8 O
那我是否可以把這3個stage"分別"分開用always block的方式去寫 可是這樣第2個stage要如何去取第1個stage的值呢???8 T' @4 L$ _ c/ U1 G& ?9 P
==>用循序電路的Register
- Q, H: t8 c( Y6 H. b2 e; a而這這3個stage是否能都不要用到FSM的方式去寫呢
( L2 _: ], G E( s; Q( @% X; n6 f==>請你想一下 FSM 是做啥用的 電路沒有狀態 要控制只能用一堆計數器吧
$ x- X l/ l3 {# M因為我之前有看到一篇文章" n" w; ^0 L* }; S
她是說如果要寫演算法就一定會用到FSM9 F: C% |$ t/ X1 X" p7 _
所以我就一整個很疑惑
, @! g: f) f ^8 u6 G3 v我是有去找一些資料
6 j- z- X) r/ o5 m/ s但那都是一些簡單的觀念跟程式, V1 N. V$ d- e/ ~9 v# Y. B
所以我想請教一下各位大大是否能提供任意一種演算法的程式是用verilog去寫成pipeline的方式做的
* f" {) ~! B( w( d==>pipeline 就是控制電路幾個cycle 要出來結果, 這個跟電路合成的頻率有關係! z. r- T* ]- b7 ?
先控制好你的fsm要幾個cycle完成
2 m$ L: M8 n5 L 再來想pipeline 要怎樣切,怎樣調整. |
|