自從學(xué)習(xí)了FPGA這么個(gè)東西后,只是粗淺的知道FPGA能夠?qū)崿F(xiàn)并行設(shè)計(jì)协怒,但怎么就并行設(shè)計(jì)了涝焙,一直稀里糊涂,今天查閱了資料孕暇,隱隱覺得有一條設(shè)計(jì)觀念很重要仑撞,就是赤兴,以面積換速度。電路是并行執(zhí)行的隧哮,這是顯而易見的桶良,電信號(hào)嘛,很快的沮翔,這邊輸入給個(gè)高電平陨帆,那邊立馬就會(huì)有個(gè)輸出信號(hào),但這個(gè)絕對(duì)是組合邏輯電路的大招采蚀。單個(gè)時(shí)序邏輯電路不可能實(shí)現(xiàn)什么并行執(zhí)行疲牵,否則為何叫時(shí)序邏輯電路呢,只有我在FPGA中實(shí)現(xiàn)多個(gè)具有相同功能的時(shí)序邏輯才會(huì)造成并行執(zhí)行的效果榆鼠,這不就是以面積換取并行執(zhí)行的速度嘛纲爸,這樣才講的通嘛。
咱再理解理解FPGA的幾級(jí)流水線設(shè)計(jì)妆够,流水線這個(gè)概念我覺得不太直觀识啦,不如舉個(gè)例子說明。咱就以汽車生產(chǎn)流水線舉例神妹,如果一條流水線上有1個(gè)人干活袁滥,而該條流水線有3個(gè)組裝步驟需要完成,怎么辦呢灾螃,這名工人需要不斷變換工位,組裝到步驟二了揩徊,就需要去工位2腰鬼,組裝到步驟三了,就需要到工位3塑荒,最后流水下線熄赡,這樣做步驟很清晰,但效率比較慢齿税。試想彼硫,如果,我每個(gè)工位都安排一名工人呢凌箕,工位2的工人只做組裝步驟2的活拧篮,工位3的工人只做組裝步驟3的活,這樣牵舱,當(dāng)工位3的工人在完成組裝步驟3的活的同時(shí)串绩,工位1的工人和工位2的工人也不會(huì)閑著,形象點(diǎn)說就是生產(chǎn)流水不會(huì)斷流芜壁。雖然人力成本上去了礁凡,但效率也上去了高氮。以人力成本的增加換取效率的提升。
再想顷牌,基于NiosII軟核的設(shè)計(jì)中剪芍,雖然是串行設(shè)計(jì)程序,但得益于FPGA的硬件可裁剪優(yōu)勢(shì)窟蓝,我多添加幾個(gè)具有相同功能的IP就是了罪裹,多添加幾個(gè)NiosII軟核也行呀,反正軟核占用邏輯資源也不多疗锐。還是那句話坊谁,以面積換速度。
==個(gè)人愚見滑臊!