|
本帖最後由 masonchung 於 2010-12-2 11:09 AM 編輯
3 `! Q& f' c* b; k6 P( J3 P
. P3 O$ T+ S" N3 x/ [我要怎麼把原本演算法用FSM的方式去用pipeline的方式去寫呢???
$ H! h' m( u# p5 m! }. k9 N+ s0 V==>將演算法先排好data flow,再用FSM安排控制流程
6 N$ T; g+ v, s9 _/ jpipeline的概念我大概知道我的疑問是如果我現在有3個stage. a0 X* A7 O( b) ?5 K2 V: _/ s$ P
那我是否可以把這3個stage"分別"分開用always block的方式去寫 可是這樣第2個stage要如何去取第1個stage的值呢???
% M {3 I9 A+ U3 n# w" D==>用循序電路的Register$ D- u7 J- w& x
而這這3個stage是否能都不要用到FSM的方式去寫呢
; c6 x. U. ?( g9 @9 J+ T==>請你想一下 FSM 是做啥用的 電路沒有狀態 要控制只能用一堆計數器吧 5 n% u1 [2 P( k8 n1 I* W
因為我之前有看到一篇文章3 W4 b5 C3 r5 `; U) k& v9 h/ {0 A
她是說如果要寫演算法就一定會用到FSM
, l. \8 ~1 @- @- X所以我就一整個很疑惑
9 A2 c+ I8 R1 C8 |, D$ G我是有去找一些資料
' w7 W0 l9 o& w5 w }3 L但那都是一些簡單的觀念跟程式 b: ]% G1 t) Y1 H
所以我想請教一下各位大大是否能提供任意一種演算法的程式是用verilog去寫成pipeline的方式做的 a5 B# a; B3 Z5 |" m: a; X
==>pipeline 就是控制電路幾個cycle 要出來結果, 這個跟電路合成的頻率有關係
% d9 `- W, P0 P4 c; ~1 q! b. r$ ? 先控制好你的fsm要幾個cycle完成 . r' f0 B$ Y; l; Y; P
再來想pipeline 要怎樣切,怎樣調整. |
|