一種芯片緩沖器的插入方法
【技術領域】
[0001] 本發(fā)明涉及集成電路技術領域,尤其涉及一種芯片緩沖器的插入方法。
【背景技術】
[0002] 芯片上的gate是M0S管(Metal Oxide Semiconductor)上的控制用的門。通常,芯 片上會分布有多個門,門與門之間具有一定距離,當需要在兩個門之間放置緩沖器 (buffer),但是,兩個門之間沒有足夠的位置時,只能將緩沖器移動到其他能夠容納該緩沖 器的區(qū)域。如圖1所示,假設需要在gate7和gate8之間插入一個緩沖器,但是,gate7和gate8 之間沒有足夠大的位置放置緩沖器,緩沖器只能被移動到gate2和gate3之間進行放置。然 而,在移動緩沖器的過程中,將會增加線長,當線長過大時,會增加芯片上的互聯(lián)延時。
[0003] 綜上所述,按照現(xiàn)有技術中的上述緩沖器插入方法,不僅芯片上可插入的緩沖器 的數量有限,而且,在移動緩沖器的過程中容易造成緩沖區(qū)的總線長過大,從而增大芯片上 的互聯(lián)延時,降低緩沖器插入的效率。
【發(fā)明內容】
[0004] 本發(fā)明通過提供一種芯片緩沖器的插入方法,解決了現(xiàn)有技術在芯片上可插入的 緩沖器的數量有限,且緩沖器移動過程中線長過大所造成的芯片互聯(lián)延時過長的技術問 題。
[0005] 本發(fā)明實施例提供了一種芯片緩沖器的插入方法,所述方法包括:
[0006] 單元化所述芯片,以在所述芯片上形成若干均等的單元格;
[0007] 分別確定位于所述芯片上的所有門中每個門的可移動范圍;
[0008] 基于所述每個門的可移動范圍,在滿足每個所述單元格至多被一個所述門或一個 緩沖器覆蓋的條件下,確定可插入在所述芯片內的所述緩沖器的數量。
[0009] 可選的,確定每個門的可移動范圍,具體為:
[0010] 根據每個門在所述芯片上的初始位置,以及所述芯片的高度和寬度,確定每個門 在所述芯片的垂直方向和水平方向上的可移動范圍。
[0011] 可選的,所述芯片上的所述門或所述緩沖器逐行分布。
[0012] 可選的,一個所述門至少覆蓋一個所述單元格,一個所述緩沖器至少覆蓋一個所 述單元格。
[0013] 可選的,當一個所述單元格或一組所述單元格被所述門覆蓋時,一個所述單元格 的頂點或一組所述單元格的頂點與所述門的頂點重合;
[0014] 當一個所述單元格或一組所述單元格被所述緩沖器覆蓋時,一個所述單元格的頂 點或一組所述單元格的頂點與所述緩沖器的頂點重合。
[0015] 可選的,所述基于所述每個門的可移動范圍,在滿足每個所述單元格至多被一個 所述門或一個緩沖器覆蓋的條件下,確定可插入在所述芯片內的所述緩沖器的數量,具體 包括:
[0017]
[0016] 根據整數線性規(guī)劃,構建如下方程組:
[0018]
[0019] 其中,用于表示門是否被放置在頂點坐標為(i,j)的單元格內,用于表示 緩沖器是否被放置在頂點坐標為(i,j)的單元格內,當門被放置在頂點坐標為(i,j)的單元 格內,則為1,否則為〇,當緩沖器被放置在頂點坐標為(i,j)的單元格內,則為 1,否則為〇,Ρ為所述芯片上的任一單元格的頂點;
[0020] 求解所述方程組,從而確定可插入在所述芯片內的所述緩沖器的數量。
[0021] 本發(fā)明實施例中的一個或多個技術方案,至少具有如下技術效果或優(yōu)點:
[0022] 本發(fā)明通過將芯片單元化,在確定出芯片上的每個門的可移動范圍之后,根據每 個門的可移動范圍可以確定出可插入在芯片內的緩沖器的數量,從而,不僅優(yōu)化了芯片的 布局,提高了芯片上可插入緩沖器的緩沖區(qū)的數量,還降低了芯片的互聯(lián)延時。
【附圖說明】
[0023] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據 提供的附圖獲得其他的附圖。
[0024] 圖1為現(xiàn)有技術中緩沖器插入方法的示意圖;
[0025] 圖2為本發(fā)明實施例中一種芯片緩沖器的插入方法的流程圖;
[0026] 圖3為本發(fā)明實施例中一個【具體實施方式】的示意圖。
【具體實施方式】
[0027] 為解決現(xiàn)有技術在芯片上可插入的緩沖器的數量有限,且緩沖器移動過程中線長 過大所造成的芯片互聯(lián)延時過長的技術問題,本發(fā)明提供一種芯片緩沖器的插入方法。
[0028] 為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0029] 本發(fā)明實施例提供一種芯片緩沖器的插入方法,如圖2所示,所述方法包括:
[0030] 步驟101:單元化芯片,以在芯片上形成若干均等的單元格。
[0031] 在具體實施過程中,首先將芯片按照事先定義好的一個單元的大小進行單元化, 即,將芯片分為若干單元格,各個單元格的大小相同。一個門至少覆蓋一個單元格,同樣,一 個緩沖器至少覆蓋一個單元格。具體的,一個門可以覆蓋一個單元格,一個門也可以覆蓋 多個單元格,當一個門覆蓋多個單元格時,多個單元格即成為一組單元格。同樣,一個緩沖 器可以覆蓋一個單元格,一個緩沖器也可以覆蓋多個單元格,當一個緩沖器覆蓋多個單元 格時,多個單元格即成為一組單元格。其中,可以以每個單元格或每組單元格的左下角作為 該一個單元格或該一組單元格的頂點,例如,對于一個單元格而言,該單元格的左下角作為 該單元格的頂點,對于一組單元格而言,該組單元格中最左邊的一個單元格的左下角作為 該組單元格的頂點。
[0032] 進一步,當一個單元格或一組單元格被門覆蓋時,一個單元格的頂點或一組單元 格的頂點與門的頂點重合,同樣,當一個單元格或一組單元格被緩沖器覆蓋時,一個單元格 的頂點或一組單元格的頂點與緩沖器的頂點重合。例如,當門覆蓋在一個單元格上,則,門 的頂點與該單元格的左下角重合,當門覆蓋在一組單元格上,則,門的頂點與該組單元格中 最左邊的單元格的左下角重合,緩沖器具有同樣的覆蓋規(guī)則,此處不再贅述。
[0033] 在執(zhí)行完步驟101之后,本申請執(zhí)行步驟102:分別確定位于芯片上的所有門中每 個門的可移動范圍。
[0034] 在具體實施過程中,根據每個門在芯片上的初始位置,以及芯片的高度和寬度,給 定每個門在芯片的垂直方向和水平方向上的可移動范圍,即,每個門在芯片的X方向和y方 向上的可移