11.2??基于FPGA+DSP的協(xié)同處理平臺的設計流程
11.2.1??FPGA與DSP的功能劃分
FPGA+DSP系統(tǒng)的設計流程和單獨FPGA或者DSP設計流程相比,最大的不同就是在設計流程里面增加了功能劃分環(huán)節(jié)。這個環(huán)節(jié)的主要目的就算將系統(tǒng)功能進行分解,然后分配給FPGA和DSP去執(zhí)行。
1.功能劃分的原則和依據(jù)
功能劃分的基本原則就是把數(shù)據(jù)密集,但算法簡單、重復性高的功能放在FPGA上執(zhí)行,而把算法復雜,重復性低的功能分配給DSP實現(xiàn),這樣可以充分發(fā)揮兩種芯片的特長。
功能劃分的主要依據(jù)是系統(tǒng)的指標需求和功能定義,即系統(tǒng)在進行功能劃分之后,不能影響系統(tǒng)的整體性能和指標。
2.功能劃分的方法
(1)按照數(shù)據(jù)流向來劃分。
這種劃分方法一般應用于數(shù)據(jù)采集領域,具體來說,就是FPGA負責采集數(shù)據(jù),并把數(shù)據(jù)送給DSP芯片,而DSP用來對采集到的數(shù)據(jù)進行處理。
例如,在圖像處理領域一般采用FPGA完成圖像的采集,并送給DSP芯片處理。FPGA也可以對輸入的圖像進行預處理后再送給DSP完成后期的編碼和傳輸功能。這樣的系統(tǒng)中,數(shù)據(jù)流是單向傳輸?shù)模鐖D11.1所示。
(2)按照算法流程來劃分。
如果FPGA作為DSP的協(xié)處理器,那么一般采用按算法流程來劃分的方法。DSP負責整個算法的調(diào)度和數(shù)據(jù)流的控制,把需要處理的數(shù)據(jù)送給FPGA,并從FPGA取回處理后的結果。
例如,在FPGA充當DSP的浮點協(xié)處理單元(FPU)的應用中,DSP芯片在需要浮點運算的時候會把數(shù)據(jù)送給FPGA去處理。當FPGA處理完成后,會通知DSP取回處理結果,如圖11.2所示。
圖11.1??按照數(shù)據(jù)流向來劃分功能的系統(tǒng)框圖?????? 圖11.2??按照算法流程來劃分功能的系統(tǒng)框圖
11.2.2??FPGA+DSP的系統(tǒng)設計流程
FPGA+DSP的雙核系統(tǒng)設計流程的示意圖如圖11.3所示。
圖11.3??FPGA+DSP的雙核系統(tǒng)設計流程的示意圖
?
從上面的圖中可以看出,整個流程中比較重要的環(huán)節(jié)是FPGA與DSP的通信接口設計方法以及聯(lián)合調(diào)試的注意事項。