TW202018547A - Integrated circuit design, and method and design system of generating integrated circuit design - Google Patents
Integrated circuit design, and method and design system of generating integrated circuit design Download PDFInfo
- Publication number
- TW202018547A TW202018547A TW108119875A TW108119875A TW202018547A TW 202018547 A TW202018547 A TW 202018547A TW 108119875 A TW108119875 A TW 108119875A TW 108119875 A TW108119875 A TW 108119875A TW 202018547 A TW202018547 A TW 202018547A
- Authority
- TW
- Taiwan
- Prior art keywords
- standard
- integrated circuit
- type
- cell
- cells
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
本發明的示例性實施例大體而言是有關於半導體積體電路,且更具體而言是有關於包括不同類型單元的積體電路的設計(例如,佈局)、產生所述積體電路設計的方法以及產生所述積體電路設計的設計系統。Exemplary embodiments of the present invention relate generally to semiconductor integrated circuits, and more specifically to the design (eg, layout) of integrated circuits including different types of cells, and the design of the integrated circuits Method and design system for producing the integrated circuit design.
具有固定功能的標準單元可用於產生積體電路設計。標準單元被設計成具有預定架構且儲存於單元庫中。當產生積體電路設計時,自單元庫擷取標準單元並將所述標準單元放置至積體電路佈局上的期望位置中。接著實行路由以將標準單元彼此連接且與其他單元連接。舉例而言,可使用金屬路由線對標準單元與所述其他單元進行連接,以在標準單元與所述其他單元之間對訊號進行路由。標準單元的預定架構可包括單元寬度、單元高度、電源軌(power rail)寬度、接腳點(pin point)的位置及數目等。可能存在功能相同但效能及面積不同的標準單元(例如,不同類型標準單元)。由於具有相同功能的標準單元具有不同的面積,因此所述標準單元具有不同的單元邊界,且因此當被放置於積體電路佈局上時具有不同的單元邊界位置。然而,由於不同的單元邊界位置,實行自對準雙重圖案化(self-aligned double patterning)的製程無法與基於單元邊界來實行單元的自動放置的現存的放置及路由方案結合使用。具體而言,由於不同的單元邊界位置,無法對此些放置的胞元進行垂直對準。因此,無法將功能相同但面積及/或效能不同的標準單元放置於單個積體電路設計中。Standard cells with fixed functions can be used to produce integrated circuit designs. The standard cell is designed to have a predetermined architecture and is stored in the cell library. When generating an integrated circuit design, extract standard cells from the cell library and place the standard cells in a desired location on the integrated circuit layout. Routing is then carried out to connect standard units to each other and to other units. For example, a metal routing wire may be used to connect the standard unit and the other unit to route signals between the standard unit and the other unit. The predetermined structure of the standard unit may include the unit width, the unit height, the power rail width, the position and number of pin points, and so on. There may be standard units with the same function but different performance and area (for example, different types of standard units). Since standard cells having the same function have different areas, the standard cells have different cell boundaries, and therefore have different cell boundary positions when placed on the integrated circuit layout. However, due to different cell boundary locations, the process of implementing self-aligned double patterning cannot be used in conjunction with existing placement and routing schemes that perform automatic placement of cells based on cell boundaries. Specifically, due to different cell boundary positions, it is not possible to vertically align these placed cells. Therefore, standard cells with the same function but different areas and/or performance cannot be placed in a single integrated circuit design.
本揭露的至少一個示例性實施例提供一種產生能夠在一個積體電路中包括不同類型標準單元的積體電路設計的方法以及一種接著可使用積體設計製造的積體電路。At least one exemplary embodiment of the present disclosure provides a method of generating an integrated circuit design that can include different types of standard cells in an integrated circuit and an integrated circuit that can then be manufactured using the integrated design.
本揭露的至少一個示例性實施例提供一種能夠包括不同類型標準單元的積體電路設計以及一種接著可使用積體設計製造的積體電路。At least one exemplary embodiment of the present disclosure provides an integrated circuit design that can include different types of standard cells and an integrated circuit that can then be manufactured using the integrated design.
本揭露的至少一個示例性實施例提供一種產生能夠在一個積體電路設計中包括不同類型標準單元的積體電路設計的設計系統以及一種接著可使用積體設計製造的積體電路。At least one exemplary embodiment of the present disclosure provides a design system that produces an integrated circuit design that can include different types of standard cells in an integrated circuit design and an integrated circuit that can then be manufactured using integrated design.
根據本發明概念的示例性實施例,一種產生積體電路設計的方法包括:接收對所述積體電路設計的輸入單元進行界定的輸入資料;自第一標準單元庫選擇第一標準單元來表示具有第一特性的所述輸入單元;自第二標準單元庫選擇第二標準單元來表示具有與所述第一特性不同的第二特性的所述輸入單元;以及藉由對所選擇的所述第一標準單元及所選擇的所述第二標準單元實行放置及路由來產生表示所述積體電路設計的輸出資料。所述第一標準單元庫包括使用第一擴散間斷方案製造的第一類型標準單元。所述第二標準單元庫包括使用第二擴散間斷方案製造的第二類型標準單元。所述第二類型標準單元中的每一者具有與所述第一類型標準單元中相應的一者相同的功能。所述第二擴散間斷方案不同於所述第一擴散間斷方案。接著可使用所述輸出資料製造積體電路。According to an exemplary embodiment of the inventive concept, a method of generating an integrated circuit design includes: receiving input data defining input units of the integrated circuit design; and selecting a first standard cell to represent from a first standard cell library The input unit having the first characteristic; selecting a second standard unit from the second standard unit library to represent the input unit having a second characteristic different from the first characteristic; and by selecting the selected The first standard unit and the selected second standard unit perform placement and routing to generate output data representing the integrated circuit design. The first standard cell library includes first type standard cells manufactured using a first diffusion discontinuity scheme. The second standard cell library includes second type standard cells manufactured using a second diffusion discontinuity scheme. Each of the second type standard cells has the same function as the corresponding one of the first type standard cells. The second diffusion discontinuity scheme is different from the first diffusion discontinuity scheme. The output data can then be used to fabricate an integrated circuit.
根據本發明概念的示例性實施例,一種產生積體電路設計的設計系統包括儲存裝置及處理器。所述儲存裝置儲存放置器模組及路由器模組。所述處理器對所述儲存裝置進行存取以執行所述模組。所述放置器模組基於輸入資料、第一標準單元庫及第二標準單元庫來將第一類型標準單元中的至少一者及第二類型標準單元中的至少一者放置於所述積體電路中。所述輸入資料界定所述積體電路設計。所述第一標準單元庫包括使用第一擴散間斷方案製造的所述第一類型標準單元。所述第二標準單元庫包括使用第二擴散間斷方案製造的所述第二類型標準單元。所述第二類型標準單元中的每一者具有與所述第一類型標準單元中相應的一者相同的功能。所述第二擴散間斷方案不同於所述第一擴散間斷方案。所述路由器模組藉由對放置於所述積體電路設計中的所述第一類型標準單元中的所述至少一者及所述第二類型標準單元中的所述至少一者的連接進行路由來產生表示所述積體電路設計的輸出資料。接著可使用所述輸出資料製造積體電路。According to an exemplary embodiment of the inventive concept, a design system for generating an integrated circuit design includes a storage device and a processor. The storage device stores a placer module and a router module. The processor accesses the storage device to execute the module. The placer module places at least one of the first type standard cell and at least one of the second type standard cell on the volume based on the input data, the first standard cell library, and the second standard cell library In the circuit. The input data defines the integrated circuit design. The first standard cell library includes the first type standard cells manufactured using a first diffusion discontinuity scheme. The second standard cell library includes the second type standard cells manufactured using a second diffusion discontinuity scheme. Each of the second type standard cells has the same function as the corresponding one of the first type standard cells. The second diffusion discontinuity scheme is different from the first diffusion discontinuity scheme. The router module performs by connecting the at least one of the first type standard cells and the at least one of the second type standard cells placed in the integrated circuit design Routing to generate output data representing the design of the integrated circuit. The output data can then be used to fabricate an integrated circuit.
根據本發明概念的示例性實施例,一種積體電路設計包括第一類型標準單元及第二類型標準單元。所述第一類型標準單元使用第一擴散間斷方案進行製造。所述第二類型標準單元使用第二擴散間斷方案進行製造。所述第二類型標準單元中的每一者具有與所述第一類型標準單元中相應的一者相同的功能。所述第二擴散間斷方案不同於所述第一擴散間斷方案。According to an exemplary embodiment of the inventive concept, an integrated circuit design includes a first type standard cell and a second type standard cell. The first type of standard cell is manufactured using a first diffusion discontinuity scheme. The second type of standard cell is manufactured using a second diffusion discontinuity scheme. Each of the second type standard cells has the same function as the corresponding one of the first type standard cells. The second diffusion discontinuity scheme is different from the first diffusion discontinuity scheme.
在根據示例性實施例的一種積體電路設計、一種產生積體電路設計的方法以及一種產生積體電路設計的設計系統中,可產生並實施所述積體電路設計,使得在一個積體電路設計中包括不同類型標準單元。所述不同類型標準單元可具有相同的功能,但可在製造方法、效能及/或面積上有所不同。可藉由使用各種設計最佳化方案在一個積體電路設計中實施各種不同類型標準單元,且因此可自具有優異特性(例如效能及面積)的所得積體電路製造積體電路。In an integrated circuit design, a method for generating an integrated circuit design, and a design system for generating an integrated circuit design according to an exemplary embodiment, the integrated circuit design may be generated and implemented so that an integrated circuit Different types of standard units are included in the design. The different types of standard cells may have the same function, but may differ in manufacturing method, performance, and/or area. Various types of standard cells can be implemented in one integrated circuit design by using various design optimization schemes, and thus integrated circuits can be manufactured from the resulting integrated circuits having excellent characteristics such as performance and area.
將參照附圖更充分地闡述本發明概念,在附圖中示出本發明概念的實施例。然而,本揭露可以許多不同的形式實施且不應被視為僅限於本文中所述的實施例。在本申請案通篇中相同的參考編號指代相同的元件。The inventive concept will be explained more fully with reference to the accompanying drawings, in which embodiments of the inventive concept are shown. However, the present disclosure can be implemented in many different forms and should not be considered limited to the embodiments described herein. The same reference numbers refer to the same elements throughout the application.
圖1是示出根據本發明概念的示例性實施例的產生積體電路設計的方法的流程圖。FIG. 1 is a flowchart illustrating a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept.
參照圖1,根據示例性實施例的產生積體電路設計的方法可為對積體電路的佈局進行設計的方法且可在設計積體電路的工具中實行。舉例而言,設計積體電路的工具可為包括由處理器執行的多個指令的程式。將參照圖5及圖6對所述工具及程式進行闡述。Referring to FIG. 1, a method of generating an integrated circuit design according to an exemplary embodiment may be a method of designing a layout of an integrated circuit and may be implemented in a tool for designing an integrated circuit. For example, a tool for designing an integrated circuit may be a program including multiple instructions executed by a processor. The tools and programs will be explained with reference to FIGS. 5 and 6.
在根據示例性實施例的產生積體電路設計的方法中,接收對積體電路進行界定的輸入資料(步驟S100)。積體電路可由多個單元界定且可使用包含所述多個單元的資訊的單元庫來設計。在下文中,單元可為標準單元,且單元庫可為標準單元庫。在示例性實施例中,標準單元是提供布林邏輯函數(Boolean logic function)(例如,及(AND)、或(OR)、互斥或(XOR)、反互斥或(XNOR)、反相)或儲存功能(例如,正反器或鎖存器)的一組電晶體及內連結構。In the method of generating an integrated circuit design according to an exemplary embodiment, input data defining the integrated circuit is received (step S100). The integrated circuit may be defined by a plurality of cells and may be designed using a cell library containing information of the plurality of cells. Hereinafter, the unit may be a standard unit, and the unit library may be a standard unit library. In an exemplary embodiment, the standard unit is to provide a Boolean logic function (Boolean logic function) (eg, AND (AND), OR (OR), mutually exclusive OR (XOR), anti-mutually exclusive OR (XNOR), inverse ) Or a set of transistors and interconnecting structures for storage functions (for example, flip-flops or latches).
在示例性實施例中,輸入資料是由關於積體電路的行為的抽象形式產生的資料。舉例而言,可藉由使用標準單元庫進行合成(synthesis)而在暫存器轉移層階(register transfer level,RTL)中界定輸入資料。舉例而言,輸入資料可為藉由對由硬體描述語言(hardware description language,HDL)(例如特高速積體電路(very high speed integrated circuit,VHSIC)硬體描述語言(VHSIC hardware description language,VHDL)或Verilog)界定的積體電路設計進行合成而產生的位元流(bitstream)或網表(netlist)。In an exemplary embodiment, the input data is data generated in an abstract form regarding the behavior of the integrated circuit. For example, input data can be defined in register transfer level (RTL) by using standard cell library for synthesis. For example, the input data can be determined by a hardware description language (HDL) (such as a very high speed integrated circuit (VHSIC) hardware description language (VHSIC hardware description language, VHDL) ) Or Verilog) defined by the integrated circuit design synthesis to produce a bit stream (bitstream) or netlist (netlist).
在示例性實施例中,輸入資料可為對積體電路的佈局進行界定的資料。舉例而言,輸入資料可包括對實施成半導體材料、導體(例如,金屬)及絕緣體的結構進行界定的幾何資訊。舉例而言,由輸入資料指示的一層積體電路設計可具有由單元及用於將一個單元連接至其他單元的導線構成的佈局。In an exemplary embodiment, the input data may be data defining the layout of the integrated circuit. For example, the input data may include geometric information defining structures implemented as semiconductor materials, conductors (eg, metals), and insulators. For example, a layered integrated circuit design indicated by input data may have a layout made up of cells and wires used to connect one cell to other cells.
提供包括第一類型標準單元的第一標準單元庫(步驟S200)。第一類型標準單元是使用或基於第一擴散間斷方案製造的標準單元。將參照圖2A對第一類型標準單元進行闡述。A first standard cell library including first type standard cells is provided (step S200). The first type of standard cell is a standard cell that is manufactured using or based on the first diffusion discontinuity scheme. The first type of standard unit will be explained with reference to FIG. 2A.
標準單元可指佈局的大小符合預設規則或準則的積體電路的單元。標準單元可包括輸入接腳及輸出接腳且可對藉由輸入接腳接收的訊號進行處理以藉由輸出接腳輸出訊號。舉例而言,標準單元可包括基本單元(例如及邏輯閘、或邏輯閘、反或(NOR)邏輯閘或者反相器)、複雜單元(例如或/及/反相器(OR/AND/INVERTER,OAI)或者及/或/反相器(AND/OR/INVERTER,AOI))以及儲存元件(例如主從正反器(master-slave flip flop)或鎖存器)。The standard cell may refer to a unit of an integrated circuit whose layout size meets a preset rule or criterion. The standard unit may include input pins and output pins and may process signals received through the input pins to output signals through the output pins. For example, standard cells may include basic cells (such as AND logic gates, OR logic gates, NOR logic gates or inverters), and complex cells (eg OR/AND/INVERTER , OAI) or and/or/inverter (AND/OR/INVERTER, AOI)) and storage elements (such as master-slave flip flop or latch).
第一標準單元庫可包含關於具有第一類型的多個標準單元的資訊。舉例而言,第一標準單元庫可包含具有第一類型的特定標準單元的名稱及功能以及具有第一類型的特定標準單元的時序資訊、電源資訊及佈局資訊。第一標準單元庫可儲存於儲存裝置中,且第一標準單元庫可藉由對儲存裝置進行存取來提供。The first standard cell library may contain information about multiple standard cells having the first type. For example, the first standard cell library may include the names and functions of the specific standard cells with the first type and the timing information, power information, and layout information of the specific standard cells with the first type. The first standard cell library may be stored in the storage device, and the first standard cell library may be provided by accessing the storage device.
提供包括第二類型標準單元的第二標準單元庫(步驟S300)。第二類型標準單元是使用或基於第二擴散間斷方案製造的標準單元。第二類型不同於第一類型,且第二擴散間斷方案不同於第一擴散間斷方案。第二類型標準單元中的每一者具有與第一類型標準單元中相應的一者相同的功能。將參照圖2B對第二類型標準單元進行闡述。A second standard cell library including second type standard cells is provided (step S300). The second type of standard cell is a standard cell that is manufactured using or based on the second diffusion discontinuity scheme. The second type is different from the first type, and the second diffusion discontinuity scheme is different from the first diffusion discontinuity scheme. Each of the second-type standard cells has the same function as the corresponding one of the first-type standard cells. The second type of standard unit will be explained with reference to FIG. 2B.
形成於積體電路的層(例如,基板)上的各種電晶體裝置必須彼此電性隔離以在電路中恰當地發揮作用。此可藉由在基板中形成溝槽並用絕緣材料(例如二氧化矽)填充所述溝槽來達成。該些隔離區有時可被稱為擴散間斷(diffusion break)。擴散間斷的寬度及與每一擴散間斷交疊的單元的數目可在不同的擴散間斷方案中有所不同。一種擴散間斷方案可包括多個擴散間斷,其中每一擴散間斷被形成為將基板的部分分隔成上面形成有單元的一對間隔開的主動區。當給定擴散間斷的寬度小於或等於單個單元,或者大小被設計成使得可在所述擴散間斷之上僅設置單個單元時,給定擴散間斷可被稱為單一擴散間斷。舉例而言,第一單元的左側部分可設置於所述一對主動區中的第一主動區上,第一單元的中間部分可設置於所述單一擴散間斷上,且第一單元的右側部分可設置於所述一對主動區中的第二主動區上。當給定擴散間斷的寬度大於單個單元且小於或等於兩個單元,或者大小被設計成使得可在所述擴散間斷之上設置兩個單元時,給定擴散間斷可被稱為雙擴散間斷。舉例而言,第一單元的左側部分可設置於所述一對主動區中的第一主動區上,第二單元的右側部分可設置於所述一對主動區中的第二主動區上,且雙擴散間斷可與第一單元及第二單元的其餘部分交疊。根據給定擴散間斷方案製造的單元可使用上述擴散間斷中的一或多者,以使所述單元的元素被恰當地間隔開。因此,根據不同的擴散間斷方案製造的單元的元素在給定單元內可具有不同的間距或者第一單元的元素相對於鄰近第一單元放置的第二單元的元素而言可具有不同的間距。The various transistor devices formed on the layer (eg, substrate) of the integrated circuit must be electrically isolated from each other to properly function in the circuit. This can be achieved by forming a trench in the substrate and filling the trench with an insulating material (such as silicon dioxide). These isolation zones may sometimes be called diffusion breaks. The width of the diffusion discontinuity and the number of cells overlapping with each diffusion discontinuity may be different in different diffusion discontinuity schemes. A diffusion discontinuity scheme may include a plurality of diffusion discontinuities, where each diffusion discontinuity is formed to divide a portion of the substrate into a pair of spaced apart active regions on which cells are formed. When the width of a given diffusion discontinuity is less than or equal to a single cell, or the size is designed so that only a single cell can be provided above the diffusion discontinuity, the given diffusion discontinuity can be referred to as a single diffusion discontinuity. For example, the left part of the first unit may be disposed on the first active region of the pair of active regions, the middle part of the first unit may be disposed on the single diffusion discontinuity, and the right part of the first unit It can be arranged on the second active area of the pair of active areas. When the width of a given diffusion discontinuity is greater than a single cell and less than or equal to two cells, or the size is designed such that two cells can be placed above the diffusion discontinuity, the given diffusion discontinuity may be referred to as a double diffusion discontinuity. For example, the left part of the first unit may be disposed on the first active region of the pair of active regions, and the right part of the second unit may be disposed on the second active region of the pair of active regions, And the double diffusion discontinuity may overlap with the rest of the first unit and the second unit. Cells manufactured according to a given diffusion discontinuity scheme may use one or more of the above diffusion discontinuities so that the elements of the cell are properly spaced. Therefore, elements of cells manufactured according to different diffusion discontinuity schemes may have different pitches within a given cell or elements of a first cell may have different pitches relative to elements of a second cell placed adjacent to the first cell.
具有第一類型的標準單元中的一者與具有第二類型的標準單元中對應的一者可具有相同的功能,但具有不同的效能及/或面積。換言之,欲被包括並放置於積體電路設計中的一個目標單元可被實施成具有特定功能的第一類型標準單元中的一者或具有所述特定功能的第二類型標準單元中對應的一者。One of the standard cells with the first type and the corresponding one of the standard cells with the second type may have the same function, but with different performance and/or area. In other words, a target cell to be included and placed in an integrated circuit design can be implemented as one of the first type standard cells with a specific function or the corresponding one of the second type standard cells with the specific function By.
第二標準單元庫可包含關於具有第二類型的多個標準單元的資訊。舉例而言,第二標準單元庫可包含具有第二類型的特定標準單元的名稱及功能、具有第一類型的對應的標準單元的名稱以及具有第二類型的特定標準單元的時序資訊、電源資訊及佈局資訊。第二標準單元庫可儲存於儲存裝置中,且第二標準單元庫可藉由對儲存裝置進行存取來提供。The second standard cell library may contain information about multiple standard cells of the second type. For example, the second standard cell library may include the names and functions of the specific standard cells with the second type, the names of the corresponding standard cells with the first type, and the timing information and power information of the specific standard cells with the second type And layout information. The second standard cell library may be stored in the storage device, and the second standard cell library may be provided by accessing the storage device.
藉由基於輸入資料、第一標準單元庫及第二標準單元庫實行放置及路由來產生輸出資料(步驟S400)。The output data is generated by performing placement and routing based on the input data, the first standard cell library and the second standard cell library (step S400).
在一些示例性實施例中,當所接收的輸入資料是例如藉由對積體電路設計進行合成而產生的位元流或網表等資料時,輸出資料亦可為位元流或網表。在其他示例性實施例中,當所接收的輸入資料是對積體電路的佈局進行界定的資料(例如,具有圖形資料系統II(graphic data system II,GDSII)格式的資料)時,輸出資料的格式亦可為對積體電路的佈局進行界定的資料。In some exemplary embodiments, when the received input data is data such as a bit stream or a netlist generated by synthesizing an integrated circuit design, the output data may also be a bitstream or a netlist. In other exemplary embodiments, when the received input data is data defining the layout of the integrated circuit (for example, data in the format of graphic data system II (GDSII)), the output data The format can also be data defining the layout of the integrated circuit.
根據至少一個示例性實施例,在表示單個積體電路的積體電路設計中可包括且放置具有相同功能的不同類型標準單元。換言之,可對一個積體電路設計應用或採用不同類型標準單元。According to at least one exemplary embodiment, different types of standard cells having the same function may be included and placed in an integrated circuit design representing a single integrated circuit. In other words, different types of standard cells can be applied to an integrated circuit design.
圖2A是示出根據本發明概念的示例性實施例的積體電路設計中所包括的第一類型標準單元的實例的佈局圖。圖2B是示出根據本發明概念的示例性實施例的積體電路設計中所包括的第二類型標準單元的實例的佈局圖。2A is a layout diagram illustrating an example of a first type standard cell included in an integrated circuit design according to an exemplary embodiment of the inventive concept. 2B is a layout diagram illustrating an example of a second type standard cell included in an integrated circuit design according to an exemplary embodiment of the inventive concept.
參照圖1及圖2A,當提供包括第一類型標準單元的第一標準單元庫(步驟S200)時,具有第一功能的第一標準單元STC1可作為第一類型標準單元中的一者被提供。Referring to FIGS. 1 and 2A, when a first standard cell library including first type standard cells is provided (step S200), the first standard cell STC1 having the first function may be provided as one of the first type standard cells .
舉例而言,如圖2A中的粗實線所示,第一標準單元STC1可被形成為包括與第一方向D1平行的兩個單元邊界以及與第二方向D2平行的兩個單元邊界BD11及BD12的四邊形(例如,矩形形狀),第二方向D2與第一方向D1交叉(例如,垂直於第一方向D1)。For example, as shown by the thick solid line in FIG. 2A, the first standard cell STC1 may be formed to include two cell boundaries parallel to the first direction D1 and two cell boundaries BD11 parallel to the second direction D2 and The quadrilateral of the BD12 (for example, a rectangular shape), the second direction D2 crosses the first direction D1 (for example, perpendicular to the first direction D1).
另外,第一標準單元STC1可被形成為包括在第一方向D1上彼此間隔開且在內部分隔開第一恆定間隔W的多條第一配線PC11、PC12、PC13及PC14。所述多條第一配線PC11、PC12、PC13及PC14中的每一者可在第二方向D2上延伸。舉例而言,所述多條第一配線PC11、PC12、PC13及PC14可為閘極線(gate line)。儘管在圖2A中未示出,然而第一標準單元STC1可更包括除所述多條第一配線PC11、PC12、PC13及PC14之外的配線,例如形成於第一標準單元STC1之上的電源軌、路由柵格(routing grid)或路由道(routing tract)、在垂直方向上對多層式配線進行連接的導電接觸件等。In addition, the first standard cell STC1 may be formed to include a plurality of first wirings PC11, PC12, PC13, and PC14 that are spaced apart from each other in the first direction D1 and are separated by a first constant interval W in the inner portion. Each of the plurality of first wires PC11, PC12, PC13, and PC14 may extend in the second direction D2. For example, the plurality of first wires PC11, PC12, PC13, and PC14 may be gate lines. Although not shown in FIG. 2A, the first standard unit STC1 may further include wiring other than the plurality of first wirings PC11, PC12, PC13, and PC14, such as a power supply formed on the first standard unit STC1 Rails, routing grids or routing tracts, conductive contacts that connect multilayer wiring in the vertical direction, etc.
參照圖1及圖2B,當提供包括第二類型標準單元的第二標準單元庫(步驟S300)時,具有第一功能(例如,與第一標準單元STC1相同的功能)的第二標準單元STC2可作為第二類型標準單元中的一者被提供。1 and 2B, when a second standard cell library including second type standard cells is provided (step S300), a second standard cell STC2 having a first function (for example, the same function as the first standard cell STC1) It can be provided as one of the second type standard units.
舉例而言,如圖2B中的粗實線所示,第二標準單元STC2可被形成為包括與第一方向D1平行的兩個單元邊界以及與第二方向D2平行的兩個單元邊界BD21及BD22的四邊形(例如,矩形形狀)。For example, as shown by the thick solid line in FIG. 2B, the second standard cell STC2 may be formed to include two cell boundaries parallel to the first direction D1 and two cell boundaries BD21 parallel to the second direction D2 and The quadrilateral of BD22 (for example, rectangular shape).
另外,第二標準單元STC2可被形成為包括在第一方向D1上彼此間隔開且在內部分隔開第二恆定間隔W的多條第二配線PC21、PC22、PC23及PC24。所述多條第二配線PC21、PC22、PC23及PC24中的每一者可在第二方向D2上延伸。圖2A中的第一恆定間隔W與圖2B中的第二恆定間隔W可實質上彼此相等。舉例而言,與第一標準單元STC1一樣,第二標準單元STC2中所包括的所述多條第二配線PC21、PC22、PC23及PC24可為閘極線。儘管在圖2B中未示出,然而第二標準單元STC2可更包括除所述多條第二配線PC21、PC22、PC23及PC24之外的配線,例如,電源軌、路由柵格或路由道、導電接觸件等。In addition, the second standard cell STC2 may be formed to include a plurality of second wirings PC21, PC22, PC23, and PC24 that are spaced apart from each other in the first direction D1 and are separated by a second constant interval W in the inner portion. Each of the plurality of second wires PC21, PC22, PC23, and PC24 may extend in the second direction D2. The first constant interval W in FIG. 2A and the second constant interval W in FIG. 2B may be substantially equal to each other. For example, like the first standard cell STC1, the plurality of second wirings PC21, PC22, PC23, and PC24 included in the second standard cell STC2 may be gate lines. Although not shown in FIG. 2B, the second standard unit STC2 may further include wiring other than the plurality of second wirings PC21, PC22, PC23, and PC24, for example, power rails, routing grids, or routing channels, Conductive contacts, etc.
在一些示例性實施例中,可根據製作製程的特性(例如,製造方案)對第一標準單元STC1的第一類型與第二標準單元STC2的第二類型進行分類或區分。In some exemplary embodiments, the first type of the first standard unit STC1 and the second type of the second standard unit STC2 may be classified or distinguished according to the characteristics of the manufacturing process (eg, manufacturing scheme).
舉例而言,用於製造第一標準單元STC1的第一擴散間斷方案可為單一擴散間斷方案。當第一標準單元STC1使用單一擴散間斷方案製造時,第一標準單元STC1的單元邊界BD11及BD12可僅使用所述多條第一配線PC11、PC12、PC13及PC14中的最外面的兩條配線PC11及PC14來形成,且因此所述多條第一配線PC11、PC12、PC13及PC14中的最外面的兩條配線PC11及PC14被定位成與第一標準單元STC1的單元邊界BD11及BD12交疊。舉例而言,當所述多條第一配線PC11、PC12、PC13及PC14是閘極線時,位於內側上的第一配線PC12及PC13可為實際上被使用的閘極線,且位於外側上的第一配線PC11及PC14可為虛擬閘極線。For example, the first diffusion discontinuity scheme used to manufacture the first standard cell STC1 may be a single diffusion discontinuity scheme. When the first standard cell STC1 is manufactured using a single diffusion discontinuity scheme, the cell boundaries BD11 and BD12 of the first standard cell STC1 may use only the outermost two of the plurality of first wirings PC11, PC12, PC13, and PC14 PC11 and PC14 are formed, and therefore the outermost two wires PC11 and PC14 of the plurality of first wirings PC11, PC12, PC13 and PC14 are positioned to overlap the cell boundaries BD11 and BD12 of the first standard cell STC1 . For example, when the plurality of first wirings PC11, PC12, PC13, and PC14 are gate lines, the first wirings PC12 and PC13 on the inner side may be actually used gate lines, and are on the outer side The first wirings PC11 and PC14 may be virtual gate lines.
用於製造第二標準單元STC2的第二擴散間斷方案可為雙擴散間斷方案。當第二標準單元STC2使用雙擴散間斷方案製造時,第二標準單元STC2的單元邊界BD21及BD22可使用所述多條第一配線PC21、PC22、PC23及PC24中的最外面的兩條配線PC21及PC24來形成,且進一步使用與最外面的兩條配線PC21及PC24相鄰且未包括於第二標準單元STC2中的兩條配線來形成,且因此所述多條第一配線PC21、PC22、PC23及PC24中的最外面的兩條配線PC21及PC24被定位成不與第二標準單元STC2的單元邊界BD21及BD22交疊。The second diffusion discontinuity scheme used to manufacture the second standard unit STC2 may be a double diffusion discontinuity scheme. When the second standard cell STC2 is manufactured using the double diffusion discontinuity scheme, the cell boundaries BD21 and BD22 of the second standard cell STC2 can use the outermost two wires PC21 among the plurality of first wires PC21, PC22, PC23, and PC24 And PC24, and further formed using two wires adjacent to the outermost two wires PC21 and PC24 and not included in the second standard unit STC2, and therefore the plurality of first wires PC21, PC22, The two outermost wires PC21 and PC24 of PC23 and PC24 are positioned so as not to overlap the cell boundaries BD21 and BD22 of the second standard cell STC2.
換言之,設置於第一標準單元STC1中的第一配線PC11、PC12、PC13及PC14內部之間的間隔W與設置於第二標準單元STC2中的第二配線PC21、PC22、PC23及PC24內部之間的間隔W可實質上彼此相等,然而,第一標準單元STC1的單元邊界BD11及BD12與第一配線PC11及PC14之間的佈置關係和第二標準單元STC2的單元邊界BD21及BD22與第二配線PC21及PC24之間的佈置關係可彼此不同。In other words, the interval W between the inside of the first wiring PC11, PC12, PC13, and PC14 provided in the first standard unit STC1 and the inside of the second wiring PC21, PC22, PC23, and PC24 provided in the second standard unit STC2 The interval W may be substantially equal to each other, however, the arrangement relationship between the cell boundaries BD11 and BD12 of the first standard cell STC1 and the first wiring PC11 and PC14 and the cell boundaries BD21 and BD22 of the second standard cell STC2 and the second wiring The arrangement relationship between PC21 and PC24 may be different from each other.
在一些示例性實施例中,可根據單元的屬性(例如,效能及面積)對第一標準單元STC1的第一類型與第二標準單元STC2的第二類型進行分類或區分。In some exemplary embodiments, the first type of the first standard unit STC1 and the second type of the second standard unit STC2 may be classified or distinguished according to the attributes (eg, performance and area) of the unit.
舉例而言,如上所述,第一標準單元STC1與第二標準單元STC2可具有相同的功能(例如,第一功能),然而,第一標準單元STC1與第二標準單元STC2可被實施成用於不同的提升目的。舉例而言,相較於第一標準單元STC1而言,第二標準單元STC2可被實施成具有用於效能提升目的的改善的效能,相較於第一標準單元STC1而言,第二標準單元STC2可藉由進一步插入特定前端層(front-end layer)來形成,且因此第二標準單元STC2可具有較第一標準單元STC1大的面積。舉例而言,假設第一標準單元STC1與第二標準單元STC2具有相同的單元高度,第一標準單元STC1可具有為3W的單元寬度,由於為0.5W的單元寬度被加至單元邊界BD21及BD22中的每一者,因此第二標準單元STC2可具有為4W的單元寬度,且因此第二標準單元STC2的面積可大於第一標準單元STC1的面積。For example, as described above, the first standard unit STC1 and the second standard unit STC2 may have the same function (for example, the first function), however, the first standard unit STC1 and the second standard unit STC2 may be implemented as For different promotion purposes. For example, compared to the first standard unit STC1, the second standard unit STC2 may be implemented to have improved performance for performance improvement purposes, compared to the first standard unit STC1, the second standard unit STC2 may be formed by further inserting a specific front-end layer, and thus the second standard cell STC2 may have a larger area than the first standard cell STC1. For example, assuming that the first standard cell STC1 and the second standard cell STC2 have the same cell height, the first standard cell STC1 may have a cell width of 3W, since the cell width of 0.5W is added to the cell boundaries BD21 and BD22 For each of these, the second standard cell STC2 may have a cell width of 4W, and thus the area of the second standard cell STC2 may be larger than the area of the first standard cell STC1.
換言之,第二標準單元STC2可被形成為具有相對大的面積以及改善的效能,且第一標準單元STC1可被形成為具有相對小的面積以及較第二標準單元STC2低的效能。因此,第一標準單元STC1的第一類型可被稱為面積導向單元類型,且第二標準單元STC2的第二類型可被稱為效能導向單元類型。In other words, the second standard unit STC2 may be formed to have a relatively large area and improved performance, and the first standard unit STC1 may be formed to have a relatively small area and lower performance than the second standard unit STC2. Therefore, the first type of the first standard unit STC1 may be referred to as an area-oriented unit type, and the second type of the second standard unit STC2 may be referred to as an efficiency-oriented unit type.
圖3及圖4是示出根據本發明概念的示例性實施例的積體電路的佈局的實例的圖。3 and 4 are diagrams showing an example of the layout of an integrated circuit according to an exemplary embodiment of the inventive concept.
參照圖3及圖4,根據示例性實施例的積體電路設計可實質上一次性地同時或併發地包括第一類型標準單元中的一者(例如,第一標準單元STC1)及第二類型標準單元中的一者(例如,第二標準單元STC2)。換言之,在一個積體電路或一個電路設計中可放置或包括不同類型標準單元。另外,在圖3及圖4的實例中,第一標準單元STC1及第二標準單元STC2被示出為被佈置或放置成與積體電路設計的一個列對應的單高度單元。Referring to FIGS. 3 and 4, an integrated circuit design according to an exemplary embodiment may substantially simultaneously include one of the first type standard cells (eg, the first standard cell STC1) and the second type at the same time or concurrently One of the standard units (for example, the second standard unit STC2). In other words, different types of standard cells can be placed or included in an integrated circuit or a circuit design. In addition, in the examples of FIGS. 3 and 4, the first standard cell STC1 and the second standard cell STC2 are shown as single-height cells arranged or placed corresponding to one column of the integrated circuit design.
在一些示例性實施例中,第一標準單元STC1在積體電路設計中可被佈置或放置成與多條第一參考線RL1對應,且第二標準單元STC2在積體電路設計中可被佈置或放置成與多條第二參考線RL2對應。所述多條第一參考線RL1及所述多條第二參考線RL2中的每一者在第二方向D2上延伸。所述多條第一參考線RL1可在第一方向D1上彼此間隔開且分隔開恆定間隔。所述多條第二參考線RL2可在第一方向D1上彼此間隔開且分隔開恆定間隔。所述多條第二參考線RL2中的每一者可佈置於兩條相鄰的第一參考線RL1之間。舉例而言,兩條相鄰的第一參考線RL1之間的間隔及兩條相鄰的第二參考線RL2之間的間隔可分別為W,且彼此相鄰的一條第一參考線RL1與一條第二參考線RL2之間的間隔可為0.5W。In some exemplary embodiments, the first standard cell STC1 may be arranged or placed to correspond to the plurality of first reference lines RL1 in the integrated circuit design, and the second standard cell STC2 may be arranged in the integrated circuit design Or placed so as to correspond to the plurality of second reference lines RL2. Each of the plurality of first reference lines RL1 and the plurality of second reference lines RL2 extends in the second direction D2. The plurality of first reference lines RL1 may be spaced apart from each other in the first direction D1 by a constant interval. The plurality of second reference lines RL2 may be spaced apart from each other and separated by a constant interval in the first direction D1. Each of the plurality of second reference lines RL2 may be arranged between two adjacent first reference lines RL1. For example, the interval between two adjacent first reference lines RL1 and the interval between two adjacent second reference lines RL2 may be W, respectively, and one adjacent first reference line RL1 and The interval between one second reference line RL2 may be 0.5W.
當第一標準單元STC1具有圖2A所示的結構且第二標準單元STC2具有圖2B所示的結構時,且當第一標準單元STC1被佈置成與所述多條第一參考線RL1對應且第二標準單元STC2被佈置成與所述多條第二參考線RL2對應時,第一標準單元STC1中所包括的所述多條第一配線PC11、PC12、PC13及PC14、第二標準單元STC2中所包括的所述多條第二配線PC21、PC22、PC23及PC24以及其他配線PC2A及PC2B所有者可被佈置成與所述多條第一參考線RL1交疊。When the first standard cell STC1 has the structure shown in FIG. 2A and the second standard cell STC2 has the structure shown in FIG. 2B, and when the first standard cell STC1 is arranged to correspond to the plurality of first reference lines RL1 and When the second standard unit STC2 is arranged to correspond to the plurality of second reference lines RL2, the plurality of first wirings PC11, PC12, PC13 and PC14 included in the first standard unit STC1, the second standard unit STC2 The plurality of second wires PC21, PC22, PC23, and PC24 and the other wires PC2A and PC2B included in the owner may be arranged to overlap the plurality of first reference lines RL1.
在圖3所示實例中,第一標準單元STC1與第二標準單元STC2可被放置或佈置成在積體電路設計的同一列(例如,列R1)中彼此相鄰。在此實例中,第一標準單元STC1與第二標準單元STC2彼此間隔開大於或等於預定參考距離WSD的距離。舉例而言,參考距離WSD可為1.5W。換言之,當不同類型標準單元被放置或佈置成在同一列中彼此相鄰時,在同一列中彼此相鄰的不同類型標準單元之間應存在具有等於參考距離WSD的最小空間的空白空間區,且第一類型標準單元及第二類型標準單元二者佈置於空白空間區中。In the example shown in FIG. 3, the first standard cell STC1 and the second standard cell STC2 may be placed or arranged adjacent to each other in the same column (eg, column R1) of the integrated circuit design. In this example, the first standard unit STC1 and the second standard unit STC2 are spaced apart from each other by a distance greater than or equal to a predetermined reference distance WSD. For example, the reference distance WSD may be 1.5W. In other words, when different types of standard cells are placed or arranged adjacent to each other in the same column, there should be a blank space area with a minimum space equal to the reference distance WSD between the different types of standard cells adjacent to each other in the same column, And the first type standard unit and the second type standard unit are both arranged in the blank space area.
在圖4所示實例中,第一標準單元STC1與第二標準單元STC2可被放置或佈置成在積體電路設計的不同列(例如,列R1及R2)中彼此相鄰。在此實例中,第一標準單元STC1與第二標準單元STC2無需彼此間隔開大於或等於參考距離WSD的距離。如上所述,由於所述多條第一配線PC11、PC12、PC13及PC14以及所述多條第一配線PC21、PC22、PC23及PC24被佈置成與所述多條第一參考線RL1交疊,因此所述多條第一配線PC11、PC12、PC13及PC14中的一者與所述多條第二配線PC21、PC22、PC23及PC24中的一者可被定位於同一直線上。舉例而言,第一配線PC12與第二配線PC21可被定位於同一直線上。換言之,配線PC11、PC12、PC13、PC14、PC21、PC22、PC23及PC24中的至少一些可沿第二方向D2對準。In the example shown in FIG. 4, the first standard cell STC1 and the second standard cell STC2 may be placed or arranged adjacent to each other in different columns (eg, columns R1 and R2) of the integrated circuit design. In this example, the first standard unit STC1 and the second standard unit STC2 need not be separated from each other by a distance greater than or equal to the reference distance WSD. As described above, since the plurality of first wires PC11, PC12, PC13, and PC14 and the plurality of first wires PC21, PC22, PC23, and PC24 are arranged to overlap the plurality of first reference lines RL1, Therefore, one of the plurality of first wires PC11, PC12, PC13, and PC14 and one of the plurality of second wires PC21, PC22, PC23, and PC24 can be positioned on the same straight line. For example, the first wiring PC12 and the second wiring PC21 may be positioned on the same straight line. In other words, at least some of the wires PC11, PC12, PC13, PC14, PC21, PC22, PC23, and PC24 can be aligned along the second direction D2.
如上所述,當第一標準單元STC1是使用單一擴散間斷方案製造時,第一標準單元STC1的一個單元邊界可使用第一配線PC11形成,且第一標準單元STC1的另一單元邊界可使用第一配線PC14形成。當第二標準單元STC2是使用雙擴散間斷方案製造時,第二標準單元STC2的一個單元邊界可使用第二配線PC21及與第二配線PC21相鄰的配線PC2A形成,且第二標準單元STC2的另一單元邊界可使用第二配線PC24及與第二配線PC24相鄰的配線PC2B形成。As described above, when the first standard cell STC1 is manufactured using a single diffusion discontinuity scheme, one cell boundary of the first standard cell STC1 can be formed using the first wiring PC11, and the other cell boundary of the first standard cell STC1 can be used A wiring PC14 is formed. When the second standard cell STC2 is manufactured using the double diffusion discontinuity scheme, one cell boundary of the second standard cell STC2 may be formed using the second wiring PC21 and the wiring PC2A adjacent to the second wiring PC21, and the second standard cell STC2 Another cell boundary can be formed using the second wiring PC24 and the wiring PC2B adjacent to the second wiring PC24.
儘管圖3及圖4示出其中具有相同功能(例如,第一功能)的第一類型的第一標準單元STC1與第二類型的標準單元STC2被放置或佈置於積體電路設計的同一列及不同列中的實例,然而本發明概念的示例性實施例並非僅限於此。舉例而言,示例性實施例可應用於或用於其中在一個積體電路的積體電路設計中放置或包括不同類型標準單元的各種實例,且同一類型標準單元可被佈置成彼此相鄰,如將參照圖13B所闡述。Although FIGS. 3 and 4 show that the first standard cell STC1 of the first type and the second standard cell STC2 having the same function (for example, the first function) are placed or arranged in the same column of the integrated circuit design and Examples in different columns, however, exemplary embodiments of the inventive concept are not so limited. For example, the exemplary embodiment may be applied to or used in various examples in which different types of standard cells are placed or included in an integrated circuit design of an integrated circuit, and the same type of standard cells may be arranged adjacent to each other, As will be explained with reference to FIG. 13B.
另外,儘管圖3及圖4示出其中第一標準單元STC1及第二標準單元STC2是單高度單元的實例,然而本發明概念的示例性實施例並非僅限於此。舉例而言,積體電路設計可包括被佈置或放置成與積體電路設計的二或更多個列對應的多高度單元。In addition, although FIGS. 3 and 4 show an example in which the first standard cell STC1 and the second standard cell STC2 are single-height cells, exemplary embodiments of the inventive concept are not limited thereto. For example, the integrated circuit design may include multi-height cells arranged or placed to correspond to two or more columns of the integrated circuit design.
圖5及圖6是示出根據本發明概念的示例性實施例的產生積體電路設計的設計系統的方塊圖。5 and 6 are block diagrams showing a design system that generates an integrated circuit design according to an exemplary embodiment of the inventive concept.
參照圖5,積體電路設計的設計系統1000包括處理器1100、儲存裝置1200、設計模組1300及分析模組或分析器1400。Referring to FIG. 5, a
在本文中,用語「模組」可指示但不限於實行某些任務的軟體及/或硬體組件,例如現場可程式化閘陣列(field programmable gate array,FPGA)或應用專用積體電路(application specific integrated circuit,ASIC)。模組可被配置成駐留於有形可定址儲存媒體(tangible addressable storage medium)中且被配置成在一或多個處理器上執行。舉例而言,「模組」可包括組件(例如軟體組件、物件導向軟體組件、類別組件及任務組件)以及進程、功能、常式(routine)、程式碼的片段、驅動器、韌體、微碼、電路系統、資料、資料庫、資料結構、表、陣列及變數。「模組」可被劃分成實行詳細功能的多個「模組」。In this article, the term "module" may indicate but is not limited to software and/or hardware components that perform certain tasks, such as field programmable gate array (FPGA) or application-specific integrated circuits (application specific integrated circuit, ASIC). The module may be configured to reside in a tangible addressable storage medium and configured to execute on one or more processors. For example, "modules" may include components (such as software components, object-oriented software components, category components, and task components) and processes, functions, routines, code fragments, drivers, firmware, microcode , Circuit systems, data, databases, data structures, tables, arrays and variables. "Modules" can be divided into multiple "modules" that perform detailed functions.
當設計模組1300及/或分析器1400實行計算時可使用處理器1100。舉例而言,處理器1100可包括微處理器、應用處理器(application processor,AP)、數位訊號處理器(digital signal processor,DSP)、圖形處理單元(graphic processing unit,GPU)等。在圖5中,僅示出一個處理器1100,但本發明概念的示例性實施例並非僅限於此。舉例而言,設計系統1000中可包括多個處理器。另外,處理器1100可包括快取記憶體(cache memory)以提高計算能力。The
儲存裝置1200可包括第一標準單元庫(SCL1)1210及第二標準單元庫(SCL2)1220,且可更包括設計規則(DR)1230。第一標準單元庫1210、第二標準單元庫1220及設計規則1230可自儲存裝置1200被提供至設計模組1300及/或分析器1400。設計規則1230可提供用於構建在積體電路的製作中所需的各種遮罩的一組指南。舉例而言,設計規則1230可包括同一層上的單元之間的最小寬度及最小間距要求以及不同層上的單元之間的最小寬度及最小間距要求。此外,設計規則1230可包括路由配線的最小線寬。The
第一標準單元庫1210可包括第一類型標準單元,且第二標準單元庫1220可包括第二類型標準單元。作為第一類型標準單元的實例,參照圖2A、圖3及圖4對第一標準單元STC1進行闡述。作為第二類型標準單元的實例,參照圖2B、圖3及圖4對第二標準單元STC2進行闡述。The first
在一些示例性實施例中,儲存媒體或儲存裝置1200可包括用於向電腦提供命令及/或資料的任何非暫態電腦可讀取儲存媒體(non-transitory computer-readable storage medium)。舉例而言,非暫態電腦可讀取儲存媒體1200可包括揮發性記憶體(volatile memory)(例如隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read only memory,ROM)等)及非揮發性記憶體(nonvolatile memory)(例如快閃記憶體(flash memory)、磁阻式RAM(magnetoresistive RAM,MRAM)、相變RAM(phase-change RAM,PRAM)、電阻式RAM(resistive RAM,RRAM)等)。非暫態電腦可讀取儲存媒體1200可插入電腦中,可整合於電腦中或可藉由通訊媒體(例如網路及/或無線鏈路(wireless link))耦合至電腦。In some exemplary embodiments, the storage medium or
設計模組1300可包括放置器1310(例如,放置器模組)及路由器1320(例如,路由模組)。The
放置器1310可基於對積體電路設計進行界定的輸入資料DI、第一標準單元庫1210及第二標準單元庫1220而使用處理器1100對第一類型標準單元及第二類型標準單元進行放置或佈置。路由器1320可針對自放置器1310提供的單元放置來實行訊號路由。The
分析器1400可對放置及訊號路由的結果進行分析及驗證。若基於分析的結果確定出路由未能成功,則放置器1310可修改前一單元放置且路由器1320可用經修改的單元放置實行訊號路由。當基於分析的結果確定出路由已成功完成時,路由器1320可提供對積體電路設計進行界定的輸出資料DO。The
根據示例性實施例,放置器1310及路由器1320可由單個積體設計模組1300實施或可由單獨且不同的模組實施。According to an exemplary embodiment, the
設計模組1300及/或分析器1400可被實施成軟體,但本發明概念的示例性實施例並非僅限於此。當設計模組1300及分析器1400二者皆被實施成軟體時,設計模組1300及分析器1400可以碼的形式儲存於儲存裝置1200中,或可以碼的形式儲存於與儲存裝置1200分開的另一儲存裝置(未示出)中。The
參照圖6,產生積體電路設計的設計系統2000包括處理器2100、輸入/輸出(input/output,I/O)裝置2200、網路介面2300、隨機存取記憶體(RAM)2400、唯讀記憶體(ROM)2500及儲存裝置2600。圖6示出其中圖5中的設計模組1300及分析器1400二者皆被實施成軟體的實例。6, a
設計系統2000可為計算系統。舉例而言,所述計算系統可為固定計算系統(例如桌上電腦、工作站或伺服器)或可為可攜式計算系統(例如膝上型電腦)。The
圖6中的處理器2100可實質上相同於圖5中的處理器1100。舉例而言,處理器2100可包括執行任意指令集(instruction set)的核或處理器核(例如,英特爾架構-32(intel architecture-32,IA-32)、64位元擴展IA-32(64 bit extension IA-32)、x86-64、威力晶片(PowerPC)、Sparc、無內部互鎖流水級的微處理器(Microprocessor without interlocked piped stages,MIPS)、高級精簡指令集電腦機器(Advanced Reduced Instruction Set Computer(RISC)Machine,ARM)、英特爾架構-64(IA-64)等)。舉例而言,處理器2100可藉由匯流排(bus)對記憶體(例如RAM 2400或ROM 2500)進行存取,且可執行儲存於RAM 2400或ROM 2500中的指令。如圖6所示,RAM 2400可儲存與圖5中的設計模組1300及分析器1400對應的程式PR或程式PR的至少一些元素,且程式PR可使得處理器2100能夠實行產生積體電路設計的操作。The
換言之,程式PR可包括可由處理器2100執行的多個指令及/或程序,且程式PR中所包括的所述多個指令及/或程序可使得處理器2100能夠實行產生根據本發明概念的示例性實施例的積體電路設計的方法。所述程序中的每一者可表示用於實行特定任務的一系列指令。程序可被稱為功能、常式、子常式或子程式。所述程序中的每一者可對自外部提供的資料及/或由另一程序產生的資料進行處理。In other words, the program PR may include a plurality of instructions and/or programs that can be executed by the
圖6中的儲存裝置2600可實質上相同於圖5中的儲存裝置1200。舉例而言,儲存裝置2600可儲存程式PR,且可儲存第一標準單元庫SCL1、第二標準單元庫SCL2及設計規則DR。程式PR或程式PR的至少一些元素可在由處理器2100執行之前自儲存裝置2600加載至RAM 2400。儲存裝置2600可儲存以程式語言寫入的檔案,且由編譯器產生的程式PR或程式PR的至少一些元素可被加載至RAM 2400。The
儲存裝置2600可儲存欲被處理器2100處理的資料或藉由處理器2100進行處理而獲得的資料。處理器2100可基於程式PR對儲存於儲存裝置2600中的資料進行處理以產生新的資料,且可將所產生的資料儲存於儲存裝置2600中。The
輸入/輸出裝置2200可包括輸入裝置(例如鍵盤、指向裝置等),且可包括輸出裝置(例如顯示裝置、列印機等)。舉例而言,使用者可藉由輸入/輸出裝置2200觸發處理器2100對程式PR的執行或可輸入圖5中的輸入資料DI,且可檢查圖5中的輸出資料DO或錯誤訊息。The input/
網路介面2300可提供對設計系統2000外部的網路的存取。舉例而言,所述網路可包括多個計算系統及通訊鏈路,且所述通訊鏈路可包括有線鏈路、光學鏈路、無線鏈路或任意其他類型的鏈路。圖5中的輸入資料DI可藉由網路介面2300被提供至設計系統2000,且圖5中的輸出資料DO可藉由網路介面2300被提供至另一計算系統。The
圖7是示出根據本發明概念的示例性實施例的產生積體電路設計的設計系統的操作的實例的流程圖。圖8是示出圖7中的實行放置及路由的實例的流程圖。7 is a flowchart illustrating an example of the operation of a design system that generates an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 8 is a flowchart showing an example of placing and routing in FIG. 7.
參照圖7,圖5中的設計模組1300或圖6中的輸入/輸出裝置2200及網路介面2300中的一者接收對積體電路設計進行界定的輸入資料DI(步驟S1100)。Referring to FIG. 7, one of the
圖5中的設計模組1300及分析器1400或圖6中的程式PR可指使用圖5中的處理器1100或圖6中的處理器2100、第一標準單元庫1210及第二標準單元庫1220來提取與輸入資料DI對應的第一類型標準單元及第二類型標準單元,且基於預定規則或準則並使用所提取的標準單元來實行放置及路由(步驟S1200)。The
參照圖8,當實行放置及路由(步驟S1200)時,圖5中的設計模組1300中所包括的放置器1310或圖6中的程式PR的與放置器1310對應的一部分可使用所提取的標準單元實行單元放置(步驟S2110),且可實行時脈樹合成(clock tree synthesis,CTS)(步驟S2120)。第一類型標準單元及第二類型標準單元可基於放置製程及時脈樹合成製程中的預定規則或準則來適當地使用或應用,如稍後將進行闡述。Referring to FIG. 8, when placement and routing are performed (step S1200 ), a part of the
另外,圖5中的設計模組1300中所包括的路由器1320或圖6中的程式PR的與路由器1320對應的一部分可針對所放置的單元實行訊號路由(步驟S2130),且可實行時序最佳化(步驟S2140)。第一類型標準單元及第二類型標準單元可基於時序最佳化製程中的預定規則或準則來適當地使用或應用,如稍後將進行闡述。In addition, a part of the
圖5中的分析器1400或圖6中的程式PR的與分析器1400對應的一部分可檢查放置及路由是否已成功完成(步驟S2150)。當放置及路由不成功(步驟S2150:否)時,例如,當訊號路由及時序最佳化中的至少一者不成功時,可重複進行或遞迴地實行步驟S2110、S2120、S2130及S2140。換言之,可重複進行上述圖8的製程直至放置及路由成功完成為止。The
再次參照圖7,當放置及路由已成功完成(圖8中的步驟S2150:是)時,圖5中的設計模組1300或圖6中的輸入/輸出裝置2200及網路介面2300中的一者會產生對積體電路設計進行界定的輸出資料DO(步驟S1300)。Referring again to FIG. 7, when the placement and routing have been successfully completed (step S2150 in FIG. 8: Yes), one of the
在一些示例性實施例中,如將參照圖9至圖15所述,可一同使用第一類型標準單元及第二類型標準單元以實行放置及路由。在其他示例性實施例中,如將參照圖16至圖19所述,可優先使用第一類型標準單元以實行放置及路由,且接著可用第二類型標準單元替換滿足特定條件的第一類型標準單元中的一些。In some exemplary embodiments, as will be described with reference to FIGS. 9 to 15, the first type standard unit and the second type standard unit may be used together to perform placement and routing. In other exemplary embodiments, as will be described with reference to FIGS. 16 to 19, the first type standard unit may be preferentially used for placement and routing, and then the first type standard satisfying certain conditions may be replaced with the second type standard unit Some of the units.
圖9是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。9 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept.
參照圖9,當藉由實行放置及路由產生輸出資料時,當需要第一類型標準單元時,使用第一類型標準單元實行放置及路由(步驟S2210),且當需要第二類型標準單元時,使用第二類型標準單元實行放置及路由(步驟S2220)。舉例而言,可根據目標單元的效能及/或面積來確定需要第一類型標準單元還是需要第二類型標準單元。Referring to FIG. 9, when output data is generated by performing placement and routing, when the first type standard unit is required, the first type standard unit is used to perform placement and routing (step S2210), and when the second type standard unit is required, Use the second type standard unit to implement placement and routing (step S2220). For example, the first type of standard unit or the second type of standard unit may be determined according to the performance and/or area of the target unit.
圖10是示出圖9所示實行放置及路由的實例的流程圖。圖11是示出其中藉由圖9及圖10所示操作將第一類型標準單元及第二類型標準單元放置於表示單個積體電路的積體電路設計中的實例的佈局圖。FIG. 10 is a flowchart showing an example of performing placement and routing shown in FIG. 9. 11 is a layout diagram showing an example in which the first type standard cell and the second type standard cell are placed in an integrated circuit design representing a single integrated circuit by the operations shown in FIGS. 9 and 10.
參照圖10,對目標標準單元(例如,欲被放置於積體電路設計中的標準單元)的接腳密度進行檢查以確定目標標準單元需要第一類型標準單元還是目標標準單元需要第二類型標準單元(步驟S2310)。Referring to FIG. 10, the pin density of the target standard cell (for example, the standard cell to be placed in the integrated circuit design) is checked to determine whether the target standard cell requires the first type standard cell or the target standard cell requires the second type standard Unit (step S2310).
當目標標準單元的接腳密度小於參考密度(步驟S2310:是)時,使用第一類型標準單元實行目標標準單元的放置及路由(步驟S2320)。當目標標準單元的接腳密度大於或等於參考密度(步驟S2310:否)時,使用第二類型標準單元實行目標標準單元的放置及路由(步驟S2330)。When the pin density of the target standard unit is less than the reference density (step S2310: YES), the placement and routing of the target standard unit are performed using the first type standard unit (step S2320). When the pin density of the target standard cell is greater than or equal to the reference density (step S2310: No), the placement and routing of the target standard cell are performed using the second type standard cell (step S2330).
如參照圖2A及圖2B所述,第二類型標準單元中的一者(例如,第二標準單元STC2)可具有較具有相同功能的第一類型標準單元中對應的一者(例如,第一標準單元STC1)大的面積。因此,當目標標準單元的接腳密度大於或等於參考密度時,例如,當相對於目標標準單元的單元面積而言網路連接所需的接腳的數目及接腳密度相對大時,可使用或應用具有相對大的面積的第二類型標準單元。因此,可有利於接腳對接腳連接(pin-to-pin connection)的路由,且可降低路由擁塞(congestion)。As described with reference to FIGS. 2A and 2B, one of the second type standard cells (for example, the second standard cell STC2) may have a corresponding one (for example, the first Standard unit STC1) Large area. Therefore, when the pin density of the target standard cell is greater than or equal to the reference density, for example, when the number of pins and the pin density required for network connection are relatively large with respect to the cell area of the target standard cell, it can be used Or apply a second type of standard cell with a relatively large area. Therefore, pin-to-pin connection routing can be facilitated, and routing congestion can be reduced.
在一些示例性實施例中,具有大於或等於參考密度的接腳密度的目標標準單元可包括例如基本單元(例如,及邏輯閘極、或邏輯閘極)或組合單元中具有相對小的驅動強度的單元、包括多個基本單元或組合單元的複雜單元(例如,OAI、AOI)等。In some exemplary embodiments, the target standard cell having a pin density greater than or equal to the reference density may include, for example, a basic cell (eg, and logic gate, or logic gate) or a relatively small driving strength in the combination cell Units, complex units including multiple basic units or combined units (for example, OAI, AOI), etc.
儘管圖10示出其中目標標準單元的類型是基於接腳密度(例如,單元的面積)確定的實例,然而本發明概念的示例性實施例並非僅限於此。舉例而言,第一類型標準單元(例如,第一標準單元STC1)可為被形成為具有相對小的面積的面積導向單元,且第二類型標準單元(例如,第二標準單元STC2)可為被形成為具有相對改善的效能的效能導向單元,如參照圖2A及圖2B所述。因此,當目標標準單元需要相對改善的效能時,可對目標標準單元使用或應用具有相對改善的效能的第二類型標準單元。換言之,目標標準單元的類型可基於單元的效能來確定。作為另外一種選擇,目標標準單元的類型可基於各種準則或規則中的至少一者來確定。Although FIG. 10 shows an example in which the type of the target standard cell is determined based on the pin density (for example, the area of the cell), exemplary embodiments of the inventive concept are not limited thereto. For example, the first type standard cell (for example, the first standard cell STC1) may be an area-oriented cell formed to have a relatively small area, and the second type standard cell (for example, the second standard cell STC2) may be It is formed as a performance-oriented unit with relatively improved performance, as described with reference to FIGS. 2A and 2B. Therefore, when the target standard unit needs relatively improved performance, the second type standard unit with relatively improved performance can be used or applied to the target standard unit. In other words, the type of target standard unit can be determined based on the unit's performance. Alternatively, the type of target standard unit may be determined based on at least one of various criteria or rules.
參照圖11,包括第一類型標準單元STC11、STC12、STC13、STC14、STC15、STC16、STC17、STC18、STC19、STC1A、STC1B、STC1C、STC1D、STC1E、STC1F、STC1G、STC1H及STC1I以及第二類型標準單元STC21、STC22、STC23、STC24、STC25、STC26及STC27的積體電路設計可基於參照圖9及圖10闡述的製程進行設計。換言之,欲被放置或包括於積體電路設計中的所有多個標準單元可被確定成第一類型及第二類型中的一種,且放置及路由可基於所確定的標準單元的類型來實行。11, including the first type standard unit STC11, STC12, STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C, STC1D, STC1E, STC1F, STC1G, STC1H and STC1I and the second type standard The integrated circuit design of the units STC21, STC22, STC23, STC24, STC25, STC26, and STC27 can be designed based on the process described with reference to FIGS. 9 and 10. In other words, all the multiple standard cells to be placed or included in the integrated circuit design can be determined to be one of the first type and the second type, and placement and routing can be performed based on the determined type of standard cells.
圖11所示雙向箭頭可指示參照圖3闡述的參考距離WSD。在積體電路設計的同一列中彼此相鄰的不同類型標準單元(例如,STC11與STC21)應彼此間隔開大於或等於參考距離WSD的距離。另一方面,在積體電路設計的同一列中彼此相鄰的同一類型標準單元(例如,STC13與STC14)可被佈置成較參考距離WSD更近,且可例如被形成為直接接觸。The bidirectional arrow shown in FIG. 11 may indicate the reference distance WSD explained with reference to FIG. 3. Different types of standard cells (for example, STC11 and STC21) adjacent to each other in the same column of the integrated circuit design should be separated from each other by a distance greater than or equal to the reference distance WSD. On the other hand, the same type of standard cells (for example, STC13 and STC14) adjacent to each other in the same column of the integrated circuit design may be arranged closer to the reference distance WSD, and may be formed as direct contact, for example.
圖12是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的另一實例的流程圖。圖13A及圖13B是示出其中藉由圖12所示操作將第一類型標準單元及第二類型標準單元放置於表示單個積體電路的積體電路設計中的實例的佈局圖。將省略與圖9、圖10及圖11重複的說明。12 is a flowchart illustrating another example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. 13A and 13B are layout diagrams showing an example in which the first type standard cell and the second type standard cell are placed in an integrated circuit design representing a single integrated circuit by the operation shown in FIG. 12. The description overlapping with FIG. 9, FIG. 10 and FIG. 11 will be omitted.
參照圖12,圖12中的步驟S2210及S2220可分別實質上相同於圖9中的步驟S2210及S2220。Referring to FIG. 12, steps S2210 and S2220 in FIG. 12 may be substantially the same as steps S2210 and S2220 in FIG. 9, respectively.
在使用第一類型標準單元及第二類型標準單元實行放置及路由之後,重新實行放置及路由,使得放置於積體電路設計中的多個標準單元中的目標標準單元彼此實體地相鄰(步驟S2230)。目標標準單元可對應於第二類型標準單元。換言之,可重新實行放置及路由,使得積體電路設計中的第二類型標準單元彼此實體地相鄰,且因此可藉由將同一類型標準單元佈置成彼此實體地相鄰來另外地獲得用於單元放置的額外的空間。After using the first type standard cell and the second type standard cell to perform placement and routing, the placement and routing are re-executed so that the target standard cells among the plurality of standard cells placed in the integrated circuit design are physically adjacent to each other (step S2230). The target standard unit may correspond to the second type standard unit. In other words, placement and routing can be re-implemented so that the second type standard cells in the integrated circuit design are physically adjacent to each other, and thus can be additionally obtained by arranging the same type standard cells to be physically adjacent to each other Additional space for unit placement.
參照圖13A,與圖11所示積體電路設計實質上相同的積體電路設計可藉由圖12所示步驟S2210及S2220進行設計。在此實例中,在積體電路設計的第一列中的不同類型標準單元STC21與STC12以及不同類型標準單元STC12與STC22之間可能需要用於參考距離WSD的空白空間區。相似地,在不同類型標準單元STC16與STC23之間、不同類型標準單元STC23與STC17之間、不同類型標準單元STC19與STC24之間、不同類型標準單元STC25與STC1A之間、不同類型標準單元STC26與STC1C之間以及不同類型標準單元STC1D與STC27之間亦可能需要空白空間區。Referring to FIG. 13A, an integrated circuit design substantially the same as the integrated circuit design shown in FIG. 11 can be designed by steps S2210 and S2220 shown in FIG. In this example, a blank space area for the reference distance WSD may be required between the different types of standard cells STC21 and STC12 and the different types of standard cells STC12 and STC22 in the first column of the integrated circuit design. Similarly, between different types of standard units STC16 and STC23, between different types of standard units STC23 and STC17, between different types of standard units STC19 and STC24, between different types of standard units STC25 and STC1A, between different types of standard units STC26 and A blank space area may also be required between STC1C and between different types of standard units STC1D and STC27.
由於用於單元放置的空間可因空白空間區而減小,因此可藉由圖12中的步驟S2230對標準單元STC12與STC23的位置進行互換(例如,圖13A中的箭頭1),使得第二類型標準單元STC21、STC22及STC23在第一列中彼此相鄰。相似地,可對標準單元STC24與STC1C的位置進行互換(例如,圖13A中的箭頭2),且可對標準單元STC25與STC1D的位置進行互換(例如,圖13A中的箭頭3)。Since the space for cell placement can be reduced due to the blank space area, the positions of the standard cells STC12 and STC23 can be interchanged by step S2230 in FIG. 12 (for example, arrow 1 in FIG. 13A), so that the second The type standard cells STC21, STC22, and STC23 are adjacent to each other in the first column. Similarly, the positions of the standard units STC24 and STC1C can be interchanged (for example,
參照圖13B,包括第一類型標準單元STC11、STC12'、STC13、STC14、STC15、STC16、STC17、STC18、STC19、STC1A、STC1B、STC1C'、STC1D'、STC1E、STC1F、STC1G、STC1H及STC1I以及第二類型標準單元STC21、STC22、STC23'、STC24'、STC25'、STC26及STC27的積體電路設計可藉由利用圖12中的步驟S2230重新實行放置及路由來設計。13B, including the first type of standard units STC11, STC12', STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C', STC1D', STC1E, STC1F, STC1G, STC1H and STC1I and The integrated circuit design of the two types of standard cells STC21, STC22, STC23', STC24', STC25', STC26, and STC27 can be designed by re-executing and routing using step S2230 in FIG.
相較於圖13A所示佈局而言,第二類型標準單元STC21、STC22及STC23'可被佈置成在圖13B所示佈局中的同一列中彼此相鄰,第二類型標準單元STC24'與STC26可被佈置成在圖13B所示佈局中的同一列中彼此相鄰,且第二類型標準單元STC25'與STC27可被佈置成在圖13B所示佈局中的同一列中彼此相鄰。如上所述,同一類型標準單元可被佈置成在同一列中較參考距離WSD更近,且因此可進一步獲得標準單元STC12'與STC16之間以及標準單元STC1A與STC1D'之間用於單元放置的空間。Compared to the layout shown in FIG. 13A, the second type standard cells STC21, STC22, and STC23′ can be arranged adjacent to each other in the same column in the layout shown in FIG. 13B, and the second type standard cells STC24′ and STC26 It may be arranged to be adjacent to each other in the same column in the layout shown in FIG. 13B, and the second type standard cells STC25' and STC27 may be arranged to be adjacent to each other in the same column in the layout shown in FIG. 13B. As described above, the standard cells of the same type can be arranged closer to the reference distance WSD in the same column, and thus the standard cells STC12' and STC16 and between standard cells STC1A and STC1D' for cell placement can be further obtained space.
圖14是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。圖15是示出其中藉由圖14所示操作將第一類型標準單元及第二類型標準單元放置於表示一個積體電路的積體電路設計中的實例的佈局圖。將省略與圖9、圖10及圖11重複的說明。14 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. 15 is a layout diagram showing an example in which the first type standard cell and the second type standard cell are placed in an integrated circuit design representing one integrated circuit by the operation shown in FIG. 14. The description overlapping with FIG. 9, FIG. 10 and FIG. 11 will be omitted.
參照圖14,圖14中的步驟S2210及S2220可分別實質上相同於圖9中的步驟S2210及S2220。Referring to FIG. 14, steps S2210 and S2220 in FIG. 14 may be substantially the same as steps S2210 and S2220 in FIG. 9, respectively.
在使用第一類型標準單元及第二類型標準單元實行放置及路由之後,在不同類型標準單元之間插入填充單元(步驟S2240)。填充單元可為第三類型單元,且可不同於第一類型標準單元及第二類型標準單元。After performing placement and routing using the first type standard unit and the second type standard unit, a filling unit is inserted between the different type standard units (step S2240). The filling unit may be a third type unit, and may be different from the first type standard unit and the second type standard unit.
參照圖15,具有與圖11所示佈局相同的佈局的積體電路設計可藉由圖14所示步驟S2210及S2220來設計,且可藉由圖14中的步驟S2240在標準單元STC21與STC12之間、標準單元STC12與STC22之間、標準單元STC23與STC17之間、標準單元STC25與STC1A之間以及標準單元STC1B與STC26之間分別插入填充單元FC1、FC2、FC3、FC4及FC5。可藉由插入填充單元FC1、FC2、FC3、FC4及FC5來填充體電路設計中空的空間。Referring to FIG. 15, an integrated circuit design having the same layout as the layout shown in FIG. 11 can be designed by steps S2210 and S2220 shown in FIG. 14, and can be implemented by the standard cells STC21 and STC12 by step S2240 in FIG. 14. Filling units FC1, FC2, FC3, FC4 and FC5 are inserted between the standard units STC12 and STC22, standard units STC23 and STC17, standard units STC25 and STC1A, and standard units STC1B and STC26. The hollow space in the bulk circuit design can be filled by inserting filling units FC1, FC2, FC3, FC4 and FC5.
在示例性實施例中,填充單元FC1、FC2、FC3、FC4及FC5是虛擬單元。在示例性實施例中,填充單元FC1、FC2、FC3、FC4及FC5是用與第一類型標準單元STC11、STC12、STC13、STC14、STC15、STC16、STC17、STC18、STC19、STC1A、STC1B、STC1C、STC1D、STC1E、STC1F、STC1G、STC1H及STC1I的方案(例如,第一擴散間斷方案)以及第二類型標準單元STC21、STC22、STC23、STC24、STC25、STC26及STC27的方案(例如,第二擴散間斷方案)不同的方案來製造的單元。根據示例性實施例,所有的填充單元FC1、FC2、FC3、FC4及FC5是同一類型,或填充單元FC1、FC2、FC3、FC4及FC5中的至少一些可為不同類型。In the exemplary embodiment, the filling units FC1, FC2, FC3, FC4, and FC5 are virtual units. In the exemplary embodiment, the filling units FC1, FC2, FC3, FC4, and FC5 are used with the first type standard units STC11, STC12, STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C, STC1D, STC1E, STC1F, STC1G, STC1H and STC1I solutions (for example, the first diffusion discontinuity solution) and the second type standard unit STC21, STC22, STC23, STC24, STC25, STC26 and STC27 solutions (for example, the second diffusion discontinuity solution) Scheme) Units manufactured by different schemes. According to an exemplary embodiment, all the filling units FC1, FC2, FC3, FC4, and FC5 are of the same type, or at least some of the filling units FC1, FC2, FC3, FC4, and FC5 may be of different types.
儘管圖15示出其中填充單元FC1、FC2、FC3、FC4及FC5僅插入積體電路設計的一部分中的實例,然而本發明概念的示例性實施例並非僅限於此。舉例而言,填充單元可插入積體電路設計的所有空的空間中。Although FIG. 15 shows an example in which the filling units FC1, FC2, FC3, FC4, and FC5 are inserted into only a part of the integrated circuit design, exemplary embodiments of the inventive concept are not limited to this. For example, the filling unit can be inserted into all empty spaces of the integrated circuit design.
圖16是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。圖17是示出藉由圖16所示操作設計的積體電路的實例的圖。16 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 17 is a diagram showing an example of an integrated circuit designed by the operation shown in FIG. 16.
參照圖16,當藉由實行放置及路由產生輸出資料時,使用第一類型標準單元實行放置(步驟S2410),藉由用第二類型標準單元中的一者代替放置於藉由步驟S2410的結果獲得的積體電路設計中的多個標準單元中的目標標準單元來實行放置變化(步驟S2420),且基於放置變化的結果來實行路由(步驟S2430)。換言之,可對積體電路設計優先使用或應用第一類型標準單元以先實行放置製程,且接著可用第二類型標準單元中的一者代替作為第一類型標準單元的一部分的目標標準單元。在放置及放置變化之後可實行路由。Referring to FIG. 16, when the output data is generated by performing placement and routing, the placement is performed using the first type standard unit (step S2410), by replacing the placement of the result with step S2410 with one of the second type standard units The target standard cell among the plurality of standard cells in the obtained integrated circuit design performs placement change (step S2420), and performs routing based on the result of the placement change (step S2430). In other words, the first type standard cell can be preferentially used or applied to the integrated circuit design to implement the placement process first, and then the target standard cell that is part of the first type standard cell can be replaced with one of the second type standard cell. Routing can be implemented after placement and placement changes.
在至少一個示例性實施例中,目標標準單元是在時脈網路中使用的標準單元。如參照圖2A及圖2B所述,由於第二類型標準單元(例如,第二標準單元STC2)是被形成為具有相對改善的效能的效能導向單元,因此需要在效能上得到提高的在時脈網路中使用的標準單元可僅被實施成第二類型標準單元以將時脈訊號之間的偏斜(skew)最小化,且因此積體電路可具有改善的效能。在示例性實施例中,時脈網路是時脈樹或時脈網格(clock mesh)。時脈網路可包括多個時脈接收器(clock sink),例如正反器及積體時脈閘控器(gater)。時脈閘控器可為對與一或多個時脈接收器相關的一或多個時脈訊號的應用或非應用(例如,或者賦能/去能)進行控制的電路或組件。在積體電路中發現的時脈網路包括藉由若干反相器與多個正反器連接的時脈閘控器。反相器可用於對時脈偏斜進行控制。In at least one exemplary embodiment, the target standard unit is a standard unit used in a clock network. As described with reference to FIGS. 2A and 2B, since the second type standard unit (for example, the second standard unit STC2) is formed as a performance-oriented unit with relatively improved performance, it is necessary to improve the performance in terms of clock The standard unit used in the network may only be implemented as a second type standard unit to minimize the skew between clock signals, and therefore the integrated circuit may have improved performance. In an exemplary embodiment, the clock network is a clock tree or clock mesh. The clock network may include multiple clock sinks, such as flip-flops and integrated clock gates. The clock gating device may be a circuit or component that controls the application or non-application (eg, enabling/disabling) of one or more clock signals associated with one or more clock receivers. The clock network found in the integrated circuit includes a clock gating device connected by a plurality of inverters and a plurality of flip-flops. The inverter can be used to control the clock skew.
參照圖17,可藉由圖16中的步驟S2410使用第一類型標準單元實行放置,以實施積體電路3100中所包括的正反器FF1、FF2、...、FFN及時脈產生器CG。為改善與時脈訊號CK的產生及傳遞相關聯的時脈網路CN(例如,時脈路徑)而非與輸入資料DIN及輸出資料DOUT相關聯的資料路徑的效能,可藉由圖16中的步驟S2420而用第二類型標準單元來代替時脈網路CN中所包括的第一類型標準單元。在此之後,可藉由圖16中的步驟S2430實行路由以完成積體電路3100的設計。Referring to FIG. 17, the placement of the first type standard cell can be performed by step S2410 in FIG. 16 to implement the flip-flops FF1, FF2, ..., FFN and the clock generator CG included in the
圖18是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。圖19是示出藉由圖18所示操作設計的積體電路的實例的圖。18 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 19 is a diagram showing an example of an integrated circuit designed by the operation shown in FIG. 18.
參照圖18,當藉由實行放置及路由來產生輸出資料時,使用第一類型標準單元實行放置及路由(步驟S2510),藉由用第二類型標準單元中的一者代替放置於藉由步驟S2510的結果獲得的積體電路設計中的多個標準單元中的目標標準單元來實行放置變化(步驟S2520),且基於放置變化的結果來重新實行路由(步驟S2530)。換言之,可對積體電路設計優先使用或應用第一類型標準單元以先實行放置及路由製程,且接著用第二類型標準單元中的一者代替作為第一類型標準單元的一部分的目標標準單元。在放置變化之後可重新實行路由。Referring to FIG. 18, when output data is generated by performing placement and routing, the first type standard unit is used to perform placement and routing (step S2510), by replacing one of the second type standard units in the placement step The target standard cell among the plurality of standard cells in the integrated circuit design obtained in the result of S2510 implements placement change (step S2520), and re-executes routing based on the result of the placement change (step S2530). In other words, the first type standard cell can be preferentially used or applied to the integrated circuit design to implement the placement and routing process first, and then the target standard cell that is part of the first type standard cell can be replaced with one of the second type standard cell . The routing can be re-executed after the placement change.
在至少一個示例性實施例中,目標標準單元是在積體電路設計中所包括的多個資料路徑中的時序關鍵資料路徑中使用的標準單元。如參照圖2A及圖2B所述,由於第二類型標準單元(例如,第二標準單元STC2)是被形成為具有相對改善的效能的效能導向單元,因此在對時序特性敏感的資料路徑中使用的標準單元可僅被實施成第二類型標準單元,且因此積體電路可具有改善的效能。In at least one exemplary embodiment, the target standard cell is a standard cell used in a timing critical data path among a plurality of data paths included in an integrated circuit design. As described with reference to FIGS. 2A and 2B, since the second type standard unit (for example, the second standard unit STC2) is formed as a performance-oriented unit with relatively improved performance, it is used in a data path sensitive to timing characteristics The standard unit of the IC may only be implemented as a standard unit of the second type, and thus the integrated circuit may have improved performance.
參照圖19,可藉由圖18中的步驟S2510使用第一類型標準單元來實行放置及路由,以實施積體電路3200中所包括的正反器FFA及FFB、反相器INVA及INVB、反及閘NANDA、NANDB、NANDC及NANDD以及及閘ANDA、ANDB、ANDC及ANDD。可藉由圖18中的步驟S2520用第二類型標準單元代替與輸入資料DIN及輸出資料DOUT相關聯的多個資料路徑中對時序特性最敏感的資料路徑中所包括的陰影元件INVB、ANDA、ANDB、NANDB及NANDC中包括的第一類型目標標準單元。在此之後,可藉由圖18中的步驟S2530重新實行路由以完成積體電路3200的設計。Referring to FIG. 19, placement and routing can be performed using the first type of standard unit through step S2510 in FIG. 18 to implement flip-flops FFA and FFB, inverters INVA and INVB, and inverters included in the
儘管在圖16所示步驟S2410及圖18所示步驟S2510中僅使用第一類型標準單元,然而本發明概念的示例性實施例並非僅限於此。舉例而言,可使用第一類型標準單元及第二類型標準單元二者實行放置或可使用第一類型標準單元及第二類型標準單元二者實行放置及路由,且接著可用第二類型標準單元代替時脈網路或時序關鍵資料路徑中所包括的第一類型目標標準單元。Although only the first type of standard unit is used in step S2410 shown in FIG. 16 and step S2510 shown in FIG. 18, exemplary embodiments of the inventive concept are not limited to this. For example, both the first type standard unit and the second type standard unit can be used for placement or both the first type standard unit and the second type standard unit can be used for placement and routing, and then the second type standard unit can be used It replaces the first type of target standard cell included in the clock network or timing critical data path.
在根據示例性實施例的積體電路設計、一種產生積體電路設計的方法以及一種產生積體電路設計的設計系統中,可產生並實施所述積體電路設計,使得在表示一個積體電路的積體電路設計中包括不同類型標準單元。所述不同類型標準單元具有相同的功能,但可在製造方法、效能或面積上有所不同。各種不同類型標準單元可藉由使用各種設計最佳化方案而在表示單個積體電路的積體電路設計中實施,且因此可有效地設計並獲得具有優異特性(例如效能及面積)的積體電路。In an integrated circuit design according to an exemplary embodiment, a method for generating an integrated circuit design, and a design system for generating an integrated circuit design, the integrated circuit design may be generated and implemented so that when an integrated circuit is represented The integrated circuit design includes different types of standard cells. The different types of standard cells have the same function, but may differ in manufacturing method, performance, or area. Various types of standard cells can be implemented in an integrated circuit design that represents a single integrated circuit by using various design optimization schemes, and therefore an integrated body with excellent characteristics (such as performance and area) can be efficiently designed and obtained Circuit.
參照圖9所述的根據需要使用或應用不同類型標準單元的操作、參照圖10所述的根據接腳密度使用或應用不同類型標準單元的操作、參照圖12所述的使同一類型標準單元彼此相鄰的操作以及參照圖14所述的插入填充單元的操作可用於在參照圖8所述的製程中的放置製程中進行設計最佳化。參照圖16所述的實行放置變化且在放置變化之後實行路由的操作可用於在參照圖8所述的製程中的時脈樹合成製程中進行設計最佳化。參照圖18所述的實行放置變化且在放置變化之後重新實行路由的操作可用於在參照圖8所述的製程中的時序最佳化製程中進行設計最佳化。The operation of using or applying different types of standard units according to the needs as described with reference to FIG. 9, the operation of using or applying different types of standard units according to the pin density as described with reference to FIG. The adjacent operation and the operation of inserting the filling unit described with reference to FIG. 14 can be used for design optimization in the placement process in the process described with reference to FIG. 8. The operation of performing placement change described with reference to FIG. 16 and performing routing after the placement change can be used for design optimization in the clock tree synthesis process in the process described with reference to FIG. 8. The operation of implementing the placement change described with reference to FIG. 18 and re-executing the routing after the placement change can be used for design optimization in the timing optimization process in the process described with reference to FIG. 8.
積體電路可被設計成將根據本發明概念的示例性實施例的上述各種操作中的兩者或更多者進行組合。另外,儘管闡述了其中各種操作是在用於自動放置及路由的模組及/或工具中實行的示例性實施例,然而示例性實施例並非僅限於此。舉例而言,亦可在實行放置及路由之前(例如,在合成製程中)對生成Verilog網表的製程預先應用所述各種操作。The integrated circuit may be designed to combine two or more of the above-described various operations according to an exemplary embodiment of the inventive concept. In addition, although the exemplary embodiments in which various operations are performed in modules and/or tools for automatic placement and routing are described, the exemplary embodiments are not limited thereto. For example, the various operations can also be applied to the process of generating Verilog netlists before placing and routing (for example, in a synthesis process).
儘管闡述了第一類型標準單元是使用單一擴散間斷方法製造且第二類型標準單元是使用雙擴散間斷方法製造的示例性實施例,然而示例性實施例並非僅限於此。舉例而言,第一類型及第二類型可根據示例性實施例變化。另外,儘管闡述了在表示一個積體電路的積體電路設計中放置或包括兩個不同類型標準單元的示例性實施例,然而示例性實施例並非僅限於此。舉例而言,在表示一個積體電路的積體電路設計中可放置或包括三或更多個不同類型標準單元。Although it is explained that the first type standard cell is manufactured using a single diffusion discontinuity method and the second type standard cell is manufactured using a double diffusion discontinuity method, the exemplary embodiment is not limited thereto. For example, the first type and the second type may vary according to exemplary embodiments. In addition, although an exemplary embodiment in which two standard cells of different types are placed or included in an integrated circuit design representing one integrated circuit is explained, the exemplary embodiment is not limited to this. For example, three or more different types of standard cells can be placed or included in an integrated circuit design that represents an integrated circuit.
圖20是示出根據本發明概念的示例性實施例的電子系統的方塊圖。FIG. 20 is a block diagram illustrating an electronic system according to an exemplary embodiment of the inventive concept.
參照圖20,電子系統4000包括至少一個處理器4100、通訊模組4200、顯示/觸控模組4300、儲存裝置4400及記憶體裝置4500。舉例而言,電子系統4000可為任何行動系統或任何計算系統。Referring to FIG. 20, the
如上所述,電子系統4000的組件可被設計並實施成在表示一個積體電路的積體電路設計中包括不同類型標準單元,且因此電子系統4000可被實施成具有各種改善的特性(例如改善的效能或改善的面積),所述各種改善的特性較傳統電子裝置的特性優異。As described above, the components of the
處理器4100可對電子系統4000的操作進行控制。處理器4100可執行作業系統及至少一個應用以提供網際網路瀏覽器、遊戲或視訊。通訊模組4200被實施成實行與外部裝置的無線或有線通訊。通訊模組4200可包括收發器以實行通訊。顯示/觸控模組4300被實施成顯示由處理器4100處理的資料及/或藉由觸控面板接收資料。儲存裝置4400被實施成儲存使用者資料,且基於根據示例性實施例的操作儲存裝置的方法而被驅動。記憶體裝置4500臨時儲存用於對電子系統4000的操作進行處理的資料。The
本發明概念可應用於各種電子裝置及電子系統的設計。舉例而言,本發明概念可應用於例如以下裝置及系統:行動電話、智慧型電話、平板電腦、膝上型電腦、個人數位助理(personal digital assistant,PDA)、可攜式多媒體播放機(portable multimedia player,PMP)、數位照相機、可攜式遊戲機、音樂播放機、攝錄影機、視訊播放機、導航裝置、可穿戴裝置、物聯網(internet of things,IoT)裝置、萬聯網(internet of everything,IoE)裝置、電子書閱讀器、虛擬實境(virtual reality,VR)裝置、擴增實境(augmented reality,AR)裝置、機器人裝置等。The inventive concept can be applied to the design of various electronic devices and electronic systems. For example, the inventive concept can be applied to devices and systems such as: mobile phones, smart phones, tablets, laptops, personal digital assistants (PDAs), portable multimedia players (portable multimedia player (PMP), digital camera, portable game console, music player, camcorder, video player, navigation device, wearable device, internet of things (IoT) device, internet of everything (IoE) devices, e-book readers, virtual reality (VR) devices, augmented reality (AR) devices, robotic devices, etc.
由於上述產生積體電路設計(例如,佈局)的方法中的至少一者,自對準雙重圖案化可結合基於單元邊界實行單元的放置的放置及路由方案來使用。因此,現在可進行此些放置的單元的垂直對準,且可將功能相同而面積及/或效能不同的標準單元放置於單一積體電路設計中。因此,可自所產生的積體設計產生更高效的積體電路。Due to at least one of the above methods of generating integrated circuit designs (eg, layouts), self-aligned double patterning can be used in conjunction with placement and routing schemes that perform placement of cells based on cell boundaries. Therefore, vertical alignment of these placed cells can now be performed, and standard cells with the same function but different areas and/or performance can be placed in a single integrated circuit design. Therefore, a more efficient integrated circuit can be created from the resulting integrated design.
上述是對本發明概念的示例性實施例的說明,而不被視為對示例性實施例的限制。儘管已闡述了一些示例性實施例,然而熟習此項技術者將容易地理解,在不實質上背離本揭露的條件下,在示例性實施例中可進行許多修改。因此,所有此些修改均旨在包含於示例性實施例的範圍內。The above is a description of exemplary embodiments of the inventive concept and is not to be considered as a limitation of the exemplary embodiments. Although some exemplary embodiments have been described, those skilled in the art will readily understand that many modifications can be made in the exemplary embodiments without substantially departing from the present disclosure. Therefore, all such modifications are intended to be included within the scope of the exemplary embodiments.
1000、2000:設計系統 1100、2100、4100:處理器 1200:儲存裝置/非暫態電腦可讀取儲存媒體 1210、SCL1:第一標準單元庫 1220、SCL2:第二標準單元庫 1230、DR:設計規則 1300:設計模組/積體設計模組 1310:放置器 1320:路由器 1400:分析模組/分析器 2200:輸入/輸出(I/O)裝置 2300:網路介面 2400:隨機存取記憶體(RAM) 2500:唯讀記憶體(ROM) 2600、4400:儲存裝置 3100、3200:積體電路 4000:電子系統 4200:通訊模組 4300:顯示/觸控模組 4500:記憶體裝置 1、2、3:箭頭 ANDA、ANDB:及閘/陰影元件 ANDC、ANDD:及閘 BD11、BD12、BD21、BD22:單元邊界 CG:時脈產生器 CK:時脈訊號 CN:時脈網路 D1:第一方向 D2:第二方向 DI、DIN:輸入資料 DO、DOUT:輸出資料 FF1、FF2、FFN、FFA、FFB:正反器 FC1、FC2、FC3、FC4、FC5:填充單元 INVA:反相器 INVB:反相器/陰影元件 PC11、PC12、PC13、PC14:第一配線/配線 PC21、PC22、PC23、PC24:第二配線/配線 PC2A、PC2B:配線 PR:程式 NANDA、NANDD:反及閘 NANDB、NANDC:反及閘/陰影元件 R1、R2:列 RL1:第一參考線 RL2:第二參考線 S100、S200、S300、S400、S1100、S1200、S1300、S2110、S2120、S2130、S2140、S2150、S2210、S2220、S2230、S2240、S2310、S2320、S2330、S2410、S2420、S2430、S2510、S2520、S2530:步驟 STC1:第一標準單元 STC2:第二標準單元 STC11、STC12、STC12'、STC13、STC14、STC15、STC16、STC17、STC18、STC19、STC1A、STC1B、STC1C、STC1C'、STC1D、STC1D'、STC1E、STC1F、STC1G、STC1H、STC1I:第一類型標準單元 STC21、STC22、STC23、STC23'、STC24、STC24'、STC25、STC25'、STC26、STC27:第二類型標準單元 W:第一恆定間隔/第二恆定間隔/間隔 WSD:預定參考距離/參考距離1000, 2000: design system 1100, 2100, 4100: processor 1200: storage device/non-transitory computer readable storage medium 1210, SCL1: the first standard cell library 1220, SCL2: second standard cell library 1230, DR: Design rules 1300: Design module / integrated design module 1310: Placer 1320: Router 1400: Analysis module/analyzer 2200: Input/output (I/O) device 2300: Network interface 2400: Random Access Memory (RAM) 2500: read only memory (ROM) 2600, 4400: storage device 3100, 3200: integrated circuit 4000: Electronic system 4200: Communication module 4300: display/touch module 4500: memory device 1, 2, 3: arrow ANDA, ANDB: and gate/shadow components ANDC, ANDD: And brake BD11, BD12, BD21, BD22: cell boundary CG: clock generator CK: clock signal CN: Clock Network D1: First direction D2: Second direction DI, DIN: input data DO, DOUT: output data FF1, FF2, FFN, FFA, FFB: flip-flop FC1, FC2, FC3, FC4, FC5: filling unit INVA: Inverter INVB: inverter/shadow element PC11, PC12, PC13, PC14: first wiring/wiring PC21, PC22, PC23, PC24: second wiring/wiring PC2A, PC2B: wiring PR: Program NANDA, NANDD: anti-gate NANDB, NANDC: Inverting gate/shadow element R1, R2: column RL1: first reference line RL2: second reference line S100, S200, S300, S400, S1100, S1200, S1300, S2110, S2120, S2130, S2140, S2150, S2210, S2220, S2230, S2240, S2310, S2320, S2330, S2410, S2420, S2430, S2510, S2520, S2530: step STC1: the first standard unit STC2: Second standard unit STC11, STC12, STC12', STC13, STC14, STC15, STC16, STC17, STC18, STC19, STC1A, STC1B, STC1C, STC1C', STC1D, STC1D', STC1E, STC1F, STC1G, STC1H, STC1I: standard STC21, STC22, STC23, STC23', STC24, STC24', STC25, STC25', STC26, STC27: second type standard unit W: first constant interval/second constant interval/interval WSD: predetermined reference distance/reference distance
結合附圖閱讀以下詳細說明,將更清楚地理解本揭露的示例性實施例。 圖1是示出根據本發明概念的示例性實施例的產生積體電路設計的方法的流程圖。 圖2A是示出根據本發明概念的示例性實施例的積體電路設計中所包括的第一類型標準單元的實例的佈局圖。 圖2B是示出根據本發明概念的示例性實施例的積體電路設計中所包括的第二類型標準單元的實例的佈局圖。 圖3及圖4是示出根據本發明概念的示例性實施例的積體電路的佈局的實例的圖。 圖5及圖6是示出根據本發明概念的示例性實施例的產生積體電路設計的設計系統的方塊圖。 圖7是示出根據本發明概念的示例性實施例的產生積體電路設計的設計系統的操作的實例的流程圖。 圖8是示出圖7中的實行放置及路由的實例的流程圖。 圖9是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。 圖10是示出圖9所示實行放置及路由的實例的流程圖。 圖11是示出其中藉由圖9及圖10所示操作將第一類型標準單元及第二類型標準單元放置於一個積體電路設計中的實例的佈局圖。 圖12是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的另一實例的流程圖。 圖13A及圖13B是示出其中藉由圖12所示操作將第一類型標準單元及第二類型標準單元放置於一個積體電路中的實例的佈局圖。 圖14是示出根據本發明概念的示例性實施例的產生積體設計的方法中的實行放置及路由的實例的流程圖。 圖15是示出其中藉由圖14所示操作將第一類型標準單元及第二類型標準單元放置於一個積體電路中的實例的佈局圖。 圖16是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。 圖17是示出藉由圖16所示操作設計的積體電路的實例的圖。 圖18是示出根據本發明概念的示例性實施例的產生積體電路設計的方法中的實行放置及路由的實例的流程圖。 圖19是示出藉由圖18所示操作設計的積體電路的實例的圖。 圖20是示出根據本發明概念的示例性實施例的電子系統的方塊圖。By reading the following detailed description in conjunction with the accompanying drawings, the exemplary embodiments of the present disclosure will be more clearly understood. FIG. 1 is a flowchart illustrating a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. 2A is a layout diagram illustrating an example of a first type standard cell included in an integrated circuit design according to an exemplary embodiment of the inventive concept. 2B is a layout diagram illustrating an example of a second type standard cell included in an integrated circuit design according to an exemplary embodiment of the inventive concept. 3 and 4 are diagrams showing an example of the layout of an integrated circuit according to an exemplary embodiment of the inventive concept. 5 and 6 are block diagrams showing a design system that generates an integrated circuit design according to an exemplary embodiment of the inventive concept. 7 is a flowchart illustrating an example of the operation of a design system that generates an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 8 is a flowchart showing an example of placing and routing in FIG. 7. 9 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 10 is a flowchart showing an example of performing placement and routing shown in FIG. 9. FIG. 11 is a layout diagram showing an example in which the first type standard cell and the second type standard cell are placed in one integrated circuit design by the operations shown in FIGS. 9 and 10. 12 is a flowchart illustrating another example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. 13A and 13B are layout diagrams showing an example in which the first type standard cell and the second type standard cell are placed in one integrated circuit by the operation shown in FIG. 12. 14 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated design according to an exemplary embodiment of the inventive concept. 15 is a layout diagram showing an example in which the first type standard cell and the second type standard cell are placed in one integrated circuit by the operation shown in FIG. 14. 16 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 17 is a diagram showing an example of an integrated circuit designed by the operation shown in FIG. 16. 18 is a flowchart illustrating an example of performing placement and routing in a method of generating an integrated circuit design according to an exemplary embodiment of the inventive concept. FIG. 19 is a diagram showing an example of an integrated circuit designed by the operation shown in FIG. 18. FIG. 20 is a block diagram illustrating an electronic system according to an exemplary embodiment of the inventive concept.
S100、S200、S300、S400:步驟 S100, S200, S300, S400: steps
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0137000 | 2018-11-09 | ||
KR1020180137000A KR102539066B1 (en) | 2018-11-09 | 2018-11-09 | Integrated circuit including different types of cells, and method and system of designing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202018547A true TW202018547A (en) | 2020-05-16 |
TWI798448B TWI798448B (en) | 2023-04-11 |
Family
ID=70550033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108119875A TWI798448B (en) | 2018-11-09 | 2019-06-10 | Integrated circuit, and method and design system of generating integrated circuit design |
Country Status (4)
Country | Link |
---|---|
US (1) | US10817640B2 (en) |
KR (1) | KR102539066B1 (en) |
CN (1) | CN111241769B (en) |
TW (1) | TWI798448B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836854A (en) * | 2020-10-21 | 2021-12-24 | 台湾积体电路制造股份有限公司 | Computer implemented method, computer implemented system and computer readable medium |
TWI822551B (en) * | 2022-03-02 | 2023-11-11 | 台灣積體電路製造股份有限公司 | Apparatus and method of optimizing an integrated circuit design |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10868538B1 (en) * | 2019-07-29 | 2020-12-15 | Taiwan Semiconductor Manufacturing Company Ltd. | Logic cell structure and integrated circuit with the logic cell structure |
KR20210029966A (en) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | Integrated Circuit including integrated standard cell structure |
US11803682B2 (en) * | 2020-01-22 | 2023-10-31 | Taiwan Semiconductor Manufacturing Company Ltd. | Semiconductor device including standard cell having split portions |
US11709985B2 (en) * | 2020-01-22 | 2023-07-25 | Taiwan Semiconductor Manufacturing Company Ltd. | Semiconductor device including standard cells with combined active region |
US11132486B1 (en) | 2020-05-21 | 2021-09-28 | Taiwan Semiconductor Manufacturing Company, Ltd. | Systems and methods for multi-bit memory with embedded logic |
KR20220058783A (en) | 2020-10-30 | 2022-05-10 | 삼성전자주식회사 | Semiconductor devices |
CN112507648B (en) * | 2020-11-30 | 2022-01-04 | 深圳比特微电子科技有限公司 | Layout design method, integrated circuit, operation chip and computing equipment |
CN113177380B (en) * | 2021-04-29 | 2023-05-23 | 飞腾信息技术有限公司 | Time sequence optimization method based on dummy |
CN118116922A (en) * | 2022-11-30 | 2024-05-31 | 华为技术有限公司 | Integrated circuit and electronic device |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446248B1 (en) | 2000-01-28 | 2002-09-03 | Lsi Logic Corporation | Spare cells placement methodology |
US7444609B2 (en) | 2006-06-29 | 2008-10-28 | International Business Machines Corporation | Method of optimizing customizable filler cells in an integrated circuit physical design process |
US9047433B2 (en) * | 2013-02-27 | 2015-06-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Cell and macro placement on fin grid |
US8881083B1 (en) * | 2013-05-01 | 2014-11-04 | Globalfoundries Inc. | Methods for improving double patterning route efficiency |
WO2014186803A1 (en) * | 2013-05-17 | 2014-11-20 | Cornell University | Automated layout for integrated circuits with nonstandard cells |
US9123721B2 (en) * | 2013-11-22 | 2015-09-01 | Qualcomm Incorporated | Placement of monolithic inter-tier vias (MIVs) within monolithic three dimensional (3D) integrated circuits (ICs) (3DICs) using clustering to increase usable whitespace |
US9734276B2 (en) * | 2014-10-22 | 2017-08-15 | Samsung Electronics Co., Ltd. | Integrated circuit and method of designing layout of the same |
US10146900B2 (en) * | 2015-09-17 | 2018-12-04 | Qualcomm Incorporated | Hybrid diffusion standard library cells, and related systems and methods |
US9991249B2 (en) * | 2016-02-11 | 2018-06-05 | Samsung Electronics Co., Ltd. | Integrated circuit and computer-implemented method of manufacturing the same |
MY177687A (en) * | 2016-03-30 | 2020-09-23 | Honda Motor Co Ltd | Instrument panel forming method, instrument panel, and instrument panel forming apparatus |
US10394299B2 (en) * | 2016-05-23 | 2019-08-27 | Qualcomm Incorporated | Systems and methods to separate power domains in a processing device |
US10366196B2 (en) * | 2016-06-22 | 2019-07-30 | Qualcomm Incorporated | Standard cell architecture for diffusion based on fin count |
US10134734B2 (en) | 2016-06-30 | 2018-11-20 | Qualcomm Incorporated | Fin field effect transistor (FET) (FinFET) complementary metal oxide semiconductor (CMOS) circuits employing single and double diffusion breaks for increased performance |
US9977854B2 (en) * | 2016-07-12 | 2018-05-22 | Ati Technologies Ulc | Integrated circuit implementing standard cells with metal layer segments extending out of cell boundary |
KR20180028252A (en) | 2016-09-08 | 2018-03-16 | 삼성전자주식회사 | Integrated Circuit Designing System and Method of Manufacturing Integrated Circuit |
KR102678555B1 (en) | 2016-10-05 | 2024-06-26 | 삼성전자주식회사 | Integrated circuit including modified cell and method of designing the same |
KR102633138B1 (en) * | 2016-10-17 | 2024-02-02 | 삼성전자주식회사 | Integrated Circuit and Semiconductor Device |
KR102636095B1 (en) * | 2016-12-16 | 2024-02-13 | 삼성전자주식회사 | Integrated circuit for quadruple patterning lithography, computing system and computer-implemented method for designing integrated circuit |
US10599130B2 (en) | 2017-01-26 | 2020-03-24 | Samsung Electronics Co., Ltd. | Method and system for manufacturing an integrated circuit in consideration of a local layout effect |
US10678973B2 (en) * | 2017-03-15 | 2020-06-09 | Taiwan Semiconductor Manufacturing Co., Ltd. | Machine-learning design enablement platform |
JP2018174231A (en) * | 2017-03-31 | 2018-11-08 | ソニーセミコンダクタソリューションズ株式会社 | Solid state image sensor and electronic apparatus |
US10579771B2 (en) * | 2017-06-14 | 2020-03-03 | Samsung Electronics Co., Ltd. | Integrated circuit including standard cells overlapping each other and method of generating layout of the integrated circuit |
KR102390096B1 (en) * | 2018-02-28 | 2022-04-26 | 삼성전자주식회사 | Semiconductor device |
US10678991B2 (en) * | 2018-06-27 | 2020-06-09 | Taiwan Semiconductor Manufacturing Company Ltd. | Integrated device and method of forming the same |
KR102599048B1 (en) * | 2018-08-16 | 2023-11-06 | 삼성전자주식회사 | Integrated circuit including standard cell and method for manufacturing the same |
-
2018
- 2018-11-09 KR KR1020180137000A patent/KR102539066B1/en active IP Right Grant
-
2019
- 2019-05-23 US US16/420,721 patent/US10817640B2/en active Active
- 2019-06-10 TW TW108119875A patent/TWI798448B/en active
- 2019-08-29 CN CN201910811343.9A patent/CN111241769B/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836854A (en) * | 2020-10-21 | 2021-12-24 | 台湾积体电路制造股份有限公司 | Computer implemented method, computer implemented system and computer readable medium |
TWI822551B (en) * | 2022-03-02 | 2023-11-11 | 台灣積體電路製造股份有限公司 | Apparatus and method of optimizing an integrated circuit design |
Also Published As
Publication number | Publication date |
---|---|
US10817640B2 (en) | 2020-10-27 |
KR102539066B1 (en) | 2023-06-01 |
CN111241769B (en) | 2024-07-16 |
CN111241769A (en) | 2020-06-05 |
KR20200053757A (en) | 2020-05-19 |
US20200151298A1 (en) | 2020-05-14 |
TWI798448B (en) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI798448B (en) | Integrated circuit, and method and design system of generating integrated circuit design | |
US8479141B1 (en) | Automation using spine routing | |
US11126781B2 (en) | Integrated circuit including standard cell and method and system for designing and manufacturing the same | |
US6598215B2 (en) | Datapath design methodology and routing apparatus | |
Hsu et al. | Design and manufacturing process co-optimization in nano-technology (Designer Track Paper) | |
US11030383B2 (en) | Integrated device and method of forming the same | |
Lee et al. | SP&R: SMT-based simultaneous Place-and-Route for standard cell synthesis of advanced nodes | |
US10977415B2 (en) | Integrated device and method of forming the same | |
US20210349845A1 (en) | Interconnect Repeater Planning and Implementation Flow for Abutting Designs | |
KR20170094744A (en) | Integrated circuit and computer-implemented method for manufacturing the same | |
US20230237236A1 (en) | Method of designing layout of semiconductor integrated circuit, method of designing and manufacturing semiconductor integrated circuit using the same, and design system performing same | |
Ye et al. | Physical synthesis for ASIC datapath circuits | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
Chen et al. | Simultaneous placement with clustering and duplication | |
US9454632B1 (en) | Context specific spare cell determination during physical design | |
Dewan et al. | Design automation algorithms for the NP-separate VLSI design methodology | |
US20230267261A1 (en) | Design system, design method and method of manufacture of semiconductor device | |
US20240193340A1 (en) | Method and system for designing layout of integrated circuit | |
Loh | Back End Design (Automatic Place and Route) of RISC-V Processor using IC Compiler | |
Pu et al. | Lesyn: Placement-Aware Logic Resynthesis for Non-Integer Multiple-Cell-Height Designs | |
US20240094987A1 (en) | Compressor circuit and semiconductor integrated circuit including the same | |
Hua | Design and verification methodology for complex three-dimensional digital integrated circuit | |
Lin | A Grid-Based Routing Algorithm for Customized Peripheral Circuits of SRAM System | |
Das et al. | A regularity-driven fast gridless detailed router for high frequency datapath designs | |
Montalvo Ramirez | VLSI implementation of control section of overlapped 3-bit scanning 64-bit multiplier |