亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

適于負(fù)責(zé)重定時(shí)的集成電路器件配置方法

文檔序號(hào):6551344閱讀:167來源:國知局
適于負(fù)責(zé)重定時(shí)的集成電路器件配置方法
【專利摘要】本發(fā)明的各實(shí)施方式總體上適于負(fù)責(zé)重定時(shí)的集成電路器件配置方法。具體地,涉及一種利用用戶邏輯設(shè)計(jì)配置集成電路器件的方法:分析用戶邏輯設(shè)計(jì)以標(biāo)識(shí)用戶邏輯設(shè)計(jì)內(nèi)的并行路徑的定時(shí)要求;確定沿著該路徑的延時(shí)要求;基于存儲(chǔ)元件的用于并入到該路徑中的可用性來路由用戶邏輯設(shè)計(jì),以滿足延時(shí)要求;以及在通過并入至少一些存儲(chǔ)元件的路由之后,重定時(shí)用戶邏輯設(shè)計(jì)。
【專利說明】適于負(fù)責(zé)重定時(shí)的集成電路器件配置方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及用于例如包括現(xiàn)場可編程門陣列(FPGA)或者其它類型的可編程邏輯 器件(PLD)的集成電路器件的設(shè)計(jì)或配置方法,并且涉及用于設(shè)計(jì)或配置這種器件的設(shè)計(jì) 或配置方法,這些設(shè)計(jì)或配置方法能夠負(fù)責(zé)重定時(shí)該設(shè)計(jì)或配置。

【背景技術(shù)】
[0002] 早期可編程器件為一次性可配置。例如,配置可以己經(jīng)通過"燒斷"--即"斷 開"--可熔鏈來實(shí)現(xiàn)。備選地,配置就可以已經(jīng)被存儲(chǔ)在可編程只讀存儲(chǔ)器中。所述器 件總體為用戶提供配置器件用于"乘積和"(或"P-TERM")邏輯操作的能力。稍后,這種并 入用于配置的可擦除可編程只讀存儲(chǔ)器(EPROM)的可編程邏輯器件變得可用,從而允許對 器件進(jìn)行重配置。
[0003] 再之后,并入用于配置的靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)元件的可編程器件變得可 用。也可以進(jìn)行重配置的這些器件在非易失性存儲(chǔ)器(諸如EPROM)中存儲(chǔ)它們的配置,在 器件上電時(shí)從該非易失性存儲(chǔ)器向SRAM元件中加載該配置。這些器件總體為用戶提供配 置器件用于查找表型邏輯操作的能力。
[0004] 雖然已經(jīng)有可能簡單地通過意識(shí)上確定應(yīng)當(dāng)將各種元件安排在何處來手動(dòng)配置 最早的可編程邏輯器件,但是即使與這樣的較早器件相連,以提供允許用戶根據(jù)需要安排 邏輯并且隨后將這些邏輯轉(zhuǎn)譯成用于可編程器件的配置的編程軟件也是常見的。對于當(dāng)前 較大器件,在沒有這樣的軟件的情況下試圖安排該邏輯將是不切實(shí)際的??梢允褂妙愃频?軟件來設(shè)計(jì)固定邏輯器件,諸如專用集成電路(ASIC)。
[0005] 如果設(shè)計(jì)能夠被優(yōu)化,一些用戶邏輯設(shè)計(jì)將能夠以更高的時(shí)鐘速度進(jìn)行操作。然 而,已知的配制方法并不總是考慮可能的優(yōu)化。


【發(fā)明內(nèi)容】

[0006] 用于可編程集成電路器件的已知配置方法以及用于專用集成電路的設(shè)計(jì)方法通 過檢測具有最長延遲的路徑并且應(yīng)用優(yōu)化技術(shù)以減小或"壓制"所述延遲,來優(yōu)化電路設(shè) 計(jì)。然而,這樣的技術(shù)可能無法通過在設(shè)計(jì)內(nèi)移動(dòng)寄存器來正確負(fù)責(zé)"重定時(shí)"該設(shè)計(jì)的能 力。
[0007] 具體而言,單向或"前饋"邏輯路徑服從流水線技術(shù)設(shè)計(jì)。并且流水線技術(shù)設(shè)計(jì)的 電路可以通過改變流水線寄存器的分布來重定時(shí)。通常,這通過在流水線技術(shù)設(shè)計(jì)的路徑 中向前移動(dòng)寄存器來實(shí)現(xiàn)。然而,當(dāng)重定時(shí)路徑時(shí),也重定時(shí)并行路徑以維持電路可操作 性。然而,在所有路徑中并非總是存在足夠的寄存器可用于支持重定時(shí)。
[0008] 本發(fā)明提供了用于在路由邏輯設(shè)計(jì)時(shí)考慮寄存器可用性的方法,以支持可能需要 的重定時(shí)。
[0009] 因此,根據(jù)本發(fā)明,提供了一種利用用戶邏輯設(shè)計(jì)配置集成電路器件的方法。該方 法包括:分析用戶邏輯設(shè)計(jì)以標(biāo)識(shí)用戶邏輯設(shè)計(jì)內(nèi)路徑的定時(shí)要求;沿著所述路徑確定延 時(shí)要求;基于用于并入到所述路徑中的存儲(chǔ)元件的可用性來路由用戶邏輯設(shè)計(jì),以滿足延 時(shí)要求;以及在通過并入至少一些存儲(chǔ)元件的路由之后,重定時(shí)用戶邏輯設(shè)計(jì)。
[0010]還提供了被編碼有用于執(zhí)行這樣的方法的指令的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì)。

