TWI677800B - 擴展標準單元集合的方法與系統以及電腦可讀媒體 - Google Patents
擴展標準單元集合的方法與系統以及電腦可讀媒體 Download PDFInfo
- Publication number
- TWI677800B TWI677800B TW107117100A TW107117100A TWI677800B TW I677800 B TWI677800 B TW I677800B TW 107117100 A TW107117100 A TW 107117100A TW 107117100 A TW107117100 A TW 107117100A TW I677800 B TWI677800 B TW I677800B
- Authority
- TW
- Taiwan
- Prior art keywords
- transistor
- circuit
- node
- logic
- macro
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Power Engineering (AREA)
Abstract
一種擴展標準單元集合的方法與系統以及電腦可讀媒
體。擴展標準單元集合的方法包含:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得選定群組中的基本標準單元具有連接,以便表示對應的邏輯電路,每一基本標準單元表示邏輯閘,且選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對應於選定群組產生一或多個巨集標準單元;以及將一或多個巨集標準單元添加至標準單元集合,且藉此擴展標準單元集合;且其中方法的至少一個方面由電腦的處理器執行。
Description
本發明是有關於一種擴展標準單元集合的方法與系統以及電腦可讀媒體,且特別是有關於一種擴展包括函數庫(library)的標準單元集合的方法與系統以及電腦可讀媒體。
邏輯閘為實施基本布林函數(elementary Boolean function)(亦被稱作「布林表式」)的實體裝置。邏輯閘在一或多個二進制輸入(亦被稱作「文字(literal)」)上執行布林函數並產生單個二進制輸出。通常,邏輯閘使用充當電子開關的電晶體來實施。邏輯電路(亦被稱作「合成閘(composite gate)」)包含多個邏輯閘且執行合成布林函數(composite Boolean function)(亦被稱作「複合布林函數(compound Boolean function)」、「複雜布林函數(complex Boolean function)」、「複合邏輯」等)。合成布林函數包含多個基本布林函數。
本發明一實施例提供一種擴展包括函數庫的標準單元集合的方法,所述函數庫儲存於非暫時性電腦可讀媒體上,所述方法包括:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得:所述選定群組中的所述基本標準單元具有連接,以便表示對應的邏輯電路;每一所述基本標準單元表示邏輯閘;以及所述選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對應於所述選定群組產生一或多個巨集標準單元;以及將所述一或多個巨集標準單元添加至所述標準單元集合,且藉此擴展所述標準單元集合;以及其中所述方法的至少一個方面由電腦的處理器執行。
本發明一實施例提供一種用於擴展包括函數庫的標準單元集合的系統,所述函數庫儲存於非暫時性電腦可讀媒體上,所述系統包括:至少一個處理器;以及至少一個記憶體,包含所述函數庫及用於一或多個程式的電腦程式碼;其中所述至少一個記憶體、所述電腦程式碼以及所述至少一個處理器經組態以使得所述系統:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得:所述選定群組中的所述基本標準單元具有連接,以便表示對應的邏輯電路;每一所述基本標準單元表示邏輯閘;以及所述選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對應於所述選定群組產生一或多個巨集標準單
元;在參數集合中的至少一個參數方面,將所述一或多個巨集標準單元中的每一者組態為比所述選定群組更高效;以及將所述一或多個巨集標準單元添加至所述標準單元集合,且藉此擴展所述標準單元集合。
本發明一實施例提供一種包括電腦可執行指令的電腦可讀媒體,所述電腦可執行指令用於執行擴展包括函數庫的標準單元集合的方法,所述函數庫儲存於非暫時性電腦可讀媒體上,所述方法包括:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得:所述選定群組中的所述基本標準單元具有連接,以便表示對應的邏輯電路;每一所述基本標準單元表示邏輯閘;以及所述選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對所述選定布林表式執行布林最小化,從而產生最小化布林表式;選擇電晶體技術,所述一或多個巨集標準單元將相對於所述電晶體技術被組態;用所述選定電晶體技術的電晶體表示所述最小化布林表式,所述表示包含以下中的至少一者:相對於來自參數集合的至少一個參數組態所述電晶體中的一或多者;或相對於所述至少一個參數配置所述電晶體中的一或多者;以及將所述一或多個巨集標準單元添加至所述標準單元集合,且藉此擴展所述標準單元集合。
100A、100B、100C‧‧‧半導體裝置
102A、102B、102C‧‧‧巨集
104A‧‧‧賦能互斥或(EXOR)電路
104B‧‧‧賦能互斥反或(EXNOR)電路
104C、600C‧‧‧多位元傳輸正反器(MBTXFF)電路
110、110'、700‧‧‧方法
112、114、116、118、120、120'、122、122'、130、132、134、702、704、706、708、710、712、714‧‧‧區塊
200A‧‧‧邏輯圖/EXOR
200C、300C、400B、500B‧‧‧邏輯電路
200C'、300C'、400B'、500B'、602B(0)'、602B(1)'、602B(N-1)'‧‧‧巨集標準單元
202、204、302、304、410、510‧‧‧及閘
206‧‧‧互斥或閘
222、224、322、324‧‧‧反及電路
226、232、326、332、514、608A、614A、610A、610B、612A、612B、614 B、608B、622(0)、624(0)、626(0)‧‧‧反相器
228、328、628(0)‧‧‧傳輸閘
230、250、330、615(0)、616(0)、618(0)、620(0)‧‧‧堆疊閘邏輯(SGL)電路
231、331‧‧‧組合電路
240、242、244、246、248、250、252、254、256、340、342、344、346、348、350、352、354、356、420、422、424、430、428、426、521、523、525、527、529、531、630、632、634、636、638、640、642、646、648、650、652、654、656、658、660、662、664、
666‧‧‧節點
270、370、470、570、670‧‧‧佈局圖
300A‧‧‧邏輯圖/EXNOR
306‧‧‧互斥反或閘
400A、500A、600A‧‧‧邏輯圖
402A、502A‧‧‧OAI圖
402B、502B‧‧‧OAI電路
404A、504A‧‧‧AOI圖
404B、504B‧‧‧AOI電路
406、506‧‧‧或閘
408、508、606A(0)、606A(1)、606A(N-1)‧‧‧反及閘
412、512‧‧‧反或閘
602A(0)、602A(1)、602A(N-1)、602B(0)、602B(1)、602B(N-1)‧‧‧傳輸正反器(TXFF)
604A(0)、604A(1)、604A(N-1)‧‧‧傳輸閘正反器(TGFF)
606B(0)‧‧‧反及電路/反及閘
800‧‧‧EDA系統
802‧‧‧硬體處理器
804‧‧‧非暫時性電腦可讀儲存媒體/儲存媒體
808‧‧‧匯流排
810‧‧‧I/O介面
812‧‧‧網路介面
814‧‧‧網路
821‧‧‧程式碼
822‧‧‧佈局圖
824‧‧‧函數庫
826‧‧‧集合/標準單元集合
828‧‧‧使用者介面
900‧‧‧IC製造系統
920‧‧‧設計室
922‧‧‧IC設計佈局圖
930‧‧‧遮罩室
932‧‧‧遮罩資料準備/資料準備
934‧‧‧遮罩製造
940‧‧‧IC工廠/工廠
942‧‧‧半導體晶圓/晶圓
960‧‧‧IC裝置
A1、A2、DA(0)、DB(0)、DA(1)、DB(1)、DA(N-1)、DB(N-1)、DA(i)、DB(i)‧‧‧資料信號/輸入
CP‧‧‧時鐘脈衝/信號
E‧‧‧控制信號/致能信號
N21、N22、N23、N24、N25、N26、N27、N28、N29、N31、N32、N33、N34、N35、N36、N37、N38、N39、N41、N42、N43、N44、N45、N46、N51、N52、N53、N54、N55、N56、N57、N61、
N62、N63、N64、N65、N66、N67、N68、N69、N70、N71、N72、N73、N74、N75‧‧‧NMOS電晶體/電晶體
P21、P22、P23、P24、P25、P26、P27、P28、P29、P31、P32、P33、P34、P35、P36、P37、P38、P39、P41、P42、P43、P44、P45、P46、P51、P52、P53、P54、P55、P56、P57、P61、P62、P63、P64、P65、P66、P67、P68、P69、P70、P71、P72、P73、P74、P75‧‧‧PMOS電晶體/電晶體
Q(0)、q(0)、Q(1)、q(1)、Q(N-1)、q(N-1)、q(N-2)、Q(i)、enb、clkb、clkbb、seb、SIb‧‧‧信號
SE‧‧‧開關致能信號
SI‧‧‧開始信號/輸入
VDD、VSS‧‧‧參考電壓
Z、ZN‧‧‧變量/邏輯函數
當結合附圖閱讀時,自以下詳細描述最佳地理解本揭露
的態樣。應注意,根據業界中的標準慣例,各種特徵未按比例繪製。實際上,為論述清楚起見,可任意增大或減小各種特徵的尺寸。
圖1A為根據本揭露的至少一個實施例的半導體裝置的方塊圖。
圖1B為根據本揭露的至少一個實施例的半導體裝置的方塊圖。
圖1C為根據本揭露的至少一個實施例的半導體裝置的方塊圖。
圖1D為根據本揭露的至少一個實施例的擴展包括函數庫的標準單元集合的方法的流程圖。
圖1E為根據本揭露的至少一個實施例的擴展包括函數庫的標準單元集合的方法的流程圖。
圖2A為賦能互斥或(賦能XOR)(enable exclusive OR,EXOR)函數的邏輯圖,且為可應用圖1D的方法的基本標準單元的群組的實例。
圖2B為根據本揭露的至少一個實施例的用於圖2A的邏輯圖的賦能互斥或(EXOR)函數的真值表。
圖2C為根據本揭露的至少一個實施例的提供賦能互斥或(EXOR)函數的邏輯電路的示意圖。
圖2D為根據本揭露的至少一個實施例的佈局圖。
圖3A為賦能互斥反或(賦能XNOR)(enable exclusive NOR,
EXNOR)函數的邏輯圖,且為可應用圖1D的方法的基本標準單元的群組的實例。
圖3B為根據本揭露的至少一個實施例的用於圖3A的邏輯圖的賦能互斥反或(EXNOR)函數的真值表。
圖3C為根據本揭露的至少一個實施例的提供賦能互斥反或(EXNOR)函數的邏輯電路的示意圖。
圖3D為根據本揭露的至少一個實施例的佈局圖。
圖4A為根據本揭露的至少一個實施例的賦能互斥或(EXOR)函數的邏輯圖。
圖4B為根據本揭露的至少一個實施例的提供賦能互斥或(EXOR)函數的邏輯電路的示意圖。
圖4C為根據本揭露的至少一個實施例的佈局圖。
圖5A為根據本揭露的至少一個實施例的賦能互斥反或(EXNOR)函數的邏輯圖。
圖5B為根據本揭露的至少一個實施例的提供賦能互斥反或(EXNOR)函數的邏輯電路的示意圖。
圖5C為根據本揭露的至少一個實施例的佈局圖。
圖6A為根據本揭露的至少一個實施例的N位元多位元傳輸正反器(transfer flip-flop,TXFF)(multibit transfer flip-flop,MBTXFF)函數的邏輯圖。
圖6B為根據本揭露的至少一個實施例的用於圖6A的邏輯圖的TXFF函數的真值表。
圖6C為根據本揭露的至少一個實施例的N位元多位元(TXFF)(MBTXFF)電路600C的示意圖。
圖6D為根據本揭露的至少一個實施例的佈局圖。
圖7為根據本揭露的至少一個實施例的形成邏輯電路的方法700的流程圖。
圖8為根據本揭露的至少一個實施例的電子設計自動化(electronic design automation,EDA)系統的方塊圖。
圖9為根據本揭露的至少一個實施例的積體電路(integrated circuit,IC)製造系統及與其相關聯的IC製造流程的方塊圖。
以下揭露內容提供用於實施所提供主題的不同特徵的多個不同實施例或實例。下文描述組件、值、操作、材料、配置等的特定實例以簡化本揭露。當然,此等組件及配置僅為實例且並不意欲為限制性的。預期其他組件、值、操作、材料、配置等。舉例而言,在以下描述中,第一特徵在第二特徵上方或上的形成可包括第一特徵以及第二特徵直接接觸地形成的實施例,且亦可包括額外特徵可在第一特徵與第二特徵之間形成使得第一特徵與第二特徵可不直接接觸的實施例。另外,本揭露可在各種實例中重複參考標號及/或字母。此重複是出於簡單性及清晰性的目的,且本身並不指示所論述的各種實施例及/或組態之間的關係。
此外,在本文中,為了易於描述,空間相對術語,諸如
「在...下方(beneath)」、「下方(below)」、「下(lower)」、「上(above)」、「上方(upper)」及類似者可用於描述如圖式中所說明的一個元件或特徵與其他元件或特徵的關係。除圖中所描繪的定向以外,空間相對術語意欲涵蓋裝置在使用或操作中的不同定向。設備可以其他方式定向(旋轉90度或處於其他定向)且本文中所使用的空間相對描述詞可同樣相應地進行解譯。
如本文中所使用,邏輯閘為實施基本布林函數的實體裝置。邏輯閘的實例包含及閘(AND gate)、反及閘(NAND gate)、或閘(OR gate)、反或閘(NOR gate)、互斥或閘(XOR gate)、互斥反或閘(XNOR gate)、反閘(NOT gate)(亦被稱作「反相器電路」,或更簡單地稱作「反相器」)等。邏輯閘在一或多個二進制輸入(亦被稱作「文字」)上接收且執行基本布林函數,從而產生單個二進制輸出。邏輯閘被視為一階裝置(one-level device)。
邏輯閘中的一些被視為「通用閘」(或「原始閘」)。給定通用閘被視為是通用的/原始的,這是因為可使用給定通用閘的一或多個實例來實施任何邏輯閘。通用閘的廣泛已知實例為反及閘及反或閘。
舉例而言,就為通用閘的反及閘而言,反相器可由單個反及閘形成,及閘可由兩個串聯連接的反及閘形成等。在使用反及閘實施的及閘的實例中,兩個反及閘的串聯連接可描述為第一級連接至第二級。儘管存在給定邏輯閘可使用給定通用閘的兩個或多於兩個級來實施的可能性,每一邏輯閘仍被視為一階裝置。
邏輯電路(亦被稱作「合成閘」)包含多個邏輯閘且執行合成布林函數(亦被稱作「複合布林函數」、「複雜布林函數」、「複合邏輯」等)。此外,合成布林函數包含多個基本布林函數。邏輯電路在一或多個二進制輸入(亦被稱作「文字」)上接收且執行合成布林函數,從而產生單個二進制輸出。因為邏輯電路包含多個邏輯閘,故邏輯電路被視為二階裝置或多階裝置,儘管二階裝置具有多個級,但通常,術語多階裝置意謂具有三個或多於三個級的邏輯電路。
如本文中所使用,布林最小化(亦被稱作「布林簡化」(Boolean reduction))涉及將布林函數簡化成其最簡單形式的過程。可在成本(cost)方面評估布林表式,所述成本例如文字的成本(亦被稱作「文字成本(literals cost/literal cost)」、閘輸入成本、反相器/反閘的閘輸入成本等。布林最小化降低此類成本。如本文中所使用,閘最小化為用最小第一數目個邏輯閘及對應的第一數目個電晶體表示給定布林函數或對應的真值表的技術。如本文中所使用,且回想到邏輯閘將電晶體用作開關,開關最小化為使用第二數目個電晶體表示給定布林函數的技術,電晶體的第二數目小於使用電路最小化獲得的電晶體的第一數目。
根據一些實施例,一或多個巨集標準單元經產生且添加至包括函數庫的標準單元集合,由此擴展所述集合。一或多個巨集標準單元對應於基本標準單元的循環的特定群組(recurrent ad hoc group)中的選定一者。對於一或多個參數而言,每一新巨集
標準單元比選定群組更有效。根據用於改良選定群組的效率的另一方法,產生對應的封裝。封裝與選定群組的不同之處在於選定群組的基本標準單元在封裝中重新配置。所述重新配置使用自動佈局佈線(automatic placement and routing,APR)以將最佳包封的基本標準單元緊密包封在一起,使得所述封裝在面積(亦被稱作「覆蓋區(footprint)」)方面比選定群組更有效,其中面積為參數。由於在「包封」並不改變基本標準單元中的任一者的個別特性方面,因此重新配置對應於選定群組。對於給定基本標準單元,形成封裝的重新配置並不會:改變單元的邊界,改變至單元的輸入的數目;改變基本標準單元內的任何圖案(其中此類圖案表示導電結構)的形狀及/或位置;或類似者。若存在對應的封裝,對於一或多個參數,每一新巨集標準單元比所述封裝更有效。
根據一些實施例,開關最小化產生相對較小的第二數目個電晶體,亦產生第二數目個閘,所述閘的第二數目與使用電路最小化獲得的閘的第一數目相比相同或更大。在一些實施例中,開關最小化用於產生實施賦能互斥或(XOR)(EXOR)函數的邏輯電路。在一些實施例中,開關最小化用於產生使用或-及-反相(OR-AND-Invert,OAI)電路與及-或-反相(AND-OR-Invert,AOI)電路的組合實施EXOR函數的邏輯電路。在一些實施例中,開關最小化用於產生實施賦能互斥反或(XNOR)(EXNOR)函數的邏輯電路。在一些實施例中,開關最小化用於產生使用AOI電路及OAI電路的組合實施EXNOR函數的邏輯電路。在一些實施例中,
開關最小化用於產生實施N位元多位元正反器(multibit flip-flop,MBFF)函數的邏輯電路。
圖1A為根據本揭露的至少一個實施例的半導體裝置100A的方塊圖。
在圖1A中,半導體裝置100A尤其包含電路巨集/模組(在下文中,巨集)102A。在一些實施例中,巨集102A為組合邏輯巨集。在一些實施例中,巨集102A為算術邏輯巨集。巨集102A包含賦能互斥或(XOR)(EXOR)電路104A(參見圖2A至圖2C及圖4A至圖4B)。
在一些實施例中,半導體裝置100A包含於積體電路內。在一些實施例中,電路巨集/模組102A在上下文中理解為對模組程式設計的架構階層的類比,在所述模組程式設計中,次常式(subroutines)/程序由主程式(或由其他次常式)呼叫以執行給定計算函數。在此上下文中,半導體裝置100A使用電路巨集/模組102A執行一或多個給定函數。因此,在此情況下及架構階層上,半導體裝置100A類似於主程式,且電路巨集/模組102A類似於次常式/程序。在一些實施例中,巨集102A為軟體巨集(soft macro)。在一些實施例中,巨集102A為硬體巨集(hard macro)。在一些實施例中,巨集102A為以暫存器轉移層次(register-transfer level,RTL)程式碼描述/表達(couched)的軟體巨集。在一些實施例中,尚未在巨集102A上執行合成、佈局及佈線,使得軟體巨集可針對各種製程節點合成、佈局及佈線。在一些實施例中,巨集102A為
以二進制檔案格式(例如,圖形資料庫系統II(Graphic Database System II,GDSII)串流格式)描述/表達的硬體巨集,其中二進制檔案格式表示對應於巨集102A的一或多個佈局圖的平面幾何形狀、文字標籤、其他資訊等。在一些實施例中,已在巨集102A上執行合成、佈局及佈線,使得對應的硬體巨集是特定針對特定的製程節點。
在一些實施例中,巨集102A為記憶體巨集。在一些實施例中,巨集102A為SRAM系統巨集。在一些實施例中,巨集102A為除SRAM系統巨集以外的記憶體系統巨集。在一些實施例中,巨集102A為比較器。在一些實施例中,巨集102A為離散傅立葉變換(discrete Fourier transform,DFT)巨集。在一些實施例中,巨集102A為去故障(de-glitch)巨集。
圖1B為根據本揭露的至少一個實施例的半導體裝置100B的方塊圖。
圖1B的半導體裝置100B類似於圖1A的半導體裝置100A。出於簡潔起見,論述將集中於半導體裝置100B與半導體裝置100A之間的差異。
在圖1B中,半導體裝置100B尤其包含電路巨集/模組(在下文中稱為巨集)102B。在一些實施例中,巨集102B為組合邏輯巨集。在一些實施例中,巨集102B為算術邏輯巨集。巨集102B包含賦能互斥反或(XNOR)(EXNOR)電路104B(參見圖3A至圖3C及圖5A至圖5B)。
圖1C為根據本揭露的至少一個實施例的半導體裝置100C的方塊圖。
圖1C的半導體裝置100C類似於對應的圖1A及圖1B的半導體裝置100A與半導體裝置100B。出於簡潔起見,論述將集中於半導體裝置100C與半導體裝置100A及半導體裝置100B之間的差異。
在圖1C中,半導體裝置100C尤其包含電路巨集/模組(在下文中稱為巨集)102C。在一些實施例中,巨集102C為組合邏輯巨集。在一些實施例中,巨集102C為算術邏輯巨集。在一些實施例中,巨集102C為記憶體系統巨集。巨集102B包含提供N位元多位元傳輸正反器(MBTFF)函數的電路104C(參見圖6A至圖6C)。在一些實施例中,巨集102C為中央處理單元(central processing unit,CPU)巨集。在一些實施例中,巨集102C為圖形處理單元(graphic processing unit,GPU)。在一些實施例中,巨集102C為系統晶片(system-on-chip,SoC)巨集。
圖1D為擴展包括函數庫的標準單元集合的方法110的流程圖,所述方法是根據本揭露的至少一個實施例。
在圖1D中,方法110包含區塊112至區塊122。在區塊112處,在基本標準單元的循環的特定群組之中選擇一個群組。在一些實施例中,已用於製造半導體裝置的佈局圖集表示一群體,經驗資料是自所述群體擷取,且此類經驗資料經分析以識別循環的特定群組。在一些實施例中,出於經驗資料分析的目的,候選
群組被認為是(A)兩個或多於兩個基本標準單元(B)其自身具有輸入及連接,以便提供邏輯函數(可表示為布林表式)。在一些實施例中,若兩個或多於兩個候選群組中的每一者包含實質上相同的兩個或多於兩個基本單元且提供實質上相同的邏輯函數,則兩個或多於兩個候選群組中的每一者被視為表示同一循環的群組的實例。在一些實施例中,循環的群組藉由根據循環的群組的實例數目排序而組織。在一些實施例中,群組基於循環的群組的實例數目而選擇。
對於給定的循環群組,給定的循環群組中的基本標準單元具有連接以便表示對應的邏輯電路。每一基本標準單元表示邏輯閘。每一基本標準單元為標準單元集合的成員,且所述集合包括函數庫。選定群組提供可表示為布林表式(在下文中稱為選定布林表式)的邏輯函數(在下文中稱為選定邏輯函數)。基本標準單元的循環群組的實例為由邏輯圖200A(下文論述)、邏輯圖300A(下文論述)等表示的群組。流程自區塊112前進至區塊114。
在區塊114處,判定標準單元(其同樣包括函數庫)的集合是否將藉由添加巨集標準單元而擴展。若決策區塊114的結果為否定(否),則流程前進至區塊116。在區塊116處,選定群組「經封裝」使得表示選定群組的封裝得以產生。封裝的產生表示改良選定群組的效率的另一方法。封裝與選定群組的不同之處在於選定群組的基本標準單元在封裝中重新配置。所述重新配置使用自動佈局及佈線(APR)以將最佳包封的基本標準單元緊密
包封在一起,使得所述封裝在面積(亦被稱作「覆蓋區」)方面比選定群組更有效,其中面積為參數。由於在「包封」並不改變基本標準單元中的任一者的個別特性方面,因此重新配置對應於選定群組。對於給定基本標準單元,形成封裝的重新配置並不會:改變單元的邊界,改變至單元的輸入的數目;改變基本標準單元內的任何圖案(其中此類圖案表示導電結構)的形狀及/或位置;或類似者。流程自區塊116前進至區塊120(下文論述)。
若決策區塊114的結果為肯定(是),則流程前進至區塊118。在區塊118處,一或多個對應的巨集標準單元根據本揭露的至少一個實施例產生。一或多個對應的巨集標準單元用於擴展函數庫(參見區塊120,下文論述)。每一新巨集標準單元表示選定邏輯電路。對於一或多個參數而言,每一新巨集標準單元比選定群組更有效(參見區塊134,下文論述)。若存在對應的封裝,對於一或多個參數,每一新巨集標準單元比封裝更有效(同樣參見區塊134,下文論述)。在一些實施例中,每一新巨集標準單元提供選定邏輯函數,但並未保留包含於選定群組中的所有基本標準單元。流程自區塊118前進至區塊120。
在一些實施例中,區塊118包含區塊130至區塊134。在區塊130處,對選定布林表式執行布林最小化,從而產生最小化布林表式。布林最小化使用包含坎諾(Karnaugh)映射、奎因-麥克拉斯基(Quine-McCluskey)演算法等的技術。流程自區塊130前進至區塊132。在區塊132處,選擇電晶體技術,一或多個對應
的巨集單元將相對於所述電晶體技術被組態。電晶體技術的實例包含CMOS、雙極TTL、ECL等。流程自區塊132前進至區塊134。在區塊134處,用選定電晶體技術的電晶體表示最小化布林表式,所述選定電晶體技術包含建立選定電晶體技術的電晶體之間的連接以便提供最小化布林表式。此外,在區塊134處,相對於至少一個參數最佳化電晶體的組態及配置。參數包含例如面積/覆蓋區、功率消耗、驅動能力、速度、扇出(fan-out)、速度功率乘積等。在一些實施例中,流程視情況自區塊134循環回區塊132。
如所提及,流程自區塊116及區塊118中的每一者前進至區塊120。在區塊120處,將一或多個條目添加至函數庫。若流程自區塊116前進至區塊120,則將封裝添加至函數庫。若流程自區塊118前進至區塊120,則將一或多個巨集標準單元添加至函數庫。流程自區塊120前進至區塊122。在一些實施例中,流程視情況在最終前進至區塊122之前循環回區塊114。
在區塊122處,基於包含一或多個巨集標準單元及/或封裝的佈局圖,製造(A)一或多個半導體遮罩或(B)初期半導體積體電路的層中的至少一個組件中的至少一者。用以製造一或多個半導體遮罩的設施的實例為圖9的遮罩室930(下文論述)。用以製造初期半導體積體電路(integrated circuit,IC)的層中的至少一個組件的設施的實例為圖9的工廠(fab)940(下文論述)。
圖1E為擴展包括函數庫的標準單元集合的方法110'的流程圖,所述方法是根據本揭露的至少一個實施例。
圖1E的方法110'類似於圖1D的方法110。出於簡潔的目的,方法110'的論述將集中於方法110'相對於方法110的差異。
方法110'包含區塊112、區塊118、區塊120'以及區塊122'。與方法110不同,方法110'不包含區塊114及區塊116。確切而言,在方法110'中,流程自區塊112前進至區塊118。流程自區塊118行進至區塊120'。在區塊120'處,將一或多個巨集標準單元添加至函數庫。流程自區塊120'前進至區塊122'。在區塊122'處,基於包含一或多個巨集標準單元的佈局圖,製造(A)一或多個半導體遮罩或(B)初期半導體積體電路的層中的至少一個組件中的至少一者。
圖2A為賦能互斥或(賦能XOR)(EXOR)函數的邏輯圖200A(在下文中稱為EXOR 200A)。EXOR 200A為可應用圖1D的方法110的基本標準單元的群組的實例。EXOR 200A為對應於圖1A的EXOR電路104A的邏輯圖的實例。
在圖2A中,EXOR 200A包含雙輸入及閘202;雙輸入及閘204;以及雙輸入互斥或(XOR)閘206。及閘202的第一輸入連接至提供資料信號A1的第一信號源(未繪示)。及閘204的第一輸入連接至提供資料信號A2的第二信號源(未繪示)。及閘202及及閘204中的每一者的第二輸入連接至提供控制信號、致能信號E的第三信號源(未繪示)。
及閘202以及及閘204中的每一者的輸出連接至互斥或閘206的對應的第一輸入端子及第二輸入端子。互斥或閘206的
輸出將EXOR函數表示為變量Z,其中Z=(A1˙E)♁(A2˙E),以字語陳述而非作為布林表式,Z為應用於兩個輸入的互斥或函數(♁)。第一輸入為應用於資料信號A1及控制信號E的及函數(AND function)(˙)(即,A1˙E)。第二輸入為應用於資料信號A2及控制信號E的及函數(˙)(即,A2˙E)。
在一些實施例中,EXOR 200A為將閘最小化應用於EXOR函數的結果,其產生總共3個邏輯閘。在EXOR 200A以CMOS技術實施的一些實施例中,EXOR 200A的3個邏輯閘可使用24個電晶體(24T)實施。
圖2B為根據本揭露的至少一個實施例的用於賦能互斥或(EXOR)200A的EXOR函數的真值表。
在圖2B的真值表中,當控制信號E具有邏輯零狀態(E=0)時,無關於輸入A1及輸入A2的邏輯狀態,EXOR 200A的輸出,即Z,為Z=0。因此,當E=0時,EXOR 200A相對於控制信號E表現得如同緩衝器。當控制信號E具有邏輯一狀態(E=1)時,實際上,Z如同將互斥或函數僅應用於輸入A1及輸入A2以使得Z=A1♁A2。
圖2C為根據本揭露的至少一個實施例的提供賦能互斥或(EXOR)函數的邏輯電路200C的示意圖。邏輯電路200C為圖1A的EXOR電路104A的實例。邏輯電路200C為基於包含巨集標準單元的佈局圖的電路的實例,其中巨集標準單元由圖1D的
方法110產生。
在圖2C中,邏輯電路200C包含反及電路222、反及電路224、反相器226、傳輸閘228、堆疊閘邏輯(stack-gate-logic,SGL)電路230,以及反相器232。傳輸閘228及SGL電路230一起表示組合電路231。
在邏輯函數方面,反及電路222提供邏輯函數。反及電路222及反相器226結合在一起提供及函數,在此為A1˙E。反及電路224提供邏輯函數。組合電路231提供互斥反或(XNOR)函數。組合電路231及反相器232結合在一起提供互斥或函數。應注意,圖2B是用於EXOR 200A且亦用於邏輯電路200C的真值表。
在電晶體方面,反及電路222由包含PMOS電晶體P21至PMOS電晶體P22以及NMOS電晶體N21至NMOS電晶體N22的電晶體集合表示。反及電路224由包含PMOS電晶體P23至PMOS電晶體P24以及NMOS電晶體N23至NMOS電晶體N24的電晶體集合表示。反相器226由包含PMOS電晶體P25(未繪示)及NMOS電晶體N25(未繪示)的電晶體集合表示。傳輸閘228由包含PMOS電晶體P26及NMOS電晶體N26的電晶體集合表示。SGL電路230由包含PMOS電晶體P27至PMOS電晶體P28以及NMOS電晶體N27至NMOS電晶體N28的電晶體集合表示。反相器232由包含PMOS電晶體P29及NMOS電晶體N29的電晶體集合表示。在圖2C中,邏輯電路200C藉由CMOS技術實施。
在一些實施例中,邏輯電路200C藉由除CMOS技術以外的技術實施。
在配置方面,關於反及電路222,電晶體P21及電晶體P22並聯連接在第一參考電壓與節點240之間。反及電路222的輸出設置於節點240上。節點240上的信號表示邏輯函數。在圖2C中,第一參考電壓為VDD。在一些實施例中,第一參考電壓為除VDD以外的電壓。電晶體N21連接於節點240與節點244之間。電晶體N22連接於節點244與第二參考電壓之間。在圖2C中,第二參考電壓為VSS。在一些實施例中,第二參考電壓為除VSS以外的電壓。電晶體P21及電晶體N21中的每一者的閘電極經組態以接收資料信號A1。電晶體P22及電晶體N22的閘電極經組態以接收控制信號E。節點240連接至反相器226的輸入。反相器226的輸出設置於節點242上。節點242上的信號表示邏輯函數A1˙E。
亦在配置方面,關於反及電路224,電晶體P23及電晶體P24並聯連接在VDD與節點246之間。反及電路224的輸出設置於節點246上。節點246上的信號表示邏輯函數。電晶體N23連接於節點246與節點248之間。電晶體N24連接於節點248與VSS之間。電晶體P23及電晶體N23中的每一者的閘電極經組態以接收資料信號A2。電晶體P24及電晶體N24的閘電極經組態以接收控制信號E。
亦在配置方面,組合電路231具有連接至節點246的輸
入。組合電路231的輸出設置於節點250上。關於傳輸閘228,電晶體P26及電晶體N26並聯連接在節點246與節點250之間。電晶體P26的閘電極經組態以接收表示邏輯函數A1˙E的信號(在節點242上)。電晶體N26的閘電極經組態以接收表示邏輯函數的信號(在節點240上)。關於SGL電路230,電晶體P27連接於VDD與節點252之間。電晶體P28連接於節點252與節點250之間。電晶體N27連接於節點250與節點254之間。電晶體N28連接於節點254與VSS之間。電晶體P27及電晶體N28中的每一者的閘電極經組態以接收表示邏輯函數的信號(在節點246上)。電晶體P28的閘電極經組態以接收表示邏輯函數的信號(在節點240上)。電晶體N27的閘電極經組態以接收表示邏輯函數A1˙E的信號(在節點242上)。亦在配置方面,關於反相器232,電晶體P29連接於VDD與節點256之間。電晶體N29連接於節點256與VSS之間。反相器232的輸出,且因此邏輯電路200C的輸出設置於節點256上。節點256上的信號表示邏輯函數Z=(A1˙E)♁(A2˙E)。
SGL電路230相對於傳輸閘228具有相似性及差異性。除了包含兩倍的電晶體之外,SGL電路230具有電晶體的串聯配置,而傳輸閘228具有電晶體的並聯配置。SGL電路230與傳輸閘228的類似之處在於各自經組態以接收節點246上的信號(其表示邏輯函數)及節點242上的信號(表示邏輯函數A1˙E)作為控制信號。雖然SGL電路230及傳輸閘228中的每一者經組
態以接收節點246上的信號(其表示邏輯函數)作為輸入,然而其亦有不同,例如,不同之處在於:當電晶體P28及電晶體N27接通時,SGL電路230經組態以在節點250上產生信號,所述信號具有相對於節點246上的信號的相反極性;且當電晶體P26及電晶體N26接通時,傳輸閘228經組態以在節點250上產生信號,所述信號具有相對於節點246上的信號的相同極性。
如圖2C中所示,邏輯電路200C包含18個電晶體(18T)。在一些實施例中,邏輯電路200C為將第一級開關最小化應用於EXOR函數的結果。EXOR函數的電路最小化由EXOR 200A的可使用24個電晶體(24T)實施的3個閘表示,而EXOR函數的第一級開關最小化由邏輯電路200C的可使用18個電晶體(18T)實施的五個閘(若反及電路222及反相器226被視為一個及閘,則為四個閘)表示。自24T減少至18T表示電晶體計數減少了25%。在一些實施例中,當控制信號E具有邏輯零狀態(E=0)時,相較於EXOR 200A的24T實施方案,邏輯電路200C的18T實施方案消耗約少98%的功率。
邏輯電路200C已針對驅動能力進行最佳化。相對於由對應於EXOR 200A的特定群組產生的EXOR電路(未繪示),邏輯電路200C具有更佳的驅動能力。在一些實施例中,邏輯電路200C針對除驅動能力以外的參數進行最佳化。
圖2D為根據本揭露的至少一個實施例的佈局圖270。
佈局圖270包含巨集標準單元200C',其中巨集標準單元
200C'對應於圖2C的邏輯電路200C。在一些實施例中,佈局圖270例如藉由EDA系統800(參見圖8,下文論述)或設計室920(參見圖9,下文論述)產生。在一些實施例中,巨集標準單元200C'為包含於標準單元集合826中的標準單元,其中集合826包括函數庫824(參見圖8,下文論述)。
圖3A為賦能互斥反或(賦能XNOR)(EXNOR)函數的邏輯圖300A(在下文中稱為EXNOR 300A)。EXNOR 300A為可應用圖1D的方法110的基本標準單元的群組的實例。EXNOR 300A為對應於圖1B的EXNOR電路104B的邏輯圖的實例。
在圖3A中,EXNOR 300A包含:雙輸入及閘302、雙輸入及閘304以及雙輸入互斥反或(XNOR)閘306。及閘302的第一輸入連接至提供資料信號A1的第一信號源(未繪示)。及閘304的第一輸入連接至提供資料信號A2的第二信號源(未繪示)。及閘302及及閘304中的每一者的第二輸入連接至提供控制信號、致能信號E的第三信號源(未繪示)。
及閘302及及閘304中的每一者的輸出連接至互斥反或閘306的對應的第一輸入端子及輸入第二端子。互斥反或閘306的輸出將EXNOR函數表示為變量ZN,其中
以字語陳述而非作為布林表式,ZN為應用於兩個輸入的互斥反或函數()。第一輸入為應用於資料信號A1及控制信號E的及函數(˙)(即,A1˙E)。第二輸入為應用於資料信號A2及控制E的
及函數(˙)(即,A2˙E)。
在一些實施例中,EXNOR 300A為將閘最小化應用於EXNOR函數的結果,其產生總共3個邏輯閘。在EXNOR 300A以CMOS技術實施的一些實施例中,EXNOR圖300A的3個邏輯閘可使用24個電晶體(24T)實施。
圖3B為根據本揭露的至少一個實施例的用於賦能互斥反或(EXNOR)300A的EXNOR函數的真值表。
圖3C為根據本揭露的至少一個實施例的提供賦能互斥反或(EXNOR)函數的邏輯電路300C的示意圖。邏輯電路300C為圖1B的EXNOR電路104B的實例。邏輯電路300C為基於包含巨集標準單元的佈局圖的電路的實例,其中巨集標準單元由圖1D的方法110產生。
在圖3B的真值表中,當控制信號E具有邏輯零狀態(E=0)時,無關於輸入A1及輸入A2的邏輯狀態,EXNOR 300A的輸出,即ZN,為ZN=1。因此,當E=0時,EXNOR 300A相對於控制信號E表現得如同反相器。當控制信號E具有邏輯一狀態(E=1)時,實際上,ZN如同將互斥反或函數僅應用於輸入A1及輸入A2以使得。
在圖3C中,邏輯電路300C包含:反及電路322、反及電路324、反相器326、傳輸閘328、堆疊閘邏輯(SGL)電路330以及反相器332。傳輸閘328及SGL電路330一起表示組合電路331。
在邏輯函數方面,反及電路322提供邏輯函數。反及電路322及反相器326結合在一起提供及函數,在此為A1˙E。反及電路324提供邏輯函數。組合電路331提供互斥或函數。組合電路331及反相器332結合在一起提供互斥反或函數。應注意,圖3B是用於EXNOR 300A且亦用於邏輯電路300C的真值表。
在電晶體方面,反及電路322由包含PMOS電晶體P31至PMOS電晶體P32以及NMOS電晶體N31至NMOS電晶體N32的電晶體集合表示。反及電路324由包含PMOS電晶體P33至PMOS電晶體P34以及NMOS電晶體N33至NMOS電晶體N34的電晶體集合表示。反相器326由包含PMOS電晶體P35(未繪示)及NMOS電晶體N35(未繪示)的電晶體集合表示。傳輸閘328由包含PMOS電晶體P36及NMOS電晶體N36的電晶體集合表示。SGL電路330由包含PMOS電晶體P37至PMOS電晶體P38以及NMOS電晶體N37至NMOS電晶體N38的電晶體集合表示。反相器332由包含PMOS電晶體P39及NMOS電晶體N39的電晶體集合表示。
在配置方面,關於反及電路322,電晶體P31及電晶體P32並聯連接在第一參考電壓與節點340之間。反及電路322的輸出設置於節點340上。節點340上的信號表示邏輯函數。在圖3C中,第一參考電壓為VDD。在一些實施例中,第一參考電壓為除VDD以外的電壓。電晶體N31連接於節點340與節點344之間。電晶體N32連接於節點344與第二參考電壓之間。在圖3C
中,第二參考電壓為VSS。在一些實施例中,第二參考電壓為除VSS以外的電壓。電晶體P31及電晶體N31中的每一者的閘電極經組態以接收資料信號A1。電晶體P32及電晶體N32的閘電極經組態以接收控制信號E。節點340連接至反相器326的輸入。反相器326的輸出設置於節點342上。節點342上的信號表示邏輯函數A1˙E。
亦在配置方面,關於反及電路324,電晶體P33及電晶體P34並聯連接在VDD與節點346之間。反及電路324的輸出設置於節點346上。節點346上的信號表示邏輯函數。電晶體N33連接於節點346與節點348之間。電晶體N34連接於節點348與VSS之間。電晶體P33及電晶體N33中的每一者的閘電極經組態以接收資料信號A2。電晶體P34及電晶體N34的閘電極經組態以接收控制信號E。
亦在配置方面,組合電路331具有連接至節點346的輸入。組合電路331的輸出設置於節點350上(節點350上的信號表示邏輯函數Z=(A1˙E)♁(A2˙E))。關於傳輸閘328,電晶體P36及電晶體N36並聯連接在節點346與節點350之間。電晶體P36的閘電極經組態以接收表示邏輯函數的信號(在節點340上)。電晶體N36的閘電極經組態以接收表示邏輯函數A1˙E的信號(在節點342上)。關於SGL電路330,電晶體P37連接於VDD與節點352之間。電晶體P38連接於節點352與節點350之間。電晶體N37連接於節點350與節點354之間。電晶體N38連接於節點
354與VSS之間。電晶體P37及電晶體N38中的每一者的閘電極經組態以接收表示邏輯函數的信號(在節點346上)。電晶體P38的閘電極經組態以接收表示邏輯函數A1˙E的信號(在節點342上)。電晶體N37的閘電極經組態以接收表示邏輯函數的信號(在節點340上)。
亦在配置方面,關於反相器332,電晶體P39連接於VDD與節點356之間。電晶體N39連接於節點356與VSS之間。反相器332的輸出,且因此邏輯電路300C的輸出設置於節點356上。節點356上的信號表示邏輯函數。
如圖3C中所示,邏輯電路300C包含18個電晶體(18T)。在一些實施例中,邏輯電路300C為將第一級開關最小化應用於EXNOR函數的結果。EXNOR函數的電路最小化由EXNOR 300A的可使用24個電晶體(24T)實施的3個閘表示,而EXNOR函數的第一級開關最小化由邏輯電路300C的可使用18個電晶體(18T)實施的五個閘(若反及電路322及反相器326被視為一個及閘,則為四個閘)表示。自24T減少至18T表示電晶體計數減少了25%。在一些實施例中,當控制信號E具有邏輯零狀態(E=0)時,相較於EXNOR 300A的24T實施方案,邏輯電路300C的18T實施方案消耗約少98%的功率。
邏輯電路300C已針對驅動能力進行最佳化。相對於由對應於EXNOR 300A的特定群組產生的EXNOR電路(未繪示),邏輯電路300C具有更佳的驅動能力。在一些實施例中,邏輯電路
300C針對除驅動能力以外的參數進行最佳化。
圖3D為根據本揭露的至少一個實施例的佈局圖370。
佈局圖370包含巨集標準單元300C',其中巨集標準單元300C'對應於圖3C的邏輯電路300C。在一些實施例中,佈局圖370例如藉由EDA系統800(參見圖8,下文論述)或設計室920(參見圖9,下文論述)產生。在一些實施例中,巨集標準單元300C'為包含於標準單元集合826中的標準單元,其中集合826包括函數庫824(參見圖8,下文論述)。
圖4A為根據本揭露的至少一個實施例的賦能互斥或(EXOR)函數的邏輯圖400A。邏輯圖400A為對應於圖1A的EXOR電路104A的邏輯圖的實例。
在圖4A中,邏輯圖400A包含:或-及-反相(OR-AND-INVERT,OAI)邏輯圖(OAI圖)402A以及及-或-反相(AND-OR-INVERT,AOI)邏輯圖(AOI圖)404A。OAI圖402A及AOI圖404A中的每一者具有三個輸入及一個輸出。OAI圖402A經組態以接收資料信號A1、資料信號A2以及控制信號、致能信號E作為輸入。AOI圖404A經組態以接收資料信號A1及資料信號A2,以及OAI圖402A的輸出作為輸入。邏輯圖400A的輸出由AOI圖404A的輸出表示。
OAI圖402A包含雙輸入或閘406及雙輸入反及閘408。或閘406的第一輸入及第二輸入經組態以接收對應的資料信號A1及資料信號A2。反及閘408的第一輸入及第二輸入經組態以相應
地接收或閘406的輸出及控制信號E。OAI圖402A的輸出提供於反及閘408的輸出處,且表示邏輯函數。
AOI圖404A包含雙輸入及閘410以及雙輸入反或閘412。及閘410的第一輸入及第二輸入經組態以接收對應的資料信號A1及資料信號A2。反或閘412的第一輸入及第二輸入經組態以相應地接收及閘410的輸出及OAI圖402A的輸出(後者由反及閘408的輸出表示)。AOI圖404A的輸出提供於反或閘412的輸出處,且表示邏輯函數,其中。
邏輯圖400A的輸出由AOI圖404A的輸出表示(後者由反或閘412的輸出表示)。因此,反或閘412的輸出將EXOR函數表示為變量Z,其中Z=(A1˙E)♁(A2˙E)。應注意,圖2B為用於EXOR 200A及邏輯電路200C,且亦用於邏輯圖400A的真值表。
圖4B為根據本揭露的至少一個實施例的提供賦能互斥或(EXOR)函數的邏輯電路400B的示意圖。邏輯電路400B為圖1A的EXOR電路104A的實例。邏輯電路400B為基於包含巨集標準單元的佈局圖的電路的實例,其中巨集標準單元由圖1D的方法110產生。
在圖4B中,邏輯電路400B包含OAI電路402B及AOI電路404B。OAI電路402B由包含PMOS電晶體P41至PMOS電晶體P43以及NMOS電晶體N41至NMOS電晶體N43的電晶體
集合表示。AOI電路404B由包含PMOS電晶體P44至PMOS電晶體P46以及NMOS電晶體N44至NMOS電晶體N46的電晶體集合表示。在圖4B中,邏輯電路400B藉由CMOS技術實施。在一些實施例中,邏輯電路400B藉由除CMOS技術以外的技術實施。
在配置方面,關於OAI電路402B,電晶體P41連接於第一參考電壓與節點420之間。在圖4B中,第一參考電壓為VDD。在一些實施例中,第一參考電壓為除VDD以外的電壓。電晶體P42連接於節點420與節點422之間。電晶體P43連接於VDD與節點422之間。OAI電路402B的輸出設置於節點422上。節點422上的信號表示邏輯函數。電晶體N41連接於節點422與節點424之間。電晶體N42及電晶體N43並聯連接在節點424與VSS之間。電晶體P42及電晶體N42中的每一者的閘極經組態以接收資料信號A1。電晶體P41及電晶體N43中的每一者的閘極經組態以接收資料信號A2。電晶體P43及電晶體N41的閘極經組態以接收控制信號E。
亦在配置方面,關於AOI電路404B,電晶體P44及電晶體P46連接於VDD與節點426之間。電晶體P45連接於節點426與節點428之間。AOI電路404B的輸出設置於節點428上。電晶體N44連接於節點428與VSS之間。電晶體N45連接於節點428與節點430之間。電晶體N46連接於節點430與VSS之間。電晶體P44及電晶體N45中的每一者的閘極經組態以接收資料信號A1。
電晶體P46及電晶體N46的閘極經組態以接收資料信號A2。電晶體P45及電晶體N44中的每一者的閘極經組態以接收節點422上的信號,其中節點422上的信號表示OAI電路402B的輸出。節點428上的信號表示AOI電路404B的輸出,且因此表示邏輯電路400B的輸出。節點428上的信號表示邏輯函數,其中。因此,節點428上的信號表示在Z=(A1˙E)♁(A2˙E)的情況下的邏輯函數。
如圖4B中所示,邏輯電路400B包含12個電晶體(12T)。在一些實施例中,邏輯電路400B為將第二級開關最小化應用於EXOR函數的結果,其中所述第二級比所述第一級更嚴密。EXOR函數的第一級開關最小化可使用圖2C的邏輯電路200C的18個電晶體(18T)實施,而EXOR函數的第二級開關最小化可使用圖4B的邏輯電路400B的12個電晶體(12T)實施。自18T減少至12T表示電晶體計數減少了33%,且面積/覆蓋區減小了約38%。在一些實施例中,當控制信號E具有邏輯零狀態(E=0)時,相較於圖2A的EXOR 200A的24T實施方案,邏輯電路400B的12T實施方案消耗約少99%的功率。在一些實施例中,當控制信號E具有邏輯一狀態(E=1)時,相較於圖2A的EXOR 200A的24T實施方案,邏輯電路400B的12T實施方案消耗約少46%的功率。在一些實施例中,相較於圖2A的EXOR 200A的24T實施方案,邏輯電路400B的12T實施方案在信號傳播速度方面快約12%。
邏輯電路400B已經最佳化以呈現減小的面積/覆蓋區。
相對於由對應於EXOR 200A的特定群組產生的EXOR電路(未繪示),邏輯電路400B具有更小的面積/覆蓋區。在一些實施例中,邏輯電路400B針對除面積/覆蓋區以外的參數進行最佳化。
圖4C為根據本揭露的至少一個實施例的佈局圖470。
佈局圖470包含巨集標準單元400B',其中巨集標準單元400B'對應於圖4B的邏輯電路400B。在一些實施例中,佈局圖470例如藉由EDA系統800(參見圖8,下文論述)或設計室920(參見圖9,下文論述)產生。在一些實施例中,巨集標準單元400B'為包含於標準單元集合826中的標準單元,其中集合826包括函數庫824(參見圖8,下文論述)。
圖5A為根據本揭露的至少一個實施例的賦能互斥反或(EXNOR)函數的邏輯圖500A。邏輯圖500A為對應於圖1B的EXNOR電路104B的邏輯圖的實例。
在圖5A中,邏輯圖500A包含:及-或-反相(AOI)邏輯圖(AOI圖)504A以及或-及-反相(OAI)邏輯圖(OAI圖)502A。AOI圖504A及OAI圖502A中的每一者具有三個輸入及一個輸出。AOI圖504A經組態以接收資料信號A1、資料信號A2以及控制信號、致能信號E作為輸入。OAI圖502A經組態以接收資料信號A1及資料信號A2,以及AOI圖504A的輸出作為輸入。邏輯圖500A的輸出由OAI圖502A的輸出表示。
AOI圖504A包含雙輸入及閘510以及雙輸入反或閘512。及閘510的第一輸入及第二輸入經組態以接收對應的資料信號A1
及資料信號A2。反或閘512的第一輸入及第二輸入經組態以相應地接收及閘510的輸出及控制信號E。AOI圖504A的輸出提供於反或閘512的輸出處,且表示邏輯函數。
OAI圖502A包含雙輸入或閘506及雙輸入反及閘508。或閘506的第一輸入及第二輸入經組態以接收對應的資料信號A1及資料信號A2。反及閘508的第一輸入及第二輸入經組態以相應地接收或閘506的輸出及AOI圖504A的輸出(後者由反或閘512的輸出表示)。OAI圖502A的輸出提供於反及閘508的輸出處,且表示邏輯函數,其中。
邏輯圖500A的輸出由OAI圖502A的輸出表示(後者由反及閘508的輸出表示)。因此,反及閘508的輸出將EXNOR函數表示為變量ZN,其中
應注意,圖3B為用於EXNOR 300A及邏輯電路300C,且亦用於邏輯圖500A的真值表。
圖5B為根據本揭露的至少一個實施例的提供賦能互斥反或(EXNOR)函數的邏輯電路500B的示意圖。邏輯電路500B為圖1B的EXNOR電路104B的實例。邏輯電路500B為基於包含巨集標準單元的佈局圖的電路的實例,其中巨集標準單元由圖1D的方法110產生。
在圖5B中,邏輯電路500B包含AOI電路504B、OAI電路502B以及反相器514。AOI電路504B由包含PMOS電晶體
P54至PMOS電晶體P56以及NMOS電晶體N54至NMOS電晶體N56的電晶體集合表示。OAI電路502B由包含PMOS電晶體P51至PMOS電晶體P53以及NMOS電晶體N51至NMOS電晶體N53的電晶體集合表示。反相器514由包含PMOS電晶體P57(未繪示)及NMOS電晶體N57(未繪示)的電晶體集合表示。在圖5B中,邏輯電路500B藉由CMOS技術實施。在一些實施例中,邏輯電路500B藉由除CMOS技術以外的技術實施。
在配置方面,反相器514的輸入經組態以接收控制信號E。反相器514的輸出上的信號表示邏輯函數E=enb。關於AOI電路504B,電晶體P54及電晶體P56連接於第一參考電壓與節點521之間。在圖5B中,第一參考電壓為VDD。在一些實施例中,第一參考電壓為除VDD以外的電壓。電晶體P55連接於節點521與節點523之間。AOI電路504B的輸出設置於節點523上。電晶體N54連接於節點523與第二參考電壓之間。在圖5B中,第二參考電壓為VSS。在一些實施例中,第二參考電壓為除VSS以外的電壓。電晶體N55連接於節點523與節點525之間。電晶體N56連接於節點525與VSS之間。節點523上的信號表示AOI電路504B的輸出。
電晶體P54及電晶體N55中的每一者的閘極經組態以接收資料信號A1。電晶體P56及電晶體N56的閘極經組態以接收資料信號A2。電晶體P55及電晶體N54中的每一者的閘極經組態以接收反相器514的輸出上的信號enb。節點523上的信號表示邏輯
函數。
亦在配置方面,關於OAI電路502B,電晶體P51連接於VDD與節點531之間。電晶體P52連接於節點531與節點527之間。電晶體P53連接於VDD與節點527之間。OAI電路502B的輸出設置於節點527上。電晶體N51連接於節點527與節點529之間。電晶體N52及電晶體N53並聯連接在節點529與VSS之間。電晶體P52及電晶體N52中的每一者的閘極經組態以接收資料信號A1。電晶體P51及電晶體N53中的每一者的閘極經組態以接收資料信號A2。電晶體P53及電晶體N51的閘極經組態以接收節點523上的信號,其中節點523上的信號表示邏輯函數。節點527上的信號表示邏輯函數,其中。因此,節點527上的信號表示在的情況下的邏輯函數。
如圖5B中所示,邏輯電路500B包含14個電晶體(14T=12T+2T)。在一些實施例中,邏輯電路500B為將第二級開關最小化應用於EXNOR函數的結果,其中所述第二級比所述第一級更嚴密。EXNOR函數的第一級開關最小化可使用圖3C的邏輯電路300C的18個電晶體(18T)實施,而EXNOR函數的第二級開關最小化可使用圖5B的邏輯電路500B的14個電晶體(14T)實施。自18T減少至14T表示電晶體計數減少了22%,且面積/覆蓋區減小了約33%。在一些實施例中,當控制信號E具有邏輯
零狀態(E=0)時,相較於圖3A的EXNOR 300A的24T實施方案,邏輯電路500B的14T實施方案消耗約少99%的功率。在一些實施例中,當控制信號E具有邏輯一狀態(E=1)時,相較於圖3A的EXNOR 300A的24T實施方案,邏輯電路500B的14T實施方案消耗約少45%的功率。在一些實施例中,相較於圖3A的EXNOR 300A的24T實施方案,邏輯電路500B的14T實施方案在信號傳播速度方面快約11%。
邏輯電路500B已經最佳化以呈現減小的面積/覆蓋區。相對於由對應於EXNOR 300A的特定群組產生的EXNOR電路(未繪示),邏輯電路400B具有更小的面積/覆蓋區。在一些實施例中,邏輯電路400B針對除面積/覆蓋區以外的參數進行最佳化。
圖5C為根據本揭露的至少一個實施例的佈局圖570。
佈局圖570包含巨集標準單元500B',其中巨集標準單元500B'對應於圖5B的邏輯電路500B。在一些實施例中,佈局圖570例如藉由EDA系統800(參見圖8,下文論述)或設計室920(參見圖9,下文論述)產生。在一些實施例中,巨集標準單元500B'為包含於標準單元集合826中的標準單元,其中集合826包括函數庫824(參見圖8,下文論述)。
圖6A為根據本揭露的至少一個實施例的N位元多位元傳輸正反器(TXFF)(MBTXFF)函數的邏輯圖600A。邏輯圖600A為對應於圖1C的N位元MBTXFF電路104C的邏輯圖的實例。
圖6A的邏輯圖600A包含反相器608A、反相器610A、
反相器612A以及反相器614A、反及閘606A(0)、反及閘606A(1)…反及閘606A(N-1)、傳輸閘正反器(transmit gate flip-flop,TGFF)604A(0)、TGFF 604A(1)…TGFF 604A(N-1),以及1位元傳輸正反器(TXFF)602A(0)、TXFF 602A(1)…TXFF 602A(N-1),其中N為正整數且2N。在一些實施例中,N=8。
在圖6A中,反相器608A經組態以接收時鐘脈衝/信號CP且輸出clock_bar信號。反相器610A經組態以接收clock_bar信號且輸出clock_bar_bar信號。反相器612A經組態以接收開始信號SI且輸出start_bar信號SI_bar=。反相器614A經組態以接收開關致能(switch-enable)信號SE且輸出switch-enable_bar信號。1位元TXFF的第i個實例,TXFF 602A(i)經組態以輸出信號Q(i)及q(i)。信號Q(i)表示1位元TXFF的主要輸出,且為節點658(參見圖6C)上的信號的反相。信號q(i)部分地基於節點658上的信號的反相且部分地基於SGL電路620(i)的輸出。信號q(i)出於內部掃描鏈(scan-chain)的目的作為輸入SI(i+1)用於1位元TXFF的第(i+1)個實例,使得q(i)=SI(i+1),例如,用於TXFF 602A(1)的輸入SI為q(0),用於TXFF 602A(N-1)的輸入SI為q(N-2),或其類似者。TXFF 602A(i)經組態以接收資料信號DA(i)及資料信號DB(i)、clock_bar信號clkb、clock_bar_bar信號clkbb、開關致能信號SE、switch-enable_bar信號seb、來自第i個反及電路606A(i)的輸出、來自第(i-1)個TXFF 602A(i-1)的信號q(i-1)作為輸入。N個傳輸
TXFF電路中的第零(0)者TXFF 602A(0),經組態以接收start_bar信號而非信號q(i-1)。
圖6B為根據本揭露的至少一個實施例的用於邏輯圖600A的N位元多位元TXFF(MBTXFF)函數的真值表。
在圖6B的真值表中:符號↗作為時鐘/脈衝信號CP的活動邊緣指示上升邊緣;且符號X指示邏輯值是邏輯零(0)還是邏輯一(1)。在標記為「Q(0)」及「Q(i)」的行中,列10至列11中所示的值為Q(0)(列10)=Q(0)(列11)=「Q(0)」及Q(i)(列10)=Q(i)(列11)=「Q(i)」,其指示當CP在CP=0或CP=1下時不傳輸,Q應不變。
圖6C為根據本揭露的至少一個實施例的N位元多位元TXFF(MBTXFF)電路600C的示意圖。MBTXFF電路600C為圖1C的N位元MBTXFF電路104C的實例。MBTXFF電路600C為基於包含巨集標準單元的實例的佈局圖的電路的實例,其中巨集標準單元由圖1D的方法110產生。
在圖6C中,MBTXFF電路600C包含:雙輸入反及電路606B(0);反相器608B、反相器610B、反相器612B以及反相器614B;堆疊閘邏輯(SGL)電路615(0)、堆疊閘邏輯電路616(0)、堆疊閘邏輯電路618(0)以及堆疊閘邏輯電路620(0);反相器622(0)、反相器624(0)以及反相器626(0);以及傳輸閘628(0)。
在配置方面,反及電路606B(0)的第一輸入及第二輸入經組態以接收對應的資料信號DA(i)及資料信號DB(i)。SGL電路
615(0)的輸入經組態以接收switch-enabl_bar信號seb。反及電路606B(0)及SGL電路615(0)中的每一者的輸出連接至節點640。SGL電路616(0)的輸入連接至節點640。SGL電路616(0)的輸出連接至節點648。SGL電路618(0)及反相器622(0)中的每一者的輸入連接至節點648。SGL電路618(0)及反相器622(0)中的每一者的輸出連接至節點656。傳輸閘628(0)的輸入連接至節點656。傳輸閘628(0)的輸出連接至節點658。SGL電路620(0)、反相器624(0)以及反相器626(0)中的每一者的輸入連接至節點658。反相器624(0)的輸出連接至節點660。節點660上的信號表示信號Q(0),其為被稱作TXFF電路602B(0)的邏輯電路的第一輸出。SGL電路620(0)及反相器626(0)中的每一者的輸出連接至節點662。節點662上的信號表示信號q(0),其為TXFF電路602B(0)的第二輸出。
在電晶體方面,反及電路606B(0)由包含PMOS電晶體P62至PMOS電晶體P63以及NMOS電晶體N61至NMOS電晶體N62的電晶體集合表示。
SGL電路615(0)由包含PMOS電晶體P64至PMOS電晶體P65以及NMOS電晶體N64至NMOS電晶體N65的電晶體集合表示。SGL電路616(0)由包含PMOS電晶體P66至PMOS電晶體P67以及NMOS電晶體N66至NMOS電晶體N67的電晶體集合表示。SGL電路618(0)由包含PMOS電晶體P68至PMOS電晶體P69以及NMOS電晶體N68至NMOS電晶體N69的電晶體集合表示。反相器622(0)由包含PMOS電晶體P70及NMOS電晶體
N70的電晶體集合表示。傳輸閘628(0)由包含PMOS電晶體P71及NMOS電晶體N71的電晶體集合表示。反相器624(0)由包含PMOS電晶體P72及NMOS電晶體N72的電晶體集合表示。反相器626(0)由包含PMOS電晶體P73及NMOS電晶體N73的電晶體集合表示。SGL電路620(0)由包含PMOS電晶體P74至PMOS電晶體P75以及NMOS電晶體N74至NMOS電晶體N75的電晶體集合表示。
在配置方面,PMOS電晶體P61作為控制開關連接於第一參考電壓與節點630之間。在圖6C中,第一參考電壓為VDD。在一些實施例中,第一參考電壓為除VDD以外的電壓。關於反及電路606B(0),電晶體P62及電晶體P63並聯連接在節點630與節點632之間。反及電路606B(0)的輸出設置於節點632上。節點632上的信號表示邏輯函數。電晶體N61連接於節點632與節點634之間。電晶體N62連接於節點634與節點636之間。NMOS電晶體N63作為控制開關連接於節點636與第二參考電壓之間。在圖6C中,第二參考電壓為VSS。在一些實施例中,第二參考電壓為除VSS以外的電壓。電晶體P61的閘電極經組態以接收開關致能信號SE。電晶體N63的閘電極經組態以接收switch-enable_bar信號。電晶體P63及電晶體N61中的每一者的閘電極經組態以接收資料信號DA(0)。電晶體P62及電晶體N62的閘電極經組態以接收資料信號DB(0)。
在配置方面,關於SGL電路615(0),電晶體P64連接於
VDD與節點638之間。電晶體P65連接於節點638與節點640之間。電晶體N64連接於節點640與節點642之間。電晶體N65連接於節點642與VSS之間。電晶體P64及電晶體N65中的每一者的閘電極經組態以接收start_bar信號SIb。電晶體P65的閘電極經組態以接收switch-enable_bar信號。電晶體N64的閘電極經組態以接收開關致能信號SE。
在配置方面,關於SGL電路616(0),電晶體P66連接於VDD與節點646之間。電晶體P67連接於節點646與節點648之間。電晶體N66連接於節點648與節點650之間。電晶體N67連接於節點650與VSS之間。電晶體P66及電晶體N67中的每一者的閘電極經組態以接收節點640上的信號。電晶體P67的閘電極經組態以接收clock_bar_bar信號。電晶體N66的閘電極經組態以接收clock_bar信號。
在配置方面,關於SGL電路618(0),電晶體P68連接於VDD與節點652之間。電晶體P69連接於節點652與節點648之間。電晶體N68連接於節點648與節點654之間。電晶體N69連接於節點654與VSS之間。電晶體P68及電晶體N69中的每一者的閘電極經組態以接收節點656上的信號。電晶體P69的閘電極經組態以接收clock_bar信號。電晶體N68的閘電極經組態以接收clock_bar_bar信號。
在配置方面,關於反相器622(0),電晶體P70連接於VDD與節點656之間。電晶體N70連接於節點656與VSS之間。電晶
體P70及電晶體N70中的每一者的閘電極經組態以接收節點648上的信號。反相器622(0)的輸出連接至節點656。
在配置方面,關於傳輸閘628(0),電晶體P71及電晶體N71並聯連接在節點656與節點658之間。電晶體P71的閘電極經組態以接收clock_bar信號。電晶體N71的閘電極經組態以接收clock_bar_bar信號。
在配置方面,關於反相器624(0),電晶體P72連接於VDD與節點660之間。電晶體N72連接於節點660與VSS之間。電晶體P72及電晶體N72中的每一者的閘電極經組態以接收節點658上的信號。反相器624(0)的輸出連接至節點660。此外,節點660上的信號表示信號Q(0),其為TXFF電路602B(0)的第一輸出。
在配置方面,關於反相器626(0),電晶體P73連接於VDD與節點662之間。電晶體N73連接於節點662與VSS之間。電晶體P73及電晶體N73中的每一者的閘電極經組態以接收節點658上的信號。反相器626(0)的輸出連接至節點662。此外,節點662上的信號表示信號q(0),其為TXFF電路602B(0)的第二輸出。
在配置方面,關於SGL電路620(0),電晶體P74連接於VDD與節點664之間。電晶體P75連接於節點664與節點658之間。電晶體N74連接於節點658與節點666之間。電晶體N75連接於節點666與VSS之間。電晶體P74及電晶體N75中的每一者的閘電極經組態以接收節點662上的信號。電晶體P75的閘電極經組態以接收clock_bar_bar信號。電晶體N74的閘電
極經組態以接收clock_bar信號。
在圖6C中,MBTXFF電路600C藉由CMOS技術實施。在一些實施例中,MBTXFF電路600C藉由除CMOS技術以外的技術實施。
在一些實施例中,N=8,使得圖6C的MBTXFF電路600C包含:反相器608B、反相器610B、反相器612B以及反相器614B;反及閘606B(0)、反及閘606B(1)…反及閘606B(7);以及TXFF電路,TXFF 602B(0)、TXFF 602B(1)…TXFF 602B(7)。根據另一方法,對於N=8,MBTXFF電路(未繪示)可使用262個電晶體(262T)實施,對於N=8,圖6C的MBTXFF電路600C可使用262個電晶體(262T)實施。在一些實施例中,在N=8的情況下,圖6C的MBTXFF電路600C可使用248個電晶體(248T)實施。自262T減少至248T表示電晶體計數減少了約5%,且面積/覆蓋區減小了約13%。在一些實施例中,相較於其他方法的262T實施方案,圖6C的MBTXFF電路600C的248T實施方案消耗約少5%的功率。在一些實施例中,相較於其他方法的262T實施方案,圖6C的MBTXFF電路600C的248T實施方案在信號傳播速度方面快約23%。
圖6D為根據本揭露的至少一個實施例的佈局圖670。
佈局圖670包含巨集標準單元602B(0)'、巨集標準單元602B(1)'…巨集標準單元602B(N-1)',其中巨集標準單元602B(0)'、巨集標準單元602B(1)'…巨集標準單元602B(N-1)'對應於圖6C的
TXFF電路602B(0)、TXFF電路602B(1)…TXFF電路602B(N-1)。在一些實施例中,佈局圖670例如藉由EDA系統800(參見圖8,下文論述)或設計室920(參見圖9,下文論述)產生。在一些實施例中,巨集標準單元602B(0)'、巨集標準單元602B(1)'…巨集標準單元602B(N-1)'中的每一者為包含於標準單元集合826中的標準單元的實例,其中集合826包括函數庫824(參見圖8,下文論述)。
圖7為根據本揭露的至少一個實施例的形成邏輯電路的方法700的流程圖。
由方法700產生的邏輯電路的實例包含圖1A的半導體裝置100A的巨集102A、圖1B的半導體裝置100B的巨集102B、圖3C的邏輯電路300C、圖4B的邏輯電路400B或類似者。
在圖7中,方法700包含區塊702至區塊714。在區塊702處,電晶體形成。流程自區塊702前進至區塊704。在區塊704處,電晶體的第一集合經組態至或-及-反相(OAI)電路中。OAI電路的實例包含OAI電路402B、OAI電路502B或其類似者。流程自區塊704前進至區塊706。在區塊706處,電晶體的第二集合經組態至及-或-反相(AOI)電路中。AOI電路的實例包含AOI電路404B、AOI電路504B或其類似者。流程自區塊706前進至區塊708。在區塊708處,對於OAI電路及AOI電路中的每一者,其第一輸入端子及第二輸入端子經組態以接收對應的第一資料信號及第二資料信號。第一資料信號及第二資料信號的實例為圖4A、
圖4C、圖5A以及圖5C的對應的資料信號A1及資料信號A2。流程自區塊708前進至區塊710。
在區塊710處,判定邏輯電路是否用於提供賦能互斥或(EXOR)函數。若區塊710的結果為肯定(EXOR經預期),則流程前進至區塊712,其中AOI電路的輸入經組態以接收OAI電路的輸出。若區塊710的結果為否定(EXNOR經預期),則流程前進至區塊714。在區塊714處,OAI電路的輸入經組態以接收AOI電路的輸出。
圖8為根據本揭露的至少一個實施例的電子設計自動化(EDA)系統800的方塊圖。
在一些實施例中,EDA系統800包含自動佈局及佈線(APR)系統。根據一些實施例,圖4的流程圖的方法例如使用EDA系統800實施。
在一些實施例中,EDA系統800為包含硬體處理器802及非暫時性電腦可讀儲存媒體804的通用計算裝置。儲存媒體804尤其包含,例如儲存電腦程式碼821,亦即可執行指令集。根據一或多個實施例(在下文中,所提及的製程及/或方法),藉由硬體處理器802執行的程式碼821(至少部分地)表示實施例如圖4的方法的部分或全部的EDA工具。
處理器802經由匯流排808電耦接至儲存媒體804。儲存媒體804為電腦可讀媒體的實例。處理器802亦藉由匯流排808電耦接至I/O介面810。網路介面812亦經由匯流排808電連接至
處理器802。網路介面812連接至網路814,使得處理器802及儲存媒體804能夠經由網路814連接至外部元件。處理器802經組態以執行在儲存媒體804中編碼的電腦程式碼821,以便使系統800可用於執行所提及的製程及/或方法的部分或全部。儲存媒體804亦包含根據所提及的製程及/或方法的部分或全部產生的一或多個佈局圖822。在一或多個實施例中,處理器802為中央處理單元(CPU)、多重處理器、分佈式處理系統、特殊應用積體電路(application specific integrated circuit,ASIC)及/或合適的處理單元。
在一或多個實施例中,儲存媒體804為電子、磁性、光學、電磁、紅外線及/或半導體系統(或設備或裝置)。舉例而言,儲存媒體804包含半導體或固態記憶體、磁帶、可移式電腦磁片、隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、硬磁碟及/或光碟。在使用光碟的一或多個實施例中,儲存媒體804包含光碟唯讀記憶體(compact disk-read only memory,CD-ROM)、光碟-讀取/寫入(compact disk-read/write,CD-R/W),及/或數位視訊光碟(digital video disc,DVD)。
在一或多個實施例中,儲存媒體804包含電腦程式碼821,其經組態以使得系統800(在此類執行(至少部分地)表示EDA工具的情況下)可用於執行所提及的製程及/或方法的部分或全部。在一或多個實施例中,儲存媒體804亦包含便於執行所提及的製
程及/或方法的部分或全部的資訊。在一或多個實施例中,儲存媒體804包含包括標準單元集合826的函數庫824。
EDA系統800包含I/O介面810。I/O介面810耦接至外部電路。在一或多個實施例中,I/O介面810包含用於將資訊及命令傳達至處理器802的鍵盤、小鍵盤、滑鼠、軌跡球、觸控板、觸控螢幕,及/或游標方向按鍵。
此外,EDA系統800包含網路介面812。網路介面812包含無線網路介面,諸如藍牙、WIFI、WIMAX、GPRS或WCDMA;或有線網路介面,諸如乙太網路、USB或IEEE-1364。在一或多個實施例中,所提及的製程及/或方法的部分或全部實施於兩個或多於兩個系統800中。
系統800經組態以透過I/O介面810接收資訊。透過I/O介面810接收的資訊包含處理器802處理的電腦程式碼、資料、設計規則、標準單元庫及/或其他參數中的一或多者。資訊經由匯流排808傳送至處理器802。EDA系統800經組態以透過I/O介面810接收與UI相關的資訊。資訊作為使用者介面(user interface,UI)828包含於電腦可讀媒體804中。
在一些實施例中,所提及的製程及/或方法的部分或全部實施為由處理器執行的獨立軟體應用程式。在一些實施例中,所提及的製程及/或方法的部分或全部實施為軟體應用程式,所述軟體應用程式為額外軟體應用程式的一部分。在一些實施例中,所提及的製程及/或方法的部分或全部實施為軟體應用程式的插件。
在一些實施例中,所提及的製程及/或方法中的至少一者實施為軟體應用程式,所述軟體應用程式為EDA工具的部分。在一些實施例中,所提及的製程及/或方法的部分或全部實施為軟體應用程式,所述軟體應用程式由EDA系統800使用。在一些實施例中,使用諸如可購自鏗騰電子科技有限公司(CADENCE DESIGN SYSTEMS,Inc.)的VIRTUOSO®或另一合適的佈局圖產生工具來產生佈局圖。
在一些實施例中,製程隨包含於非暫時性電腦可讀記錄媒體中的程式的功能而實現。非暫時性電腦可讀記錄媒體的實例包含但不限於外部/可移式及/或內部/內置式儲存器或記憶體單元,例如光碟(諸如DVD)、磁碟(諸如硬碟)、半導體記憶體(諸如ROM、RAM、記憶卡),及其類似者中的一或多者。
圖9為根據本揭露的至少一個實施例的積體電路(IC)製造系統900及與其相關聯的IC製造流程的方塊圖。
在圖9中,IC製造系統900包含實體,諸如設計室920、遮罩室930以及IC製造廠/製造者(工廠)940,其在與製造IC裝置960相關的設計、開發以及製造週期及/或服務中彼此相互作用。系統900中的實體藉由通信網路連接。在一些實施例中,通信網路為單個網路。在一些實施例中,通信網路為多種不同網絡,諸如企業內部網路及網際網路。通信網路包含有線及/或無線通信通道。每一實體與其他實體中的一或多者相互作用且將服務提供至其他實體中的一或多者及/或自其他實體中的一或多者接收服務。
在一些實施例中,單個大公司擁有兩個或多於兩個設計室920、遮罩室930以及IC工廠940。在一些實施例中,兩個或多於兩個設計室920、遮罩室930以及IC工廠940共存於公共設施中且使用公共資源。
設計室(或設計組)920產生IC設計佈局圖922。IC設計佈局圖922包含為IC裝置960設計的多種幾何圖案。幾何圖案對應於構成將被製造的IC裝置960的各種組件的金屬層、氧化物層或半導體層的圖案。多個層組合而形成多個IC特徵。舉例而言,IC設計佈局圖922的部分包含待形成於半導體基底(諸如矽晶圓)以及安置於所述半導體基底上的多個材料層中的多個IC特徵,諸如主動區、閘電極、源極以及汲極、層間互連的金屬線或通孔,以及接合墊的開口。設計室920實施恰當設計程序以形成IC設計佈局圖922。設計程序包含邏輯設計、實體設計或佈局及佈線中的一或多者。IC設計佈局圖922呈現於具有幾何圖案的資訊的一或多個資料檔案中。舉例而言,IC設計佈局圖922可以GDSII檔案格式或DFII檔案格式表現。
遮罩室930包含遮罩資料準備932及遮罩製造934。遮罩室930使用IC設計佈局圖922來製造一或多個遮罩,所述一或多個遮罩待用於根據IC設計佈局圖922製造IC裝置960的多個層。遮罩室930執行遮罩資料準備932,其中IC設計佈局圖922被轉譯成代表性資料檔案(「representative data file,RDF」)。遮罩資料準備932將RDF提供至遮罩製造934。遮罩製造934包含遮罩
寫入器。遮罩寫入器將RDF轉換為諸如遮罩(瞄標(reticle))或半導體晶圓的基底上的影像。設計佈局圖由遮罩資料準備932操縱以遵從遮罩寫入器的特定特性及/或IC工廠940的要求。在圖9中,將遮罩資料準備932及遮罩製造934說明為分離元件。在一些實施例中,遮罩資料準備932及遮罩製造934可統稱為遮罩資料準備。
在一些實施例中,遮罩資料準備932包含光學接近校正(optical proximity correction,OPC),其使用微影增強技術來補償影像誤差,諸如可由繞射、干擾、其他製程效應及其類似者引起的該等影像誤差。OPC調整IC設計佈局圖922。在一些實施例中,遮罩資料準備932包含進一步的解析度增強技術(resolution enhancement technique,RET),諸如離軸(off-axis)照明、亞解析度(sub-resolution)輔助特徵、相移遮罩、其他合適的技術,及類似者或其組合。在一些實施例中,亦使用反向微影技術(inverse lithography technology,ILT),其將OPC視為反向成像問題。
在一些實施例中,遮罩資料準備932包含遮罩規則檢查器(mask rule checker,MRC),其檢查IC設計佈局圖,所述IC設計佈局圖在OPC中已藉由一組遮罩產生規則經受處理,所述遮罩產生規則含有某些幾何及/或連接限制以確保充足裕度,從而考慮半導體製造製程的可變性及類似者。在一些實施例中,MRC在遮罩製造934期間修改IC設計佈局圖以補償侷限性,其可復原由
OPC執行的修改的部分以便符合遮罩產生規則。
在一些實施例中,遮罩資料準備932包含模擬將由IC工廠940實施以製造IC裝置960的處理的微影製程檢查(lithography process checking,LPC)。LPC基於IC設計佈局圖922模擬此處理以產生模擬製造裝置,諸如IC裝置960。LPC模擬中的處理參數可包含與IC製造週期的各種製程相關聯的參數、與製造IC所使用的工具相關聯的參數,及/或製造製程的其他態樣。LPC考慮多個因素,諸如空中影像對比度、聚焦深度(「depth of focus,DOF」)、遮罩誤差增強因子(「mask error enhancement factor,MEEF」)、其他合適因素,及類似者或其組合。在一些實施例中,在模擬製造的裝置已藉由LPC產生之後,若模擬裝置在形狀上並不足夠緊密以滿足設計規則,則OPC及/或MRC重複以進一步優化IC設計佈局圖922。
應理解,遮罩資料準備932的上述描述已出於清晰的目的而簡化。在一些實施例中,遮罩資料準備932包含諸如邏輯操作(logic operation,LOP)的額外特徵以根據製造規則修改IC設計佈局圖。另外,應用於IC設計佈局圖922的製程在遮罩資料準備932期間可以各種不同次序執行。
在遮罩資料準備932之後及在遮罩製造934期間,基於經修改IC設計佈局製造遮罩或一組遮罩。在一些實施例中,電子束(e-beam)或多個e-beam的機構用於基於經修改IC設計佈局在遮罩(光罩或瞄標)上形成圖案。遮罩可以多種技術形成。在
一些實施例中,遮罩使用二進制技術形成。在一些實施例中,遮罩圖案包含不透明區域及透明區域。用於曝光已塗佈於晶圓上的影像敏感材料層(例如,光阻)的輻射束,諸如紫外線(UV)光束,藉由不透明區域阻擋且透射穿過透明區域。在一個實例中,二進制遮罩包含透明基底(例如,熔融石英)及塗佈於遮罩的不透明區域中的不透明材料(例如,鉻)。在另一實例中,遮罩使用相移技術形成。在相移遮罩(phase shift mask,PSM)中,形成於遮罩上的圖案中的多個特徵經組態以具有恰當相位差,以提高解析度及成像品質。在各種實例中,相移遮罩可為衰減PSM或交錯PSM。藉由遮罩製造934產生的遮罩用於各種製程。舉例而言,此類遮罩用於離子植入製程以在半導體晶圓中形成多個摻雜區,用於蝕刻製程以在半導體晶圓中形成多個蝕刻區域,及/或用於其他合適製程。
IC工廠940為IC製造企業,其包含用於製造各種不同IC產物的一或多個製造設施。在一些實施例中,IC工廠940為半導體鑄造廠。舉例而言,可能存在用於多種IC產物的前端製造(前段製程(front-end-of-line,FEOL)製造)的製造設施,而第二製造設施可為IC產物的互連及封裝提供後端製造(後段製程(back-end-of-line,BEOL)製造),且第三製造設施可為鑄造廠企業提供其他服務。
IC工廠940使用藉由遮罩室930製造的一或多個遮罩來製造IC裝置960。因此,IC工廠940至少間接地使用IC設計佈
局圖922來製造IC裝置960。在一些實施例中,半導體晶圓942藉由IC工廠940使用一或多個遮罩製造以形成IC裝置960。半導體晶圓942包含矽基底或上面形成有材料層的其他恰當基底。半導體晶圓更包含多樣的摻雜區、介電特徵、多層互連件及其類似者(形成於後續製造步驟處)中的一或多者。
關於積體電路(IC)製造系統(例如,圖9的系統900)及與其相關聯的IC製造流程的細節發現於例如以下各者中:2016年2月9日授予的美國專利第9,256,709號、2015年10月1日發佈的美國核准前公開號第20150278429號、2014年2月6日發佈的美國核准前公開號第20140040838號,以及2007年8月21日授與的美國專利第7,260,442號,其中的每一者的全部內容在此以引用方式併入。
在一實施例中,一種擴展包括函數庫的標準單元集合的方法,所述函數庫儲存於非暫時性電腦可讀媒體上,所述方法包含:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得選定群組中的基本標準單元具有連接,以便表示對應的邏輯電路,每一基本標準單元表示邏輯閘,且選定群組對應提供相應地可表現為選定布林表式的選定邏輯函數;對應於選定群組產生一或多個巨集標準單元;以及將一或多個巨集標準單元添加至標準單元集合,且藉此擴展標準單元集合;且其中所述方法的至少一個方面由電腦的處理器執行。在一實施例中,所述產生包含:在參數集合中的至少一個參數方面,將一或多個巨集
標準單元中的每一者組態為比選定群組更高效。在一實施例中,參數集合包含面積、功率消耗、驅動能力、速度、扇出或速度功率乘積。在一實施例中,循環的特定群組為對經驗資料的分析的結果;且經驗資料表示已用於製造半導體裝置的佈局圖。在一實施例中,每一循環的特定群組在群體中具有對應的實例數目(計數);且所述選擇包含根據對應的計數排序循環的特定群組。在一實施例中,所述產生包含:對選定布林表式執行布林最小化,從而產生最小化布林表式;以及選擇電晶體技術,一或多個巨集標準單元將相對於所述電晶體技術被組態。在一實施例中,所述產生更包含:用選定電晶體技術的電晶體表示最小化布林表式,所述表示包含以下中的至少一者:相對於來自參數集合的至少一個參數組態電晶體中的一或多者;以及相對於至少一個參數配置電晶體中的一或多者。在一實施例中,參數集合包含面積、功率消耗、驅動能力、速度、扇出或速度功率乘積。在一實施例中,所述方法更包含:在選擇之後及在產生之前判定標準單元集合是否待擴展。在一實施例中,所述方法更包含:基於包含巨集標準單元中的一或多者的佈局圖,製造(A)一或多個半導體遮罩或(B)初期半導體集成電路的層中的至少一個組件中的至少一者。
在一實施例中,一種用於擴展包括函數庫的標準單元集合的系統,所述函數庫儲存於非暫時性電腦可讀媒體上,系統包含:至少一個處理器;以及至少一個記憶體,其包含函數庫及用於一或多個程式的電腦程式碼;其中至少一個記憶體、電腦程式
碼以及至少一個處理器經組態以使得系統:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得選定群組中的基本標準單元具有連接,以便表示對應邏輯電路,每一基本標準單元表示邏輯閘;且選定群組對應提供相應地可表現為選定布林表式的選定邏輯函數;對應於選定群組產生一或多個巨集標準單元;在參數集合中的至少一個參數方面,將一或多個巨集標準單元中的每一者組態為比選定群組更高效;以及將一或多個巨集標準單元添加至標準單元集合,且藉此擴展標準單元集合。在一實施例中,參數集合包含面積、功率消耗、驅動能力、速度、扇出或速度功率乘積。在一實施例中,循環的特定群組為對經驗資料的分析的結果;且經驗資料表示已用於製造半導體裝置的佈局圖。在一實施例中,每一循環的特定群組在群體中具有對應的實例數目(計數);且關於選擇,至少一個記憶體、電腦程式碼以及至少一個處理器進一步經組態以使得系統根據對應的計數排序循環的特定群組。在一實施例中,關於產生,至少一個記憶體、電腦程式碼以及至少一個處理器進一步經組態以使得系統:對選定布林表式執行布林最小化,從而產生最小化布林表式;以及選擇電晶體技術,一或多個巨集標準單元將相對於所述電晶體技術被組態。在一實施例中,關於產生,至少一個記憶體、電腦程式碼以及至少一個處理器進一步經組態以使得系統藉由以下用選定電晶體技術的電晶體表示最小化布林表式:相對於來自參數集合的至少一個參數組態電晶體中的一或多者;以及相對於至少一個
參數配置電晶體中的一或多者。在一實施例中,系統更包含以下中的至少一者:遮罩設施,其經組態以基於包含巨集標準單元中的一或多者的佈局圖製造一或多個半導體遮罩;或製造設施,其經組態以基於包含巨集標準單元中的一或多者的佈局圖製造初期半導體積體電路的層中的至少一個組件。
在一實施例中,一種包含電腦可執行指令的電腦可讀媒體,所述電腦可執行指令用於執行擴展包括函數庫的標準單元集合的方法,函數庫儲存於非暫時性電腦可讀媒體上,所述方法包含:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得選定群組中的基本標準單元具有連接,以便表示對應邏輯電路;每一基本標準單元表示邏輯閘;以及選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對選定布林表式執行布林最小化,從而產生最小化布林表式;選擇電晶體技術,一或多個巨集標準單元將相對於所述電晶體技術被組態;用選定電晶體技術的電晶體表示最小化布林表式,所述表示包含以下中的至少一者:相對於來自參數集合的至少一個參數組態電晶體中的一或多者,或相對於至少一個參數配置電晶體中的一或多者;以及將一或多個巨集標準單元添加至標準單元集合,且藉此擴展標準單元集合。在一實施例中,參數集合包含面積、功率消耗、驅動能力、速度、扇出或速度功率乘積。在一實施例中,所述方法更包含更包含以下中的至少一者:使得遮罩設施基於包含巨集標準單元中的一或多者的佈局圖製造一或多個半導體遮罩;
或使得製造設施基於包含巨集標準單元中的一或多者的佈局圖製造初期半導體積體電路的層中的至少一個組件。
在一實施例中,一種邏輯電路,包含:電晶體,其經組態以使得:第一集合表示或-及-反相(OAI)電路;以及第二集合表示及-或-反相(AOI)電路。OAI電路及AOI電路中的每一者經組態以接收第一資料信號及第二資料信號。在邏輯電路的輸出表示賦能互斥或(賦能XOR)(EXOR)函數的第一情形中,OAI電路經組態以接收致能信號,且AOI電路經組態以接收OAI電路的輸出。在邏輯電路的輸出表示賦能互斥反或(賦能XNOR)(EXNOR)函數的第二情形中,AOI電路經組態以接收致能信號,且OAI電路經組態以接收AOI電路的輸出。在一實施例中,第一集合及第二集合中的電晶體的總和小於18。在一實施例中,在邏輯電路的輸出表示EXOR函數的第一情形中,第一集合及第二集合中的電晶體的總和為12或更小,且在邏輯電路的輸出表示EXNOR函數的第二情形中,第一集合及第二集合中的電晶體的總和為14或更小。在一實施例中,在邏輯電路的輸出表示EXOR函數的第一情形中,以下為真:OAI電路可表示為包含或閘以及反及閘,或閘接收第一資料信號及第二資料信號,反及閘接收或閘的輸出及致能信號;以及反及閘的輸出表示OAI電路的輸出;以及AOI電路可表示為包含及閘以及反或閘,及閘接收第一資料信號及第二資料信號,反或閘接收及閘的輸出以及OAI電路的輸出;以及反或閘的輸出表示AOI電路的輸出。在一實施例中,在邏輯電路的輸
出表示EXNOR函數的第二情形中,以下為真:AOI電路可表示為包含及閘以及反或閘,及閘經組態以接收第一資料信號及第二資料信號,反或閘經組態以接收及閘的輸出以及致能信號的反相版本,以及反或閘的輸出表示AOI電路的輸出;以及OAI電路可表示為包含或閘以及反及閘,或閘經組態以接收第一資料信號及第二資料信號,反及閘經組態以接收或閘的輸出以及AOI電路的輸出;以及反及閘的輸出表示OAI電路的輸出。在一實施例中,在邏輯電路的輸出表示EXNOR函數的第二情形中,邏輯電路更包含:反相器,其經組態以接收致能信號,產生致能信號的反相版本。在一實施例中,在邏輯電路的輸出表示EXOR函數的第一情形中,以下為真:OAI電路包含第一PMOS電晶體至第三PMOS電晶體,以及第一NMOS電晶體至第三NMOS電晶體;第一PMOS電晶體連接於第一參考電壓與第二PMOS電晶體之間;第二PMOS電晶體連接於第一PMOS電晶體與OAI電路的輸出節點之間;第三PMOS電晶體連接於第一參考電壓與OAI電路的輸出節點之間;第一NMOS電晶體連接於OAI電路的輸出節點與第一中間節點之間;第二NMOS電晶體及第三NMOS電晶體並聯連接在第一中間節點與第二參考電壓之間;第二PMOS電晶體及第二NMOS電晶體中的每一者的閘電極經組態以接收第一資料信號;第一PMOS電晶體及第三NMOS電晶體中的每一者的閘電極經組態以接收第二資料信號;以及第三PMOS電晶體及第一NMOS電晶體的閘電極經組態以接收致能信號。在一實施例中,在邏輯電路的輸出表
示EXOR函數的第一情形中,以下為真:AOI電路包含第四PMOS電晶體至第六PMOS電晶體以及第四NMOS電晶體至第六NMOS電晶體;第四PMOS電晶體及第五PMOS電晶體並聯連接在第一參考電壓與第二中間節點之間;第六PMOS電晶體連接於第二中間節點與AOI電路的輸出節點之間;第四NMOS電晶體連接於AOI電路的輸出節點與第二參考電壓之間;第五NMOS電晶體連接於AOI電路的輸出節點與第三中間節點之間;第六NMOS電晶體連接於第三中間節點與第二參考電壓之間;第四PMOS電晶體及第五NMOS電晶體中的每一者的閘電極經組態以接收第一資料信號;第五PMOS電晶體及第六NMOS電晶體中的每一者的閘電極經組態以接收第二資料信號;以及第六PMOS電晶體及第四NMOS電晶體的閘電極連接至OAI電路的輸出節點。在一實施例中,在邏輯電路的輸出表示EXNOR函數的第二情形中,以下為真:AOI電路包含:第一PMOS電晶體至第三PMOS電晶體;以及第一NMOS電晶體至第三NMOS電晶體;第一PMOS電晶體及第二PMOS電晶體並聯連接在第一參考電壓與第一中間節點之間;第三PMOS電晶體連接於第二中間節點與AOI電路的輸出節點之間;第一NMOS電晶體連接於AOI電路的輸出節點與第二參考電壓之間;第二NMOS電晶體連接於AOI電路的輸出節點與第二中間節點之間;第三NMOS電晶體連接於第二中間節點與第二電壓之間;第一PMOS電晶體及第二NMOS電晶體中的每一者的閘電極經組態以接收第一資料信號;第二PMOS電晶體及第三NMOS電晶體
中的每一者的閘電極經組態以接收第二資料信號;以及第三PMOS電晶體及第一NMOS電晶體的閘電極經組態以接收致能信號。在一實施例中,在邏輯電路的輸出表示EXNOR函數的第二情形中,以下為真:OAI電路包含第四PMOS電晶體至第五PMOS電晶體以及第四NMOS電晶體至第五NMOS電晶體;第四PMOS電晶體連接於第一參考電壓與OAI電路的輸出節點之間;第五PMOS電晶體連接於第一參考電壓與第三中間節點之間;第六PMOS電晶體連接於第三中間節點與OAI電路的輸出節點之間;第四NMOS電晶體連接於OAI電路的輸出節點與第四中間節點之間;第五NMOS電晶體及第六NMOS電晶體並聯連接在第四中間節點與第二參考電壓之間;第六PMOS電晶體及第五NMOS電晶體中的每一者的閘電極經組態以接收第一資料信號;第四PMOS電晶體及第六NMOS電晶體中的每一者的閘電極經組態以接收第二資料信號;以及第四PMOS電晶體及第四NMOS電晶體的閘電極連接至AOI電路的輸出節點。
在一實施例中,邏輯電路包含:第一反相器及第二反相器;以及電晶體,其經組態以使得:其第一集合及第二集合表示對應的第一反及電路及第二反及電路;其第三集合表示傳輸閘;以及其第四集合表示堆疊閘邏輯(SGL)電路;其中:第一反及電路及第二反及電路中的每一者的第一輸入經組態以接收對應的第一資料信號及第二資料信號;第一反及電路及第二反及電路中的每一者的第二輸入經組態以接收致能信號;第一反相器經組態以
接收第一反及電路的輸出;電晶體的第三集合及第四集合經組態為組合電路,表示互斥或(XOR)電路或互斥反或(XNOR)電路中的一者,且經組態以接收:第二反及電路的輸出作為資料輸入;以及第一反相器的輸出及第二反及電路的輸出作為控制輸入;且第二反相器經組態以接收組合電路的輸出;且第二反相器的輸出表示應用於第一資料信號及第二資料信號以及致能信號的賦能互斥或(EXOR)函數或賦能互斥反或(EXNOR)函數中的一者。在一實施例中,第一反相器及第二反相器中的每一者包含電晶體;且第一反相器及第二反相器以及第一集合至第四集合中的電晶體的總和小於24。在一實施例中,表示SGL電路的電晶體的第四集合包含:第一PMOS電晶體及第二PMOS電晶體以及第一NMOS電晶體及第二NMOS電晶體;其中:第一PMOS電晶體連接於第一參考電壓與第二PMOS電晶體之間;第二PMOS電晶體連接於第一PMOS電晶體與SGL電路的輸出節點之間;第一NMOS電晶體連接於SGL電路的輸出節點與第二NMOS電晶體之間;第二NMOS電晶體連接於第一NMOS電晶體與第二參考電壓之間。在一實施例中,以下中的至少一者為真:在第二反相器的輸出表示EXOR函數的第一情形中,SGL電路的第二PMOS電晶體的閘電極經組態以接收第一反及電路的輸出,且SGL電路的第一NMOS電晶體的閘電極經組態以接收第一反相器的輸出;或在第二反相器的輸出表示EXNOR函數的第二情形中,SGL電路的第二PMOS電晶體的閘電極經組態以接收第一反相器的輸出;以及SGL電路
的第一NMOS電晶體的閘電極經組態以接收第一反及電路的輸出。在一實施例中,表示傳輸閘的電晶體的第三集合經組態以接收第一反相器的輸出及第二反及電路的輸出作為第一控制輸入及第二控制輸入;表示SGL電路的電晶體的第四集合經組態以接收第一反相器的輸出及第二反及電路的輸出作為第一控制輸入及第二控制輸入;電晶體的第三集合及第四集合中的每一者的資料輸入經組態以接收第二反及電路的輸出;以及電晶體的第三集合的資料輸出在表示組合電路的輸出的節點處連接至電晶體的第四集合的資料輸出。
在一實施例中,一種邏輯電路(用於提供N位元多位元正反器(MBFF)函數)包含:第一反相器,其經組態以接收時鐘信號且產生對應的clock_bar信號;第二反相器,其經組態以接收clock_bar信號且產生對應的clock_bar_bar信號;第三反相器,其經組態以接收控制信號且產生對應的control_bar信號;以及1位元傳輸正反器(TXFF)電路的N個實例,N為正整數且2N。TXFF電路的每第i個實例包含:第i個反及電路,其經組態以接收資料信號;以及第i個1位元傳輸閘正反器(transmit gate flip-flop,TGFF)電路,其經組態以輸出信號Q(i)及信號q(i),且接收第i個反及電路的輸出、來自第(i-1)個TXFF電路的第(i-1)個TGFF電路的信號q(i-1)、clock_bar信號、clock_bar_bar信號、控制信號以及control_bar信號;且其中N個傳輸TXFF電路中的第零(第0)者經組態以接收開始信號而非q(i-1)信號。在一實施例中,N=8,
使得邏輯電路提供8位元FF(FF8);且邏輯電路包含少於264個電晶體。在一實施例中,邏輯電路包含246個或更少的電晶體。在一實施例中,TGFF電路的每第i個實例更包含:傳輸閘;第一堆疊閘邏輯(SGL)電路至第四堆疊閘邏輯電路;以及第一反相器至第三反相器;其中:第一SGL電路的輸入經組態以接收control_bar信號;第二SGL電路的輸入在第一中間節點處連接至第一SGL電路的輸出及第i個反及電路的輸出中的每一者,第二SGL電路的輸出在第二中間節點處連接至第三SGL電路的輸入及第一反相器的輸入中的每一者;第三SGL電路的輸出及第一反相器的輸出中的每一者在第三中間節點處連接至傳輸閘的輸入;傳輸閘的輸出在第四中間節點處連接至第四SGL電路的輸入以及第二反相器及第三反相器中的每一者的輸入中的每一者;第二反相器的輸出連接至TXFF電路的第i個實例的第一輸出節點;以及第四SGL電路及第三反相器中的每一者的輸出連接至TXFF電路的第i個實例的第二輸出節點。在一實施例中,第一SGL電路至第四SGL電路中的每一者包含:第一PMOS電晶體及第二PMOS電晶體;以及第一NMOS電晶體及第二NMOS電晶體;其中第一PMOS電晶體連接於第一參考電壓與第二PMOS電晶體之間;第二PMOS電晶體連接於第一PMOS電晶體與SGL電路的輸出節點之間;第一NMOS電晶體連接於SGL電路的輸出節點與第二NMOS電晶體之間;第二NMOS電晶體連接於第一NMOS電晶體與第二參考電壓之間。
在一實施例中,形成邏輯電路的方法包含:形成電晶體;將電晶體的第一集合組態為或-及-反相(OAI)電路;將電晶體的第二集合組態為及-或-反相(AOI)電路;針對OAI電路及AOI電路中的每一者,組態其第一輸入端子及第二輸入端子以接收對應的第一資料信號及第二資料信號;以及以下中的至少一者:對於邏輯電路的輸出將表示賦能互斥或(賦能XOR)(EXOR)函數的第一情形,組態AOI電路的輸入以接收OAI電路的輸出;以及對於邏輯電路的輸出將表示賦能互斥反或(賦能XNOR)(EXNOR)函數的第二情形,組態OAI電路的輸入以接收AOI電路的輸出。
前文概述若干實施例的特徵,使得熟習此項技術者可更佳地理解本揭露的態樣。熟習此項技術者應理解,其可易於使用本揭露作為設計或修改用於實現本文中所引入的實施例的相同目的及/或達成相同優勢的其他處理程序及結構的基礎。熟習此項技術者亦應認識到,此類等效構造並不脫離本揭露的精神及範疇,且熟習此項技術者可在不脫離本揭露的精神及範疇的情況下在本文中進行改變、替代及更改。
Claims (8)
- 一種擴展包括函數庫的標準單元集合的方法,所述函數庫儲存於非暫時性電腦可讀媒體上,所述方法包括:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得:所述選定群組中的所述基本標準單元具有連接,以便表示對應的邏輯電路;每一所述基本標準單元表示邏輯閘;以及所述選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對應於所述選定群組產生一或多個巨集標準單元;以及將所述一或多個巨集標準單元添加至所述標準單元集合,且藉此擴展所述標準單元集合;以及其中所述方法的至少一個方面由電腦的處理器執行,其中每一所述循環的特定群組在群體中具有對應的實例數目,以及所述選擇包含根據所述對應的實例數目排序所述循環的特定群組。
- 如申請專利範圍第1項所述的方法,其中所述產生包含:對所述選定布林表式執行布林最小化,從而產生最小化布林表式;以及選擇電晶體技術,所述一或多個巨集標準單元將相對於所述電晶體技術被組態。
- 如申請專利範圍第1項所述的方法,更包括:在所述選擇之後及在所述產生之前判定所述標準單元集合是否待擴展。
- 如申請專利範圍第1項所述的方法,更包括:基於包含所述巨集標準單元中的一或多者的佈局圖,製造(A)一或多個半導體遮罩或(B)初期半導體積體電路的層中的至少一個組件中的至少一者。
- 一種用於擴展包括函數庫的標準單元集合的系統,所述函數庫儲存於非暫時性電腦可讀媒體上,所述系統包括:至少一個處理器;以及至少一個記憶體,包含所述函數庫及用於一或多個程式的電腦程式碼;其中所述至少一個記憶體、所述電腦程式碼以及所述至少一個處理器經組態以使得所述系統:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得:所述選定群組中的所述基本標準單元具有連接,以便表示對應的邏輯電路;每一所述基本標準單元表示邏輯閘;以及所述選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對應於所述選定群組產生一或多個巨集標準單元;在參數集合中的至少一個參數方面,將所述一或多個巨集標準單元中的每一者組態為比所述選定群組更高效;以及將所述一或多個巨集標準單元添加至所述標準單元集合,且藉此擴展所述標準單元集合,其中:每一所述循環的特定群組在群體中具有對應的實例數目;以及關於所述選擇,所述至少一個記憶體、所述電腦程式碼以及所述至少一個處理器進一步經組態以使得所述系統根據所述對應的實例數目排序所述循環的特定群組。
- 如申請專利範圍第5項所述的系統,更包括以下中的至少一者:遮罩設施,經組態以基於包含所述巨集標準單元中的一或多者的佈局圖製造一或多個半導體遮罩;或製造設施,經組態以基於包含所述巨集標準單元中的一或多者的佈局圖製造初期半導體積體電路的層中的至少一個組件。
- 一種包括電腦可執行指令的電腦可讀媒體,所述電腦可執行指令用於執行擴展包括函數庫的標準單元集合的方法,所述函數庫儲存於非暫時性電腦可讀媒體上,所述方法包括:在基本標準單元的循環的特定群組之中選擇一者,從而產生選定群組,使得:所述選定群組中的所述基本標準單元具有連接,以便表示對應的邏輯電路;每一所述基本標準單元表示邏輯閘;以及所述選定群組對應提供相應地可表示為選定布林表式的選定邏輯函數;對所述選定布林表式執行布林最小化,從而產生最小化布林表式;選擇電晶體技術,所述一或多個巨集標準單元將相對於所述電晶體技術被組態;用所述選定電晶體技術的電晶體表示所述最小化布林表式,所述表示包含以下中的至少一者:相對於來自參數集合的至少一個參數組態所述電晶體中的一或多者;或相對於所述至少一個參數配置所述電晶體中的一或多者;以及將所述一或多個巨集標準單元添加至所述標準單元集合,且藉此擴展所述標準單元集合,其中每一所述循環的特定群組在群體中具有對應的實例數目,以及所述選擇包含根據所述對應的實例數目排序所述循環的特定群組。
- 如申請專利範圍第7項所述的電腦可讀媒體,其中所述方法更包括以下中的至少一者:使得遮罩設施基於包含所述巨集標準單元中的一或多者的佈局圖製造一或多個半導體遮罩;或使得製造設施基於包含所述巨集標準單元中的一或多者的佈局圖製造初期半導體積體電路的層中的至少一個組件。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762509048P | 2017-05-19 | 2017-05-19 | |
| US62/509,048 | 2017-05-19 | ||
| US15/936,712 | 2018-03-27 | ||
| US15/936,712 US10664565B2 (en) | 2017-05-19 | 2018-03-27 | Method and system of expanding set of standard cells which comprise a library |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201911090A TW201911090A (zh) | 2019-03-16 |
| TWI677800B true TWI677800B (zh) | 2019-11-21 |
Family
ID=64272325
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107117100A TWI677800B (zh) | 2017-05-19 | 2018-05-18 | 擴展標準單元集合的方法與系統以及電腦可讀媒體 |
Country Status (3)
| Country | Link |
|---|---|
| US (4) | US10664565B2 (zh) |
| CN (1) | CN108959696B (zh) |
| TW (1) | TWI677800B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI802941B (zh) * | 2020-08-11 | 2023-05-21 | 南亞科技股份有限公司 | 標準單元建立方法 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10664565B2 (en) * | 2017-05-19 | 2020-05-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method and system of expanding set of standard cells which comprise a library |
| US10776545B2 (en) * | 2017-09-28 | 2020-09-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Method of determing a worst case in timing analysis |
| EP3981105A4 (en) * | 2019-06-07 | 2023-06-28 | Ohio State Innovation Foundation | Systems and methods using hybrid boolean networks as physically unclonable functions |
| DE102020132921A1 (de) * | 2020-04-30 | 2021-11-04 | Taiwan Semiconductor Manufacturing Co., Ltd. | HALBLEITERVORRICHTUNG MIT GESTUFTEM GATESTUMPFGRÖßENPROFIL UND VERFAHREN ZUR HERSTELLUNG DAVON |
| CN117312618A (zh) * | 2022-09-13 | 2023-12-29 | 台湾积体电路制造股份有限公司 | 制造半导体装置的方法、系统及计算机可读取存储媒体 |
| CN117540668A (zh) * | 2023-04-25 | 2024-02-09 | 北京芯思维科技有限公司 | 数字电路的仿真方法及装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200541011A (en) * | 2004-06-15 | 2005-12-16 | Taiwan Semiconductor Mfg | A variable layout design for multiple voltage applications |
| CN103034758A (zh) * | 2012-12-07 | 2013-04-10 | 南通大学 | 集成电路逻辑优化并行处理方法 |
| US20150303927A1 (en) * | 2014-04-17 | 2015-10-22 | Infineon Technologies Ag | Chip and method for manufacturing a chip |
| CN106339532A (zh) * | 2016-08-18 | 2017-01-18 | 杭州旗捷科技有限公司 | 基础单元、标准单元、标准单元库、后端全定制设计方法、芯片 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4701860A (en) * | 1985-03-07 | 1987-10-20 | Harris Corporation | Integrated circuit architecture formed of parametric macro-cells |
| JPH0718779B2 (ja) * | 1988-02-16 | 1995-03-06 | 富士重工業株式会社 | 車輌診断装置 |
| US5459673A (en) * | 1990-10-29 | 1995-10-17 | Ross Technology, Inc. | Method and apparatus for optimizing electronic circuits |
| US5369645A (en) * | 1991-07-02 | 1994-11-29 | Hewlett-Packard Company | Testing integrated circuit pad input and output structures |
| JPH07105253A (ja) * | 1993-10-07 | 1995-04-21 | Nec Corp | データパス回路レイアウト生成システム |
| JP3777768B2 (ja) * | 1997-12-26 | 2006-05-24 | 株式会社日立製作所 | 半導体集積回路装置およびセルライブラリを記憶した記憶媒体および半導体集積回路の設計方法 |
| JP2000305961A (ja) * | 1999-04-16 | 2000-11-02 | Matsushita Electric Ind Co Ltd | セルライブラリデータベースおよび設計支援装置 |
| US6963225B2 (en) * | 2001-01-22 | 2005-11-08 | Texas Instruments Incorporated | Quad state logic design methods, circuits, and systems |
| US6636076B2 (en) * | 1999-12-16 | 2003-10-21 | Texas Instruments Incorporated | Quad state logic design methods, circuits, and systems |
| US7260442B2 (en) | 2004-03-03 | 2007-08-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method and system for mask fabrication process control |
| JPWO2010073610A1 (ja) * | 2008-12-24 | 2012-06-07 | パナソニック株式会社 | スタンダードセル・ライブラリ及び半導体集積回路 |
| CN102279899B (zh) * | 2011-04-01 | 2013-05-01 | 无锡中科微电子工业技术研究院有限责任公司 | 对精简标准单元库进行优化的方法 |
| US9292644B2 (en) * | 2011-08-12 | 2016-03-22 | William Loh | Row based analog standard cell layout design and methodology |
| US8850366B2 (en) | 2012-08-01 | 2014-09-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for making a mask by forming a phase bar in an integrated circuit design layout |
| CN104134657B (zh) * | 2013-05-02 | 2018-01-26 | 台湾积体电路制造股份有限公司 | 单元高度为标称最小间距的非整数倍的标准单元 |
| US9256709B2 (en) | 2014-02-13 | 2016-02-09 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for integrated circuit mask patterning |
| US9465906B2 (en) | 2014-04-01 | 2016-10-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for integrated circuit manufacturing |
| US9356583B2 (en) * | 2014-08-29 | 2016-05-31 | Taiwan Semiconductor Manufacturing Company Ltd. | Flip-flop circuit |
| US10366200B2 (en) * | 2016-09-07 | 2019-07-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | System for and method of manufacturing a layout design of an integrated circuit |
| US10664565B2 (en) * | 2017-05-19 | 2020-05-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method and system of expanding set of standard cells which comprise a library |
-
2018
- 2018-03-27 US US15/936,712 patent/US10664565B2/en active Active
- 2018-05-18 TW TW107117100A patent/TWI677800B/zh active
- 2018-05-18 CN CN201810477545.XA patent/CN108959696B/zh active Active
-
2020
- 2020-05-12 US US15/930,010 patent/US11030366B2/en active Active
-
2021
- 2021-06-07 US US17/340,662 patent/US11755798B2/en active Active
-
2023
- 2023-07-31 US US18/362,938 patent/US12190034B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW200541011A (en) * | 2004-06-15 | 2005-12-16 | Taiwan Semiconductor Mfg | A variable layout design for multiple voltage applications |
| CN103034758A (zh) * | 2012-12-07 | 2013-04-10 | 南通大学 | 集成电路逻辑优化并行处理方法 |
| US20150303927A1 (en) * | 2014-04-17 | 2015-10-22 | Infineon Technologies Ag | Chip and method for manufacturing a chip |
| CN106339532A (zh) * | 2016-08-18 | 2017-01-18 | 杭州旗捷科技有限公司 | 基础单元、标准单元、标准单元库、后端全定制设计方法、芯片 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI802941B (zh) * | 2020-08-11 | 2023-05-21 | 南亞科技股份有限公司 | 標準單元建立方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US11030366B2 (en) | 2021-06-08 |
| US12190034B2 (en) | 2025-01-07 |
| CN108959696A (zh) | 2018-12-07 |
| US20200272778A1 (en) | 2020-08-27 |
| US20210294958A1 (en) | 2021-09-23 |
| US10664565B2 (en) | 2020-05-26 |
| US20180336293A1 (en) | 2018-11-22 |
| US11755798B2 (en) | 2023-09-12 |
| TW201911090A (zh) | 2019-03-16 |
| CN108959696B (zh) | 2022-10-11 |
| US20230376661A1 (en) | 2023-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI677800B (zh) | 擴展標準單元集合的方法與系統以及電腦可讀媒體 | |
| US12400067B2 (en) | Integrated circuit and method of forming same and a system | |
| US12395157B2 (en) | Footprint for multi-bit flip flop | |
| US20240332280A1 (en) | Integrated circuit and method of forming the same | |
| TWI802835B (zh) | 用於產生多閘控通電控制訊號的系統及其方法 | |
| US12113051B2 (en) | Die to die interface circuit | |
| US12375069B2 (en) | Method for forming a timing circuit arrangements for flip-flops | |
| TWI806461B (zh) | 積體電路及操作多個單位元準位轉換器的方法 | |
| US12489432B2 (en) | Integrated circuit device, method and system | |
| US20260019070A1 (en) | Delay circuit and operational method thereof | |
| US20250372507A1 (en) | Integrated circuit (ic) device, and methods | |
| KR102442813B1 (ko) | 다중 게이트 i/o 시스템, 이에 대한 게이트 신호를 생성하기 위한 반도체 디바이스 및 방법 |