|
本帖最後由 masonchung 於 2010-12-2 11:09 AM 編輯 0 d+ g1 G8 q( N2 @. T
1 V) C0 Y; n* d4 i8 X; F! B1 p7 W& Y
我要怎麼把原本演算法用FSM的方式去用pipeline的方式去寫呢???( R# A% X+ b4 h' h7 F. E
==>將演算法先排好data flow,再用FSM安排控制流程
7 u" p7 ~; U. t5 }9 lpipeline的概念我大概知道我的疑問是如果我現在有3個stage
5 C; O0 h0 h/ O& t那我是否可以把這3個stage"分別"分開用always block的方式去寫 可是這樣第2個stage要如何去取第1個stage的值呢???
! g( N! P1 h! L0 J. C# b==>用循序電路的Register0 j2 y, v# q+ s% g. `1 M
而這這3個stage是否能都不要用到FSM的方式去寫呢
" M; |0 [+ }5 Z: A, `==>請你想一下 FSM 是做啥用的 電路沒有狀態 要控制只能用一堆計數器吧
3 b( C0 y4 ^+ O) W9 @1 N& ~因為我之前有看到一篇文章# V, E5 T% X5 j0 D! }2 R: T2 z
她是說如果要寫演算法就一定會用到FSM
6 D/ x( q0 Z; \3 N2 [) E0 z所以我就一整個很疑惑2 ]( q* H+ \) U
我是有去找一些資料! u+ O- [( c) H2 G, f( ^8 H
但那都是一些簡單的觀念跟程式( G* o2 V1 e" C* K) \1 N( H
所以我想請教一下各位大大是否能提供任意一種演算法的程式是用verilog去寫成pipeline的方式做的
# z7 I7 L4 p( t. n0 B, @==>pipeline 就是控制電路幾個cycle 要出來結果, 這個跟電路合成的頻率有關係
/ c* W' Y/ |% T; \ 先控制好你的fsm要幾個cycle完成 5 o; ~7 X; }* E) B
再來想pipeline 要怎樣切,怎樣調整. |
|