【專利附圖】

【附圖說明】
[0011]本發(fā)明的其它特征、其性質(zhì)以及各種優(yōu)點(diǎn)通過結(jié)合附圖考慮以下具體描述將變得 明顯,在附圖中相同的附圖標(biāo)記貫穿全文指代相同部分,并且在附圖中:
[0012]圖1示出將要被重定時(shí)的邏輯電路部分的示例;
[0013]圖2示出對圖1的邏輯電路部分的嘗試性重定時(shí)的示例;
[0014]圖3示出對圖1的邏輯電路部分的結(jié)果重定時(shí)的示例;
[0015]圖4示出在沒有寄存器感知的情況下的重定時(shí)感知設(shè)計(jì)方法的示例;
[0016]圖5示出根據(jù)本發(fā)明的一個(gè)實(shí)施例在具有寄存器感知的情況下的重定時(shí)感知設(shè) 計(jì)方法的示例; t〇〇17]圖6示出包含多扇出信號(hào)的非完整的局部路由樹;
[0018]圖7示出對圖6的局部路由的第一解決方案;
[0019]圖8示出對圖6的局部路由的第二解決方案;
[0020]圖9是被編碼有用于執(zhí)行根據(jù)本發(fā)明的方法的機(jī)器可執(zhí)行指令集的磁數(shù)據(jù)存儲(chǔ) 介質(zhì)的截面圖;
[0021]圖10是被編碼有用于執(zhí)行根據(jù)本發(fā)明的方法的機(jī)器可執(zhí)行指令集的光可讀數(shù)據(jù) 存儲(chǔ)介質(zhì)的截面圖;以及
[0022] 圖11是采用并入本發(fā)明的可編程邏輯器件的示例性系統(tǒng)的簡化框圖。

