欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于在綜合期間執(zhí)行異步和同步復(fù)位去除的方法以及設(shè)備的制作方法

文檔序號(hào):6360429閱讀:221來源:國(guó)知局
專利名稱:用于在綜合期間執(zhí)行異步和同步復(fù)位去除的方法以及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明的一些實(shí)施例涉及用于在目標(biāo)裝置上設(shè)計(jì)系統(tǒng)的工具。更具體地,本發(fā)明的一些實(shí)施例涉及一種用于在綜合期間異步和同步復(fù)位去除的方法以及設(shè)備。
背景技術(shù)
用于大型系統(tǒng)的電子設(shè)計(jì)可以包括數(shù)百萬門以及數(shù)百萬位的嵌入式存儲(chǔ)器。在用于管理以及優(yōu)化電子設(shè)計(jì)所需的任務(wù)中,利用可用資源進(jìn)行綜合、布局以及布線可能是其中最具挑戰(zhàn)性和最耗時(shí)的。大型系統(tǒng)的復(fù)雜性通常要求使用計(jì)算機(jī)輔助設(shè)計(jì)(CAD)或者電子設(shè)計(jì)自動(dòng)化(EDA)工具以管理和優(yōu)化對(duì)系統(tǒng)的設(shè)計(jì)。CAD工具在目標(biāo)裝置上執(zhí)行綜合、布局和布線的耗時(shí)任務(wù)。系統(tǒng)中的寄存器可以連接至復(fù)位信號(hào),該復(fù)位信號(hào)操作成在啟動(dòng)期間或者在錯(cuò)誤發(fā)生之后使系統(tǒng)處于已知的狀態(tài)。復(fù)位信號(hào)可以用于在事件發(fā)生時(shí)或者已過去一定量時(shí)間之后復(fù)位系統(tǒng)。然而,寄存器復(fù)位對(duì)于在目標(biāo)裝置上設(shè)計(jì)系統(tǒng)提出了挑戰(zhàn)。對(duì)于異步和同步復(fù)位的挑戰(zhàn)包括當(dāng)必須將復(fù)位信號(hào)扇出至大量目的地時(shí)實(shí)現(xiàn)時(shí)序收斂,并且當(dāng)遵循與復(fù)位相關(guān)聯(lián)的集群約束時(shí)使用為復(fù)位分配的有限布線資源來執(zhí)行擬合(fittting)。異步復(fù)位可以進(jìn)一步提出序列優(yōu)化問題的進(jìn)一步挑戰(zhàn)。CAD或者EDA工具使用的序列優(yōu)化算法可以采用諸如復(fù)位或者負(fù)載之類的異步信號(hào)來繞過寄存器。如果未繞過序列優(yōu)化,則在重定時(shí)之后仍維持由異步復(fù)位產(chǎn)生的啟動(dòng)狀態(tài)。此外,邏輯可能需要被裝入沒有復(fù)位的序列元件中,這要求添加額外的邏輯以確保正確的啟動(dòng)行為。


