|
本帖最後由 masonchung 於 2010-12-2 11:09 AM 編輯
$ ~2 s$ R+ Z) ?8 n+ L. f8 h
2 Q- w' I: \, F ^( q `我要怎麼把原本演算法用FSM的方式去用pipeline的方式去寫呢???
3 ?6 X+ J5 J+ c: b==>將演算法先排好data flow,再用FSM安排控制流程
( e* ?% n7 j: o" Epipeline的概念我大概知道我的疑問是如果我現在有3個stage
' T* J0 f5 X, ~* U那我是否可以把這3個stage"分別"分開用always block的方式去寫 可是這樣第2個stage要如何去取第1個stage的值呢???
3 X: h) Z r& M* ?0 g==>用循序電路的Register
5 N; ]) {+ J( G3 t0 h而這這3個stage是否能都不要用到FSM的方式去寫呢6 N/ i4 s9 _8 Z _, V+ g! ]
==>請你想一下 FSM 是做啥用的 電路沒有狀態 要控制只能用一堆計數器吧
& S; n3 {1 G1 J0 O& Y% h( j! V因為我之前有看到一篇文章
+ y5 ~' z$ ^, }她是說如果要寫演算法就一定會用到FSM
@9 v( B& p7 N! ~: G6 U; k所以我就一整個很疑惑2 J! J$ L' Z# H. U& j
我是有去找一些資料4 @/ {. Y/ W K; \& \$ U) t
但那都是一些簡單的觀念跟程式3 }4 i) k+ _4 {2 s, [- Q4 B0 h, t
所以我想請教一下各位大大是否能提供任意一種演算法的程式是用verilog去寫成pipeline的方式做的
& f" u; N& P4 Z& _7 Q6 F9 ]( M==>pipeline 就是控制電路幾個cycle 要出來結果, 這個跟電路合成的頻率有關係
) l' ]; `: _0 { 先控制好你的fsm要幾個cycle完成 2 A; j9 R! X2 |! y L5 ^7 H b9 b* ]
再來想pipeline 要怎樣切,怎樣調整. |
|