【具體實(shí)施方式】
[0023] 時(shí)序分析在假設(shè)重定時(shí)的可用性的情況下為已知。例如,通過整體引用并入本文 的共同未決的共同轉(zhuǎn)讓的第13/733, 982號(hào)美國專利申請描述了一種標(biāo)識(shí)用于優(yōu)化的循環(huán) 路徑的方法,從而留下待重定時(shí)的前饋路徑。然而,即使在物理地提供有大量寄存器的器件 上,對用戶邏輯設(shè)計(jì)的重定時(shí)也可能并非總是能夠到達(dá)所期望的程度,如果對用戶邏輯設(shè) 計(jì)的初始路由并不考慮潛在的重定時(shí)以及在其中可能需要它們以用于重定時(shí)的位置提供 足夠可選的寄存器。
[0024] 在圖1至圖3中可見這樣的條件的示例。圖1示出了具有兩個(gè)并行路徑1〇1、1〇2 的邏輯設(shè)計(jì)的一部分100。上路徑101包括一個(gè)邏輯元件111和九個(gè)路由元件121。出于 這一示例的目的,假設(shè)邏輯元件111和路由元件121具有相同的單位延遲。下路徑102包 括一個(gè)邏輯元件112和兩個(gè)路由元件121。為了最大化定時(shí)性能,應(yīng)當(dāng)最小化寄存器之間的 延遲。因?yàn)槁窂?01的更長長度,所以其可以從重定時(shí)(向長的組合路徑中插入寄存器) 受益,其中將一些輸入寄存器103向前移動(dòng)到路徑101中。
[0025] 在圖2的示例200中,已經(jīng)將三個(gè)寄存器103向前移動(dòng)到路徑101中。在一個(gè)實(shí) 施例中,路由元件121可以包括可選的寄存器,并且如果希望重定時(shí)則使能該寄存器;因此 在這一情況下,已經(jīng)使能了三個(gè)路由元件121中的可選寄存器。這需要向路徑102中引入 三個(gè)寄存器123。然而,路徑102具有僅兩個(gè)可用于使能其寄存器的路由元件121,缺乏足 夠的寄存器容量以使能三個(gè)寄存器123 (這一條件由單獨(dú)未連接的寄存器133表示)。結(jié)果 是圖3的并非最佳重定時(shí)的電路300,其中僅兩個(gè)寄存器103可以向前推進(jìn)至路徑101中, 由在路徑102中使能的兩個(gè)寄存器123平衡。
[0026] 利用可選地使能的寄存器替代所提供的路由元件,重定時(shí)可以通過重路由路徑 101以經(jīng)過附近的寄存器而不是經(jīng)過路由元件121來完成??梢韵氲讲⑷敫郊拥募拇嫫鞫?不是路由元件121的其他方式。
[0027] 為了尋址路徑102中的有限數(shù)目的寄存器123,可以根據(jù)本發(fā)明的實(shí)施例修改路 由技術(shù),以增加充分的寄存器容量在可能需要它的地方可用的可能性。出于本公開的目的, 這可以被稱作寄存器感知路由。在具有包括大量寄存器的架構(gòu)的可編程器件中,在定時(shí)關(guān) 鍵路徑上可能不需要增加的寄存器容量,因?yàn)榭赡芟M撀窂桨ㄔS多架構(gòu)元件,該架構(gòu) 元件具有可以被使能的可選寄存器。通常在具有較少架構(gòu)元件的路徑上需要附加寄存器容 量,其中插入寄存器將無需打斷長延遲路徑,而是需要增加延時(shí)以在別處匹配寄存器的插 入。
[0028] 因此,寄存器感知路由可以相當(dāng)于在非關(guān)鍵路徑上采取更多迂回路線,以如果需 要?jiǎng)t并入可以在重定時(shí)期間被轉(zhuǎn)換成寄存器(或者其中寄存器可以被使能)的足夠的元 件。然而,一些可編程器件架構(gòu)可以提供較少的寄存器,并且在這樣的器件中具有可選的寄 存器的路由資源的累積也可以在定時(shí)關(guān)鍵路徑上是重要的。另外,在重定時(shí)期間,可以證明 沿著路由元件的長延伸(stretch),將沒有可以被使能以用流水線技術(shù)設(shè)計(jì)關(guān)鍵路徑的充 足的寄存器。
[0029] 上述并入第13/733,982號(hào)美國專利申請公開了一種方法400(圖4),該方法利用 對重定時(shí)404的稍后可用性的感知通過執(zhí)行綜合401、布局402和路由403在405提供了 FPGA配置比特流,以細(xì)化設(shè)計(jì)。其中實(shí)施方式關(guān)注于減小無法通過重定時(shí)404加速的路徑 (例如,諸如回路的循環(huán)路徑)中的延遲的重定時(shí)感知綜合401、布局402和路由403,從而 使其它路徑(主要是前饋路徑)在重定時(shí)404期間被加速。
[0030] 然而,如上所注意到的那樣,即使綜合401、布局402和路由403是重定時(shí)感知的, 如果它們不是寄存器感知的,則重定時(shí)404可以發(fā)現(xiàn)已經(jīng)在重定時(shí)404之前選擇的路由在 需要重定時(shí)的所有路徑中并不包括充足的可用寄存器。
[0031]因此,根據(jù)本發(fā)明的實(shí)施例的實(shí)施方式500 (圖5),可以執(zhí)行試驗(yàn)性的路由和重定 時(shí),以確定何處需要附加的延時(shí)--即附加的寄存器。試驗(yàn)性的路由和重定時(shí)可以是單獨(dú) 的成熟路由和重定時(shí)操作。然而,因?yàn)楦郊拥闹囟〞r(shí)感知路由操作以及最終重定時(shí)操作將 稍后執(zhí)行,所以可能發(fā)生一些短路。例如,可以通過權(quán)衡用于運(yùn)行時(shí)間的質(zhì)量或者通過收斂 到可能并不完全合法的方案來加速路由。類似地,試驗(yàn)性的重定時(shí)運(yùn)算法則可以假設(shè)在每 個(gè)塊輸入處的有限寄存器容量;在這一寬松的約束之下找到的第一合法和定時(shí)最佳方案可 以用來確定用于最終重定時(shí)感知路由操作的延時(shí)要求。因此,如圖5所示,試驗(yàn)性路由和重 定時(shí)被表示為單個(gè)"延時(shí)發(fā)現(xiàn)重定時(shí)"操作502,其包括充足的路由和重定時(shí)元件以發(fā)現(xiàn)何 處可能需要附加的寄存器。該確定不需要完美,而是僅"足夠好",最終重定時(shí)操作將通常找 到充足的寄存器以實(shí)現(xiàn)所需的重定時(shí)方案。
[0032]比較圖4和圖5,"延時(shí)發(fā)現(xiàn)重定時(shí)"操作502在重定時(shí)感知布局操作402之后,路 由403在圖4中在重定時(shí)感知布局操作402之后-即"延時(shí)發(fā)現(xiàn)重定時(shí)"操作502期望 發(fā)生在布局操作和路由操作之間。該期望維持在實(shí)施方式500中,其中"延時(shí)發(fā)現(xiàn)重定時(shí)" 操作502發(fā)生在重定時(shí)感知布局操作402與路由操作之間。在這一實(shí)施方式中,該路由操 作是增強(qiáng)的重定時(shí)感知路由503,在其之后是重定時(shí)404.
[0033] 在一些實(shí)施例中,延時(shí)發(fā)現(xiàn)重定時(shí)操作502將執(zhí)行快速路由以導(dǎo)出更精確的后路 由延遲圖,其可以從流水線技術(shù)設(shè)計(jì)獲益。延時(shí)發(fā)現(xiàn)重定時(shí)操作502也可以執(zhí)行快速重定 時(shí),以基于隨后由增強(qiáng)的重定時(shí)感知路由503使用的重定時(shí)方案而導(dǎo)出延遲要求或約束。 在外,延時(shí)發(fā)現(xiàn)重定時(shí)操作502可以偏置重定時(shí)方案,以產(chǎn)生用于增強(qiáng)的重定時(shí)感知路由 操作503的有利的延時(shí)約束(例如,最小化在仍然實(shí)現(xiàn)良好的最終重定時(shí)結(jié)果時(shí)所需的附 加路由)。
[0034] 作為延時(shí)發(fā)現(xiàn)重定時(shí)操作502的備選,可以以其他方式確定延時(shí)要求。這甚至可 以包括延時(shí)目標(biāo)的用戶輸入。
[0035] 增強(qiáng)的重定時(shí)感知路由操作503通過協(xié)商擁塞定時(shí)驅(qū)動(dòng)路由來建立,可能與重定 時(shí)感知(如在以上并入的第13/733,982號(hào)美國專利申請中公開的)結(jié)合。在增強(qiáng)的重定 時(shí)感知路由操作503中可以使用成本驅(qū)動(dòng)公式,以滿足延時(shí)約束。使用成本函數(shù)可以產(chǎn)生 充分的結(jié)果,因?yàn)樵鰪?qiáng)的重定時(shí)感知路由操作503不需要確保滿足延時(shí)約束;最后,最終重 定時(shí)操作404將確定最終寄存器布局。并且即使重定時(shí)操作404沒有在所有連接上滿足延 時(shí)約束,使得最終重定時(shí)操作404并未在所有定時(shí)關(guān)鍵路徑上實(shí)現(xiàn)最佳重定時(shí),所得電路 將仍然是功能性的。
[0036] 為了理解在增強(qiáng)的重定時(shí)感知路由操作503中使用的成本函數(shù),可以在定時(shí)驅(qū)動(dòng) 路由探測期間考慮用于節(jié)點(diǎn)η的典型成本函數(shù):
[0037] backward_cost + crit*delay (n)+base_and-congestion一cost- of- node(crit, n)+future-cost(crit,n,sink)backward_cost 包括局部路徑中引導(dǎo)至當(dāng)前節(jié) 點(diǎn)的所有節(jié)點(diǎn)的定時(shí)和資源/擁塞成本;其通常為上至當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)成本的和(不包括 未來成本)。crit是從0至〇·的(包括的)的數(shù),指示當(dāng)前連接的相對定時(shí)重要性。delay (η) 是與當(dāng)如節(jié)點(diǎn)相關(guān)聯(lián)的延遲。如果多個(gè)網(wǎng)競爭相同節(jié)點(diǎn),則base_and_congestion_cost_ of_node()是與擁塞成本一起使用節(jié)點(diǎn)的資源成本。future_cost()是從當(dāng)前節(jié)點(diǎn)η到匯 點(diǎn)的剩余成本的估計(jì),以引導(dǎo)路由器探測(A* Search)。
[0038] 為了使得路由器延遲感知,可以根據(jù)本發(fā)明的實(shí)施例修改fUtUre_C〇St()。對 future一cost()的修改將引導(dǎo)路由器如果其下沖延時(shí)約束則聚集更多的寄存器,以及如果 其過沖延時(shí)約束則避免當(dāng)前分支的進(jìn)一步擴(kuò)展。
[0039] 在一些實(shí)施例中,未來成本可以計(jì)算如下:
[0040] :futii.:]fe_co,8;t (connection,; eri't, n,f .sink., ::num_e nab l.e:d_a n d_p o t e n, t i a.l;_r eg:s_ i,n_pa rtia l_pa t hf en.:ab 1 e d-r e g s-一 i.ii一p.a r ) { η n m_ f u t:〇 r e _p o t e n t i .?1 s - es t imate一nwm-potent i (:S, s::ink| estimafc:§d_latency - num enabled and potential r?gs: in partial pat h+ num_regs_supported_by_aad?|:m) + n um_ f ntu r e _p otential_regs if Cestimated_latency < latency_requirement |.c〇頭ection)) f viol a t i i t;u d e = Xatency_re<|iid remen t (esnaectissl - sstimated_letency EetPrn f l^iolati.?n_mafiFnitude)
[0041] if .Cau'm一ettM&led一regs-σ:.Η.1 復(fù)一in-partial一p.ath > 1 afce n ?y_l'g:qai:.E€me#t; fc o n:a::g#:fc:i:;aft:|'·::) { w;i:?:l:;st.iea_mag:n:i.'t:ade -= ns_in_pa:rt:;i:aX_patto -1 ate.n:O::'f .r?s:n...i,£,ement f.cortaeffiti.:〇Ti): .Ki::fcB':Ea f' :|w i 〇 1 a } }
[0042] 在該實(shí)施例中,連接指的是被路由的連接。
[0043] num_enabled_regs_only_in_partial_path包括由于對之前連接的路由而已經(jīng)被 使能的部分路徑上的所有寄存器。這將在下文中結(jié)合多扇出網(wǎng)進(jìn)一步討論。
[0044] num_enabled_and_potential_regs_in_partial_path 包括之前值加上己經(jīng)被累 積到上至節(jié)點(diǎn)η的部分路徑分支上的所有附加的可選寄存器。隨著路由器擴(kuò)展進(jìn)行,mim_ enabled_and_potential_regs_in_partial_path在堆上被追蹤,并且被更新以反映附加的 潛在寄存器的聚集。
[0045] estimate-num_potential-regs(n, sink)是對從n到匯點(diǎn)存在多少個(gè)附加寄存 器的估計(jì)。在具有普遍存在的寄存器的架構(gòu)中--即在每個(gè)路由元件上的單個(gè)可選寄存 器--這一估計(jì)可能等于直至匯點(diǎn)路由元件的數(shù)目。如果僅一部分路由元件支持可選寄存 器(即,少于元全填充架構(gòu)),則該部分將被作為因素計(jì)入估計(jì)。
[0046] num-regs-supported_by-node (η)指示當(dāng)前節(jié)點(diǎn)η支持多少寄存器。
[0047] latency_requirement (connection)指示對于連接的延時(shí)要求。
[0048] f()是應(yīng)用于過沖延時(shí)需求的成本。在一些實(shí)施例中,該成本在偏離幅度中是超線 性的。在其他實(shí)施例中,一旦路徑到達(dá)其中附加延時(shí)無法通過路由器在下游加上的點(diǎn),則成 本也可能增加。這一增加可以通過在將其傳送通過超線性函數(shù)之前增加偏離幅度或者通過 將超線性函數(shù)的結(jié)果與常數(shù)相乘來實(shí)現(xiàn)。
[0049] g()是用于應(yīng)用于過沖延時(shí)要求的成本。類似于f(),這一函數(shù)也可以在偏離幅 度中是超線性的。在一些實(shí)施例中,g()可以比f()更陡,因?yàn)檫^沖無法與下沖那么容易校 正--即在延時(shí)過沖的情況下,可以添加更多寄存器,但是不能去除寄存器以校正延時(shí)過 沖。
[0050] 如到目前為止所述,成本函數(shù)是延時(shí)感知的,其可以是所有針對沿著單個(gè)路徑路 由信號(hào)相關(guān)的。然而,針對多扇出信號(hào),當(dāng)路由連接時(shí),已知哪個(gè)寄存器已經(jīng)沿著相同信號(hào) 或網(wǎng)的之前路由的連接被使能,也可以是相關(guān)的。也就是說,在沒有這樣的知識(shí)的情況下, 如果新連接靠近相同網(wǎng)的之前路由的連接的匯點(diǎn)分支,則其可以利用多于其延時(shí)要求的更 多寄存器結(jié)束。
[0051] 路由器可以存儲(chǔ)由每個(gè)信號(hào)的所有連接使用的路由資源的試驗(yàn)性表示。當(dāng)連接被 路由時(shí),該表示首先被修剪以消除特定于被路由的連接的資源,從而使得已經(jīng)被路由的連 接的"部分路由樹"作為起始點(diǎn)。隨后路由當(dāng)前連接,并且表示被更新以反映新選擇的路由。
[0052] 當(dāng)計(jì)算用于已經(jīng)在"部分路由樹"中存在的節(jié)點(diǎn)的成本時(shí),當(dāng)路由當(dāng)前連接時(shí),通 常需要future_cost()函數(shù)。為了使得future_cost()能夠針對多扇出情況進(jìn)行計(jì)算,路 由樹表示中的每個(gè)節(jié)點(diǎn)將具有用于反映在該節(jié)點(diǎn)處使能的寄存器的數(shù)目的數(shù)據(jù)數(shù)目,并且 該數(shù)據(jù)數(shù)目可以具有從〇到num_regs_supported_by_node(n)的值。針對運(yùn)行時(shí)間效率, 每個(gè)節(jié)點(diǎn)也可以存儲(chǔ)從源到當(dāng)前節(jié)點(diǎn)被使能的寄存器的數(shù)目。
[0053] 在路由每個(gè)連接之后,當(dāng)路由樹被更新時(shí),與新增節(jié)點(diǎn)相關(guān)聯(lián)的寄存器將根據(jù)需 要試驗(yàn)性地被使能以滿足用于該連接的延時(shí)約束。這一使能是試驗(yàn)性的,因?yàn)樽罱K重定時(shí) 自由地考慮其他方案。然而,試驗(yàn)性的使能對于確保針對相同網(wǎng)的隨后的連接路由嘗試是 有用的,可以負(fù)責(zé)針對用于該網(wǎng)的之前連接做出決定。
[0054] 此外,在一些實(shí)施例中,沿著給定的連接的寄存器首先最接近匯點(diǎn)被使能,以通過 可能具有低延時(shí)要求的隨后的連接來增加多少路由樹是有用的。這與如上所述的成本函數(shù) 中的術(shù)語num_enabled_regs_only_in_partial_path相關(guān)。如果沿著特定部分路徑需要特 定數(shù)目的寄存器,但是之后的連接可能需要更少的寄存器,則如果用于較早路徑的寄存器 靠近源被使能,其可能無法找到用于之后連接的路由,其不包括太多被使能的寄存器。但 是如果較早路徑中的被使能的寄存器更接近匯點(diǎn),則將更有可能存在稍后連接在存在太多 "被使能的寄存器"之前分叉的點(diǎn)。
[0055] 例如,考慮圖6中的路由樹600,其中來自源601的信號(hào)必需傳播到每個(gè)匯點(diǎn)602、 603。在源601和匯點(diǎn)602之間存在四個(gè)路由元件612、622、632和642。設(shè)想用于去往匯點(diǎn) 602的路徑的延時(shí)約束要求在該四個(gè)路由元件的三個(gè)中的每個(gè)中使能一個(gè)寄存器。也設(shè)想 用于去往匯點(diǎn)603的路徑的延時(shí)約束要求沒有寄存器被使能。
[0056] 如果路由元件612中的寄存器被使能以滿足用于去往匯點(diǎn)602的路徑的延時(shí)約束 的一部分,則其將有可能滿足用于去往匯點(diǎn)603的路徑的延時(shí)約束。然而,如上所討論的, 如果去往匯點(diǎn)602的路徑中的被使能的寄存器是最接近匯點(diǎn)602的那些寄存器--即在路 由元件622、632和642中的寄存器--則去往匯點(diǎn)603的路徑可以分叉路由元件612,而沒 有寄存器被使能。
[0057] 備選地,設(shè)想用于去往匯點(diǎn)603的路徑的延時(shí)約束需要兩個(gè)被使能的寄存器(在 用于去往匯點(diǎn)602的路徑的延時(shí)約束繼續(xù)要求三個(gè)被使能的寄存器時(shí))。隨后可能的路由 可以包括在圖7中所示的那些和在圖8中所示的那些。在兩個(gè)附圖中,寄存器在加陰影的 路由元件中被使能。
[0058] 在圖7中所示的路由樹700中,在去往匯點(diǎn)603的路徑上的兩個(gè)被使能的寄存器 是在去往匯點(diǎn)602的路徑上的三個(gè)被使能的寄存器中的兩個(gè)寄存器,而存在偏離去往匯點(diǎn) 602的路徑但是在去往匯點(diǎn)603的路徑上的另一個(gè)路由元件613,但是其寄存器未被使能。 雖然這一路由滿足用于兩個(gè)路徑的延時(shí)約束,但是其并未提供用于最終重定時(shí)操作404的 靈活性,以減小沿著去往匯點(diǎn)603的路徑的寄存器的數(shù)目。另一方面,在圖8中所示的路由 樹800中,在去往匯點(diǎn)603的路徑上的兩個(gè)被使能的寄存器中的僅一個(gè)是在去往匯點(diǎn)602 的路徑上的三個(gè)被使能的寄存器中之一。在該路由中,在去往匯點(diǎn)603的路徑上的第二被 使能的寄存器是路由元件613的寄存器。這在重定時(shí)兩個(gè)單獨(dú)路徑時(shí)提供了增加的靈活 性,諸如如果定時(shí)約束要求減少沿著一個(gè)路徑的寄存器的數(shù)目。一些實(shí)施例將在路由器的 成本函數(shù)中考慮這一點(diǎn),支持從"部分路由樹"更早分叉的方案。
[0059] 涉及保持時(shí)間的另一考慮與路由元件的接近程度有關(guān)。例如,物理架構(gòu)中的相鄰 寄存器選擇之間的延遲可以小于滿足保持約束所需的延遲。如果是該情況,則可能將希望 忽略另外可以被標(biāo)記為被使能的可用的寄存器。因此,如果關(guān)注保持時(shí)間,則其可能對于自 上次被使能或者上次潛在地被使能的寄存器起保持追蹤延遲是有用的。備選地,可以從源 到上次被使能或者上次潛在地被使能的寄存器追蹤絕對總延遲。隨后,如果資源遇到寄存 器選項(xiàng),但是自上次被使能或者上次潛在地被使能的寄存器起的延遲少于保持要求,該寄 存器選項(xiàng)可以被忽略(例如,即使num_regs_supported_by_node (η) >0,其也可以作為〇被 處理)??赡芸紤]保持約束的另一地方是在路由樹的后連接更新期間,其中選擇哪個(gè)寄存器 來使能(參見以上圖7和圖8的討論)可以是所需延遲的函數(shù),以滿足保持約束。在一些 實(shí)施例中,除了沿著路徑追蹤累積的延遲之外,還可以追蹤時(shí)鐘延遲,使得在可用的寄存器 之間的選擇可以不僅考慮寄存器之間的延遲,也考慮時(shí)鐘偏斜。
[0060] 到目前為止的討論已經(jīng)假設(shè)所有路由元件具有可以被使能的可選的寄存器。然 而,為了保存資源,特定物理架構(gòu)可以提供少于完全填充的路由元件集--即僅器件中的 所有路由元件的特定部分(例如,二分之一、三分之一等)可以具有可用的可選寄存器。因 此,在延遲發(fā)現(xiàn)重定時(shí)502期間可以考慮的另一因素是所使用的路由元件的數(shù)目,其不包 括可用的可選寄存器。如果這樣,僅能忍受在寄存器之間的特定最大延遲。例如,如果存在 Ins的時(shí)鐘周期,并且每個(gè)路由元件具有200ps的延遲,則本領(lǐng)域技術(shù)人員將不會(huì)想要穿過 超過五個(gè)路由元件,而它們都不具有被使能的寄存器。盡管一些少于完全填充的架構(gòu)可以 確保寄存器的特定最小數(shù)目--例如該架構(gòu)可以被構(gòu)造為使得不具有寄存器的每個(gè)路由 元件利用寄存器為路由元件饋送--些架構(gòu)可以較少構(gòu)造。因此,可以向路由函數(shù)添加 項(xiàng)以要求至少每X個(gè)路由元件穿過潛在寄存器的路由,或者基于從上一潛在寄存器和相應(yīng) 時(shí)鐘偏斜起的延遲。
[0061] 如上所述的延時(shí)發(fā)現(xiàn)重定時(shí)和寄存器感知路由在諸如圖5的方法中僅為用于延 遲發(fā)現(xiàn)重定時(shí)502和增強(qiáng)的重定時(shí)感知路由503的可能方法的示例,其中運(yùn)行在合適的處 理器(諸如個(gè)人計(jì)算機(jī)或工作站)上的可編程器件配置軟件可以處理由用戶根據(jù)之前描述 輸入的電路規(guī)范。
[0062] 因此,可以看出已經(jīng)提供了可編程器件,在可編程器件中利用之后的重定時(shí)的可 用性的"感知"進(jìn)行路由,以使利用將被使能的充足的可選寄存器的重定時(shí)滿足定時(shí)要求。 [0063]用于編程可編程器件的用于執(zhí)行根據(jù)本發(fā)明的方法的指令可以被編碼在計(jì)算機(jī) 可讀介質(zhì)上,以由合適的計(jì)算機(jī)或類似的設(shè)備執(zhí)行,以實(shí)現(xiàn)本發(fā)明的用于編程或配置PLD 或其它可編程器件的方法。例如,個(gè)人計(jì)算機(jī)可以配備有接口,PLD可以連接至該接口,并 且個(gè)人計(jì)算機(jī)可以由用戶使用以使用如上所述的合適的軟件工具來編程 PLD。
[0064]圖9呈現(xiàn)磁數(shù)據(jù)存儲(chǔ)介質(zhì)12〇0的截面,磁數(shù)據(jù)存儲(chǔ)介質(zhì)1200可以被編碼有可以 由諸如前述個(gè)人計(jì)算機(jī)或其他計(jì)算機(jī)或類似設(shè)備執(zhí)行的機(jī)器可執(zhí)行程序,或者被編碼有虛 擬光纖網(wǎng)絡(luò)的庫。介質(zhì)12〇0可以是軟盤磁片、或硬盤、或磁帶,具有合適的基板1201,其可 以是常規(guī)的和合適的涂層1202,涂層1202可以是常規(guī)的,在一側(cè)或兩側(cè)上,包含磁疇(不可 見),其極性和定向可以磁性地被改變。除了在其為磁帶的情況下,介質(zhì)1200還可以具有用 于接收磁盤驅(qū)動(dòng)或其他數(shù)據(jù)存儲(chǔ)設(shè)備的主軸的開口(未示出)。
[0065]介質(zhì)1200的涂層1202的磁疇被極化或定向,以便以可以是常規(guī)的方式編碼機(jī)器 可執(zhí)行程序,用于由諸如個(gè)人計(jì)算機(jī)、或其他計(jì)算機(jī)、或類似系統(tǒng)執(zhí)行,具有套接口或外圍 附件,根據(jù)本發(fā)明將要編程的PLD插入其中,以配置PLD的適當(dāng)部分,從而包括其特定處理 塊(如果有)。
[0066] 圖1〇示出光可讀數(shù)據(jù)存儲(chǔ)介質(zhì)1210的截面,光可讀數(shù)據(jù)存儲(chǔ)介質(zhì)1210也可以被 編碼有可以由諸如前述個(gè)人計(jì)算機(jī)或其他計(jì)算機(jī)或類似設(shè)備執(zhí)行的機(jī)器可執(zhí)行程序,或者 被編碼有虛擬光纖網(wǎng)絡(luò)的庫。介質(zhì)1210可以是常規(guī)的高密度磁盤只讀存儲(chǔ)器(CD-ROM)或 者數(shù)字視頻盤只讀存儲(chǔ)器(DVD-ROM)或者可重寫介質(zhì)(諸如CD-R、CD-RW、_-R、DVD-RW、 DVD+R、DVD+RW或DVD-RAM),或光可讀取并且磁光可重寫的磁光盤。介質(zhì)丨21〇優(yōu)選地具有 合適的基板1211,其可以是常規(guī)的和合適的涂層 1212,涂層1212可以是常規(guī)的,通常在基 板1211的一側(cè)或兩側(cè)上。
[0067]眾所周知,在基于CD或基于DVD介質(zhì)的情況下,涂層1212是反射性的并且層壓有 ^置在一個(gè)或者多個(gè)層上的多個(gè)凹面1213,以編碼機(jī)器可執(zhí)行程序。凹面的布置通過反射 離開涂層1212的表面的激光讀取。優(yōu)選為基本透明的保護(hù)性涂層 1214提供在涂層1212 的頂部上。
[0068] 眾所周知,在磁光盤的情況下,涂層1212不具有凹面1213,但是具有多個(gè)磁疇,其 極性和定向在被加熱至特定溫度以上時(shí)可以磁性地被改變,如通過激光(未示出)。磁疇的 定向可以通過測量從涂層1212反射的激光的極性來讀取。磁疇的這一布置如上所述對程 序進(jìn)行編碼。
[0069] 根據(jù)本發(fā)明編程的PLD140可以用于許多類型的電子器件。一種可能的使用是在 圖11所示的數(shù)據(jù)處理系統(tǒng)1400中。數(shù)據(jù)處理系統(tǒng)1400可以包括一個(gè)或多個(gè)以下部件:處 理器1401 ;存儲(chǔ)器1402 ;1/0電路裝置1403以及外圍設(shè)備1404。這些部件可以由系統(tǒng)總 線1405耦合在一起,并且被填入電路板1406上,電路板1406被包含在終端用戶系統(tǒng)1407 中。
[0070] 系統(tǒng)1400可以用于多種類型的應(yīng)用,諸如計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)網(wǎng)絡(luò)、儀器、視頻處 理、數(shù)字信號(hào)處理或任何其他應(yīng)用,其中使用可編程或可重編程邏輯的優(yōu)點(diǎn)是期望的。 PLD140可以用來執(zhí)行各種不同邏輯功能。例如,PLD140可以被配置為處理器或與處理器 1401協(xié)同工作的控制器。PLD140也可以用作用于仲裁對系統(tǒng)1400中的共享資源的訪問的 仲裁器。在又一示例中,PLD140可以被配置為在處理器1401和系統(tǒng)1400中的其它部件之 一之間的接口。應(yīng)當(dāng)注意系統(tǒng)1400僅為示例性的,并且本發(fā)明的真正范圍和精神由權(quán)利要 求指出。
[0071] 可以使用各種技術(shù)來實(shí)現(xiàn)如上所述并且并入本發(fā)明的PLD140。
[0072] 應(yīng)當(dāng)理解上述內(nèi)容僅說明了本發(fā)明的原理,并且本領(lǐng)域技術(shù)人員在不背離本發(fā)明 的范圍和精神的情況下可以進(jìn)行各種修改。例如,可以以任何希望的數(shù)目和/或布置在PLD 上提供本發(fā)明的各種元件。本領(lǐng)域技術(shù)人員將理解除了所描述的實(shí)施例之外還可以實(shí)施本 發(fā)明,其被呈現(xiàn)用于說明目而非限制,并且本發(fā)明僅由所附權(quán)利要求進(jìn)行限定。
【權(quán)利要求】
1. 一種利用用戶邏輯設(shè)計(jì)配置集成電路器件的方法,所述方法包括: 分析所述用戶邏輯設(shè)計(jì)以標(biāo)識(shí)所述用戶邏輯設(shè)計(jì)內(nèi)的并行路徑的定時(shí)要求; 確定沿著所述并行路徑的延時(shí)要求; 基于存儲(chǔ)元件的用于并入到所述并行路徑中的可用性來路由所述用戶邏輯設(shè)計(jì),以滿 足所述延時(shí)要求; 在通過并入至少一些所述存儲(chǔ)元件的所述路由之后,重定時(shí)所述用戶邏輯設(shè)計(jì); 基于所述分析、所述確定、所述路由和所述重定時(shí)來生成配置比特流;以及 將所述配置比特流存儲(chǔ)在所述可編程集成電路器件的配置存儲(chǔ)器中。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述確定包括執(zhí)行初步重定時(shí)操作以確定所述延 時(shí)請求。
3. 根據(jù)權(quán)利要求2所述的方法,其中所述確定還包括執(zhí)行初步路由操作。
4. 根據(jù)權(quán)利要求1至3中的一項(xiàng)所述的方法,其中所述路由基于成本函數(shù)。
5. 根據(jù)權(quán)利要求4所述的方法,其中所述成本函數(shù)考慮所述延時(shí)要求。
6. 根據(jù)權(quán)利要求4或5所述的方法,其中所述成本函數(shù)考慮所述用戶邏輯設(shè)計(jì)中的保 持約束。
7. 根據(jù)權(quán)利要求6所述的方法,其中所述成本函數(shù)包括追蹤從被路由的所述路徑中的 一個(gè)路徑上的之前存儲(chǔ)元件累計(jì)的延時(shí)。
8. 根據(jù)權(quán)利要求7所述的方法,其中所述成本函數(shù)還包括追蹤在所述之前存儲(chǔ)元件與 候選存儲(chǔ)元件之間累計(jì)的時(shí)鐘偏斜。
9. 根據(jù)權(quán)利要求4至8中的一項(xiàng)所述的方法,其中: 所述用戶邏輯設(shè)計(jì)包括沿著多個(gè)路徑扇出至多個(gè)目的地的至少一個(gè)信號(hào);以及 所述成本函數(shù)在選擇用于并入到所述多個(gè)路徑中的一個(gè)路徑中的存儲(chǔ)元件時(shí)考慮已 經(jīng)被并入在部分路徑中的存儲(chǔ)元件,所述部分路徑被包括在所述多個(gè)路徑中的所述一個(gè)路 徑中。
10. 根據(jù)權(quán)利要求1至9中的一項(xiàng)所述的方法,其中所述集成電路器件包括分布式存儲(chǔ) 元件,所述并入包括調(diào)節(jié)所述并行路徑中的至少一個(gè)路徑以經(jīng)過所述分布式存儲(chǔ)元件中的 存儲(chǔ)兀件。
11. 根據(jù)權(quán)利要求1至10中的一項(xiàng)所述的方法,其中所述集成電路器件包括路由元件, 所述路由元件具有可選地被使能的存儲(chǔ)元件,所述并入包括使能所述可選地被使能的存儲(chǔ) 元件中的存儲(chǔ)元件。
12. 根據(jù)權(quán)利要求11所述的方法,其中: 所述集成電路器件包括具有所述可選地被使能的存儲(chǔ)元件的路由元件和缺乏所述可 選的可用的存儲(chǔ)元件的路由元件;以及 所述路由包括基于所述定時(shí)要求來選擇具有所述可選的可用的存儲(chǔ)元件的所述路由 元件和缺乏所述可選的可用的存儲(chǔ)元件的所述路由元件的組合。
13. -種非瞬態(tài)機(jī)器可讀存儲(chǔ)介質(zhì),被編碼有用于執(zhí)行利用用戶邏輯設(shè)計(jì)配置集成電 路器件的方法的指令,所述指令包括: 用于執(zhí)行分析所述用戶邏輯設(shè)計(jì)以標(biāo)識(shí)所述用戶邏輯設(shè)計(jì)內(nèi)的并行路徑的定時(shí)要求 的指令; 用于確定沿著所述并行路徑的延時(shí)要求的指令; 用于執(zhí)行基于存儲(chǔ)元件的用于并入到所述并行路徑中的可用性來路由所述用戶邏輯 設(shè)計(jì)以滿足所述延時(shí)要求的指令;以及 用于在通過并入至少一些所述存儲(chǔ)元件的所述路由之后執(zhí)行重定時(shí)所述用戶邏輯設(shè) 計(jì)的指令。
14. 根據(jù)權(quán)利要求13所述的非瞬態(tài)機(jī)器可讀存儲(chǔ)介質(zhì),其中所述集成電路器件包括分 布式存儲(chǔ)元件,用于在通過并入至少一些所述存儲(chǔ)元件的所述路由之后執(zhí)行重定時(shí)所述用 戶邏輯設(shè)計(jì)的所述指令包括用于調(diào)節(jié)所述并行路徑中的至少一個(gè)路徑以經(jīng)過所述分布式 存儲(chǔ)元件中的存儲(chǔ)元件的指令。
15. 根據(jù)權(quán)利要求13或14所述的非瞬態(tài)機(jī)器可讀存儲(chǔ)介質(zhì),其中所述集成電路器件包 括具有可選地被使能的存儲(chǔ)元件的路由元件,用于在通過并入至少一些所述存儲(chǔ)元件的所 述路由之后執(zhí)行重定時(shí)所述用戶邏輯設(shè)計(jì)的所述指令包括用于使能所述可選地被使能的 存儲(chǔ)元件中的存儲(chǔ)元件的指令。
【文檔編號(hào)】G06F17/50GK104252557SQ201410301808
【公開日】2014年12月31日 申請日期:2014年6月27日 優(yōu)先權(quán)日:2013年6月28日
【發(fā)明者】R·芬格, D·劉易斯, V·瑪諾哈拉拉雅 申請人:阿爾特拉公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1