專利名稱:高層次綜合中的非平衡多路器及其構(gòu)建方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在高層次綜合中的資源配置方式,具體涉及一種非平衡多路器及其構(gòu)建方法。
背景技術(shù):
在高層次綜合的研究中,生成的數(shù)字電路系統(tǒng)包含功能子模塊和存儲(chǔ)單元,各個(gè)子模塊之間以及子模塊與存儲(chǔ)單元之間常常會(huì)發(fā)生數(shù)據(jù)的交流,高層次綜合在配置資源的過(guò)程中會(huì)生成多路器來(lái)控制或者選通各個(gè)子模塊和相應(yīng)的模塊或存儲(chǔ)單元來(lái)進(jìn)行數(shù)據(jù)的傳遞。在傳統(tǒng)的高層次綜合系統(tǒng)中各個(gè)子模塊間是通過(guò)多路選通器實(shí)現(xiàn)其互連和選通,在系統(tǒng)的自動(dòng)綜合過(guò)程中一定輸入的多路選通器是構(gòu)成復(fù)雜多路器的基本單元,對(duì)于輸入路數(shù)大于一定值輸入的多路選通器都是由這種基本單元互連組成如圖3所示,因此在這樣的系統(tǒng)中多路選通器的每一路輸入到輸出延時(shí)是一個(gè)固定值。在系統(tǒng)運(yùn)行時(shí),各個(gè)子模塊之間或者子模塊與存儲(chǔ)單元間訪問(wèn)多路器的操作頻率是不一樣的,系統(tǒng)的總延時(shí)是各個(gè)多路器每一路延時(shí)乘上總的訪問(wèn)頻率,訪問(wèn)頻率越高的操作則使得系統(tǒng)的總延時(shí)越大。因此在現(xiàn)有高層次綜合技術(shù)中傳統(tǒng)多路器的存在使得系統(tǒng)的速度難以得到提高。
發(fā)明內(nèi)容
為了解決上述現(xiàn)有技術(shù)中所存在的技術(shù)問(wèn)題,本發(fā)明的首要目的在于提供一種自動(dòng)構(gòu)建非平衡多路器的方法,同時(shí)提供一種比普通多路器性能更高、延時(shí)更小、配置更靈活的非平衡多路器樹。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是
一種非平衡多路器的構(gòu)建方法,其特征在于包括以下步驟
a)、獲取數(shù)字電路行為描述,進(jìn)而獲得高層次信息及程序總體運(yùn)行信息;
b)、從步驟a所收集到的信息中提取各子模塊訪問(wèn)多路器操作的頻率,生成訪問(wèn)多路器操作頻率的列表;
C)、根據(jù)步驟b中得出的各個(gè)子模塊訪問(wèn)多路器的操作頻率的列表,計(jì)算各子模塊權(quán)重,并將其按照權(quán)重設(shè)置優(yōu)先級(jí);
d)、根據(jù)步驟c得出的不同的優(yōu)先級(jí)給多路器樹分配資源,將優(yōu)先級(jí)高的子模塊連接在多路器樹路徑短的那一支,將優(yōu)先級(jí)低的子模塊連接在多路器路徑長(zhǎng)的那一支;
e)、重新計(jì)算連接在非平衡多路器樹上各個(gè)子模塊的權(quán)重,再按照步驟c和步驟d反復(fù)迭代直到最后獲得穩(wěn)定的最優(yōu)解。作為上述技術(shù)方案的進(jìn)一步改進(jìn),在步驟c中,首先算出高層次綜合工具在調(diào)度前各個(gè)子模塊所具有的調(diào)度區(qū)間值,將調(diào)度區(qū)間和步驟b中獲得的操作頻率相乘則得到各個(gè)子模塊的權(quán)重,再將權(quán)重分為若干優(yōu)先級(jí),優(yōu)先級(jí)的數(shù)目視具體的程序而定。作為上述技術(shù)方案的進(jìn)一步改進(jìn),在步驟d中,首先判斷各個(gè)模塊的優(yōu)先級(jí),相同優(yōu)先級(jí)的子模塊在多路器樹中所占據(jù)的路徑長(zhǎng)度相等,再根據(jù)輸入端口數(shù)和優(yōu)先級(jí)的級(jí)數(shù)來(lái)插入多路器樹,將優(yōu)先級(jí)最高的子模塊接在多路器樹中路徑最短的那支上,將優(yōu)先級(jí)最低的子模塊接在多路器樹中路徑最長(zhǎng)的那支上,其他優(yōu)先級(jí)的子模塊則根據(jù)輸入端口數(shù)的大小選擇能夠覆蓋完所有端口的最少多路器的組合來(lái)實(shí)現(xiàn)。—種非平衡多路器樹,由所述的非平衡多路器樹的構(gòu)建方法構(gòu)建而成,其特征在于所述的非平衡多路器樹的輸入和輸出的路徑長(zhǎng)度不等長(zhǎng),每一路上的寄存器個(gè)數(shù)不同,每一路延時(shí)的周期不同。該非平衡多路器樹在不改變輸入端口數(shù)目的情況下,能夠做到每一條輸入到輸出的路徑長(zhǎng)度不同,在數(shù)字系統(tǒng)中多路器的輸出都會(huì)連一個(gè)寄存器來(lái)存取數(shù)據(jù)以消除因數(shù)據(jù)延時(shí)產(chǎn)生的傳輸錯(cuò)誤,不同的路徑長(zhǎng)度意味著每一路的寄存器個(gè)數(shù)不同,既每一路延時(shí)的周期不同。在高層次綜合時(shí)將最短的路徑分配給訪問(wèn)多路器操作最頻繁的子模塊,將最長(zhǎng)路徑分配給訪問(wèn)多路器操作最少的子模塊,這樣就可以根據(jù)程序的特點(diǎn)合理的控制輸入到輸出的延時(shí),減小系統(tǒng)總體的運(yùn)行時(shí)間,加快系統(tǒng)運(yùn)行速度。本發(fā)明的有益效果是這種非平衡多路器的構(gòu)建方法能夠自動(dòng)獲取運(yùn)行程序的信 息并進(jìn)行訪問(wèn)多路器的操作分析,根據(jù)分析的結(jié)果將規(guī)則生成的多路選通器樹根據(jù)需要變成非平衡的多路選通器樹,使得訪問(wèn)多路選通器操作頻率最高的路徑延時(shí)最小,從而大大降低了系統(tǒng)總的延時(shí),提高了系統(tǒng)的運(yùn)行速度。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。圖I是本發(fā)明的原理框 圖2是非平衡多路器樹的結(jié)構(gòu)示意 圖3是傳統(tǒng)平衡多路選通器樹的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)說(shuō)明,但本發(fā)明的實(shí)施方式不限于此。如圖I所示,本發(fā)明提供的一種非平衡多路器構(gòu)建方法,其實(shí)施過(guò)程包括以下步驟
a)、獲取數(shù)字電路行為描述,進(jìn)而獲得高層次信息及程序總體運(yùn)行信息;
b)、從步驟a所收集到的信息中提取各子模塊訪問(wèn)多路器操作的頻率,生成訪問(wèn)多路器操作頻率的列表;
C)、根據(jù)步驟b中得出的各個(gè)子模塊訪問(wèn)多路器的操作頻率的列表,計(jì)算各子模塊權(quán)重,并將其按照權(quán)重設(shè)置優(yōu)先級(jí);
d)、根據(jù)步驟c得出的不同的優(yōu)先級(jí)給多路器樹分配資源,將優(yōu)先級(jí)高的子模塊連接在多路器樹路徑短的那一支,將優(yōu)先級(jí)低的子模塊連接在多路器路徑長(zhǎng)的那一支;
e)、重新計(jì)算連接在非平衡多路器樹上各個(gè)子模塊的權(quán)重,再按照步驟c和步驟d反復(fù)迭代直到最后獲得穩(wěn)定的最優(yōu)解。上述構(gòu)建方法中,執(zhí)行步驟c的具體方法為首先高層次綜合工具在調(diào)度前會(huì)算出各個(gè)子模塊所具有的調(diào)度區(qū)間值,將調(diào)度區(qū)間和步驟b中獲得的操作頻率相乘則得到各個(gè)子模塊的權(quán)重,再將權(quán)重分為若干優(yōu)先級(jí),優(yōu)先級(jí)的數(shù)目視具體的程序而定。執(zhí)行步驟d的具體方法為首先判斷各個(gè)模塊的優(yōu)先級(jí),相同優(yōu)先級(jí)的子模塊在多路器樹中所占據(jù)的路徑長(zhǎng)度相等,再根據(jù)輸入端口數(shù)和優(yōu)先級(jí)的級(jí)數(shù)來(lái)插入多路器樹,將優(yōu)先級(jí)最高的子模塊接在多路器樹中路徑最短的那支上,將優(yōu)先級(jí)最低的子模塊接在多路器樹中路徑最長(zhǎng)的那支上,其他優(yōu)先級(jí)的子模塊則根據(jù)輸入端口數(shù)的大小選擇能夠覆蓋完所有端口的最少多路器的組合來(lái)實(shí)現(xiàn)。步驟e的特征在于,由于在原有結(jié)構(gòu)中插入了非平衡多路器樹,系統(tǒng)的時(shí)序信息發(fā)生了改變,而調(diào)度前計(jì)算的調(diào)度區(qū)間受時(shí)序信息的影響,因此調(diào)度區(qū)間的值發(fā)生了改變,于是又產(chǎn)生了優(yōu)化的可能,所以高層次綜合工具需要通過(guò)不斷的迭代步驟e來(lái)獲得最優(yōu)的,延時(shí)最小的帶非平衡多路器的系統(tǒng)。
參照?qǐng)D2,本發(fā)明提供的一種非平衡多路器樹,由所述的非平衡多路器樹的構(gòu)建方法構(gòu)建而成,其特征在于非平衡多路器樹的輸入和輸出的路徑長(zhǎng)度不等長(zhǎng),每一路上的寄存器個(gè)數(shù)不同,每一路延時(shí)的周期不同。該非平衡多路器樹在不改變輸入端口數(shù)目的情況下,能夠做到每一條輸入到輸出的路徑長(zhǎng)度不同,在數(shù)字系統(tǒng)中多路器的輸出都會(huì)連一個(gè)寄存器來(lái)存取數(shù)據(jù)以消除因數(shù)據(jù)延時(shí)產(chǎn)生的傳輸錯(cuò)誤,不同的路徑長(zhǎng)度意味著每一路的寄存器個(gè)數(shù)不同,既每一路延時(shí)的周期不同,在高層次綜合時(shí)將最短的路徑分配給訪問(wèn)多路器操作最頻繁的子模塊,將最長(zhǎng)路徑分配給訪問(wèn)多路器操作最少的子模塊,這樣就可以根據(jù)程序的特點(diǎn)合理的控制輸入到輸出的延時(shí);而傳統(tǒng)的多路器樹如圖3所示,所有輸入到輸出的路徑長(zhǎng)度都相等,每一路的延時(shí)周期相同,假設(shè)輸入A到輸出C的操作頻率為1000次,輸入B到輸出C的操作頻率為3次,在圖2中系統(tǒng)總的延時(shí)為1000+3*3=1009個(gè)周期,而在圖3中系統(tǒng)總的延時(shí)為1000*2+3*2=2006個(gè)周期,由此可見(jiàn)非平衡多路器樹就可以根據(jù)程序的特點(diǎn)合理的控制輸入到輸出的延時(shí),減小系統(tǒng)總體的運(yùn)行時(shí)間,加快系統(tǒng)運(yùn)行速度。以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說(shuō)明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。
權(quán)利要求
1.一種非平衡多路器的構(gòu)建方法,其特征在于包括以下步驟 a)、獲取數(shù)字電路行為描述,進(jìn)而獲得高層次信息及程序總體運(yùn)行信息; b)、從步驟a所收集到的信息中提取各子模塊訪問(wèn)多路器操作的頻率,生成訪問(wèn)多路器操作頻率的列表; C)、根據(jù)步驟b中得出的各個(gè)子模塊訪問(wèn)多路器的操作頻率的列表,計(jì)算各子模塊權(quán)重,并將其按照權(quán)重設(shè)置優(yōu)先級(jí); d)、根據(jù)步驟c得出的不同的優(yōu)先級(jí)給多路器樹分配資源,將優(yōu)先級(jí)高的子模塊連接在多路器樹路徑短的那一支,將優(yōu)先級(jí)低的子模塊連接在多路器路徑長(zhǎng)的那一支; e)、重新計(jì)算連接在非平衡多路器樹上各個(gè)子模塊的權(quán)重,再按照步驟c和步驟d反復(fù) 迭代直到最后獲得穩(wěn)定的最優(yōu)解。
2.根據(jù)權(quán)利要求I所述的非平衡多路器樹的構(gòu)建方法,其特征在于在步驟c中,首先算出高層次綜合工具在調(diào)度前各個(gè)子模塊所具有的調(diào)度區(qū)間值,將調(diào)度區(qū)間和步驟b中獲得的操作頻率相乘則得到各個(gè)子模塊的權(quán)重,再將權(quán)重分為若干優(yōu)先級(jí),優(yōu)先級(jí)的數(shù)目視具體的程序而定。
3.根據(jù)權(quán)利要求I所述的非平衡多路器樹的構(gòu)建方法,其特征在于在步驟d中,首先判斷各個(gè)模塊的優(yōu)先級(jí),相同優(yōu)先級(jí)的子模塊在多路器樹中所占據(jù)的路徑長(zhǎng)度相等,再根據(jù)輸入端口數(shù)和優(yōu)先級(jí)的級(jí)數(shù)來(lái)插入多路器樹,將優(yōu)先級(jí)最高的子模塊接在多路器樹中路徑最短的那支上,將優(yōu)先級(jí)最低的子模塊接在多路器樹中路徑最長(zhǎng)的那支上,其他優(yōu)先級(jí)的子模塊則根據(jù)輸入端口數(shù)的大小選擇能夠覆蓋完所有端口的最少多路器的組合來(lái)實(shí)現(xiàn)。
4.一種非平衡多路器樹,由上述權(quán)利要求I所述的非平衡多路器樹的構(gòu)建方法構(gòu)建而成,其特征在于所述的非平衡多路器樹的輸入和輸出的路徑長(zhǎng)度不等長(zhǎng),每一路上的寄存器個(gè)數(shù)不同,每一路延時(shí)的周期不同。
全文摘要
本發(fā)明公開了一種構(gòu)建非平衡多路器的方法,包括以下步驟讀取數(shù)字電路行為描述,獲取程序總體運(yùn)行信息;生成各子模塊訪問(wèn)多路器操作頻率的列表;將各子模塊按照其操作頻率排序,其優(yōu)先級(jí)按照頻率由高到低一次排序;根據(jù)優(yōu)先級(jí)構(gòu)建非平衡多路器樹,使優(yōu)先級(jí)高的經(jīng)過(guò)多路器的延時(shí)小。本發(fā)明還提供了一種與上述方法相對(duì)應(yīng)的非平衡多路器。通過(guò)本發(fā)明可以在高層次綜合過(guò)程中優(yōu)化資源配置,提高硬件性能。
文檔編號(hào)G06F13/38GK102722460SQ201210131758
公開日2012年10月10日 申請(qǐng)日期2012年5月2日 優(yōu)先權(quán)日2012年5月2日
發(fā)明者李俊逸, 鄭洪濱, 陳弟虎 申請(qǐng)人:中山大學(xué)