問題
Vivado中對工程進(jìn)行綜合時(shí),會(huì)彈出如下對話框:
?
所以,這里選擇多個(gè)jobs能綜合得更快嗎?
很多人都會(huì)選多個(gè)jobs進(jìn)行綜合,覺得這樣會(huì)更快一些,而且這個(gè)jobs的數(shù)量跟本地CPU的線程數(shù)是一致的,這就更讓人信服這個(gè)選項(xiàng)就是多線程編譯。
實(shí)際上,Vivado中的多線程是通過tcl命令設(shè)置的,且目前最大線程數(shù)為8個(gè),所以這里的jobs和多線程有什么聯(lián)系?使用多個(gè)jobs能加快綜合的速度嗎?
對于jobs,UG904中這樣寫道:
?
所以,這里的jobs在同時(shí)有多個(gè)runs在跑的時(shí)候才會(huì)起效,如果只有一個(gè)Design run,那這個(gè)參數(shù)是不起效的。
而對于多線程,UG904中這樣寫到:
?
在Implementation中,最多使用8個(gè)線程,在Windows上,默認(rèn)是2線程,在Linux上,默認(rèn)是8線程。我們可以通過tcl命令改變線程數(shù),命令為:
set_param general.maxThreads 8
也可以獲取當(dāng)前使用的線程數(shù):
get_param general.maxThreads
總結(jié)
對單個(gè)的design run來說,jobs的數(shù)量多少并不影響綜合速度;
Windows中,默認(rèn)的線程數(shù)是2,我們可以通過tcl命令來改變線程數(shù),但每次打開工程后都要重新設(shè)置一下,多線程會(huì)使綜合實(shí)現(xiàn)的時(shí)間縮短,但效果并不是特別明顯;
有多個(gè)design runs時(shí),jobs的數(shù)量是當(dāng)前可以同時(shí)運(yùn)行的design run的個(gè)數(shù),jobs數(shù)量越多,可同時(shí)跑的design run越多,同時(shí)跑多個(gè)runs或者跑BD時(shí)可提高速度。
審核編輯:劉清
-
Vivado
+關(guān)注
關(guān)注
19文章
812瀏覽量
66470
原文標(biāo)題:Vivado-jobs和threads的區(qū)別
文章出處:【微信號:FPGA通信小白成長之路,微信公眾號:FPGA通信小白成長之路】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論