通過示例來說明本發(fā)明的一些實(shí)施例的特征和優(yōu)點(diǎn),并且該特征和優(yōu)點(diǎn)并非旨在將本發(fā)明的一些實(shí)施例的范圍限定為所示的一些特定實(shí)施例。圖I是示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的用于設(shè)計(jì)系統(tǒng)的方法的流程圖。圖2是示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的用于執(zhí)行綜合的方法的流程圖。圖3示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的用于執(zhí)行復(fù)位分析和去除的方法的流程圖。圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的冗余部分的第一示例。圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的冗余部分的第二示例。圖6示出了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的用于執(zhí)行同步復(fù)位標(biāo)識(shí)的方法。圖7示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的執(zhí)行復(fù)位分析和去除的示例。圖8示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)器的計(jì)算機(jī)系統(tǒng)的框圖。
圖9是根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的系統(tǒng)設(shè)計(jì)器的框圖,圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的復(fù)位分析和去除單元的框圖。圖11示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性目標(biāo)裝置。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在綜合期間執(zhí)行分析,該分析標(biāo)識(shí)系統(tǒng)的在特定復(fù)位狀態(tài)(condition)下變得冗余的部分,并且標(biāo)識(shí)可以去除的復(fù)位。在去除復(fù)位之后,可以執(zhí)行在綜合中的優(yōu)化,并且可以執(zhí)行系統(tǒng)的布局和布線。根據(jù)本發(fā)明的一個(gè)方面,該分析包括標(biāo)識(shí)系統(tǒng)中的復(fù)位信號(hào)。標(biāo)識(shí)具有共同復(fù)位信號(hào)的寄存器集合。針對(duì)寄存器集合中的每個(gè)寄存器,應(yīng)用復(fù)位狀態(tài),并且標(biāo)識(shí)系統(tǒng)的冗余部分以及對(duì)該冗余部分指派成本值。針對(duì)寄存器集合中的尚未標(biāo)記為去除的每個(gè)寄存器,按從最高到最低的成本順序,應(yīng)用復(fù)位狀態(tài),并且諸如復(fù)位信號(hào)連接之類的冗余的電路被標(biāo)記用于去除。在已經(jīng)按成本順序分析了所有寄存器之后,在電路中的已被標(biāo)記用于去除的寄存器被去除復(fù)位?!?br> 具體實(shí)施例方式在下面的描述中,出于說明的目的,闡述了特定術(shù)語以提供對(duì)本發(fā)明的一些實(shí)施例的全面理解。對(duì)于本領(lǐng)域技術(shù)人員明顯的是,可以無需說明書中的具體細(xì)節(jié)來實(shí)踐本發(fā)明的一些實(shí)施例。在其它一些情形下,以框圖的形式來顯示熟知的電路、裝置和程序以避免不必要地模糊本發(fā)明的一些實(shí)施例。圖I是說明了根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的用于在目標(biāo)裝置上設(shè)計(jì)系統(tǒng)的方法的流程圖。目標(biāo)裝置可以是現(xiàn)場(chǎng)可編程門陣列(FPGA)、專用集成電路(ASIC)、結(jié)構(gòu)化ASIC或其它裝置。根據(jù)一個(gè)實(shí)施例,可以由在計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)/電子設(shè)計(jì)自動(dòng)化(EDA)工具來執(zhí)行圖I示出的過程。在101處,綜合該系統(tǒng)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,綜合涉及生成待實(shí)現(xiàn)的系統(tǒng)的邏輯設(shè)計(jì)。圖2是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行綜合的方法的流程圖??梢岳脠D2中所示的方法執(zhí)行101。在201處,執(zhí)行設(shè)計(jì)建立(elaboration)和提取。根據(jù)本發(fā)明的一個(gè)實(shí)施例,設(shè)計(jì)建立和提取包括根據(jù)系統(tǒng)的高級(jí)描述產(chǎn)生系統(tǒng)的邏輯表示。系統(tǒng)的高級(jí)描述可以是電路圖、VHDUVerilog或者其它設(shè)計(jì)定義的形式。邏輯表示可以包括那些包括如下表示該表示包括系統(tǒng)所需的功能模塊和寄存器(“部件”),該功能模塊和寄存器諸如邏輯門和邏輯元件。在設(shè)計(jì)建立和提取期間,還可以執(zhí)行初始優(yōu)化。初始優(yōu)化可以包括網(wǎng)表的清理(cleanout)以及恒定傳播。在提取期間產(chǎn)生提取網(wǎng)表。在202處,根據(jù)提取網(wǎng)表來標(biāo)識(shí)分區(qū)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,分析寄存器復(fù)位以標(biāo)識(shí)系統(tǒng)的在特定復(fù)位狀態(tài)下變得冗余的部分。該分析涉及針對(duì)每個(gè)寄存器復(fù)位計(jì)算冗余效果的成本?;谟?jì)算的成本來去除與支持系統(tǒng)的這些冗余部分的寄存器復(fù)位相關(guān)聯(lián)的電路。在203處,對(duì)已修改的系統(tǒng)設(shè)計(jì)應(yīng)用優(yōu)化。復(fù)位分析和去除過程可以使得系統(tǒng)中的信號(hào)損失扇出或者在同步復(fù)位情形下設(shè)置為常數(shù)。該優(yōu)化可以包括寄存器重定時(shí)、精細(xì)狀態(tài)機(jī)重綜合以及其它一些優(yōu)化過程。優(yōu)化可以包括RTL綜合以及門級(jí)綜合,在寄存器傳輸級(jí)(RTL)綜合中大型/路線(course)模塊被優(yōu)化,而在門級(jí)綜合中簡(jiǎn)易模塊被優(yōu)化。
在204處,對(duì)優(yōu)化的邏輯設(shè)計(jì)執(zhí)行映射(技術(shù)映射)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,映射包括確定如何使用目標(biāo)裝置上可用的資源來實(shí)現(xiàn)優(yōu)化邏輯表示中的邏輯門和邏輯元件??捎玫馁Y源可以包括LUT和其它一些資源。根據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)映射產(chǎn)生網(wǎng)表。該網(wǎng)表可以是根據(jù)HDL產(chǎn)生的優(yōu)化的技術(shù)映射的網(wǎng)表。返回參考圖1,在102處,在映射的邏輯系統(tǒng)設(shè)計(jì)中布局部件。對(duì)優(yōu)化的技術(shù)映射網(wǎng)表進(jìn)行布局以產(chǎn)生針對(duì)功能塊中的每個(gè)功能塊的布局。根據(jù)本發(fā)明的一個(gè)實(shí)施例,布局包括在目標(biāo)裝置上通過如下方式擬合系統(tǒng)確定邏輯設(shè)計(jì)上的哪些資源待用于特定邏輯元件,以及其它一些功能塊被確定實(shí)現(xiàn)在綜合期間確定的系統(tǒng)。布局可以包括集群,其涉及將邏輯元件一起分組以形成在目標(biāo)裝置上出現(xiàn)的邏輯簇(cluster)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在布局的早先階段執(zhí)行集群,并且在布局預(yù)備階段期間緊接綜合之后產(chǎn)生集群。在103處,對(duì)布局的設(shè)計(jì)進(jìn)行布線。在布線期間,分配目標(biāo)裝置上的布線資源以在邏輯門、邏輯元件以及目標(biāo)裝置上的其它一些部件之間提供互連。也可以對(duì)布局的邏輯設(shè)計(jì)執(zhí)行可布線性優(yōu)化。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可布線性優(yōu)化的目標(biāo)在于減少在布局的 邏輯設(shè)計(jì)中用于連接部件的布線的量。可布線性優(yōu)化可以包括執(zhí)行扇出劃分、邏輯復(fù)制、邏輯重布線或其它一些過程。應(yīng)當(dāng)理解,可以對(duì)布局的邏輯設(shè)計(jì)執(zhí)行一個(gè)或者多個(gè)過程。在104處,執(zhí)行匯編過程。匯編過程涉及產(chǎn)生包括了由101-103處描述的編譯過程確定的信息的數(shù)據(jù)文件。該數(shù)據(jù)文件可以是可以用于對(duì)目標(biāo)裝置編程的位流。根據(jù)本發(fā)明的一個(gè)實(shí)施例,圖I中示出的過程可以由在第一計(jì)算機(jī)系統(tǒng)上運(yùn)行的EDA工具來執(zhí)行。所產(chǎn)生的數(shù)據(jù)文件可以被發(fā)送至第二計(jì)算機(jī)系統(tǒng)以允許系統(tǒng)設(shè)計(jì)被進(jìn)一步處理。備選地,該數(shù)據(jù)文件可以被發(fā)送至第二計(jì)算機(jī)系統(tǒng),該第二計(jì)算機(jī)系統(tǒng)可以用于根據(jù)系統(tǒng)設(shè)計(jì)對(duì)目標(biāo)裝置編程。應(yīng)當(dāng)理解,也可以以其它形式輸出系統(tǒng)設(shè)計(jì),諸如在顯示裝置或者其它介質(zhì)上輸出系統(tǒng)設(shè)計(jì)。在105處,使用數(shù)據(jù)文件對(duì)目標(biāo)裝置編程。通過使用該數(shù)據(jù)文件對(duì)目標(biāo)裝置編程,將目標(biāo)裝置上的部件物理地轉(zhuǎn)換以實(shí)現(xiàn)該系統(tǒng)。圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例用于執(zhí)行復(fù)位分析和去除的方法。圖3中所示的方法可以在圖2中202處實(shí)現(xiàn)。在301處,標(biāo)識(shí)具有共用復(fù)位信號(hào)X的寄存器集合RU)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,寄存器集合具有數(shù)目被預(yù)定的最小數(shù)目的寄存器。在一個(gè)實(shí)施例中,該最小數(shù)目在十萬的量級(jí)。對(duì)寄存器集合RU)中的每個(gè)寄存器執(zhí)行過程302-305。在302處,復(fù)位狀態(tài)被應(yīng)用至寄存器集合R(X)中的之前尚未考慮的當(dāng)前寄存器y。根據(jù)本發(fā)明的一個(gè)實(shí)施例,復(fù)位狀態(tài)可以是使得寄存器輸出O的復(fù)位信號(hào)。備選地,復(fù)位狀態(tài)可以是使得寄存器輸出I的預(yù)置信號(hào)。在303處,標(biāo)識(shí)系統(tǒng)的冗余部分。根據(jù)本發(fā)明的一個(gè)實(shí)施例,系統(tǒng)的冗余部分是如下部分在302處應(yīng)用的復(fù)位狀態(tài)下變得冗余的任何部分。圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的冗余部分的第一示例。圖4示出了系統(tǒng)的具有兩個(gè)寄存器(寄存器X和Y)以及邏輯門Z的一部分。寄存器X接收輸入信號(hào)A,而寄存器Y接收輸入信號(hào)B。寄存器X和寄存器Y由相同的時(shí)鐘信號(hào)CLK鐘控,并且共享共用復(fù)位信號(hào)。當(dāng)觸發(fā)復(fù)位時(shí),寄存器X和寄存器Y這兩者均輸出O。由于邏輯門Z是AND門,因此當(dāng)寄存器X和寄存器Y的輸出中的至少一個(gè)輸出為O時(shí),邏輯門Z的輸出是O。如果復(fù)位信號(hào)僅連接到寄存器X和寄存器Y之一,則邏輯門Z的輸出應(yīng)當(dāng)相同。因此,在該示例中,當(dāng)復(fù)位狀態(tài)應(yīng)用至寄存器X時(shí),系統(tǒng)的冗余部分將包括寄存器Y。圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的冗余部分的第二示例。圖5示出了系統(tǒng)的、具有第一寄存器組P、第二寄存器組Q、控制寄存器R以及輸出寄存器組Z的一部分。寄存器P接收輸入信號(hào)A,而寄存器Q接收輸入B。寄存器P、寄存器Q、寄存器R和寄存器Z由相同的時(shí)鐘信號(hào)CLK鐘控。寄存器P、寄存器Q和寄存器R共享共用復(fù)位信號(hào)。多路復(fù)用器M選擇源自寄存器P或寄存器Q的輸入。在復(fù)位狀態(tài)下,控制寄存器R輸出0,這使得無論寄存器Q的狀態(tài)或者輸出是什么,多路復(fù)用器M都選擇源自寄存器P的輸入。因此,在該示例中,當(dāng)復(fù)位狀態(tài)應(yīng)用至寄存器R時(shí),系統(tǒng)的冗余部分將包括寄存器Q。返回參考圖3,在304處,基于系統(tǒng)的所標(biāo)識(shí)的冗余部分來計(jì)算當(dāng)前寄存器I的成本。根據(jù)本發(fā)明的一個(gè)實(shí)施例,成本可以基于系統(tǒng)的變得冗余的分?jǐn)?shù)(fraction)、變得冗余的邏輯門、寄存器的數(shù)目和/或接線的數(shù)目或長(zhǎng)度、變得冗余的電路的深度或者其它一些 度量。在305處,確定是否已經(jīng)對(duì)寄存器集合RU)中的最后的寄存器(所有寄存器)計(jì)算了成本。如果尚未對(duì)寄存器集合中的最后寄存器計(jì)算成本,則控制返回至302處以對(duì)寄存器集合RU)中的下一個(gè)寄存器執(zhí)行過程302-304。如果已經(jīng)對(duì)寄存器集合中的最后的寄存器計(jì)算成本,則控制進(jìn)至306處。對(duì)寄存器集合RU)中的、尚未被標(biāo)記用于去除的每個(gè)寄存器執(zhí)行過程306-309。在306處,復(fù)位狀態(tài)應(yīng)用至寄存器集合R(X)中的、之前尚未按成本順序被標(biāo)記用于去除的當(dāng)前寄存器y。在307處,系統(tǒng)的、通過應(yīng)用復(fù)位狀態(tài)得到的冗余部分被標(biāo)記用于去除。在308處,確定寄存器集合R(X)中的、之前尚未被標(biāo)記用于去除的最后寄存器y是否已被應(yīng)用了復(fù)位狀態(tài)。如果寄存器集合中的、之前尚未被標(biāo)記用于去除的最后寄存器y尚未被應(yīng)用復(fù)位狀態(tài),則控制返回至306以對(duì)寄存器集合中的下一個(gè)寄存器執(zhí)行過程306-307。如果寄存器集合中的、之前尚未被標(biāo)記用于去除的最后寄存器y已被應(yīng)用復(fù)位狀態(tài),則控制進(jìn)至309。在309處,去除被標(biāo)記用于去除的每個(gè)寄存器處的復(fù)位。應(yīng)當(dāng)理解,過程301-309可以被重復(fù),并且被應(yīng)用至系統(tǒng)中其它寄存器集合以標(biāo)識(shí)其它一些待去除的復(fù)位。還應(yīng)當(dāng)理解,圖3中描述的方法可以用于執(zhí)行復(fù)位分析以及異步復(fù)位或同步復(fù)位的去除。圖3中描述的方法中的過程301-309應(yīng)當(dāng)分別應(yīng)用至每組復(fù)位(異步地或同步地)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,過程301-309在被應(yīng)用至同步復(fù)位之前被應(yīng)用至異步復(fù)位。根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)去除在被標(biāo)記用于去除的寄存器處的同步復(fù)位時(shí),如果在寄存器處存在同步復(fù)位,則去除復(fù)位。然而,如果復(fù)位信號(hào)耦合至數(shù)據(jù)輸入,則連接可以通過單個(gè)扇出節(jié)點(diǎn)從所述寄存器回溯至同步復(fù)位信號(hào),其中復(fù)位信號(hào)被設(shè)置為相反值。圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行同步復(fù)位標(biāo)識(shí)的方法??梢栽谑褂脠D3中描述的方法之前執(zhí)行圖6中描述的方法,以對(duì)同步復(fù)位執(zhí)行復(fù)位分析和去除。在601處,標(biāo)識(shí)信號(hào)i,該信號(hào)i具有大于第一閾值數(shù)目的扇出數(shù)目。
在602處,數(shù)值I被指派至該信號(hào)。在603處,在將數(shù)值I指派至該信號(hào)的情形下,在評(píng)估邏輯狀態(tài)之后,標(biāo)識(shí)具有恒定輸入的寄存器的第一數(shù)目。在604處,數(shù)值O被指派至該信號(hào)。在605處,在將數(shù)值O指派至該信號(hào)的情形下,在評(píng)估邏輯狀態(tài)之后,標(biāo)識(shí)具有恒定輸入的寄存器的第二數(shù)目。在606處,確定寄存器的第一數(shù)目或者寄存器的第二數(shù)目中的較大者是否大于第二閾值數(shù)目。如果寄存器的第一數(shù)目或寄存器的第二數(shù)目中的較大者大于所述第二閾值數(shù)目,則控制進(jìn)至607。如果寄存器的第一數(shù)目或寄存器的第二數(shù)目中的較大者不大于第二閾值數(shù)目,則控制進(jìn)至608。在607處,該信號(hào)被指定為復(fù)位信號(hào)。 在608處,該信號(hào)不被指定為復(fù)位信號(hào)。應(yīng)當(dāng)理解,可以重復(fù)過程601-608,并且將過程601-608應(yīng)用至其它一些信號(hào)以確定號(hào)是否為復(fù)位號(hào)。參考上述過程,應(yīng)當(dāng)理解,可以使用第一預(yù)定閾值和第二預(yù)定閾值。第一預(yù)定閾值可以用于首先標(biāo)識(shí)具有高扇出的信號(hào)。第二預(yù)定閾值可以用于標(biāo)識(shí)如下寄存器,該寄存器在標(biāo)識(shí)信號(hào)是否為同步復(fù)位之前變得恒定。根據(jù)本發(fā)明的一個(gè)方面,第一預(yù)定閾值可以大于第二預(yù)定閾值。根據(jù)本發(fā)明的一個(gè)實(shí)施例,標(biāo)識(shí)可以用作復(fù)位或者預(yù)置信號(hào)的信號(hào)。如果使得寄存器變?yōu)?,則信號(hào)是“復(fù)位”。如果使得寄存器變?yōu)?,則信號(hào)是“預(yù)置”。對(duì)于異步復(fù)位/預(yù)置而言,可以通過檢查寄存器上與信號(hào)耦合的端口是復(fù)位端口還是預(yù)置端口來標(biāo)識(shí)信號(hào)是復(fù)位還是預(yù)置。對(duì)于同步復(fù)位/預(yù)置而言,可能需要分析以標(biāo)識(shí)信號(hào)是復(fù)位還是預(yù)置。分析可以涉及首先標(biāo)識(shí)具有高扇出且可以潛在地設(shè)置寄存器為I或者O的信號(hào)。接著,確定當(dāng)信號(hào)設(shè)置為I或者O時(shí)會(huì)發(fā)生什么。如果大量(大于閾值數(shù)目)寄存器變?yōu)?,則標(biāo)識(shí)為復(fù)位。但是,如果大量寄存器變?yōu)?,則標(biāo)識(shí)為預(yù)置。圖I-圖3和圖6是示出本發(fā)明一些實(shí)施例的流程圖。示出的一些技術(shù)可以順序地執(zhí)行、并行地執(zhí)行或者按除所述順序之外的順序執(zhí)行,并且可以重復(fù)該過程。應(yīng)當(dāng)理解,并非要求執(zhí)行所有描述的技術(shù),可以添加其它一些技術(shù),并且示出的一些技術(shù)可以替換為其它一些技術(shù)。圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的執(zhí)行復(fù)位分析和去除的示例。圖7示出了系統(tǒng)的、具有寄存器V、寄存器W和寄存器X的一部分。寄存器V接收輸入信號(hào)A。寄存器W接收輸入信號(hào)B。寄存器X接收輸入信號(hào)C。寄存器V、寄存器W和寄存器X由CLK鐘控,并且共享復(fù)位信號(hào)。邏輯門Y是OR門,而邏輯門Z是AND門。參見圖3,在301處,寄存器V、寄存器W和寄存器X標(biāo)識(shí)為具有共用復(fù)位。在302和303處,當(dāng)復(fù)位狀態(tài)應(yīng)用至寄存器V時(shí),寄存器V的輸出變成O。V的輸出在被輸入進(jìn)邏輯門Y之前經(jīng)過反相器。在對(duì)邏輯門Y輸入為I的輸入的情形下,不論來自寄存器W的輸入是多少,邏輯門Y總是輸出I。因此,來自寄存器W的輸入變得冗余。因?yàn)檫壿嬮TZ是AND門,因此邏輯門Z的、來自寄存器X的輸入仍然是相關(guān)的。在304處,對(duì)于冗余部分的成本而言,寄存器W是I個(gè)寄存器。應(yīng)當(dāng)理解,可以使用其它一些度量來估計(jì)冗余部分的成本。在305處,寄存器V不是寄存器集合中被分析成本的最后寄存器??刂品祷刂?02以評(píng)估寄存器W。在302和303處,當(dāng)復(fù)位狀態(tài)應(yīng)用至寄存器W時(shí),寄存器W的輸出變成O。W的輸出是邏輯門Y的輸入。因?yàn)檫壿嬮TY是OR門,邏輯門Y的其它輸入仍然是相關(guān)的。因此,當(dāng)復(fù)位狀態(tài)應(yīng)用至寄存器W時(shí),系統(tǒng)沒有冗余部分。在304處,冗余部分的成本是O。在305處,寄存器W不是寄存器集合中的被分析成本的最后寄存器。控制返回至302以評(píng)估寄存器X。 在302和303處,當(dāng)復(fù)位狀態(tài)應(yīng)用至寄存器X時(shí),寄存器X的輸出變成O。因?yàn)檫壿嬮TZ是AND門,其中來自寄存器X的輸入為0,因此不論來自邏輯門Y的輸入是什么,邏輯門Z總是輸出O。因此,來自邏輯門Y的輸入變得冗余,并且邏輯門Y和寄存器V和寄存器W是冗余的。在304處,冗余部分(邏輯門Y和寄存器V和寄存器W)的成本是I個(gè)邏輯門和2個(gè)寄存器。應(yīng)當(dāng)理解,可以使用其它度量來估計(jì)冗余部分的成本。在305處,因?yàn)橐逊治隽思拇嫫鱒、寄存器W和寄存器X的成本,控制進(jìn)至306。在306處,最高成本順序的寄存器確定為寄存器X。因?yàn)榧拇嫫鱔并未標(biāo)記以用于去除,復(fù)位狀態(tài)應(yīng)用至寄存器X。在307處,標(biāo)記冗余部分(邏輯門Y和寄存器V和W)用于去除。在308處,因?yàn)榧拇嫫鱔是寄存器集合中尚未被標(biāo)記但已經(jīng)被分析的最后寄存器,控制進(jìn)至309。在309處,去除每個(gè)被標(biāo)記用于去除的寄存器處的復(fù)位。圖7中示出的示例可以用于異步復(fù)位或者用于同步復(fù)位。應(yīng)當(dāng)理解,當(dāng)去除用于同步復(fù)位的復(fù)位時(shí),如果在寄存器(SCLR)處出現(xiàn)同步復(fù)位,則可以去除復(fù)位。備選地,如果在寄存器處未出現(xiàn)同步復(fù)位,可以通過單個(gè)扇出節(jié)點(diǎn)從寄存器向同步復(fù)位信號(hào)執(zhí)行回溯(trace backward)。繼而可以通過將復(fù)位信號(hào)設(shè)置為相反值而去除該復(fù)位信號(hào)。圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)器的計(jì)算機(jī)系統(tǒng)的框圖。如圖所示,計(jì)算機(jī)系統(tǒng)800包括處理器801。處理器801耦合至CPU總線810,CPU總線810在處理器801和計(jì)算機(jī)系統(tǒng)800中其它一些部件之間傳輸數(shù)據(jù)信號(hào)。計(jì)算機(jī)系統(tǒng)800包括存儲(chǔ)器813。存儲(chǔ)器813可以是動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器裝置、靜態(tài)隨機(jī)訪問存儲(chǔ)器裝置、和/或其它存儲(chǔ)器裝置。存儲(chǔ)器813可以存儲(chǔ)由數(shù)據(jù)信號(hào)表示的、可以由處理器801運(yùn)行的指令和代碼。橋接存儲(chǔ)器控制器811耦合至CPU總線810和存儲(chǔ)器813。橋接存儲(chǔ)器控制器811在處理器801、存儲(chǔ)器813和計(jì)算機(jī)系統(tǒng)800中其它一些部件之間引導(dǎo)數(shù)據(jù)信號(hào),并且橋接存儲(chǔ)器控制器811在CPU總線810、存儲(chǔ)器813和第一IO總線820之間橋接數(shù)據(jù)信號(hào)。第一 IO總線820可以是單個(gè)總線或者多個(gè)總線的組合。第一 IO總線820在計(jì)算機(jī)系統(tǒng)800中的一些部件之間提供通信鏈路。網(wǎng)絡(luò)控制器821耦合至第一 IO總線820。網(wǎng)絡(luò)控制器821可以將計(jì)算機(jī)系統(tǒng)800鏈接至計(jì)算機(jī)網(wǎng)絡(luò)(未示出),并且支持在機(jī)器之間的通信。顯示裝置控制器822耦合至第一 IO總線820。顯示裝置控制器822允許顯示裝置(未示出)耦合至計(jì)算機(jī)系統(tǒng)800,并且用作顯示裝置和計(jì)算機(jī)系統(tǒng)800之間的接口。第二 IO總線830可以是單個(gè)總線或者多個(gè)總線的組合。第二 IO總線830在計(jì)算機(jī)系統(tǒng)800中的一些部件之間提供通信鏈路。數(shù)據(jù)存儲(chǔ)裝置831耦合至第二 IO總線830。數(shù)據(jù)存儲(chǔ)裝置831可以是硬盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、CD-ROM裝置、閃存裝置或其它大容量存儲(chǔ)裝置。輸入接口 832耦合至第二 IO總線830。輸入接口 832允許輸入裝置耦合至計(jì)算機(jī)系統(tǒng)800,并且將數(shù)據(jù)信號(hào)從輸入裝置傳輸至計(jì)算機(jī)系統(tǒng)100??偩€橋823將第一 IO總線820耦合至第二 IO總線830。總線橋823操作成在第一 IO總線820和第二 IO總線830之間緩沖和橋接數(shù)據(jù)信號(hào)。應(yīng)當(dāng)理解,也可以使用具有不同架構(gòu)的計(jì)算機(jī)系統(tǒng)以實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)800。系統(tǒng)設(shè)計(jì)器840可以駐留在存儲(chǔ)器813中,并且由處理器801執(zhí)行。系統(tǒng)設(shè)計(jì)器840可以操作成綜合系統(tǒng)、在目標(biāo)裝置上布局系統(tǒng)、布線系統(tǒng)、匯編系統(tǒng)和對(duì)目標(biāo)裝置編程以實(shí)現(xiàn)系統(tǒng)。在綜合期間,可以由系統(tǒng)設(shè)計(jì)器840執(zhí)行分析以標(biāo)識(shí)系統(tǒng)的在特定復(fù)位狀態(tài) 下變得冗余的部分并且標(biāo)識(shí)可以去除的復(fù)位。在去除所標(biāo)識(shí)的復(fù)位之后,可以執(zhí)行對(duì)綜合的優(yōu)化。圖9示出了根據(jù)本發(fā)明一個(gè)示例性實(shí)施例的系統(tǒng)設(shè)計(jì)器900。系統(tǒng)設(shè)計(jì)器900可以用于實(shí)現(xiàn)圖8中所示的系統(tǒng)設(shè)計(jì)器840,并且可以執(zhí)行圖I-圖3和圖6中描述的過程。系統(tǒng)設(shè)計(jì)器900可以是用于在目標(biāo)裝置上設(shè)計(jì)系統(tǒng)的CAD工具。目標(biāo)裝置可以是例如ASIC、結(jié)構(gòu)化ASIC、FPGA、可編程邏輯器件(PLD)、印刷電路板(PCB)或其它一些電路。圖9示出了實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)器900的實(shí)施例的模塊。根據(jù)一個(gè)實(shí)施例,系統(tǒng)設(shè)計(jì)可以由運(yùn)行由圖9中所示的模塊表示的指令的序列的計(jì)算機(jī)系統(tǒng)執(zhí)行,諸如例如圖8中示出的計(jì)算機(jī)系統(tǒng)。指令序列的執(zhí)行使得計(jì)算機(jī)系統(tǒng)支持如下文描述的系統(tǒng)設(shè)計(jì)。在一些備選的實(shí)施例中,硬接線電路可以用于替代軟件指令或者與軟件指令相組合以實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明不限于硬件電路和軟件的任何特定組合。系統(tǒng)設(shè)計(jì)器900包括系統(tǒng)設(shè)計(jì)器管理器910。系統(tǒng)設(shè)計(jì)器管理器910連接至系統(tǒng)設(shè)計(jì)器900的一些部件,并且在上述部件之間傳輸數(shù)據(jù)。系統(tǒng)設(shè)計(jì)管理器910也可以執(zhí)行關(guān)于設(shè)計(jì)信息的設(shè)計(jì)建立,該設(shè)計(jì)信息被輸入進(jìn)系統(tǒng)設(shè)計(jì)器900。設(shè)計(jì)建立可以包括檢閱設(shè)計(jì)信息以確保信息的語法是正確的。模塊920表示綜合單元。根據(jù)本發(fā)明的一個(gè)實(shí)施例,綜合單元920執(zhí)行設(shè)計(jì)建立和提取,其包括根據(jù)系統(tǒng)的高層次描述產(chǎn)生的系統(tǒng)的邏輯表示。系統(tǒng)的高層次描述可以是電路圖、VHDL、Verilog或其它一些設(shè)計(jì)定義的形式。邏輯表示可以包括如下表示,該表示包括系統(tǒng)所需的諸如邏輯門和邏輯元件之類的功能模塊和寄存器(“部件”)。綜合單元920包括復(fù)位分析和去除單元921,綜合單元920分析寄存器復(fù)位以標(biāo)識(shí)系統(tǒng)的、在特定復(fù)位狀態(tài)下變得冗余的部分。分析涉及針對(duì)每個(gè)寄存器復(fù)位計(jì)算冗余效果的成本。基于所計(jì)算的成本來去除與支持系統(tǒng)的冗余部分的寄存器復(fù)位相關(guān)聯(lián)的電路。在去除與支持系統(tǒng)的冗余部分的寄存器復(fù)位相關(guān)聯(lián)的電路之后,將優(yōu)化應(yīng)用至修改的系統(tǒng)設(shè)計(jì)。優(yōu)化可以包括寄存器重定時(shí)、精細(xì)狀態(tài)機(jī)重綜合和其它一些優(yōu)化過程。優(yōu)化可以包括優(yōu)化大型/路線模塊的RTL綜合以及優(yōu)化簡(jiǎn)易模塊的門級(jí)綜合。綜合單元920也對(duì)優(yōu)化的邏輯設(shè)計(jì)執(zhí)行映射(技術(shù)映射)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,映射包括確定如何使用目標(biāo)裝置上可用資源在優(yōu)化的邏輯表示中實(shí)現(xiàn)邏輯門和邏輯元件??捎觅Y源可以包括LUT和其它一些資源。根據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)映射產(chǎn)生網(wǎng)表。該網(wǎng)表可以是根據(jù)HDL產(chǎn)生的優(yōu)化的技術(shù)映射網(wǎng)表。
模塊930表示布局單元。布局單元930通過確定目標(biāo)裝置上的哪個(gè)部件或區(qū)域待用于特定功能模塊和寄存器來將系統(tǒng)布局到目標(biāo)裝置上。根據(jù)系統(tǒng)設(shè)計(jì)器900的一個(gè)實(shí)施例,布局單元930首先確定如何以簇的形式實(shí)現(xiàn)優(yōu)化邏輯設(shè)計(jì)的一些部分。簇可以表示在邏輯設(shè)計(jì)上的部件的子集。例如,簇可以由一起分組的許多標(biāo)準(zhǔn)單元表示。在該實(shí)施例中,以簇的形式實(shí)現(xiàn)優(yōu)化的邏輯設(shè)計(jì)的一些部分之后,可以通過將簇指派給目標(biāo)裝置上的特定位置而布局簇。布局單元930可以利用成本函數(shù)以便于確定目標(biāo)裝置上資源的良好指派。模塊940表示布線單元。布線單元940確定在目標(biāo)裝置上的布線資源,該布線資源用于提供在實(shí)現(xiàn)邏輯設(shè)計(jì)的功能模塊和寄存器的組件之間的互連。模塊950表示匯編單元。匯編單元950產(chǎn)生數(shù)據(jù)文件,數(shù)據(jù)文件包括由系統(tǒng)設(shè)計(jì)器900執(zhí)行的編譯過程所確定的信息。數(shù)據(jù)文件可以是用于對(duì)目標(biāo)裝置編程的位流。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所產(chǎn)生的數(shù)據(jù)文件可以傳輸至另一計(jì)算機(jī)系統(tǒng)以允許進(jìn)一步處理系統(tǒng)設(shè)計(jì)。備選地,數(shù)據(jù)文件可以傳輸至另一計(jì)算機(jī)系統(tǒng),該另一計(jì)算機(jī)系統(tǒng)可以用于根據(jù)系 統(tǒng)設(shè)計(jì)對(duì)目標(biāo)裝置編程。通過使用數(shù)據(jù)文件對(duì)目標(biāo)裝置編程,目標(biāo)裝置上的部件發(fā)生物理轉(zhuǎn)變以實(shí)現(xiàn)系統(tǒng)。應(yīng)當(dāng)理解,也可以以其它形式輸出系統(tǒng)設(shè)計(jì),諸如在顯示裝置或者其它介質(zhì)上輸出系統(tǒng)設(shè)計(jì)。圖10是根據(jù)本發(fā)明一個(gè)實(shí)施例的復(fù)位分析和去除單元1000的框圖。復(fù)位分析和去除單元1000可以用于實(shí)現(xiàn)圖9中所示的復(fù)位分析和去除單元921。復(fù)位分析和去除單元1000包括復(fù)位分析和去除管理器1010。復(fù)位分析和去除管理器1010耦合至復(fù)位分析和去除單元1000中的一些部件并在上述部件之間傳輸信息。復(fù)位分析和去除單元1000包括復(fù)位標(biāo)識(shí)單元1020。復(fù)位標(biāo)識(shí)單元1020操作成標(biāo)識(shí)同步復(fù)位。根據(jù)本發(fā)明的一個(gè)實(shí)施例,復(fù)位標(biāo)識(shí)單元1020可以執(zhí)行圖6中示出的過程以根據(jù)系統(tǒng)中的信號(hào)標(biāo)識(shí)同步復(fù)位。復(fù)位分析和去除單元1000包括冗余部分標(biāo)識(shí)單元1030。根據(jù)本發(fā)明的一個(gè)實(shí)施例,冗余部分標(biāo)識(shí)單元1030通過標(biāo)識(shí)具有共用同步復(fù)位X的寄存器集合RU)、每次向寄存器集合RU)中的每個(gè)寄存器I應(yīng)用復(fù)位狀態(tài)并且分析系統(tǒng)中的邏輯狀態(tài)來標(biāo)識(shí)系統(tǒng)中冗余部分,從而標(biāo)識(shí)系統(tǒng)中的、當(dāng)應(yīng)用復(fù)位狀態(tài)時(shí)不影響系統(tǒng)中其它一些邏輯的部分。復(fù)位分析和去除單元1000包括成本計(jì)算單元1040。成本計(jì)算單元1040基于所標(biāo)識(shí)的系統(tǒng)的冗余部分來計(jì)算每個(gè)寄存器y的成本。根據(jù)本發(fā)明的一個(gè)實(shí)施例,成本可以基于系統(tǒng)的變得冗余的分?jǐn)?shù)、變得冗余的邏輯門的數(shù)目和/或引線的數(shù)目或長(zhǎng)度、變得冗余的電路的深度或者其它度量。復(fù)位分析和去除單元1000包括復(fù)位去除單元1050。復(fù)位去除單元1050向寄存器集合R(X)中的、之前尚未按成本順序被標(biāo)記用于去除的每個(gè)寄存器y應(yīng)用復(fù)位狀態(tài)。復(fù)位去除單元1050標(biāo)記系統(tǒng)的通過如下方式得到的冗余部分應(yīng)用復(fù)位狀態(tài)用于去除,直至存器R(x)中的之前尚未被標(biāo)記用于去除的所有寄存器已被應(yīng)用復(fù)位狀態(tài)。隨后去除在被標(biāo)記用于去除的每個(gè)寄存器處的復(fù)位。當(dāng)去除在已被標(biāo)記用于去除的寄存器處的同步復(fù)位時(shí),如果于寄存器處存在同步復(fù)位,則去除復(fù)位。然而,如果復(fù)位信號(hào)耦合至數(shù)據(jù)輸入,則連接可以通過單個(gè)扇出節(jié)點(diǎn)從寄存器回溯至同步復(fù)位信號(hào),在該同步復(fù)位信號(hào)處復(fù)位信號(hào)被設(shè)置為相反值。已經(jīng)參考標(biāo)識(shí)和去除冗余復(fù)位信號(hào)論述了本發(fā)明的一些實(shí)施例。應(yīng)當(dāng)理解,本發(fā)明的一些實(shí)施例也可以用于以相同方式標(biāo)識(shí)和去除冗余預(yù)置信號(hào)。應(yīng)當(dāng)理解,可以以計(jì)算機(jī)程序產(chǎn)品或者軟件的形式提供本發(fā)明的一些實(shí)施例,其可以包括具有指令的計(jì)算機(jī)可讀或者機(jī)器可讀介質(zhì)。計(jì)算機(jī)可讀或者機(jī)器可讀介質(zhì)上的指令可以用于對(duì)計(jì)算機(jī)系統(tǒng)或者其它電子裝置編程。機(jī)器可讀介質(zhì)可以包括但不限于軟盤、光盤、CD-ROM和磁光盤或者適于存儲(chǔ)電子指令的其它類型介質(zhì)/機(jī)器可讀介質(zhì)。在此描述的技術(shù)并不限于任何特定的軟件結(jié)構(gòu)。它們可以應(yīng)用到任何計(jì)算或者處理環(huán)境中。在此使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)”或者“機(jī)器可讀介質(zhì)”將包括能夠存儲(chǔ)或者編碼由計(jì)算機(jī)執(zhí)行并且使得計(jì)算機(jī)執(zhí)行在此描述的任一方法的指令序列的任何介質(zhì)。此外,在本領(lǐng)域中,涉及的軟件以一種或者另一種形式采取動(dòng)作或引起結(jié)果(例如程序、過程、處理、應(yīng)用、模塊、單元、邏輯等等)是常見的。這些表述僅僅是陳述處理系統(tǒng)對(duì)軟件的執(zhí)行使得處理器執(zhí)行動(dòng)作以產(chǎn)生結(jié)果的簡(jiǎn)要方式。圖11說明了根據(jù)本發(fā)明的一個(gè)實(shí)施例的可以用于實(shí)現(xiàn)目標(biāo)裝置的裝置1100。裝置1100是包括多個(gè)邏輯陣列塊(LAB)的現(xiàn)場(chǎng)可編程門陣列(FPGA)。每個(gè)LAB可以由多 個(gè)邏輯塊、進(jìn)位鏈、LAB控制信號(hào)、查找表(LUT)鏈和寄存器鏈連接線形成。邏輯塊是提供用戶邏輯功能的有效實(shí)現(xiàn)的小的邏輯單元。邏輯塊包括一個(gè)或多個(gè)組合的單元和寄存器,其中每個(gè)組合的單元具有單個(gè)輸出。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述邏輯塊可以按照諸如Altera 公司制造的Stratix或Cyclone器件中的邏輯元件(LE)或者Xilinx有限公司制造的Virtex器件中的組合邏輯塊(CLB)進(jìn)行類似地操作。在該實(shí)施例中,邏輯塊可以包括具有可配置寄存器的四輸入LUT。根據(jù)本發(fā)明的一個(gè)備選實(shí)施例,邏輯塊可以按照諸如Altera公司制造的Stratix器件中的自適應(yīng)邏輯塊(ALM)進(jìn)行類似地操作。LAB遍布整個(gè)所述器件1100地分組為行和列。LAB的列示出為1111-1116。應(yīng)當(dāng)理解,邏輯塊可以包括額外的部件或者備選的部件。裝置1100包括存儲(chǔ)塊。例如,存儲(chǔ)塊可以例如是提供高達(dá)各種頻率下的高達(dá)各種位寬的專用真實(shí)雙端口、簡(jiǎn)單雙端口或單端口存儲(chǔ)器的雙端口隨機(jī)訪問存儲(chǔ)器(RAM)塊。存儲(chǔ)塊可以遍布裝置地在所選LAB之間分組為列,或者分別或成對(duì)地位于裝置1100內(nèi)。存儲(chǔ)塊的列示出為1121-1124。裝置1100包括數(shù)字信號(hào)處理(DSP)塊。DSP塊可以用于實(shí)現(xiàn)具有加法或者減法特征的各種配置的乘法器。DSP塊包括移位寄存器、乘法器、加法器和累加器。DSP塊可以在遍布裝置1100地分組為列并且示出為1131。裝置1100包括多個(gè)輸入/輸出元件(IOE) 1140。每個(gè)IOE對(duì)在裝置1100上IO管腳(未示出)進(jìn)行饋送。IOE 1140位于裝置1100的邊緣周圍的LAB行和列的端部。每個(gè)IOE可以包括雙向IO緩存器和多個(gè)用于寄存輸入、輸出和輸出使能信號(hào)的寄存器。裝置1100可以包括布線資源,諸如LAB局部互連線、行互連線(“H型引線”)和列互連線(“V型引線(未示出),以在目標(biāo)裝置上的部件之間路由信號(hào)布線。在前述說明書中,已參照其特定示例性實(shí)施例描述了本發(fā)明的一些實(shí)施例。然而,明顯的是,可以對(duì)其做出各種修改和改變而不脫離本發(fā)明所述實(shí)施例的寬廣精神和范圍。因此,所述說明書和附圖應(yīng)視作示例性的而不是限制性的。
權(quán)利要求
1.一種用于在目標(biāo)裝置上設(shè)計(jì)系統(tǒng)的方法,包括 標(biāo)識(shí)所述系統(tǒng)中具有共用復(fù)位信號(hào)的寄存器集合; 針對(duì)所述寄存器集合中的每個(gè)寄存器,通過在所述寄存器上應(yīng)用復(fù)位狀態(tài)來標(biāo)識(shí)所述系統(tǒng)的對(duì)應(yīng)的冗余部分; 基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本; 針對(duì)所述寄存器集合中并不對(duì)應(yīng)于已被去除的復(fù)位的每個(gè)寄存器,按從最高至最低的成本順序,去除去往所述寄存器的、耦合至已標(biāo)識(shí)的對(duì)應(yīng)冗余部分的所述復(fù)位信號(hào)。
2.根據(jù)權(quán)利要求I所述的方法,其中所述復(fù)位信號(hào)是異步復(fù)位信號(hào)。
3.根據(jù)權(quán)利要求I所述的方法,其中所述復(fù)位信號(hào)是同步復(fù)位信號(hào)。
4.根據(jù)權(quán)利要求I所述的方法,其中標(biāo)識(shí)所述寄存器集合包括標(biāo)識(shí)至少預(yù)定數(shù)目的寄存器。
5.根據(jù)權(quán)利要求4所述的方法,其中所述預(yù)定數(shù)目在十萬的量級(jí)。
6.根據(jù)權(quán)利要求I所述的方法,其中基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本包括基于所述系統(tǒng)的變得冗余的分?jǐn)?shù)。
7.根據(jù)權(quán)利要求I所述的方法,其中基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本包括基于變得冗余的邏輯門、寄存器和引線的數(shù)目。
8.根據(jù)權(quán)利要求I所述的方法,其中基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本包括基于變得冗余的電路的深度。
9.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括標(biāo)識(shí)同步復(fù)位信號(hào)。
10.根據(jù)權(quán)利要求9所述的方法,其中標(biāo)識(shí)同步復(fù)位信號(hào)包括 標(biāo)識(shí)具有大于第一閾值的扇出的信號(hào); 標(biāo)識(shí)當(dāng)指派數(shù)值I給所述信號(hào)時(shí)輸入恒定的寄存器的第一數(shù)目; 標(biāo)識(shí)當(dāng)指派數(shù)值O給所述信號(hào)時(shí)輸入恒定的寄存器的第二數(shù)目;以及 如果所述第一數(shù)目或所述第二數(shù)目大于第二閾值,則將所述信號(hào)指定為同步復(fù)位信號(hào)。
11.根據(jù)權(quán)利要求3所述的方法,其中去除所述復(fù)位信號(hào)包括通過單個(gè)扇出節(jié)點(diǎn)從寄存器向同步復(fù)位信號(hào)回溯并且將所述復(fù)位信號(hào)設(shè)置為相反值。
12.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括在去除所述復(fù)位信號(hào)之后對(duì)所述系統(tǒng)執(zhí)行優(yōu)化。
13.根據(jù)權(quán)利要求12所述的方法,進(jìn)一步包括 在所述目標(biāo)裝置上布局所述系統(tǒng);以及 在所述目標(biāo)裝置上對(duì)所述系統(tǒng)布線。
14.一種具有存儲(chǔ)在其上的指令序列的計(jì)算機(jī)可讀介質(zhì),當(dāng)由處理器執(zhí)行所述指令序列時(shí)使得所述處理器執(zhí)行 通過將系統(tǒng)的高層次描述轉(zhuǎn)換為門、寄存器和復(fù)位電路來綜合所述系統(tǒng); 執(zhí)行分析以標(biāo)識(shí)并去除冗余復(fù)位電路;以及 在已去除所述冗余復(fù)位電路之后優(yōu)化所述系統(tǒng)。
15.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其中執(zhí)行分析以標(biāo)識(shí)并去除冗余復(fù)位電路包括在同步復(fù)位信號(hào)之前標(biāo)識(shí)并去除與異步復(fù)位信號(hào)相關(guān)聯(lián)的冗余復(fù)位電路。
16.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其中執(zhí)行分析以標(biāo)識(shí)并去除冗余復(fù)位電路包括 標(biāo)識(shí)所述系統(tǒng)中具有共用復(fù)位信號(hào)的寄存器集合; 針對(duì)所述寄存器集合中的每個(gè)寄存器,通過在所述寄存器上應(yīng)用復(fù)位狀態(tài)來標(biāo)識(shí)所述系統(tǒng)的對(duì)應(yīng)冗余部分; 基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本; 針對(duì)所述寄存器集合中并不對(duì)應(yīng)于已被去除的復(fù)位的每個(gè)寄存器,按從最高至最低的成本順序,去除去往所述寄存器的、耦合至已被標(biāo)識(shí)的對(duì)應(yīng)冗余部分的復(fù)位信號(hào)。
17.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中標(biāo)識(shí)所述寄存器集合包括標(biāo)識(shí)至少預(yù)定數(shù)目的寄存器。
18.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本包括基于所述系統(tǒng)的變得冗余的部分。
19.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中基于所述系統(tǒng)的已被標(biāo)識(shí)的冗余部分來確定每個(gè)寄存器的成本包括基于變得冗余的電路的深度。
20.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),進(jìn)一步包括標(biāo)識(shí)同步復(fù)位信號(hào)。
21.根據(jù)權(quán)利要求20所述的計(jì)算機(jī)可讀介質(zhì),其中標(biāo)識(shí)同步復(fù)位信號(hào)包括 標(biāo)識(shí)具有大于第一閾值的扇出的信號(hào); 標(biāo)識(shí)當(dāng)指派數(shù)值I給所述信號(hào)時(shí)輸入恒定的寄存器的第一數(shù)目; 標(biāo)識(shí)當(dāng)指派數(shù)值O給所述信號(hào)時(shí)輸入恒定的寄存器的第二數(shù)目;以及 如果所述第一數(shù)目或所述第二數(shù)目大于第二閾值,則將所述信號(hào)指定為同步復(fù)位信號(hào)。
22.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),進(jìn)一步包括 在所述目標(biāo)裝置上布局所述系統(tǒng);以及 在所述目標(biāo)裝置上對(duì)所述系統(tǒng)布線。
23.—種系統(tǒng)設(shè)計(jì)器,包括 冗余部分標(biāo)識(shí)單元,用于當(dāng)復(fù)位狀態(tài)應(yīng)用至系統(tǒng)中的寄存器時(shí)標(biāo)識(shí)所述系統(tǒng)中的冗余電路; 成本計(jì)算單元,用于基于其對(duì)應(yīng)的冗余電路計(jì)算所述系統(tǒng)中的寄存器的成本值;以及復(fù)位去除單元,用于基于指派給對(duì)應(yīng)寄存器的成本值來去除所述系統(tǒng)中的冗余電路的復(fù)位。
24.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述成本值基于所述系統(tǒng)中的變得冗余的分?jǐn)?shù)。
25.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述成本值基于變得冗余的邏輯門、寄存器和引線的數(shù)目。
26.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述成本值基于變得冗余的電路的深度。
27.根據(jù)權(quán)利要求23所述的設(shè)備,進(jìn)一步包括用于標(biāo)識(shí)同步復(fù)位信號(hào)的復(fù)位標(biāo)識(shí)單J Li ο
28.根據(jù)權(quán)利要求23所述的設(shè)備,其中所述冗余部分標(biāo)識(shí)單元、所述成本計(jì)算單元和所述復(fù)位去除單元駐留在綜合單元中,所述綜合單元在去除復(fù)位之后對(duì)所述系統(tǒng)執(zhí)行優(yōu)化。
全文摘要
公開了一種用于在目標(biāo)裝置上設(shè)計(jì)系統(tǒng)的方法。通過將系統(tǒng)的高層次描述轉(zhuǎn)換為門、寄存器和復(fù)位電路來綜合系統(tǒng)。執(zhí)行分析以標(biāo)識(shí)并去除冗余復(fù)位電路。在已去除冗余復(fù)位電路之后優(yōu)化系統(tǒng)。也公開了其它一些實(shí)施例。
文檔編號(hào)G06F17/50GK102893282SQ201180023477
公開日2013年1月23日 申請(qǐng)日期2011年5月9日 優(yōu)先權(quán)日2010年5月11日
發(fā)明者V·瑪諾哈拉拉雅 申請(qǐng)人:阿爾特拉公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南阳市| 田阳县| 新邵县| 长阳| 贵阳市| 原阳县| 探索| 洮南市| 济南市| 贵阳市| 莱阳市| 婺源县| 浪卡子县| 沛县| 景洪市| 吴川市| 贵德县| 台安县| 贞丰县| 临沭县| 顺平县| 合肥市| 玛沁县| 甘洛县| 行唐县| 恭城| 淳化县| 且末县| 彭水| 株洲市| 铅山县| 巧家县| 辰溪县| 阿城市| 米脂县| 彰化县| 喀什市| 长寿区| 锡林郭勒盟| 紫云| 湖北省|