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