FPGA深層解析
SCTL
上幾節(jié)中使用的代碼例子假定代碼是設(shè)置在SCTL外部,并為保證執(zhí)行同步數(shù)據(jù)量也同步了附加電路。SCTL是LabVIEW FPGA中一個(gè)特殊結(jié)構(gòu),生成一個(gè)更為優(yōu)化的電路圖,以期望達(dá)到在一個(gè)時(shí)鐘(脈沖)周期內(nèi)執(zhí)行完所有邏輯電路分支。例如,若設(shè)置SCTL在40MHZ運(yùn)行,則所有邏輯電路分支將在25ns內(nèi)執(zhí)行完畢。
如果在SCTL中設(shè)置前例中同樣的布爾邏輯電路(如圖9所示),則生成如圖10所示的相應(yīng)電路示意圖。
圖9.附有STCL的簡單布爾邏輯
圖10.圖9所示布爾邏輯相應(yīng)的電路圖
很明顯,這種實(shí)現(xiàn)方法簡單多了。在Virtex-II或Spartan-3系列FPGA中,觸發(fā)器間的邏輯需要至少2個(gè)4輸入查找表,如圖11所示。
圖11.圖10中電路圖的雙四輸入查找表實(shí)現(xiàn)
由于Virtex-5系列FPGA有著6輸入的查找表,用戶可以在一個(gè)查找表中實(shí)現(xiàn)相同數(shù)量的邏輯,如圖12所示。
圖12.圖10中雙六輸入查找表實(shí)
本例中使用的SCTL(如圖9所示)設(shè)置在40MHZ下運(yùn)行,這意味著在任意觸發(fā)器之間邏輯電路必須在25ns內(nèi)完成執(zhí)行。電子在電路中傳播的速度決定了代碼執(zhí)行的最大速度。關(guān)鍵路線是有最長傳播延遲的邏輯電路分支,它決定了該部分電路中理論最大時(shí)鐘速率。Virtex-5 FPGA上的雙六輸入查找表不僅減少實(shí)現(xiàn)給定邏輯電路所需要的查找表總數(shù),而且減少電子通過邏輯電路的傳播延遲(時(shí)間)。Virtex-5系列FPGA中的6輸入查找表不僅可以減少實(shí)現(xiàn)特定邏輯而需要的查找表的數(shù)量,而且可以降低邏輯中電流的傳輸延時(shí)。這意味著,您可簡單地通過選擇一個(gè)基于Virtex-5的硬件指標(biāo)設(shè)置相同的SCTL,追求更快的時(shí)間速度。
評論