TW200915123A - Architectural physical synthesis - Google Patents

Architectural physical synthesis Download PDF

Info

Publication number
TW200915123A
TW200915123A TW97128023A TW97128023A TW200915123A TW 200915123 A TW200915123 A TW 200915123A TW 97128023 A TW97128023 A TW 97128023A TW 97128023 A TW97128023 A TW 97128023A TW 200915123 A TW200915123 A TW 200915123A
Authority
TW
Taiwan
Prior art keywords
placement
circuit
resource
design
integrated circuit
Prior art date
Application number
TW97128023A
Other languages
Chinese (zh)
Inventor
Kenneth S Mcelvain
Benoit Lemonnier
Bill Halpin
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of TW200915123A publication Critical patent/TW200915123A/en

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The present invention discloses methods and apparatuses to design an integrated circuit. According to one aspect, the present invention circuit design discloses an iterative process of synthesis and placement where each iteration provides incremental changes on the design of the integrated circuit. The synthesis transform is then made with accurate timing information from the placement, and the process is incrementally iterative toward the final timing enclosure of the design. The incrementally iterative approach of the present invention provides a continuous advancement from synthesis to placement and vice versa, with the incremental improvements on synthesis made with knowledge of current instance placement. and the incremental improvements on placement made with knowledge of current circuit logic.

Description

200915123 九、發明說明: 【發明所屬之技術領域】 本發明一般係關於積體電路設計領域,且更特定言之係 關於根據高階描述透過合成程序之積體電路設計。 相關申請案 此申請案主張2007年7月23曰申請之美國臨時申請案第 . 60/951,436號(檔案號02986.P059Z)之權利,該臨時申請案 係以引用的方式併入本文内。此申請案還關於 〇 申請之申請案第 _號,標題為”架構之實 體合成”(檔案號02986.P059)並與其同日申請。 【先前技術】 關於在VLSI(極大規模整合)技術之規模上設計數位電 路,設計者們經常運用電腦輔助技術。已開發諸如硬體描 述語言(HDL)之標準語言來說明數位電路以輔助複雜數位 電路之設計及模擬。數種硬體描述語言(諸如VHDL與 Verilog)已演化為產業標準。VHDL與Verilog係通用硬體 描述語言,其允許在晶片原型層次、暫存器轉移層次 (RTL)或行為層次使用抽象資料類型來定義一硬體模型。 - 隨著器件技術不斷進步,已開發各種產品設計工具來使 HDL適用更新型器件與設計風格。 在使用一 HDL碼設計一積體電路中’先編寫碼並接著藉 由一 HDL編譯器來加以編譯。該HDL原始碼在某層次說明 電路元件,然後該編譯器根據此編譯中產生一 RTL電路規 劃清單(netlist)。一 RTL電路規劃清單由複數個RTL物件或 133330.doc 200915123 組件以及複數個網路所組成,該等網路係該等組件之間的 信號連接。該RTLf路規劃清單可㈣—技術獨立電路規 劃清單,因為其獨立於—特定供應商之積體電路之技術或 架構,諸如場可程式化間陣列(FPGA)或―特定應用積體電 路(ASIC)。該RTL電路規劃清單對應於電路元件之一示意 性表示(相對於-行為表示)。接著實行—映射操作以㈣ ,術獨立RTL電路規料㈣換至m支彳㈣路規劃清 早’其可用以在供應商之技術或架構中建立電路,包括放 置該等例項並安排該等互連路徑,使得該電路滿足給定時 序、空間及電力約束。 早期電子設計自動化(EDA)A體上將概合成與以所示 之安置/安排路㈣序分開。在射llt,準備HDL碼。 在操作巾’編職合成錢仙巾所準備之腿以產生 一電路規劃清單’其—般藉由實行邏輯最佳化來加以最佳 化。其後,一映射程序映射該電路規劃清單至一特定目標 技術/架構。在操作13結束時,已完成合成且即可提供-力電路規劃清單,其係特定於供應商之1(:中所使用之技術/ 架構。此電路規劃清單有效地處於—閘位準,時序分析係 基於諸如扇出計數或連接組件類型及大小之預放安資訊使 用該等互連特性之統計模型來加以估計。在合成之後,在 操作15_在邏輯電路上實行一習知放置操作在操作口中 對該電路規劃清單(僅在一晶片原型或單元或閘位準)作局 #改變以滿足時序效能。接著在操作ί9中實行一習知安排 路徑操作以便在該等iC之各IC中建立一電路設計。若存在 133330.doc 200915123 任未滿足約束’則該程序使用迴圈返回反覆進行修改。 從剷,§例項延遲在早期合成工具中佔據主導地位時, 基於該等統計模型之時序估計充分精確,使得分離合成與 文置要求相對較少的反覆回至該等hdl及合成階段。 然而,iw著技術節點不斷縮小,該等互連延遲變得顯 著,從而超過該等閘延遲。此導致在合成操作中的延遲估 計變得越來越少關聯於安置及安排路徑操作之後的實際延 遲從而引起後合成與後布局結果之間的時序可預測性不 s °因而在許多情況下,在該等安置及安排路徑程序之 後,電路實體布局無法滿足電路設計準則,故設計者們經 常必須從合成步驟起重頭開始並重複該等合成/安置/安排 路徑程序。 為了改良σ成,在合成程序期間說明相關聯於設計(例 如安置)之實體特性較為重要。已採用一系列技術來將安 置資訊帶入合成程序内,肖如平面佈置圖(floorplan)、現 場最佳化(IPO)及實體合成。 “ 在平面佈置圖技術中,在晶片上將設計劃分成多個區域 並使用以安置為主的互連估計用於區域間互連,同時使用 統計模型來估計-區域内的互連。平面佈置圖既可在早期 RTL階段使用,也可稱後在運行一初始合成之後使用。平 面佈置圖可延伸至將RTL組件劃分 '複製及切片⑽ce)成 多個區域並組合RTL層次時序及面積模型。可接著使用來 自區域間時序的改良時序來更精確地驅動R T L層次最佳 化。手動產生-較佳品質平面佈置圖具挑戰性且要求嫻熟 133330.doc 200915123 的使用者。類似於來自Tera加_者(美國專利 17與6,36G,356)之自動平面佈置圖可建立區域並向其指派 RTL、、且件因為合成係解麵並遵循自動平面佈置圖故在 平面佈置圖期間時序及面積資訊之精度較差。 -稱為現場最佳化(IP〇)之技術提供放置及安排路徑延 遲之反向演譯至合成域内。關鍵路徑得到重新最佳化,但 因為不更新詳細安置,故用於修改後網路之互連延遲回到 統計模型。若作許多改變,則所得電路規劃清單之下列合 法化可能要求將例項遠離其初始位置移開,從而導致較大 的k遲估D十誤差。為此原因,在要求明顯變化以獲得時序 封閉時,視IPO為不穩定。 另一技術係實體合成,其係超過IPO技術之一改良,其 中在:映射電路規劃清單上的一小量最佳化與遞增重新合 乂 a以維持延遲及資源度量之保真度。此技術之一限 主;個別改變限於最適度的資源增加或IPO技術重新 表面處理之不籍t L疋問趨。目如,存在數個不同演算法用於 實體合成。阁 圖頌不一演算法,其使用基於安置例項之近 放罟咏時序估計來提供一實體合成引擎。在操作23中最初 射電路規劃清單之後,在僅在晶片原型層次下實行 的操作24中,诗电 μ實體合成操作選擇電路之部分用於遞增最 佳化及重新安置。 根據前述,·^ ‘ 改良。 看出’ 4要用於電子設計自動化之演算法 先如專利邊 、 ;或説明晶片合成,且該些專利包括: 133330.doc 200915123 U.S.專利 6,519,754、6,711,729、7,010,769、6,145,117 及 6,360,356。安置演算法最近書面說明於:Bo Hu , Timing_200915123 IX. INSTRUCTIONS OF THE INVENTION: TECHNICAL FIELD OF THE INVENTION The present invention generally relates to the field of integrated circuit design, and more particularly to the design of an integrated circuit that passes through a synthesis program according to a high-order description. RELATED APPLICATIONS This application claims the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit of the benefit. This application is also related to 申请 Application No. _, entitled “Physical Synthesis of the Framework” (Archive No. 02986.P059) and applied for it on the same day. [Prior Art] Regarding the design of digital circuits on the scale of VLSI (Great Scale Integration) technology, designers often use computer-aided technology. Standard languages such as Hard Description Language (HDL) have been developed to illustrate digital circuits to aid in the design and simulation of complex digital circuits. Several hardware description languages, such as VHDL and Verilog, have evolved into industry standards. VHDL and Verilog are general-purpose hardware description languages that allow abstract data types to be used to define a hardware model at the wafer prototype level, scratchpad transfer level (RTL), or behavior level. - As device technology continues to advance, various product design tools have been developed to make HDL suitable for newer devices and design styles. In the design of an integrated circuit using an HDL code, the code is written first and then compiled by an HDL compiler. The HDL source code describes the circuit components at a level, and then the compiler generates an RTL circuit plan list (netlist) based on this compilation. An RTL circuit planning list consists of a plurality of RTL objects or 133330.doc 200915123 components and a plurality of networks, which are signal connections between the components. The RTLf road planning list can be (4)—a technically independent circuit planning list because it is independent of the technology or architecture of the integrated circuit of a particular vendor, such as a field programmable inter-array (FPGA) or a specific application integrated circuit (ASIC). ). The RTL circuit plan list corresponds to a schematic representation (relative to the - behavioral representation) of the circuit elements. Then carry out the mapping operation to (4), the independent RTL circuit specification (4) to the m branch (four) road planning early morning 'it can be used to establish circuits in the supplier's technology or architecture, including placing the examples and arranging the mutual The path is such that the circuit satisfies a given timing, space, and power constraints. Early Electronic Design Automation (EDA) A was synthesized and separated from the placement/arrangement shown in Figure 4. At the time of shooting, prepare the HDL code. In the operation towel, the legs prepared by the synthetic money towel are compiled to produce a circuit planning list, which is preferably optimized by performing logic optimization. Thereafter, a mapping program maps the circuit planning list to a specific target technology/architecture. At the end of operation 13, the synthesis has been completed and a list of force circuit plans is provided, which is specific to the technology/architecture used by the supplier 1 (: This circuit planning list is effectively at the gate level, timing The analysis is based on pre-amplification information such as fan-out count or connection component type and size using a statistical model of the interconnect characteristics. After synthesis, a conventional placement operation is performed on the logic circuit at operation 15_ The circuit planning list (only in a wafer prototype or unit or gate level) is changed in the operation port to meet the timing performance. Then, a conventional arrangement path operation is performed in operation ί9 to be in each IC of the iCs. Establish a circuit design. If there is 133330.doc 200915123, the program does not meet the constraint', then the program uses the loop to return and modify it repeatedly. From the shovel, § the case delay dominates the early synthesis tool, based on the statistical model The timing estimation is sufficiently accurate, so that the separation synthesis and the relatively low requirements of the text are returned to the hdl and synthesis stages. However, the iw technology node is constantly Small, the interconnect delays become significant, thus exceeding the gate delays. This results in less and less delay estimates in the synthesis operation associated with the actual delays after placement and scheduling of the path operations, causing post-synthesis and post-synthesis The timing predictability between layout results is not s °. In many cases, after these placement and scheduling procedures, the circuit entity layout cannot meet the circuit design criteria, so designers often have to start from the synthesis step and Repeating such synthesis/relocation/arrangement path procedures. In order to improve sigma, it is important to describe the physical characteristics associated with the design (eg, placement) during the synthesis process. A series of techniques have been employed to bring the placement information into the synthesis program. Xiao Ru floorplan, site optimization (IPO) and physical synthesis. “In the floor plan technology, the design is divided into multiple regions on the wafer and the placement-based interconnect is used for estimation. Inter-area interconnections, using statistical models to estimate interconnections within the area. The floor plan can be made in the early RTL phase. It can also be used after running an initial synthesis. The floor plan can be extended to divide the RTL component into 'multiple regions and copy (10) ce into multiple regions and combine the RTL hierarchical timing and area models. It can then be used from inter-regional timing. Improved timing to drive RTL level optimizations more accurately. Manually generated - better quality floor plan is challenging and requires users who are fascinated with 133330.doc 200915123. Similar to those from Tera Plus (US Patents 17 and 6, The automatic floor plan of 36G, 356) can establish the area and assign RTL to it, and the accuracy of the timing and area information during the floor plan is poor because the synthetic system solves the surface and follows the automatic floor plan. The technique of optimization (IP) provides placement and scheduling of inverse interpretation of path delays into the synthesis domain. The critical path is re-optimized, but because the detailed placement is not updated, the interconnect delay for the modified network is returned to the statistical model. If many changes are made, the following normalization of the resulting circuit plan list may require that the case be moved away from its initial position, resulting in a larger k-delay D-time error. For this reason, the IPO is unstable when significant changes are required to obtain timing closure. Another technique is entity synthesis, which is an improvement over one of the IPO techniques, in which a small amount of optimization and incremental recombination on the mapping circuit planning list is used to maintain the fidelity of delay and resource metrics. One of the technologies is limited; individual changes are limited to the most appropriate resource increase or the re-surface treatment of IPO technology. For example, there are several different algorithms for entity synthesis. The algorithm is not an algorithm that uses a near-release timing estimate based on placement examples to provide an entity synthesis engine. After the initial circuit planning list in operation 23, in operation 24 performed only at the wafer prototyping level, portions of the poetic synthesis function selection circuit are used for incremental optimization and relocation. According to the above, ^^ ‘improvement. It can be seen that '4 algorithms to be used for electronic design automation are as patented, or wafer synthesis, and these patents include: 133330.doc 200915123 US Patent 6,519,754, 6,711,729, 7,010,769, 6,145,117 and 6,360,356. The placement algorithm was recently written in: Bo Hu , Timing_

Driven Placement for Heterogeneous Field Programmable Gate Array(用於異質場可程式化閘陣列之時序驅動安 置)’ IEEE/ACM國際電腦輔助設計研討會,2〇〇6年丨j月 (ICCAD ’06),第 383 至 388 頁(ISSN: 1092-3152、ISBN 1- 59593-389-1)。 【發明内容】 本發明揭示用以設計一積體電路之方法及裝置。在範例 性具體實施例中,本發明電路設計揭示一種合成及安置之 反覆程序,其開始於RTL或行為層次’其中各反覆透過該 積體電路設計之變換來提供遞增變化。在特定態樣中,該 變換可以係一合成或安置變換。一合成變換修改在電路規 劃清單内的該等物件及/或在該等物件之間形成連接之網 路。一安置變換修改在該電路規劃清單中一或多個物件之 位置。本發明<至少肖定具體實施例t遞增反覆方案使用 諸如目前電路電路規劃清單、安置、時序、資源可用性及 電^之設計度量所蚊之適當合成及安置變換來提供一連 -.·只月)進纟特疋癌樣中,在各變換之後,更新受影響的設 計度量,使得未來變換決策絲於—精確料統計。該程 序朝該3十之最終時序資源及電力封閉遞增反覆。 本發明之至少特定具體實施狀—關鍵態樣在於,安置 發生於已為高階組件識別特定資源類型之前。例如,分類 用於、’且件之具有所需權重及相關聯資源總數之替代性實施 133330.docDriven Placement for Heterogeneous Field Programmable Gate Array (IEEE/ACM International Computer Aided Design Seminar, IEEE/ACM International Computer Aided Design Workshop, 2, 6 years, 丨j (ICCAD '06), 383 Go to page 388 (ISSN: 1092-3152, ISBN 1- 59593-389-1). SUMMARY OF THE INVENTION The present invention discloses a method and apparatus for designing an integrated circuit. In an exemplary embodiment, the circuit design of the present invention reveals a repetitive process of synthesis and placement that begins with an RTL or behavioral level where each of the inverses provides an incremental change through the transformation of the integrated circuit design. In a particular aspect, the transformation can be a composite or placement transformation. A synthetic transformation modifies the objects within the circuit plan list and/or the network forming a connection between the objects. A placement transformation modifies the location of one or more objects in the circuit planning list. The present invention <at least, the specific embodiment t incremental repeat scheme uses a suitable synthesis and placement transformation of the mosquitoes such as the current circuit circuit planning list, placement, timing, resource availability, and electrical design to provide a connection - monthly In the special cancer sample, after each transformation, the affected design metrics are updated, so that the future transformation decision is based on accurate statistics. The procedure is repeated in response to the 30th final timing resource and power closure. At least a particular embodiment of the present invention - the key aspect is that placement occurs before a particular resource type has been identified for a higher order component. For example, the classification is used for, and the alternative implementation of the required weights and associated resources is 133330.doc

* 1U 200915123 方案且放置器演化該安置以移動該等組件靠近用於所需實 施方案之資源類型。 在一較佳具體實施例中,本發明開始於一圖表,其代表 晶片資源之一RTL或行為設計(電路)以及一實體地圖。實 行反覆變換,其甲各變換產生電路中電路或物件安置之一 最佳化或精緻化。 在-具體實施例中…變換由—高階最佳化所組成。此 換透過-㈣或數學變換來最佳化一組件或複數個組件 變 成一組功能相當替代性組件, 源消耗之出色特性。此一變換 算式以減少樹高度來改良延遲 共用。 其具有諸如時序、電力或資 之一範例係重新組織算術運 。另一範例係資源共用或不 在另-具體實施例中,該高階最佳化變換將(多個)群组 的(多個)電路物件從更抽象形式精緻化至更具體形式。一 精緻化變換之一範例係映射一算術運算式至晶片上的一 DSP資源上。當精緻化—抽象形式時,通常存在許多實施 方《擇。例如’-算術表達式可藉由晶片上的—特殊用 途算術功能(一 DSP組塊)、藉由在一 )稭田隹5己憶體内的表杳招 αυτ或閘及正反器)或構建 —找 饵遷在曰曰片上该等低階邏輯組件外 來加以實施。來自一行為合 勺。成抓之組件可能具有基於 性排程與資源共用註冊 ^ 夕個實鉍方案。用於行為組件之 此類替代例還可基於目前可 了用貝源與互連延遲來加以動態 座生。 在另一具體實施例中,缔笪姓Μ Μ Μ 該專精緻化變換還基於替代性實 133330.doc 200915123 施方案之品質具有一緊急度量並按緊急次序來加以選擇。 一實施方案之品質根據設計目標(諸如面積消耗、電力消 耗或時序)來加以測量。還可包括諸如單事件翻轉硬度之 其他更多深奥目標。例如,若一設計包含一大型記憶體與 數個小型記憶體,且該大型記憶體在由邏輯組構實施時具 有相對較差實施品質時,在設計中將該大型記憶體與晶 片上的稀缺特殊用途記憶體資源相關聯比中型記憶體相對 重要得多。則用於該大型記憶體之緊急度量將會遠高於用 於該等小型記憶體之度量。一旦將組件映射至一特定實施 方案並相關聯於晶片上的特定資源,至該些組件的該等連 接用作用於安置電路之剩餘者之錨,從而改良時序及可用 資源估計之品質。 在—具體實施例中,該安置變換可以係一或多個可安置 物件之位置之—精緻化’以改良安置度量,諸如:例項擁 可女排路徑性及電路效能。一可安置物件可由一行為 合成組件、一未映射邏輯之RTL組塊、映射邏輯或該些者 之任一組合組成。 在—具體實施例中,該安置變換能夠修改不同抽象層次 的物件。例如’—些可安置物件可能係RTL組塊,而 可能係映射閘。 、 。在=一具體實施例中,在安置局部充分演化使得可決定 可用資源並料安排⑽延遲時觸發—精緻化變換。、疋 依據本發明之另—態樣’—種用於料積體電路之 性方法提供—遞辦變換及涛,1 人 题增I換反覆,其中該等合成及安置變換不 133330.doc •13- 200915123 按任何次序,但僅針對其功能性而選擇。該電路設計自動 化基於冑擇功能來選擇下一變換,即合成或安置。在各 反覆’ δ1•算用於—預定變換清單之成本。該成本可能包括 對其他變換之成本變化的預測。例如,若—算術運算映射 士-ROM’則可移除R〇M選項以實施另一運算,從而提 冋其成本。基於諸如目前安置、電路規劃清單、資源、時 序或電力之成本收斂準則來選擇最佳變換。* 1U 200915123 scenario and the placer evolves the placement to move the components close to the resource type used for the desired implementation. In a preferred embodiment, the invention begins with a diagram representing one of the wafer resources RTL or behavioral design (circuitry) and a physical map. The inverse transformation is carried out, and one of the circuits or objects in the transformation generating circuit is optimized or refined. In a particular embodiment, the transformation consists of - high order optimization. This translating-(four) or mathematical transformation to optimize a component or a plurality of components into a set of functionally equivalent alternative components, the source consumes excellent features. This transformation algorithm improves the delay sharing by reducing the height of the tree. It has examples such as timing, power, or capital to reorganize arithmetic operations. Another example is resource sharing or not, in another embodiment, the high order optimization transform refines the circuit object(s) of the group(s) from a more abstract form to a more specific form. An example of a refined transformation maps an arithmetic expression to a DSP resource on the wafer. When it comes to refinement—the abstract form, there are usually many implementers. For example, '-arithmetic expressions can be performed by on-wafer-special-purpose arithmetic functions (a DSP block), by a) 秸 隹 己 己 己 己 己 己 己 己 己 己 或 或Build - find the bait on the slap on the low-level logic components to implement. From a behavioral spoon. The components that are captured may have a registration based on sex scheduling and resource sharing. Such alternatives for behavioral components can also be dynamically based on the current use of source and interconnect delays. In another embodiment, the privilege transformation is also based on the alternative 133330.doc 200915123 The quality of the scheme has an emergency metric and is selected in a chronological order. The quality of an embodiment is measured based on design goals such as area consumption, power consumption, or timing. Other more esoteric targets such as single event flip hardness can also be included. For example, if a design includes a large memory and a plurality of small memories, and the large memory has a relatively poor implementation quality when implemented by a logical fabric, the large memory and the scarcity on the wafer are specially designed in the design. The use of memory resources is much more important than the medium memory. The emergency metric for this large memory will be much higher than the metric used for these small memories. Once the components are mapped to a particular implementation and associated with particular resources on the wafer, the connections to the components serve as anchors for the remainder of the placement circuitry, thereby improving the quality of timing and available resource estimates. In a particular embodiment, the placement transformation may be based on one or more locations where the object can be placed - refined to improve placement metrics, such as: example female routing and circuit performance. A configurable object can be comprised of a behavioral composition component, an unmapped logic RTL chunk, mapping logic, or any combination of these. In a particular embodiment, the placement transformation can modify objects of different levels of abstraction. For example, some of the configurable objects may be RTL chunks, but may be mapped gates. , . In a particular embodiment, the triggering-refining transformation is triggered when the placement is fully evolved such that the available resources are scheduled to be delayed (10).疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 疋 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 133 13- 200915123 Select in any order, but only for its functionality. The circuit design automatically selects the next transformation based on the selection function, ie synthesis or placement. The cost of each of the repeated ' δ1• is used to calculate the list of changes. This cost may include projections of changes in costs of other transformations. For example, if the -Arithmetic Maps-ROM', the R〇M option can be removed to perform another operation, thereby increasing its cost. The optimal transformation is selected based on cost convergence criteria such as current placement, circuit planning inventory, resources, timing, or power.

下-變換可以係一安置更新、一資源指派、一合成最佳 化 安置最佳化或一安排之路徑更新。因而,1C設計之 狀態朝最終電路規格及布局遞增進展。 在另一具體實施例中,反覆地實行該等安置變換,直至 關鍵路彳二開始成形或直至依據一預定擁塞臨限值充分散佈 資源。用於反覆效能之準則係日寺序、每資源層擁塞、面積 利用及電力。 每資源層擁塞可藉由使用資源層來加以決定。對於晶片 上的各不同原型類型資源均存在一資源層。例如,現今的 FPGA與結構化ASIC已引入原型晶片資源之不規則布局。 忒些原型類型包括邏輯(LUT)、正反器、用於高速串聯互 連之特殊I/O單元(諸如SERDES)、具有不同容量及高速算 術組塊以加速Dsp演算法之各種記憶體組件。除邏輯與正 反器外,一般而言,該些資源均以一稀疏且可能不規則的 方式來加以包括。許多FPGA具有在晶片上以稀疏行配置 的的一有限數量RAM、DSP以及其他專用邏輯組塊。例 如’ DSP舁術組塊可能在晶片布局内僅在2行内可用。一 133330.doc 14 200915123 資源層係—針對各原型類型而建立之分佈地圖並記錄用於 該類型之可用資源位置與該類型之各原型之安置一岸在 存在-使用多於供應之局部化實體區域時認為隸塞的。 在此方法之-典型範财,從具有時序約束與安置約束 之一高階表示(諸如10接針、現有平面佈置圖或現有安置) 產生積體電路設計之-初始狀態。該高階表示可以係—硬 體描述語言(舰)碼或在根據—硬體描述語言(hdl)碼編 譯之後的一技術獨立RTL電路規劃清單。 在一具體實施例中,綠於時序藉由—系列中性最佳化 來最佳化積體電路設計之初始狀態之電路規劃清單。該等 中性最佳化可以係可料撤銷之任-區域之-回復(諸如 資源共用或不共用);加哭出·人μ ^ } 去盗樹分解,其較佳的係基於扇 出表時序;-資源指派、電路規劃清單之—壓平合併 (Hauen)以橫跨階層促進最佳化;多工器擷取或重構。 在-具體實施例中,該積體電路之設計狀態之—般流從 - RTL電路規劃清單進展至—分解及因子分解接著至一 映射及安排之路;fk電路規劃清單。透過整個流來實行安置 修改、資源指派及面積或時序最佳化。 在-具體實施例中’精緻化安置及電路架構之程序重複 直至已給予所有高階組件―特^實施方案與資源指派且該 安置已散佈在w上使得每—_具有足夠的附近資源用 於實施。-更傳統實體合成流可從此刻用以完成該實施方 案。 在另$體實施例中’記錄所應用的變換及其潛在替代 133330.doc -15· 200915123 例。可重複該流且可應用該等替代性變換以獲得更佳釺 果。 、’口 本發明還揭示裝置,包括可用以設計積體電路的軟體媒 體。例如,本發明包括數位處理系統,其能夠依據本發明 設計積體電路,且本發明還提供機器可讀取媒體,其在一 數位處理系統(諸如一電腦系統)上執行時引起該數位處理 系統實行一種用於設計積體電路之方法。 根據下列附圖及詳細說明將會明白本發明之其他特徵。 【實施方式】 、、i 本文中說明用於設計-積體電路或複數個積體電路之方 法及裝置。在下列㈣_ ’ A 了解釋目的’提出許多特定 細節’以便徹底瞭解本發明n f知此項技術者會瞭 解,沒有此等特定細節本發明仍能實施。在其他例項中, 熟知結構、程序及器件均以方塊圖形式顯示或以一概要方 式引用以便提供一解釋而無不適當的細節。 本發明揭示用以設計一積體電路之方法及 體實施例中,其以一單-動作組合安置與合成。 一具體實施例揭卜種實體合成程序,稱為架構實體合 成,其中在合成與安置之間的交互作用在一架構層次上: 2。此允許合成與在-積體電路之基板之一纟示上的實際 實體安置-起發生’從而提供可用局部資源與延遲估外密 切相關聯於來自安置之實際電路時序的合成,因而可同時 考量合成與安置之間的交互作用。此外,此可提供—種進 行面階架構決策之自動化方法,從而以一方式映射高階组 I33330.doc 16 200915123 =進行高階電路變換,使得將安置、擁塞估計及目炉曰 性(包括但不限於不同資源之實體分佈; 互連延遲)考量在内。依據本發明之—態樣 ^到’給定—電路設料—舰竭 ^ 案,重:有千面佈置圖而吕。為了實現-最佳設計實施方 /諸如二 夠基於透過安置採集的目前可用電路資料The down-transformation can be a placement update, a resource assignment, a synthesis optimization placement optimization, or an arrangement path update. As a result, the state of the 1C design progresses toward the final circuit specification and layout. In another embodiment, the placement transformations are performed repeatedly until the critical path begins to form or until the resource is fully distributed according to a predetermined congestion threshold. The criteria for repetitive performance are the Japanese temple order, congestion per resource layer, area utilization, and electricity. Congestion per resource layer can be determined by using the resource layer. There is a resource layer for each of the different prototype type resources on the wafer. For example, today's FPGAs and structured ASICs have introduced irregular layouts of prototype wafer resources. Some prototype types include logic (LUT), flip-flops, special I/O units for high-speed serial interconnects (such as SERDES), and various memory components with different capacity and high-speed arithmetic blocks to accelerate the Dsp algorithm. In addition to logic and flip-flops, in general, these resources are included in a sparse and possibly irregular manner. Many FPGAs have a limited amount of RAM, DSP, and other dedicated logic blocks that are sparsely arranged on the wafer. For example, a 'DSP trick block may be available in only 2 lines within the wafer layout. A 133330.doc 14 200915123 Resource layer - a distribution map established for each prototype type and records the location of available resources for that type and the placement of each type of prototype of that type exists in the presence - use more localized entities than supply The area is considered to be plugged. In this method, the typical state, from the high-order representation with timing constraints and placement constraints (such as 10 pins, existing floor plan or existing placement) - the initial state of the integrated circuit design. The higher order representation may be a hardware description language (ship) code or a technically independent RTL circuit planning list after being compiled according to the hardware description language (hdl) code. In one embodiment, the green is used to optimize the circuit planning list for the initial state of the integrated circuit design by series-neutral optimization. Such neutral optimization may be based on the revoked-area-recovery (such as resource sharing or non-common); plus crying human μ ^ } to steal the tree decomposition, preferably based on the fan-out table Timing; - Resource assignment, circuit planning checklist - Hauen to promote optimization across the hierarchy; multiplexer capture or reconstruction. In a specific embodiment, the general state of the design state of the integrated circuit proceeds from the - RTL circuit planning list to - decomposition and factorization followed by a mapping and scheduling path; fk circuit planning list. Placement modifications, resource assignments, and area or timing optimization are implemented through the entire flow. In a particular embodiment, the process of 'refinement placement and circuit architecture is repeated until all high-level components have been given-specific implementations and resource assignments and the placement has been spread over w such that each__ has sufficient nearby resources for implementation . - A more traditional physical synthesis stream can be used to complete the implementation from now on. In the other embodiment, the transformation applied and its potential substitution are recorded 133330.doc -15· 200915123. This stream can be repeated and these alternative transformations can be applied to obtain better results. The invention also discloses apparatus comprising a software medium that can be used to design an integrated circuit. For example, the present invention includes a digital processing system capable of designing an integrated circuit in accordance with the present invention, and the present invention also provides a machine readable medium that causes the digital processing system to be executed on a digital processing system, such as a computer system A method for designing an integrated circuit is implemented. Other features of the invention will be apparent from the description and drawings. [Embodiment] i, i describes a method and apparatus for designing an integrated circuit or a plurality of integrated circuits. In the following (4) _ ′ A, the description of the present invention is made in order to provide a thorough understanding of the present invention, and it will be understood by those skilled in the art that the present invention can be practiced without the specific details. In other instances, well-known structures, <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; The present invention discloses a method and body embodiment for designing an integrated circuit that is placed and combined in a single-action combination. A specific embodiment discloses an entity synthesis procedure, referred to as architectural entity synthesis, in which the interaction between composition and placement is at an architectural level: This allows for the synthesis and actual physical placement on one of the substrates of the integrated circuit to occur, thereby providing a usable local resource and delay estimation, which is closely related to the synthesis of the actual circuit timing from the placement, and thus can be considered simultaneously The interaction between synthesis and placement. In addition, this provides an automated method for making surface-level architectural decisions, mapping high-order groups in a way. I33330.doc 16 200915123 = Performing high-order circuit transformations, making placement, congestion estimation, and ambiguity (including but not limited to The physical distribution of different resources; interconnection delay) is considered. According to the invention, the state of the invention is given to the circuit-setting of the ship, and the weight is as follows: In order to achieve - the best design implement / such as two based on the current available circuit data collected through the resettlement

(啫如時序或電力)回溯一更早合成決策。 因而,在本發明之一態樣中’在高階設計或行為表示 在早期合成循環中,例如在電路架構層次中,實行安 置以允許各種設計實施方案之適用性之精確評估。此對於 諸如FPGA與結構化ASIC之預擴散晶片尤其重要,其中資 =不均勻地分佈在晶片上。在預擴散晶片中,資源位置及 負源類型係以-稀疏方式來預定並分佈。例如,現今的 FPGA與結構化ASIC已引人晶片資源之不規則布局。此等Backtracking an earlier synthesis decision (such as timing or power). Thus, in one aspect of the invention 'in a high-order design or behavioral representation in an early synthesis cycle, such as in a circuit architecture hierarchy, an implementation is implemented to allow for an accurate assessment of the applicability of various design implementations. This is especially important for pre-diffused wafers such as FPGAs and structured ASICs where the distribution is unevenly distributed across the wafer. In pre-diffused wafers, resource locations and negative source types are predetermined and distributed in a sparse manner. For example, today's FPGAs and structured ASICs have introduced irregular layouts of wafer resources. Such

,、且件可此包含邏輯、正反器、用於高速串聯互連之特殊 I/O單元(諸如SERDES)、具有不同容量及高速算術組塊以 加速DSP演算法之各種記憶體組件。許多FPGA具有在晶片 上以稀疏仃配置的一有限數量RAM、DSP以及其他專用邏 輯組塊。例如,DSp算術組塊可能在晶片布局内僅在以亍 内可用。 在一恶樣中’本發明解決在晶片架構演化中的此變化以 在合成流開始時整合實體放置與架構選擇。此要求可處於 RTL層次或行為合成層次處,其中決定不同類型的要求資 133330.doc 17 200915123 源之數目。 在一早期合成程序(例如在一設計之許多組件未曾選擇 一實施方案時)資源布局資訊之目前意識以及安置^合成 ,整合可提供-最佳資源利用。例如,未意識到資源布局 資訊之一 RTL合成程序可能導致一中間電路規劃清單,該 中間電路規劃清單過度使用一些資源資料,而其他資源類 型卻利用不足。此外,該等資源類型決策可能不相容於該 等資源之實體位置。例如’可在晶片之一局部化部分内^ 求多個超過可用者的DSP資源。本合成方法可藉由瞭解此 等資源在晶片上的分佈以及不僅瞭解存在足夠的一特定資 源,而且了解附近有足夠資源來提供其一有效率利用。因 而,可避免起因於投送信號至不同放置資源的大互連延 遲。 依據本發明之一態樣,在合成仍處於一高階電路表示 (例如在一設計中的許多組件可能仍未具有一選定實施方 案)或一閘位準描述仍待決定時決定各種安置決策。該些 安置決策可能實現精確評估電路參數,諸如時序延遲或電 力消耗,從而准許一遞增路徑朝向一最佳設計實施方案。 在一具體實施例中,如圖3所示,在操作3〇中,該程序開 始於ic设§十之一初始狀態,其可能包括ESL或HDL語言、 一行為抽象或一編譯HDL碼至RTl電路規劃清單之—高階 抽象,加上時序、平面佈置圖、電力及放置約束。在操作 3 1中,實行一合成變換,其在該程序之—早期階段將會係 一高階變換。此合成變換可能僅針對該設計之一部分。在 133330.doc -18- 200915123 ::作32中’在現有電路表示上實行安置變換,並在一早期 F白段,將會係在一架構 層—人的—女置。此安置變換可能僅 ’…又#之—部分。在此操作時的該等安置決策可能要 求各觀定與料,由於可能在此早㈣段錯過詳細資 二接著在操作34評估該職態之準備就緒,且若其滿足 4與合法目標’則在操作48中繼續移動至傳統實體合 成。如在此早期階段可能的,若不滿足該等目標,則將會 迴圈返回至另一回合合成。 下一合成反覆(目前操作31)將會改良設計表示尤其係 在具備實體安置資訊(先前操作32)之後。且類似地,下一 安置反覆(目前操作32)將在具備一合成改良之後改良其電 路參數估計。使用此類密切迴圈,合成與安置可一起緊密 工作以提供-路徑至-最佳設計表示而無明顯重做。 在一具體實施例中’該合成操作為—電路設計表示提供 ^種實施方案,且該安置操作可執行電路參數分析以幫助 縮小該等選項。例如,若實施方案#1明顯出色,則其將被 選擇,並將潛在實施方案之數目縮小至—。或者,若實施 方案#2明顯超出該等設計約束之範嘴,則其將被排除,從 而將潛在實施方案之數目縮小一。 依據本發明之一態樣,一種用於設計複數個積體電路之 範例性方法從一抽象機器規格中提出—整合、交互作用且 反覆合成及安置❶在一具體實施例中,該設計積體電路之 範例性方法遞增改變1C設計之狀態。開始於1(:設計之一初 始狀態,其包含ESL或HDL語言、一行為抽象或—編譯 133330.doc •19- 200915123 HDL碼至RTL電路規劃清單之一高階抽象,加上時序、平 面佈置圖 '電力及安置約束,該範例性方法遞增地反覆改 變該1C βχ计狀感,直至到達一最佳化設計狀態。該最佳化 狀‘%較佳的係滿足該等時序及安置約束的—晶片原型層次 電路規劃清單’其可㈣傳遞至—傳駐£及安排路徑程 序而無任一廣泛重做。 依據一態樣,本發明揭示一合成及安置之反覆程序,其 中各反覆在積體電路設計上提供遞增變化。將參考圖4提 供本發明之特定具體實施例之一一般範例。圖4之方法開 始於操作4G ’纟中產生—Ic設計之_初始狀態。該設計 之初始狀態包含一行為表示或高階RTL電路規劃清單,其 可由HDL原始碼來編譯,該原始碼描述電路與邏輯。 δ亥技術獨立RTL電路規劃清單一般係該設計之一更高階 行為表示。此保存抽象資訊以在最終映射步驟前供程序使 用。此點不同於傳統合成工具,其在進行語言編譯之後立 即將設計分段成精細、低層次(閘)表示。藉由保存一更高 階行為表示,一合成工具可執行最佳化,在一遠更全域的 層次劃分並平面佈置圖且一般會遞交更佳 象資㈣作,該合成工具還可更快地操作並處 計。該高階RTL電路規劃清單包含獨立於任一特定供應商 技術或架構之咼階抽象,諸如電路組塊表示。 該1C設計之初始狀態進一步包含時序約束、電力約束及 安置約束,諸如10接針位置、現有平面佈置圖或現有安置 (例如1C晶片之大小及形狀、ΙΡ組塊)。在操作42中遞增 133330.doc -20· 200915123 改變ic設計之狀態。該積體電路設計之狀態_般包含 路規劃清單、時序資料、資源資訊、安置資訊'安排之路 徑資訊及電力資科。在設計狀態中的遞增變化可以係 或安置修改,且下面將進—步作說明。在本發明之一離樣 中,該等變化係遞增的,意味著該等設計最佳化一般隨著 小幅修改諸如時序估計與安置約束之所有目前資訊而繼 續。該等遞增變化允許設計滿懷信心地進展,使得穩步地 ,展。在-態樣中’該等遞增變化涉及—遞增全域放置演 算法諸如力引導方法。在另一態樣中’該等遞增變化涉 及全域最佳化演算法,諸如模擬退火。在操作44中,評估 該ic設計之狀態,並在操作46中決定是否繼續藉由返回操 作42進步反覆’或在操作48完成設計流而做出決策。 本電路-X汁方法在積體電路設計中的兩個基本步驟(即 合成與實體設計(例如安置與安排路徑))之間提供—高度整 s且交互作用程序。概念上合成與安置強烈相互依賴,由 於’又有女置在合成上無法精確估計設計約束,而沒有合 成’無法實行安置,故本發明設計方法使用遞增反覆方案 將合成與女置有效地合併成一步驟程序。 在具體實她例中’本發明提供合成/安置變換之一反 覆。§亥反覆程序之主體可以係-安置變換、-合成變換或 合成與安置換之—組合。在任_情況下,該積體電路設 计之狀態朝滿足該等設計目標之一晶片原型層次電路規劃 清單之合成或安置遞增且反覆地變化。圖5八及56顯示用 於6又计一 1C之一流之一部分的兩個範例;在圖5A所示之方 133330.doc -21 - 200915123 法之情況下,先發生-安置變換,隨後進行一合成變換, 而在®I 5B中則發生反向情況。合成、安置或合成/放置之 料及反覆變換在該設計之任—狀態處在合成與安置之間 提供連續反覆。該合成及安置之遞增及反覆進展保證該 合成變換始終具有最新且最精確的設計狀態資訊,其包括 來自安置變換之延遲資訊與局部資源可用性,且其中該等 2置變換料基於最近合成電路規料單來提供用於實體 、 #置與女排t路徑資訊的最佳估計。#置及合成變換繼續 直至電路規劃清單僅由晶片層次原型所組成,滿足該等設 t目標,然後將安置擁塞減少至—層次,其t —詳細放置 為可谷易地獨立合法化任一較小局部區域。此流後面可跟 隨一傳統實體合成流來完成實施方案。 圖6顯示用於遞增改變1〇設計狀態之本發明之一具體實 施例。本發明可同時放置所有抽象層次。在早期:覆期 間’在更高抽象層次的物件比在其中設計主要由晶片原型 )所組成之稱後反覆中更普遍。該等晶片原型例項一般係最 低階的表示。合成變換逐漸地修改電路規劃清單,將在一 更高抽象層次的該等物件變成更具體的物件。該些具體物 件具有更特疋的 &gt; 源要求,接著在下列合成與安置變換中 將其考量在内。安置變換決定電路規劃清單例項之位置, 即RTL例項、未映射例項、映射例項或晶片原型層次例 項,從而隨同路由器決定電路中網路之長度及延遲。該安 置變換可朝一合法放置逐漸反覆電路安置,其中合法安置 意味著滿足主導1C晶片之資源使用的規則。一般而言,在 133330.doc -22- 200915123 該等早期反覆巾,該安置將會不合法。由於該安置變換在 物件位置上進行遞增變化,故該安置變換之單—反覆將不 會在一合法放置中建立。係透過反覆安置變換,該安置將 變得合法。在此具體實施例中,該安置變換係本電子設計 自動化之中心β 在各反覆中,用於一反覆之準則可以係時序資料、每資 源層擁塞、面積利用、電力位準或其任一組合。該方法可 進一步包含-可能内部迴圈反覆以最佳化設計,以成形關 鍵路徑,或以散佈該等資源至一預定臨限值。 使用合成及安置變換之遞增反覆之本發明方法之一具體 實施例’在設計之所有階段中在合成變換巾始終可使用實 體設計資訊。因而,在合成中的該等最佳化及變換始終在 時序及區域並還在可安排路徑性影響上係最新的。在合成 中進行關於電路結構之決策與安置完全協調一致。 合成及安置變換之遞增反覆之本發明方法有㈣組合該 等合成及安置變換以同時最佳化邏輯結構以及一電路之空 間安置。在此方法之—典型範例中,該積體電路設計之狀 悲朝最終電路規格及布局遞增進展。 該反覆性安置變換之進展可以係電路規劃清單或—安置 組態之一增加成熟度位準。一設計之成熟度係藉由電路規 劃清單僅由晶片層次原型所組成、滿足該等設計目標以及 將安置擁塞減少至-位準H細節放置器可容易^ 地合法化任一杈小局部區域的程度來加以測量。 該反覆合成變換之進展可以係一合成最佳化,諸如物件 133330.doc -23- 200915123 或實體之重構或複製,以滿足時序約束。合成最佳化包括 但不限於一電路最佳化、一抽象組件分解、一算術映射、 一撤銷/復原資源共用、一加法器樹分解、—基於安置之 及/或閘分解、路徑複製、一路徑迂迴(detour)移除、至諸 如RAM或DSP之離散資源的一指派、一邏輯因子分解、多 工器重構或一電路規劃清單之一壓平合併以橫跨階層促進 - 最佳化。 、 圖6中顯示此方法之具體實施例,其開始於一操作61 , f 其中產生1C設計之一初始狀態。該1C設計之狀態可以係一 RTL網路,其具有相關聯狀態資訊,諸如時序資料、資源 資訊、安置資訊、安排之路徑資訊及/或電力資料。一般 而言,該1C設計之狀態包含足夠資訊來指定該等電路要 求,諸如功能性、時序、電力及平面佈置圖。 焉階RTL電路規劃清單包含一電路規劃清單,其中大多 數物件係該等低階晶片原型之抽象。多個群組的相關聯原 〇 型可使用更高階表^來表*成物件,其表M RTL所編碼 之功能性。該積體電路設計之高階或抽象表示可以係邏輯 物件,其表示RTL碼或其部分。各物件一般表示多個晶片 原型’例如更複雜的功能,諸如加法器、乘法器、多工器 與順序邏輯以及AND功能、OR功能。高階表示之物件還 可包括記憶體組塊或私人(智慧財產權組塊或Ip)組塊。其 他邏輯物件可以係RTL碼之部分以提供支援功能,諸如膠 合邏輯(提供緩衝器或介接功能)、時序邏輯、控制邏輯或 記憶體邏輯。一些高階RTL物件還可能係晶片層次原型。 133330.doc •24· 200915123 該物件電路規劃清單還包括用於佈線及安置的相關聯於各 物件之資訊。該等物件可包括用以映射回至對應rtL碼之 資訊。 此外,RTL碼可包含階層,其中功能係一起分組。在一 些情形下,可從一階層至另一階層重新分組組件以便最佳 化時序、安排路徑、面積或電力要求。在其他情形下可 在該遞增反覆程序期間整體或部分地壓平合併功能性rtl 階層。 開始時’設計之初始狀態可包含約束,諸如時序約束、 電力約束及/或安置約束。例如,安置約束可包括1〇接針 之位置、現有平面佈置圖或現有安置資料。 在範例性具體實施例中’先藉由基於時序的一系列中性 最佳化來最佳化設計之初始狀態。該等中性最佳化包括可 容易撤銷的任一區域回復,例如撤銷/復原資源共用;基 於扇出表時序之加法器樹分解;明顯的資源精緻化,例 如’若在設計中存在一巨大RAM且僅存在一 RAM組塊資 源可用,則該RAM不得不前往該處;壓平合併電路規劃清 單以橫跨階層促進最佳化;以及擷取並重構多工器結構。 基於目前設計狀態(目前安置、電路規劃清單、時序、 電力及安排路徑)在操作62中選擇一下一變換以遞增改變 1C設計之狀態。操作63至70係依據本發明之一具體實施例 之典型變換,包含安置或更新安置(63)、指派資源(64)、 因子分解(65)、映射(66)、最佳化邏輯(67)、建立/精緻化 實施方案(68)、更新安排之路徑(69)及其他合成(7〇)。該等 133330.doc -25- 200915123 變換一般係較小、遞增操作以准許無縫整合安置與合成, 如此,使用安置知識來實行合成,並使用合成知識來實行 安置。 該等反覆且遞增變換63至70因而包含安置及合成操作, 包括最佳化變換,諸如撤銷/復原資源共用、加法器樹分 解、AND/OR閘分解、邏輯複製、位元疊接(吣一μ吨)、 迂迴移除、因子分解及放置變換(諸如至離散資源(ram、 DSP等)之指派)及安排路徑。 在範例性具體實施例中,在各反覆處,即操⑽,基於 -成本函數來評估各種潛在變換。該成本函數係設計以選 擇最佳變換來先操作,並因此包括設計狀態資訊,諸如時 序、女置擁塞、安排之路徑擁塞、面積利用及電力。評估 後實行最佳變換且该反覆繼續直至滿足該等設計約束。 在I、樣中,该設計接著可繼續至傳統閘位準安置及安排 路徑。 在各反覆,該方法劉覽一選擇清單,然後基於一成本函 數來$擇最佳變換。例如’在—安置變換與—合成變換之 間的選擇係基於—時序收斂準則。在-關鍵路徑上,如可 月匕的話,女置可嘗試縮短關鍵網路。若無法縮短關鍵網 路,則該等網路可用於實體合成最佳化。 據本土月之另—態樣,一種用於設計積體電路之範例 性^法提供—變換反覆’其中該等合成及安置變換不按任 三人序仁僅針對其功能性而選擇。該方法提供在合成與 女置之間的較佳整合’纟中在反覆内’基於積體電路設計 133330.doc -26- 200915123 之狀態來選摆下_ m ^ 、擇下 ^換’以朝具有時序及安置約束之最级 組態進展。在一 1 、 /、體實施例中,該方法提供一變換選擇演 / 其中係基於諸如時序、每資源層擁塞、面積利用及 一之特疋準則來選擇下一變換。下一變換可以係放置之 A &quot;中該電路將會經歷一反覆以在更少資源擁塞下 _目則電路規劃清單進行安置變化或更佳地滿足設計目 = 變換可以係一合成最佳化,諸如一因子分解'一 最佳化或—八The components can include logic, flip-flops, special I/O cells (such as SERDES) for high-speed serial interconnects, and various memory components with different capacities and high-speed arithmetic blocks to accelerate DSP algorithms. Many FPGAs have a limited amount of RAM, DSP, and other dedicated logic blocks that are sparsely configured on the wafer. For example, a DSp arithmetic chunk may be available only within 晶片 within the wafer layout. In a bad case, the present invention addresses this change in wafer architecture evolution to integrate physical placement and architectural selection at the beginning of the composite stream. This requirement can be at the RTL level or at the behavioral synthesis level, where the number of different types of requirements is determined 133330.doc 17 200915123. The current awareness and placement of resource layout information in an early synthesis process (such as when an implementation of many components of an design has not been selected) provides integration - optimal resource utilization. For example, one of the resource layout information is not aware of the RTL synthesis program, which may result in an intermediate circuit planning list that overuses some resource material while other resource types are underutilized. In addition, these resource type decisions may not be compatible with the physical location of such resources. For example, multiple DSP resources beyond the available ones can be found in one of the localized portions of the wafer. This synthesis method can provide an efficient use by understanding the distribution of such resources on the wafer and not only knowing that there is a sufficient amount of specific resources, but also knowing that there are sufficient resources nearby. As a result, large interconnect delays due to the delivery of signals to different placed resources can be avoided. In accordance with one aspect of the present invention, various placement decisions are made while the synthesis is still in a higher order circuit representation (e.g., many components in a design may still not have a selected implementation) or a gate alignment description is yet to be determined. These placement decisions may enable accurate evaluation of circuit parameters, such as timing delay or power consumption, thereby permitting an incremental path toward an optimal design implementation. In a specific embodiment, as shown in FIG. 3, in operation 3, the program starts with an initial state of one of § §, which may include an ESL or HDL language, a behavior abstraction, or a compiled HDL code to RT1. Circuit Planning Checklist - High-level abstraction, plus timing, floor plan, power, and placement constraints. In operation 31, a synthetic transformation is performed which will be a higher order transformation in the early stages of the procedure. This composite transformation may only be part of this design. In 133330.doc -18- 200915123::32, the placement transformation is carried out on the existing circuit representation, and in an early F white section, it will be tied to an architectural layer - human - female. This placement transformation may only be part of the '... and #. Such resettlement decisions during this operation may require a variety of observations, as it may be missed in this early (four) paragraph and then ready to evaluate the position at operation 34, and if it meets 4 and the legal target' then Moving to the traditional entity composition continues in operation 48. As may be possible at this early stage, if these targets are not met, the loop will be returned to another round of synthesis. The next synthetic iteration (current operation 31) will improve the design representation, especially after having the physical placement information (previous operation 32). And similarly, the next placement reversal (current operation 32) will improve its circuit parameter estimates after having a synthetic improvement. Using such close loops, the synthesis and placement can work closely together to provide a - path to - optimal design representation without significant redoing. In a specific embodiment, the synthesis operation is provided as a circuit design representation, and the placement operation can perform circuit parameter analysis to help narrow down the options. For example, if implementation #1 is clearly outstanding, it will be selected and the number of potential implementations will be reduced to -. Alternatively, if implementation #2 clearly exceeds the design constraints, it will be excluded, thereby reducing the number of potential implementations by one. In accordance with one aspect of the present invention, an exemplary method for designing a plurality of integrated circuits is presented from an abstract machine specification - integration, interaction, and recombination and placement. In a particular embodiment, the design assembly The exemplary method of the circuit incrementally changes the state of the 1C design. Start with 1 (: design an initial state, which contains ESL or HDL language, a behavioral abstraction or - compile 133330.doc • 19- 200915123 HDL code to RTL circuit planning list, high-order abstraction, plus timing, floor plan 'Electricity and placement constraints, the exemplary method incrementally and repeatedly changes the 1C β 状 Sense until an optimized design state is reached. The optimization ‘% is better to satisfy the timing and placement constraints —— The wafer prototype hierarchical circuit planning list 'may be (4) passed to the transmission and arrange the path procedure without any extensive redoing. According to one aspect, the present invention discloses a repetitive procedure of synthesis and placement, wherein each of the repetitive processes is repeated An incremental variation is provided in the circuit design. A general example of a particular embodiment of the present invention will be provided with reference to Figure 4. The method of Figure 4 begins with the initial state of the Ic design generated in operation 4G '纟. The initial state of the design includes A behavioral representation or high-order RTL circuit planning list, which can be compiled by the HDL source code, which describes the circuit and logic. A higher-order behavioral representation of the design. This saves the abstract information for use by the program before the final mapping step. This is different from traditional compositing tools, which segment the design into fine, low-level (slam) immediately after language compilation. ) By storing a higher-order behavioral representation, a synthesis tool can perform optimization, partitioning and planarizing the map at a far more global level and generally submitting better images (4), the synthesis tool can also be more The high-order RTL circuit planning list contains a hierarchical abstraction independent of any particular vendor technology or architecture, such as a circuit block representation. The initial state of the 1C design further includes timing constraints, power constraints, and placement. Constraints, such as 10 pin locations, existing floor plans or existing placements (e.g., 1C wafer size and shape, ΙΡ block). In operation 42, increment 133330.doc -20· 200915123 to change the state of the ic design. The state of the circuit design _ generally includes the road planning list, timing data, resource information, resettlement information 'arrangement path information and power resources. Incremental changes in the design state can be modified or placed, and will be further described below. In one of the departures of the invention, the changes are incremental, meaning that the design optimization is generally modified with minor modifications. Continue with all current information such as timing estimation and placement constraints. These incremental changes allow the design to progress with confidence, making it steadily, exhibiting. In the -state, 'the incremental changes involve-incrementing global placement algorithms such as force guidance In another aspect, the incremental changes involve a global optimization algorithm, such as simulated annealing. In operation 44, the state of the ic design is evaluated, and in operation 46 it is determined whether to continue with the return operation 42. Progress is repeated 'or making a decision to complete the design flow at operation 48. This circuit-X juice method provides a highly integrated and interactive procedure between two basic steps in the design of an integrated circuit, namely synthesis and physical design (eg placement and routing). Conceptually, the synthesis and placement are strongly interdependent. Since the designation constraints cannot be accurately estimated in the synthesis, and there is no synthesis, it is impossible to implement the placement. Therefore, the design method of the present invention uses the incremental and repeated scheme to effectively combine the synthesis and the female placement into one. Step procedure. In the specific example, the present invention provides a reversal of the synthesis/placement transformation. § The main body of the remake procedure can be a combination of placement transformation, synthesis transformation or synthesis and replacement. In either case, the state of the integrated circuit design changes incrementally and repeatedly toward the synthesis or placement of the wafer prototype hierarchical circuit planning list that satisfies one of the design goals. Figures 5 and 56 show two examples for a portion of a stream of 6 and 1C; in the case of the method 133330.doc -21 - 200915123 shown in Figure 5A, the occurrence-placement transformation occurs first, followed by a The transformation is synthesized, and in the ®I 5B, the reverse occurs. The synthesis, placement or synthesis/placement and reversal transformations provide a continuous reversal between synthesis and placement in the design-state. The incremental and repetitive progress of the synthesis and placement ensures that the synthetic transformation always has the most up-to-date and accurate design state information, including delay information from the placement transformation and local resource availability, and wherein the 2-position transform is based on the most recent synthetic circuit gauge The bill of materials provides the best estimate of the path information for the entity, #set and women's volleyball. The set and synthesis transformations continue until the circuit planning list consists of only the wafer level prototypes, satisfying the set t targets, and then reducing the placement congestion to the level, and the t-detailed placement is independently legalized. Small local area. This stream can be followed by a conventional entity synthesis stream to complete the implementation. Figure 6 shows a specific embodiment of the invention for incrementally changing the design state. The present invention can place all levels of abstraction simultaneously. In the early days: the overlap between the objects at a higher level of abstraction than the one in which the design was mainly composed of a prototype of the wafer was more common. These wafer prototypes are generally the lowest order representations. Synthetic transformations gradually modify the circuit plan list to turn those objects at a higher level of abstraction into more specific objects. These specific items have more specific &gt; source requirements and are then considered in the following synthesis and placement transformations. The placement transformation determines the location of the circuit planning list item, ie, the RTL instance, the unmapped instance, the mapping instance, or the wafer prototype level instance, thereby determining the length and delay of the network in the circuit along with the router. The placement change can be placed over a legally placed gradual repetitive circuit, where legal placement means that the rules governing the use of resources for the 1C chip are met. In general, at 133330.doc -22- 200915123, these early reversals will not be legal. Since the placement change is incrementally changed at the position of the object, the single-reverse of the placement transformation will not be established in a legal placement. The placement will become legal through repeated placement changes. In this embodiment, the placement transformation is the center of the electronic design automation. In each of the repetitive, the criteria for repetitiveness may be time series data, congestion per resource layer, area utilization, power level, or any combination thereof. . The method may further include - possibly internal loop reversal to optimize the design to shape the critical path, or to spread the resources to a predetermined threshold. One of the methods of the present invention that uses incremental inversion of the synthesis and placement transformations. The physical design information is always available in the synthetic conversion wipes at all stages of the design. Thus, such optimizations and transformations in the synthesis are always up-to-date in terms of timing and region and also in arranging pathological effects. The decision-making and placement of the circuit structure is fully coordinated in the synthesis. The inventive method of incrementally recombining and arranging transformations has (iv) combining the synthesis and placement transformations to simultaneously optimize the logical structure and the spatial placement of a circuit. In the typical example of this method, the design of the integrated circuit is steadily moving toward the final circuit specification and layout. The progress of the reversal placement transformation may be one of a circuit planning list or a placement configuration to increase the maturity level. The maturity of a design is made up of only the wafer level prototypes by the circuit planning list, satisfying the design goals, and reducing the placement congestion to the -level H detail placer, which can easily legalize any small local area. To measure the degree. The progress of the inverse synthetic transformation can be optimized for synthesis, such as object 133330.doc -23-200915123 or entity reconstruction or replication to meet timing constraints. Synthesis optimization includes, but is not limited to, a circuit optimization, an abstract component decomposition, an arithmetic mapping, an undo/restore resource sharing, an adder tree decomposition, a placement-based and/or gate decomposition, a path replication, and a Path detour removal, an assignment to discrete resources such as RAM or DSP, a logic factorization, multiplexer reconstruction, or a circuit planning list is flattened to facilitate optimization across the hierarchy. A specific embodiment of the method is shown in Figure 6, beginning with an operation 61, where one produces an initial state of the 1C design. The state of the 1C design can be an RTL network with associated status information such as timing information, resource information, placement information, routing information, and/or power data. In general, the state of the 1C design contains sufficient information to specify such circuit requirements, such as functionality, timing, power, and floor plan. The hierarchical RTL circuit planning list contains a circuit planning list in which most of the objects are abstractions of these low-order wafer prototypes. The associated primitives of multiple groups can be compared to objects using a higher order table, which is the functionality encoded by the table M RTL. The higher order or abstract representation of the integrated circuit design can be a logical object that represents an RTL code or portion thereof. Each object generally represents a plurality of wafer prototypes&apos; such as more complex functions such as adders, multipliers, multiplexers and sequential logic, and AND functions, OR functions. Objects represented by higher order may also include memory chunks or private (intellectual property chunks or Ip) chunks. Other logic objects can be part of the RTL code to provide support functions such as glue logic (providing buffer or interface functions), timing logic, control logic, or memory logic. Some high-order RTL objects may also be wafer level prototypes. 133330.doc •24· 200915123 The list of object circuit plans also includes information on the various items associated with wiring and placement. The objects may include information to map back to the corresponding rtL code. In addition, the RTL code can include a hierarchy in which the functions are grouped together. In some cases, components can be regrouped from one level to another to optimize timing, routing, area, or power requirements. In other cases, the merged functional rtl hierarchy may be flattened, in whole or in part, during the incremental repeat procedure. The initial state of the design at the beginning may include constraints such as timing constraints, power constraints, and/or placement constraints. For example, the placement constraints may include the location of the pin, the existing floor plan, or existing placement information. In an exemplary embodiment, the initial state of the design is optimized by a series of timing-based neutral optimizations. These neutral optimizations include any area replies that can be easily undone, such as undo/restore resource sharing; adder tree decomposition based on fan-out table timing; significant resource refinement, such as 'if there is a huge in design RAM and only one RAM chunk resource is available, then the RAM has to go there; flatten the merged circuit plan list to promote optimization across the hierarchy; and capture and reconstruct the multiplexer structure. Based on the current design state (current placement, circuit planning list, timing, power, and scheduling path), a change is selected in operation 62 to incrementally change the state of the 1C design. Operations 63 through 70 are typical transformations in accordance with an embodiment of the present invention, including placement or update placement (63), assignment of resources (64), factorization (65), mapping (66), optimization logic (67) , establish/refine the implementation plan (68), update the route (69) and other synthesis (7〇). These 133330.doc -25- 200915123 transformations are generally small, incremental operations to permit seamless integration of placement and synthesis, thus using placement knowledge to perform the synthesis and using synthetic knowledge to implement the placement. The repeated and incremental transformations 63 to 70 thus include placement and synthesis operations, including optimization transformations such as undo/restore resource sharing, adder tree decomposition, AND/OR gate decomposition, logical replication, bit splicing (吣一μ ton), round-trip removal, factorization and placement transformations (such as assignment to discrete resources (ram, DSP, etc.)) and scheduling paths. In an exemplary embodiment, various potential transformations are evaluated based on the -cost function at each iteration, i.e., (10). The cost function is designed to operate with the best transformation selected, and thus includes design status information such as timing, female congestion, scheduled path congestion, area utilization, and power. The best transformation is performed after the evaluation and the continuation continues until the design constraints are met. In the case of I, the design can then continue to the conventional gate placement and arrangement path. In each case, the method selects the list and then selects the best transformation based on a cost function. For example, the choice between the 'placement transformation' and the -formation transformation is based on the timing closure criterion. On the critical path, such as the moon, you can try to shorten the critical network. If critical networks cannot be shortened, they can be used for physical synthesis optimization. According to another aspect of the local month, an exemplary method for designing an integrated circuit provides a "transformation" in which the synthesis and placement transformations are not selected for their functionality. The method provides a better integration between the synthesis and the female device. In the reverse, the state is based on the state of the integrated circuit design 133330.doc -26- 200915123, and the next step is to set the next _ m ^ The most advanced configuration progress with timing and placement constraints. In a 1, /, embodiment, the method provides a transform selection / where the next transform is selected based on criteria such as timing, per-resource layer congestion, area utilization, and a special criterion. The next transformation can be placed in A &quot; the circuit will undergo a repetitive process to make placement changes under less resource congestion, or better meet the design goal = transformation can be optimized for synthesis , such as a factorization 'one optimization' or - eight

宅 刀 下—變換可以係一合成最佳化’諸如分 。重構或複製,以滿足時序或關鍵路徑要求。下一變換 可以係人占 * ; ^ ^ α ,其中可朝向晶片原型層次電路規劃清單將目 則電路規t彳清單映射成更低減m最終化電路規格及 布局或更新安排之路徑。 次下:變換可以係—安置最佳化,諸如平面佈置圖劃分、 貧源指派、邏輯重構或複製以滿足時序或關鍵路徑要求, 或為例員安置更新安排之路徑。下一變換可以係一合成操 X其中可朝向晶片原型層次電路規劃清單將目前電路規 劃清單映射成更低抽象層次以最終化電路規格及布局。 '使用遞增變換’諸如時序及電力之設計狀態資訊係最新 的,且因為可在精確檢視對目標的影響來實行最佳化。 在替代性具體實施例中,選擇數個變換。接著施加各 t疋i換以测量對設計狀態的影響並返回或撤銷。接著選 擇並施加最佳變換。 在一具體實施例中 為電路規劃清單中的 ,本發明之一關鍵步驟係操作68,其 各RTL物件建立或精緻化可能的實施 133330.doc •27· 200915123 方案選擇。-相關聯功能實行要求用於 例之各實施方案替代例之形狀及資源之估計實二案:二 實施例中,操作68還可指派權重至各實施:在另二具體 ψ φ,. 、 案,4日不較佳 實知方案。在-架構層次併入合成與安置的本發明之 鍵優點在於,其允許評估不同的架構實施方案。不使用本 架構實體合成,mTL合成階段選取 閘位準安置階段,蔣合丁 _ 乃系在 A n 夺會不可能回復高階資訊。此點可導致 ^佳性’若其他實施方案本來較佳的話。因此,若使用 在RTL層次進行實施方案決策,則可獲得更佳的 換極難以實行。女置及女排路輯段映射電路,此變 性狀::緻化,操—^ Μ,該函數實施F = s &amp; (A * c;:將會*用以:釋操作 號S為1,則F係相 (B 右選擇信The home knife-transformation can be a synthetic optimization 'such as points. Refactor or copy to meet timing or critical path requirements. The next transformation can be made up of * ; ^ ^ α , which can be mapped to the lower level of the circuit specification and the path of the layout or update arrangement toward the wafer prototype hierarchical circuit planning list. Next: Transforms can be tied to placement optimization, such as floor plan partitioning, lean source assignment, logical reconstruction or replication to meet timing or critical path requirements, or to route updated arrangements for routines. The next transformation can be a synthetic operation in which the current circuit plan list can be mapped to a lower level of abstraction to the finality of the circuit specification and layout. 'Using incremental transforms' such as timing and power design status information is up to date and optimized because of the ability to accurately view the impact on the target. In an alternative embodiment, several transforms are selected. Each t疋i is then applied to measure the effect on the design state and return or revoke. Then select and apply the best transformation. In a specific embodiment of the circuit planning list, one of the key steps of the present invention is operation 68, the implementation of which each RTL object is established or refined. 133330.doc • 27· 200915123 Scheme selection. - The associated function implements an estimate of the shape and resources required for the alternative embodiments of the example: In the second embodiment, operation 68 may also assign weights to each implementation: in the other two specific φ φ, . 4th is not a better solution. The advantage of the present invention incorporating the synthesis and placement at the architectural level is that it allows for the evaluation of different architectural implementations. Without using the entity synthesis of this architecture, the mTL synthesis stage selects the quasi-relocation stage of the gate, and Jiang Heding _ is unable to recover high-level information at the A n. This can lead to goodness if other embodiments are preferred. Therefore, if you use the implementation decision at the RTL level, you can get better conversions that are difficult to implement. Female and women's volleyball road segment mapping circuit, this degeneration:: chemical, operation - ^ Μ, the function implementation F = s &amp; (A * c;: * will be used to: the operation number S is 1, Then F phase phase (B right choice letter

相乘之結果。摔作68A 右_’__C 例。圖心==:定可能的實施方案替代 函數建立的兩個可#實;=精緻化實施方案操作可為此 個乘法器與一多::,方案替代例。_示利用兩 序關鍵且選❹實施方案’其可能在輸出F係時 顯示利用-單1^、/最近料_時合乎需要。圖_ 入㈣最近到達多工11的—實施方案,其將在輸 時更合乎需要/ F非時序關鍵且需要面積減少 使用關於該功能7 例解說#源共用/不共用。不 、及安置的資訊,一典型高階合成演 133330.doc -28- 200915123 算法將-Μ會評估諸如圖心之—替代例心其使用 用於兩個極昂貴乘法器之資源。甚至在其中傳統流的安置 在專用未利用乘法考資调 D貝原附近放置此功能,其輸出關鍵且The result of multiplication. Falling 68A right _’__C example. Fig. ==: The possible implementation alternatives to the two functions that can be created by the function; = refined implementations can be used for this multiplier with a multi::, alternative to the scheme. It is desirable to use the two-order key and select the implementation scheme, which may indicate that the utilization-single 1^, / recent material_ is displayed when the F system is output. Figure _ In (4) The most recent multiplex 11 implementation, which will be more desirable at the time of transmission / F non-timing critical and requires area reduction. Use this function for 7 examples to explain #source sharing / not sharing. No, and placement information, a typical high-level synthesis performance 133330.doc -28- 200915123 The algorithm will evaluate the resources used for two extremely expensive multipliers, such as the heart of the map. Even in the case where the placement of the traditional stream is placed in the vicinity of the dedicated unused multiplication method, the output is critical and

選擇信號S在A、ΒΚ後到達的情況下此仍將會係如此情 況在此發明中,操作68將會建立該些實施方案二者,以 及可能其他’從而在其顯然低於標準時排除替代例。例 如,隨著反覆進行,可能顯然輸出F並不關鍵。在此情況 下,操作68將會精緻化實施方案選擇至僅圖刚者,由於 此替代例使用更少資源。或者,操作68可能在F與選擇線$ 較關鍵且存在附访 ·5|·田咨、、店、,&amp; h 1 n t 用貝源以實施該尊乘法器時排除圖 10B中的實施方案。 ^ga晶片-般具有複數個預擴散記憶體資源,諸如正 反裔、及可變位凡大小(諸如512、4K)之組塊與败剔。 -設計所要求之該等記憶體組件還在大小上變化。一般而 言,不清楚將如何實施該些記憶體組件。例如,在兩個與 512個位兀之間的一適度大小RAM可使用正反器、一 Η]資 源或甚至一 4k資源來加以實施。而且,用於更大記憶體大 J之資源場所-般僅在晶片上稀疏可用。在先前eda工具 中’安置資訊在記憶體實施階段不可用。因此,在沒有局 部使用與精確時序資訊的情況下進行實施決策。此限制可 導致嚴重的效能劣化。若將適度大小的RAM實施為一 $ 1 2 資源且唯一可用的512場所遠離RAM所連接之邏輯而定 位,則強迫該RAM成為一 512將會導致—較長互連且使在 一驰張實施方案上使用一 5丨2場所之延遲好處無效。即使 133330.doc -29- 200915123 使用正反器之一實施方案的延遲可能更長,但若此實施方 案允許在RAM之正反器與RAM所連接之邏輯之間的更短 連貝1i可此導致-更快設計。或者,若在RAM的連接邏 輯附近存在-可用4Kf源,則實施作為4Κ可能較有利。 因而應在各種可用記憶體資源與連接至記憶體之組件之位 置的考量内進行記憶體實施方案決策。 #圖9Α解說一記憶體實施方案決策之一範例。該圖顯示一 Ι&amp;例aB片’纟晶片頂部及底部具有記憶體資源。一 4位 元RAM係連接至在晶片右側的一觸點與一 閘。若該 RAM係實施為記憶體並放置在晶片頂部,則其可導致極= 的互連至其觸點輸人以及至其所驅動之AND閘。圖叩顯示 相同邏輯之-替代性映射。該RAM係使用附近邏輯來實施 並由此更短的互連及延遲。 /密相關聯於操作68的係—函數,其估計要求用於一實 &amp;方案之形狀及資源。在—具體實施例中此函數實行一 映射用於為饥組件估計資源之目的。在另-具體實施例 中此映射係特定於目標晶片架構。該些資源估計係基於 口成’其係設計用以估計特定組件之該等邏輯要求及輸 入,輸出要求以便在目標架構中實施該模組。此外在一 八體實〜例巾’該函數料該&amp;件估計該料序轉變。 圖7解說-加法器之一範例,其增加兩個匯流排學:〇] 與叩1:〇]以產生—第三匯流排〇[3i:g]。透過—變換來估 =求用以實施該加法器之邏輯區域,估計該實施方案, “疋所要求資源與從其輸人至其輸出之内部轉變延遲。在 133330.doc •30· 200915123 特定態樣中,例如,可使用兩個邏輯陣列組塊(LAB)來實 施該加法器’各由16個查找表(LUT)所組成。 操作65至67與操作70係範例性合成轉換,例如,邏輯因 子分解(操作65)、邏輯映射(操作66)、邏輯最佳化(操作67) 及抽象(操作70) ’其中修改由該RTL電路規劃清單所代表 之該等組件及連接,導致一功能性等效電路,其改良設計 狀態,例如時序、電力。該些變換可增加或移除組件以及 其互連。變換範例包括實行組件之一複製,或分割一整體 RTL組件。 該範例性具體實施例表示針對1/〇、不同大小之記憶 體、CPU及DSP存在的一極大類別實施方案選擇之一極簡 早情況。不同設計可能想要以不同的方式來使用該些資 源。本發明的抽象變換(即操作7〇)能夠取決於時序資訊、 連接、、且件之位置、|資源類型之利用及安排之路徑利用來 文k實施方案該抽象變換類似於建立/精緻化變換(即操 作68)。雖然操作68建立在未來反覆中維持並評估的複數 個替代性實施方案’但該抽象操作代之從—更詳細實施方 案抽象至-抽象組件。考量該抽象組件之各種實施方案並 選取最佳實施方案以替代最初實施方案。此能力避免替代 例,其用以列舉所有可能的架構映射選擇並從映射、安置 及安排路徑從頭到尾運行全部該些者。 在圖11中給出該抽奐m 抽象變換之一範例,顯示一加法器樹分 解操作°該加Μ樹分解將—讀人加法器分裂成-m輸入 加法器樹。沒有從安置中導出延遲資1K,此最佳化將不會 133330.doc 200915123 具有關於至S亥加法器之該等輸入定位何處的資訊且僅可基 於該等輸入到達時間之一粗略估計形成該樹。在該範例 中,若所有輸入均來自暫存器,則其大致具有相同的到達 時間。3亥为解將會為該等葉節點拾取(a,b)、(c,d)及(e, f) 組合。然而’可一起靠近地放置輸入b及d、&amp;及c。使用該 安置資訊,為該等葉節點拾取(a,c)、(b,d)、(e,組合更 佳。此將會在輸出處產生更佳的時序。 閘樹分解之另一抽象範例如圖12所示。在一合成流中的 一關鍵步驟係將具有許多輸入之一大型閘(諸如一 32輸入 AND閘)分解成一樹表示。此階段通常在該流中早期一次 實行並在樹分解上的決策不會包括關於該大型閘之該等驅 動器之位置的任一資訊。本發明包括閘樹分解與重新分解 作為變換’其具安置與時序意識。最少關鍵最早到達輸入 放置在該樹之葉層次並與其他附近較少關鍵輸入來一起分 組。當時序並非-因素時,按信號驅動器的位置來分組輸 入信號。 該最佳化邏輯變換(即操作67)改變電路規劃清單以最佳 。該最佳化變換之一範例係In the case where the selection signal S arrives after A, ΒΚ, this will still be the case. In this invention, operation 68 will establish both of these embodiments, and possibly other 'so that the alternative is excluded when it is clearly below the standard. . For example, as it goes on, it may be obvious that the output F is not critical. In this case, operation 68 will refine the implementation selection to only the figure, since this alternative uses less resources. Alternatively, operation 68 may exclude the embodiment of FIG. 10B when F is more critical with selection line $ and there is an access to the site, the store, the &amp; h 1 nt using the source to implement the singular multiplier . The ^ga chip generally has a plurality of pre-diffused memory resources, such as positive and negative, and variable blocks (such as 512, 4K) chunks and defeats. - The memory components required by the design also vary in size. In general, it is not clear how these memory components will be implemented. For example, a modest size RAM between two and 512 bits can be implemented using a flip-flop, a resource, or even a 4k resource. Moreover, resource locations for larger memories are generally sparsely available only on the wafer. In previous eda tools, placement information was not available during the memory implementation phase. Therefore, implementation decisions are made without local use and precise timing information. This limitation can result in severe performance degradation. If a modest amount of RAM is implemented as a $1 2 resource and the only available 512 location is located away from the logic to which the RAM is connected, then forcing the RAM to become a 512 will result in a longer interconnect and enable implementation in a gallop The delay benefit of using a 5丨2 site on the solution is invalid. Even if 133330.doc -29- 200915123 one of the implementations using a flip-flop may have a longer delay, if this implementation allows a shorter link between the logic of the RAM's flip-flop and the RAM connected, this can be Lead - faster design. Alternatively, if there is a 4Kf source available near the connection logic of the RAM, it may be advantageous to implement as a 4 Κ. Memory implementation decisions should therefore be made within the consideration of the various available memory resources and the location of the components connected to the memory. #图9Α An example of a memory implementation decision. The figure shows a memory of the top and bottom of a &amp;a&apos; A 4-bit RAM is connected to a contact and a gate on the right side of the wafer. If the RAM is implemented as a memory and placed on top of the wafer, it can result in the interconnection of the pole = to its contact input and to the AND gate it drives. Figure 叩 shows the same logical-alternative mapping. This RAM is implemented using nearby logic and thus shorter interconnects and delays. /Mission is associated with the system-function of operation 68, which estimates the shape and resources required for a real &amp; scheme. In a particular embodiment, this function implements a mapping for the purpose of estimating resources for the hunger component. In another embodiment, this mapping is specific to the target wafer architecture. The resource estimates are based on the logic requirements and inputs that are designed to estimate the particular component and output requirements to implement the module in the target architecture. In addition, the one-piece body ~ the case towel 'the function material' the &amp; piece estimates the sequence change. Figure 7 illustrates an example of an adder that adds two busbars: 〇] and 叩1: 〇] to produce - a third bus 〇 [3i: g]. Through-transformation to estimate the logical region used to implement the adder, estimating the implementation, "the required resource and the internal transition delay from its input to its output. At 133330.doc •30· 200915123 For example, two logic array blocks (LABs) can be used to implement the adders' each consisting of 16 lookup tables (LUTs). Operations 65 through 67 and operation 70 are exemplary synthesis conversions, for example, logic Factorization (Operation 65), Logical Mapping (Operation 66), Logic Optimization (Operation 67), and Abstraction (Operation 70) 'where the components and connections represented by the RTL circuit plan list are modified, resulting in a functionality Equivalent circuits that improve design states, such as timing, power. These transformations can add or remove components and their interconnections. Transformation examples include performing one of the components to replicate, or splitting an integral RTL component. One of the very simple implementations of a very large class implementation for 1/〇, different sized memory, CPU, and DSP. Different designs may want to use this in different ways. Resources. The abstract transformation of the present invention (ie, operation 7) can depend on timing information, connections, and location of components, utilization of resource types, and routing of arrangements. Transformation (i.e., operation 68). Although operation 68 establishes a plurality of alternative implementations that are maintained and evaluated in future reversals 'but the abstract operation is instead abstracted from the more detailed implementation to the abstract component. Consider the abstract component Various implementations and alternative embodiments are chosen to replace the original implementation. This capability avoids alternatives that enumerate all possible architectural mapping choices and run all of them from top to bottom from mapping, placement, and scheduling paths. An example of the abstract transformation of the twitch m is given in Figure 11, which shows an adder tree decomposition operation. The added eucalyptus decomposition splits the reader adder into a -m input adder tree. No delay is derived from the placement. , this optimization will not be 133330.doc 200915123 has information about where to place such input to the S-Hai adder and can only be based on such input One of the times roughly estimates the formation of the tree. In this example, if all inputs come from the scratchpad, they have roughly the same arrival time. 3 Hai is the solution that will pick up (a, b) for the leaf nodes, (c, d) and (e, f) combinations. However, 'puts b and d, &amp; and c can be placed close together. Use this placement information to pick up (a, c), (b, d), (e, better combination. This will produce better timing at the output. Another abstract example of gate tree decomposition is shown in Figure 12. A key step in a composite stream will have many inputs. One of the large gates (such as a 32-input AND gate) is broken down into a tree representation. This stage is usually implemented early in the stream and the decision on the tree decomposition does not include any of the locations of the drivers for the large gate. News. The present invention includes damper decomposition and re-decomposition as a transformation&apos; with placement and timing awareness. The least critical earliest arrival input is placed at the leaf level of the tree and grouped together with fewer nearby key inputs. When the timing is not a factor, the input signals are grouped by the position of the signal driver. The optimized logic transformation (i.e., operation 67) changes the circuit planning list to be optimal. An example of this optimization transformation

化设目標’諸如時序或電力。 如圖13 A所示之切片操作。若一 出分開較遠,則分劏玆盾刑可故 133330.doc •32- 200915123 組件。例如,圖i 3B所 園所7^之_顯示—記憶體,其已基於 該-己‘U體之扇出之位置分裂成三 或一—個联。因而,已劃分顯示 馬一早一方塊之原始組 _ 二個新組件,依據其對應 負载而分割。可基於一組 等輸入信號來施加類似劃 为。此最佳化較通用且不限於記憶體。 一 另一範例性操作係圖14所矛 所不之邏輯複製。用於複製之該 等條件極類似於分割。對於且土 于、八有車乂 m分開之輸入或輸出的 組件’複製該組件並將直貪 肘具罪近—關鍵負載放置可能較有 利。此最佳化只能基於安晋眘水 女罝貝訊朿實行。下面範例針對— 組件a顯示此點之—倍π,&amp; z , 脣况,邊組件的輸出極遠地分開。其Set goals such as timing or power. The slicing operation as shown in Fig. 13A. If it is far apart, it will be delayed. 133330.doc •32- 200915123 Components. For example, the display-memory of the image shown in Figure 3B has been split into three or one-join based on the position of the fan-out of the U-body. Thus, the original group _ two new components of the horse one morning and one block have been divided and divided according to their corresponding loads. A similarity can be applied based on a set of input signals. This optimization is more general and not limited to memory. Another exemplary operation is a logical copy of Figure 14. These conditions for copying are very similar to segmentation. It is possible to place a key load placement on a component that is both input and output that is separate and has a separate input or output. This optimization can only be carried out based on Anjin Shenshui. The following example is for - component a shows this point - times π, & z, lip condition, the output of the edge component is very far apart. its

可分割成兩個例項a 1鱼a ? M 只一l、a_2,接者將其可極靠近其輸出地 放置。此在該驅動器之扇出較高時極為常見。在一給定實 體範圍内保存該例項之僅一副本。 另一範例性操作係圖15所示之向農(Shannon)展開。對 於在具有-較大延遲之—RTL元件之輸人㈣處的邏輯, 諸如一加法态或一乘法器,可&quot;前拉&quot;關鍵輸入網路以改良 時序。複製該邏輯並使用怪定輸入0及1來取代關鍵網路广 然後使用-多工器來選擇該兩個運算子之輪出,關鍵網路 選擇哪個運算子副本為輸出。可基於該等恆定輸入來進一 步簡化該兩個邏輯副本。再次,此係一最佳化,其在該邏 輯位置與驅動該邏輯之該等關鍵網路之該等驅動器之知織 下最佳地實行。 ° 另一範例性操作係Mux/PMux(— PMux係定義為具有—項 一位元有效編碼選擇之—多工器)摺疊(c〇Uapse)及時序驅 133330.doc -33- 200915123 動分解’如圖16A及16B所示。大型多工器在商用電路中 極常見。分解一多工器類似於先前提及的加法器樹與及/ 或樹分解,但選擇邏輯使Mux分解更加困難,由於在樹内 移動一稍晚到達輸入不僅會影響樹結構,還會影響選擇邏 輯。如同其他分解’本發明包括基於安置與安排路徑之時 序資訊以決定適當的分解。 操作69正在更新安排之路徑。本遞增反覆方法提供較佳 可安排路徑性用於積體電路用以改良設計之效能、雜訊敏 感度、良率、面積及電力。該遞增反覆程序可逐漸改良晶 片上的佈線擁塞,即每單位面積所要求之佈線資源之密 所提及之許多蠻拖塑Δ私、.丄,k A A .It can be divided into two cases a 1 fish a ? M only l, a_2, which can be placed very close to its output. This is very common when the fanout of the drive is high. Save only one copy of the instance within a given entity. Another exemplary operation is shown in Figure 15 for Shannon. For logic at the input (four) of the RTL component with a large delay, such as an adder or a multiplier, the key input network can be &quot;pre-pulled&quot; to improve timing. Copy the logic and use the default inputs 0 and 1 to replace the critical network. Then use the -multiplexer to select the rounds of the two operators. The key network chooses which operator copy is the output. The two logical copies can be further simplified based on the constant inputs. Again, this is an optimization that is best performed at the logical location and by the drivers of the critical networks that drive the logic. ° Another example operation is Mux/PMux (-PMux is defined as having a -one-bit effective code selection - multiplexer) folding (c〇Uapse) and timing drive 133330.doc -33- 200915123 This is shown in Figures 16A and 16B. Large multiplexers are very common in commercial circuits. Decomposing a multiplexer is similar to the adder tree and/or tree decomposition mentioned earlier, but the selection logic makes the Mux decomposition more difficult, because moving in the tree a little later to reach the input will not only affect the tree structure, but also affect the selection. logic. As with other decompositions, the present invention includes timing information based on placement and scheduling paths to determine appropriate decomposition. Operation 69 is updating the path of the arrangement. This incrementally repeating method provides better arrangability for integrated circuits to improve design performance, noise sensitivity, yield, area, and power. The incremental repeating process can gradually improve the wiring congestion on the wafer, that is, the dense wiring required by the wiring resources required per unit area, many of which are very popular, 丄, 丄, k A A .

接,可使用精確延遲資訊。Connect, you can use accurate delay information.

或晶片原型層次例項, 路中該等網路之長度及延遲。 或一更新安置變換。該安置變換修 位置’諸如RTL物件、未映射例項 並從而隨同路由器操作決定該等電 s亥安置變換可取決於電路規劃清單與安 用各種安置方法。Or the wafer prototype level item, the length and delay of the network in the road. Or an update placement transformation. The placement change location, such as an RTL object, an unmapped instance, and thus the router's operation, may depend on the circuit planning list and various placement methods.

133330.doc 與女置之成熟度來使 ’本放置器運用 …,輸入變化來產生 -34- 200915123 遞牦廣异法輸出變化的一演算法。例如,諸如力引導安置 之全域安置可用於放置較不成熟電路規劃清單與安置。該 力引導安置(FDP)方法係在本發明中用於全域安置之較佳 選擇之一者,因為其係一遞増方法,其中FDP之一反覆產 生遞增安置變化。一般而言,FDP使用一二次程式化技術 來模型化該等網路並決定應如何散佈重疊的例項。 在一具體實施例中,該第一步驟FDP解決一未約束二次 程式化問題,其僅模型化互連該等例項之該等網路。此最 初解答通常具有極高的擁塞^ FDp接著反覆地構造散佈力 以將例項從過擁塞(較高例項使用)之區域移動至欠擁塞區 域(較高資源可用性)。係該些反覆步驟之性質使FDp成為 遞增廣异法。可在該些反覆之間改變電路規劃清單或其 他設計狀態資料。當該些狀態變化遞增時,在FDp内所得 變化還應在未進行設計狀態變化情況下的本來面貌上遞 增。 存在各種FDP演算法,但全部均共用計算應移動一例項 之方向以解析過度擁塞區域之基本概念。在一特定安置 中,假定由一網路所連接之該等例項與該等例項之間的二 次方距離成比例而彼此強加一吸引力。在此先前工作中, 所有例項彼此排斥並吸引至所有安置場所,即使該場所不 適合於該例項。接著移除例項,直至該系統在一最小能量 狀態下實現均衡。因而該17£&gt;1&gt;方法係基於在其上所強加之 總力之方向上移動該等例項。 在一態樣中,本發明提供新穎異質資源安置以從許多數 133330.doc -35- 200915123133330.doc and the maturity of the woman to make the 'placer use ..., input changes to produce -34- 200915123 an algorithm for the change of output. For example, global placement such as force guided placement can be used to place less mature circuit planning lists and placements. The Force Directed Placement (FDP) method is one of the preferred choices for global placement in the present invention because it is a one-step method in which one of the FDPs in turn produces incremental placement changes. In general, FDP uses a quadratic stylization technique to model the networks and determine how overlapping instances should be spread. In a specific embodiment, the first step FDP addresses an unconstrained quadratic stylization problem that only models the networks interconnecting the instances. This initial solution usually has very high congestion. FDp then repeatedly constructs the spread to move the instance from over-congested (higher use) areas to under-congested areas (higher resource availability). The nature of these repetitive steps makes FDp an incremental method. The circuit plan list or other design status data can be changed between these reversals. As these state changes increase, the resulting changes in FDp should also be incremental in the absence of design state changes. There are various FDP algorithms, but all share the basic concept of calculating the direction in which an item should be moved to resolve an over-congested area. In a particular arrangement, it is assumed that the instances connected by a network are proportional to the second-order distance between the instances and impose an attraction on each other. In this previous work, all instances were excluded from each other and attracted to all placements, even if the site was not suitable for the case. The instance is then removed until the system is equalized in a minimum energy state. Thus the 17 £&gt;1&gt; method moves the instances based on the direction of the total force imposed thereon. In one aspect, the present invention provides novel heterogeneous resource placements from many numbers 133330.doc -35- 200915123

據機可重新程式重新程式化晶片與一些ASIC設計流來解決 β亥等異質資源。例如,大多數FPGA具有各種預定義的晶 片資源,諸如10 ' DSP、RAM、LUT、FF等,其僅在特定 场所可用。該些預定義資源係FpGA晶片之預擴散性質之 結果。各資源場所對可放置在場所之實體數目具有—限 制。例如,對於Altera Stratix_„晶片,可在一LAB場所放 置16個或更少的1^1;丁與打,且存在3個不同ram場所保持 5 12位元組、4K位元組及64Κ位元組。 b在範例性具體實施例中,本遞增安置解決異質資源問 題。在FPGA中,可僅在經常不均句分佈在安置區域上的 特定場所内放置結構化ASIC及一些ASIC^、資源。大 多數全域放置器(包括所有先前FDp)已採用同質資源,其 中不論其類型,任-例項均可放置在在晶片邊界内的任一 有效區域處。此先前方案簡化該安置問題,由於所有範圍 均可視為簡單直線物件’且只要該些物件不會重疊並放置 於晶片邊界内’安置均將會係合法的。此簡單矩形模型可 允許相鄰不適當的資源放置_特錢型的例項。此假定勿 略,對於該等異質資源,各資源具有—組特定場所 必須放置例項。雖然此,,組合”安置可能不具有任一重疊 但當考量實際資源類型0夺’該安置可能不合法。在模擬退 火放置器中的一些先前工作已將資源資訊考量在内,但僅 一直該些放置器來放置靜止映射電路規料單,並非rtl 物件此外’使用模擬退火用於遠更小的設計並由於 時間而變得難以用於大型設計。 &lt; 133330.doc -36 - 200915123 在一態樣中,本發明單獨模型化不同資源場所, 所有安置變換中,由該放置器來最佳化該等資源要求侍在 一態樣中,本發明模型化任意數目的場所類型,成為&quot;芦&quot;在 該些層係用以決定各例項上的俨 士 —分社 丹體實施例The machine can be reprogrammed to reprogram the wafer and some ASIC design streams to solve heterogeneous resources such as βHai. For example, most FPGAs have a variety of predefined wafer resources, such as 10' DSP, RAM, LUT, FF, etc., which are only available in specific locations. These predefined resources are the result of the pre-diffusion properties of the FpGA wafer. Each resource location has a limit on the number of entities that can be placed in the location. For example, for Altera Stratix_chips, 16 or fewer 1^1 can be placed in a LAB location, and there are 3 different ram locations with 5 12 octets, 4K octets, and 64 Κ bits. In an exemplary embodiment, the incremental placement solves the problem of heterogeneous resources. In an FPGA, a structured ASIC and some ASICs and resources may be placed only in a specific place where frequently uneven sentences are distributed over the placement area. Most global placers (including all previous FDp) have adopted homogeneous resources, regardless of their type, any of the items can be placed at any effective area within the wafer boundary. This previous solution simplifies the placement problem due to all The range can be considered as a simple linear object 'and as long as the objects do not overlap and are placed within the wafer boundary' placement will be legal. This simple rectangular model can allow adjacent inappropriate resources to be placed. This assumption is not abbreviated. For these heterogeneous resources, each resource has a group-specific place where the item must be placed. Although this, the combination "placement may not have any overlap but when considering the actual Source Type 0 wins' The placement may not be legal. Some previous work in the simulated annealing placer has taken into account the resource information, but only the placers have been placed to place the static mapping circuit specification sheet, not the rtl object. In addition, using simulated annealing for far smaller designs and It becomes difficult to use for large designs due to time. &lt;133330.doc -36 - 200915123 In one aspect, the present invention separately models different resource locations, and in all placement transformations, the placement device optimizes the resource requirements in an aspect, the present invention Modeling any number of place types into &quot;reed&quot; in these layers is used to determine the gentleman-department body of each instance

V 中,在該4初始化階段中建立該等層。針對在晶片上 的各貝源類型來建立一層。一層之該等資源場所係在 置處記錄於該層之供應分佈内。-分佈係—矩陣狀二 資料結構,在位置的—值在該位置給予該供應之值。—維 各例項係指派至其為之消耗資源之該(等)層。消 資源類型之該等例項係稱為原型例項,而消耗多個 者則成為非原型。—非原型之—範例將會係—狀態機,、其、 消耗LUT^EF場所類型二者。由指派至一層之 、 用之該等資源係記躲料層使时㈣ = Μ ’其由在其為之具有資源之所有層上記錄其 乂處理該些使用貢獻將進而影響用於該等非原型層之 層之力計算。 之間的差異係用於該層 此擁塞分佈係用以為層 對於—層,在其使用與供應分佈 的擁塞分佈。如同先前FDP方法, 上的各例項計算力。 」非原、型例j頁之力係藉由對來自其資源層之各資源 之该!力進行—加權平均或基於料資源之局部擁塞來 於/十算:施加至各層之加權可以係-均勻加權或—取決 或Λ之貝源之相對離散度的加權。資源離散度可特徵化 為該等資源分開多遠而定位、該等資源多稀疏或分佈該等 133330.doc -37- 200915123 資源均勻或不均勻。 在一具體實施例中,類似於非原型例項之情況,計算用 於具有多個可能實施方案之一組件的力。該力係藉由對來 自其實施方案之資源層之各層的該等力進行加權平均來加 以汁异。她加至各實施方案之資源之加權可以係一均勻加 權或一取決於將選取給定實施方案之機率的加權。 本發明之-優點在於,—例項之力僅取決於使用相同資 源類型的其他例項與用於該類型之資源供應。例如,若例 項A及B各具有使用―資源。之—部分則在例項a上(或在 使用資源C之例項A之部分上)的力取決於使用資源C之例 項B之部A,並還取決於可用於安置之資源c。在不同層 上的例項不會影響彼此的散佈力。 在-態樣中,當該全域放置器終止時,各例項將處於一 適用=其類型之有效場所或其附近,故可很少改良地合法 化該安置。此方案比較先前FDp較新賴,先前要求將 所有例項模型化為-單—類型並組合所有資源區域並接著 在該組合區域上散佈該等例項。 在範例性具體實施例中’本發明架構實體合成可提供改 、至身料利用問題。情況經常係晶片資源超出電路之要 :二如’在— FPGA設計巾’欲實施之電路可能在内部 ,、之晶片或部分具有256個LUT時要求15〇個LUT。此 /係稱為育源利關題。、略該資源利用問題時, 更佳結果可藉由㈣㈣=佈電路例項,即使-曰田在該專貧源上具有不同密度之—安置來實 133330.doc _38· 200915123 現。先前放置器已忽略此問題或強加額外,,填充物&quot;例項。 填充物例項係不添加㈣連接性至電路之額外例項。使用 •’填充物&quot;例項還成問題,由於必須為該些例項決定位置。 在犯例性具體實施例中’本發明運用_區域移除方法來 解決該資源利用問題。如同力產1,單獨考量各資源層。 在該區域移除方法巾,料:㈣係基於其品質來加以利 用,同時移除低品質的資源。先決定一品質度量,並接著 分析貧源供應以基於其品質來決定該等資源之一評級。接 著由該放置器作為放置場所將該些低品質部分從考量中移 除。由於安置變化影響該等資源之品質,故該評級與移除 可在該安置程序期間多次實行。該程序因而完全適合於設 §十狀態之本發明之反覆且遞增改良。 在一具體實施例甲,用以形成該評級之品質度量係基於 資源與使用之距離。一計算力之方法之一副產物係層之密 度分佈與一格林(Green)函數之捲積。此捲積之結果可視為 拓撲地圖,其中更高點指示對資源的一需求而更低點指 不需求之缺乏。由於分佈係由離散方塊所組成,故可基於 該捲積結果來挑選該些方塊。該等欲移除資源可接著藉由 検過供應並按捲積挑選次序以具有最低值之資源開始移除 貧源直至移除所需要求來加以決定。在一態樣中,該方法 可留下足夠資源,使得存在足夠資源來滿足該層上的實體 需求並使得該晶片將可安排路徑。 或者’在其他範例性具體實施例中,本發明運用一力範 圍方法來解決該資源利用問題。在該力範圍方法中,作用 133330.doc -39· 200915123 在各例項上的力係來自複數個力範圍之該等力之一加權平 均。在一態樣中’短程加權因數係與短程區域内的例項密 又成例其中一較向局部岔度導致一較高力。此比例性 因而可提高例項散佈以減少重疊。 使用該力範圍方法,施加至一例項之力取決於相鄰例項 的例項密度。—般理念在於,—例項之散佈力應取決於合 法化在其相鄰區域内之例項所需之面積。在最極端的擁塞 it況下,其中所有例項在一較小相鄰區域内重疊,將基於 所有例項與所有資源之位置來計算在各例項上的該等力。 在最J擁塞情況下,其中—例項在其附近*具有任何其他 例項’且直接位於一資源上,則該例項將不具有任何力。 對於在該些兩個極端之間的情況,該力取決於在合法化例 項所需之面積内的例項與資源。 在一具體實施例中,可將力範圍切斷成局部、中程及長 私力。在其他具體實施例中,可使用更多或更少的力範 圍。-般而言,其係計算與記憶體資源之—折衷以決定用 於-相鄰區域之合法化面積與用於各合法化範圍之該等 力。在一態樣中’藉由改變格林函數之大小來計算該等 力。長程格林函數覆蓋整個放置區域,較小格林函數覆蓋 -有(例如)五倍於平均例項區域之—半徑的一圓形區域. 而中程格林函數具有(例如)10倍於平均例項區域之一半 徑。在-例項上的力係該例項之局部、中程及長程力之加 權和。所施加加權係藉由在該例項之鄰域内的密度來加以 決定。錢鄰域極密集,則該長程力將會具有-極高權重 133330.doc -40- 200915123 且局部權重將為0。在一低密度區域内的一例項將會具有 一零長程權重與一較高局部權重。 本方法之另一態樣係決定重要架構決策之能力,該等決 策決定在實施一架構構造中應使用之資源。在架構層次, 存在許多決策,諸如在一FPGA上,是否應將一小型RAM 映射至512位元RAM資源或4k位元RAM資源。其他範例包 括乘法器實施方案與先前聲明情況(諸如加法器樹分解)之 決策。但本發明不限於該些特定範例。由於可使用安置資 訊,本發明精緻化滿足該等設計目標之重要架構實施方案 決策。一範例性範例係可指派一 lk位元記憶體至兩個512 位元為源或一單一 4k位元資源之情況。此實施方案可能在 lk位元記憶體所連接之邏輯極靠近512位元或仆位元場所 而定位時對於-成功實施方案極為關鍵。在該财憶體之 連接邏輯極靠近512位元資源且料4k位元f源更遠之情 況下,一非最佳映射至4k資源將會導致一實質更低效能 路。使用放置資訊進行此及其他架構決策較為重要。 在範例性具體實施例中,該實施方案精緻化係藉由針對 例項可能映射之各層在使用中包括彈性層例項之面積之一 部分來加以處理。在⑽元範例之情況下將會在512層 與4k層二者内部分包括實體之面積。在例項上的力係藉由 獲取其潛在層進行該等力之—加權和或獲取具有最少量值 之力來加以決定。在獲取具有最少量值之力後面的理由在 於,相關聯於此力之層應具有—較低相鄰區域密度。 在其他範例性具體實施例中’該資源實施方案藉由不包 133330.doc -41 - 200915123 括具有多個可能資源實施方案之例項在任意層之使用内來 開始。在已針對所有層實行區域移除操作之後,考量該些 2性實施方案例項。對於—彈性實施方案例項,考量其可 能層之各層之潛在供應。該潛在供應係由該區域移除操作 從整個供應中移除的面積。檢查在該等實施層之各層上的 潛在供應以決定哪個層已移除在將例項放置於此移除面積 内時將會最少分裂性的面積。接著指派該例項至該最少分 裂性層。 f 該指派資源變換(操作64)負責決定指派一例項至其特定 晶片資源。可使用各種安置演算法用於此操作,包括力引 導安置帛擬退火、Mongreh最小切片安置、數值最佳 化安置、以演化為主安置及其他細節安置演算法。 雖」希望本發明之多數具體實施例用於—肋[設計合成 軟體程序’但本發明不限於此類使用。儘管可使用其他語 言及電腦程式(例如可寫人—電腦程式以說明硬體並因而 視為在HDL内的-運算式並可加以編譯或在一些且體實 施例中,本發明可分配或重新分配一邏輯表示,例卜電 路規劃清單,其不使用_祖來建立),但將會在用於一 祖合成系統以及特別係該等設計用於與具有特定供應商 技術/架構之積體電路_起使用者之背景下說明本發明之 具體實施例。如所熟知,目標架構-般係由可程式化扣之 -供應者來加以決定一目標架構之範例係可程式化查找 表(LUT)以及該等積體電路(其係來自加州聖何塞市乂出狀 me.之場可程式化閘卩車象相„邏輯。目標架構/技術 133330.doc •42- 200915123 之其他範例包括在來自諸如Altera、Lucent Technology、In V, the layers are established in the 4 initialization phase. A layer is created for each type of source on the wafer. The resource locations of one level are recorded in the supply distribution recorded in the layer. - Distribution - Matrix 2 data structure, where the value of the position gives the value of the supply at that location. - The dimension items are assigned to the (etc.) layer for which they consume resources. These items of the type of resource are called prototype items, while those that consume multiple are non-prototypes. - Non-prototype - The example will be the state machine, which consumes both the LUT^EF site type. By assigning to a layer, the resources used are recorded as a layer of time (4) = Μ 'which is recorded by all the layers for which it has resources to process the usage contributions, which in turn affects the use of such The force calculation of the layers of the prototype layer. The difference between the two is used for this layer. This congestion distribution is used to be the layer-to-layer, the distribution of congestion in its use and supply distribution. As in the previous FDP method, the various items on the calculation force. The force of the non-original, type j page is based on the weighted average of the resources from the resources of its resource layer or the local congestion based on the material resources: the weight applied to each layer can be - Uniform weighting or - depends on the weighting of the relative dispersion of the source of the source. Resource dispersion can be characterized as how far apart the resources are located, how sparse or distributed the resources are, etc. 133330.doc -37- 200915123 Resources are even or uneven. In a specific embodiment, similar to the case of a non-prototype example, the force is used for a component having one of a plurality of possible implementations. This force is additively weighted by weighting the forces of the layers from the resource layers of its implementation. The weighting of the resources she adds to the various embodiments may be a uniform weighting or a weighting depending on the probability that a given implementation will be selected. The advantage of the present invention is that the power of the example depends only on other instances of the same resource type and the provision of resources for that type. For example, if each of the items A and B has a resource of use. The force of the portion of the item a (or part of the use of the item C of the resource C) depends on the use of the part A of the case B of the resource C and also depends on the resource c available for resettlement. The items on different layers do not affect each other's spread. In the case, when the global placer is terminated, each item will be in or near an effective place of its type = so that the placement can be legalized with little improvement. This scheme compares the previous FDp with a new one, which previously required all models to be modeled as a -single type and combined all resource regions and then spread the instances on the combined region. In an exemplary embodiment, the architectural entity of the present invention can provide a modification to the body utilization problem. It is often the case that the wafer resources are beyond the circuit requirements: if the circuit to be implemented may be internal, or the chip or part has 256 LUTs, 15 LUTs are required. This / is called the source of education. In the case of a resource utilization problem, better results can be obtained by (4) (4) = cloth circuit examples, even if - Putian has different densities in the source of the poverty-stricken source - placement is 133330.doc _38· 200915123 now. The previous placer has ignored this issue or imposed an extra, "filler" exception. The filler case does not add (iv) additional items to the circuit for connectivity. The use of the ''filler'&quot; example is also problematic because the position must be determined for these items. In the exemplary embodiment, the present invention utilizes the _region removal method to solve the resource utilization problem. As with the production of 1, the various resource layers are considered separately. The method towel is removed in this area, and the material is: (4) based on its quality, while removing low quality resources. A quality metric is determined first, and then the lean supply is analyzed to determine one of the resources based on its quality. These low quality parts are then removed from the consideration by the placer as a place of placement. Since the placement changes affect the quality of these resources, the rating and removal can be performed multiple times during the placement process. The program is thus well suited to the repeated and incremental improvements of the present invention in the ten state. In a specific embodiment A, the quality metric used to form the rating is based on the distance between the resource and the usage. A method of calculating the force is a convolution of the density distribution of the byproduct layer with a Green function. The result of this convolution can be viewed as a topological map where a higher point indicates a demand for resources and a lower point indicates a lack of demand. Since the distribution consists of discrete squares, the squares can be selected based on the convolution result. The resources to be removed may then be determined by bypassing the supply and starting the removal of the lean source with the lowest value resource in the convolution selection order until the required requirements are removed. In one aspect, the method may leave sufficient resources to allow sufficient resources to satisfy the physical requirements on the layer and to cause the wafer to be routed. Alternatively, in other exemplary embodiments, the present invention utilizes a range of methods to address this resource utilization problem. In the force range method, the force on each of the 133330.doc -39· 200915123 terms is a weighted average of one of the forces from the plurality of force ranges. In one aspect, the 'short-range weighting factor system is closely related to the example in the short-range region. One of the more localized degrees causes a higher force. This proportionality thus increases the circumstance of the instances to reduce overlap. Using this force range method, the force applied to an item depends on the density of the items in the adjacent item. The general idea is that the spread of the case should depend on the area required to legalize the items in its adjacent area. In the most extreme case of congestion, where all of the instances overlap in a small adjacent area, the forces on each item are calculated based on the location of all instances and all resources. In the case of the most J congestion, where the instance has any other instance in its vicinity* and is directly on a resource, the instance will have no force. For the case between these two extremes, the force depends on the terms and resources within the area required for the legalization case. In one embodiment, the range of forces can be cut to local, medium, and long-range forces. In other embodiments, more or less force ranges may be used. In general, it is a compromise between computational and memory resources to determine the legalized area used for adjacent regions and the forces used for each legalization range. In one aspect, the forces are calculated by varying the magnitude of the Green's function. The long-range Green's function covers the entire placement area, and the smaller Green's function covers - a circular area with a radius of, for example, five times the average case area. The medium-range Green's function has, for example, 10 times the average case area. One of the radii. The force on the - item is the sum of the weights of the local, medium and long range forces of the example. The weight applied is determined by the density within the neighborhood of the example. If the money neighborhood is extremely dense, then the long-range force will have a very high weight of 133330.doc -40- 200915123 and the local weight will be zero. An item in a low density region will have a zero long range weight and a higher local weight. Another aspect of the method is the ability to determine important architectural decisions that determine the resources that should be used in implementing an architectural construct. At the architectural level, there are many decisions, such as whether a small RAM should be mapped to a 512-bit RAM resource or a 4k-bit RAM resource on an FPGA. Other examples include decision making by multiplier implementations and previously stated conditions, such as adder tree decomposition. However, the invention is not limited to these specific examples. Because of the availability of placement information, the present invention refines the important architectural implementation decisions that meet these design goals. An exemplary example is where a lk bit of memory can be assigned to two 512 bits as a source or a single 4k bit resource. This embodiment may be critical to a successful implementation when the logic to which the lk bit memory is connected is located close to a 512-bit or servant location. In the case where the connection logic of the financial memory is very close to the 512-bit resource and the source of the 4k-bit f is farther away, a non-optimal mapping to the 4k resource will result in a substantially lower performance path. It is important to use placement information to make this and other architectural decisions. In an exemplary embodiment, this embodiment refinement is handled by including a portion of the area of the elastic layer instance in use for each layer that the item may map. In the case of the (10) meta-example, the area of the entity will be partially included in both the 512 and 4k layers. The force on the example is determined by taking the potential layer to perform the weighting of the forces and the force with the least amount of values. The reason behind the ability to obtain the least amount of value is that the layer associated with this force should have a lower adjacent region density. In other exemplary embodiments, the resource implementation begins by including no instances of 133330.doc -41 - 200915123 having multiple possible resource implementations within the use of any of the layers. These two-in-one embodiment examples are considered after the region removal operation has been performed for all layers. For the Elastic Implementation example, consider the potential supply of each layer of its possible layers. The potential supply is the area that is removed from the entire supply by the area removal operation. The potential supply on each of the layers of the implementation layer is examined to determine which layer has removed the area that will be minimally fragmented when the instance is placed within this removal area. The instance is then assigned to the least splitting layer. f The assigned resource transform (operation 64) is responsible for deciding to assign an entry to its particular wafer resource. Various placement algorithms can be used for this operation, including force-guided placement of simulated annealing, Mongreh minimum slice placement, numerical optimization placement, evolution-based placement, and other detailed placement algorithms. Although it is intended that most of the specific embodiments of the present invention be applied to the rib [design synthetic software program], the present invention is not limited to such use. Although other languages and computer programs (eg, writable human-computer programs can be used to illustrate the hardware and thus are considered to be in the HDL-and can be compiled or in some embodiments), the present invention can be assigned or re-allocated Allocating a logical representation, an example of a circuit planning list, which is not used by the ancestor, but will be used in a ancestral synthesis system and in particular for such integrated circuits with a specific vendor technology/architecture Specific embodiments of the invention are described in the context of a user. As is well known, the target architecture is generally determined by a programmable deduction-supplier. An example of a target architecture is a programmable look-up table (LUT) and such integrated circuits (which are derived from San Jose, Calif.). The field can be programmed to gate the image of the vehicle. Logic. Target architecture / technology 133330.doc • 42- 200915123 Other examples include from Altera, Lucent Technology,

Advanced Micro Devices及 Lattice Semiconductor之供應商 的%可程式化閘陣列與複雜可程式化邏輯器件中的該等熟 知架構。對於特定具體實施例,本發明還可與特定應用積 體電路(ASIC)—起運用。These well-known architectures in % programmable gate arrays and complex programmable logic devices from suppliers of Advanced Micro Devices and Lattice Semiconductor. For a particular embodiment, the invention may also be utilized with a particular application integrated circuit (ASIC).

本發明之一具體實施例可能係一種電路設計及合成電腦 輔助設計軟體,其係實施為一電腦程式,該電腦程式係儲 存於一機器可讀取媒體内,諸如一CD ROM或一磁性硬碟 或一光碟或各種其他替代性儲存器件内。此外,本發明之 該等方法之許多者可使用一數位處理系統來實行,諸如一 習知通用電腦系統。還可使用特殊用途電腦,其係設計或 程式化以僅實行一功能。 圖17顯示可與本發明—起使用之-典型電腦系、統之-範 例。該電腦系統係用以實行在_HDL碼中說明之—設計之 邏輯合成。應注意’雖,然圖17解說—電腦系統之各種組 件,但並不希望代表互連該等組件之任一特定架構或方 式如此此類細節並不與本發明有密切關係。應注意,僅 出於解說目的來提供圖17之架構且一電腦系統或結合本發 明使用之其他數位處理系統不限於此特性架構。還應瞭 解’還可與本發明一起使用網路電腦及具有更少組件或可 月匕更夕、,且件之其他貝料處理系統。圖i 7之電腦系統可能係 (例如)一 Apple Macintosh電腦。 資料處理系統 其係輕合至 如圖17所示,作為一 101包括一匯流排1〇2 之一形式的電腦系統 —微處理器103與一 133330.doc -43· 200915123 ROM 107與揮發性RAM 1〇5與一非揮發性記憶體⑽。微 處理JJ103(可能係來自㈤或M〇t⑽la,Inc或醜之一微 處里器)係耦合至快取記憶體i 。匯流排1 〇2 一起互連該 些各種組件並還互連該些組件1〇3、ι〇7、1〇5及⑽至一顯 示器㈣器與顯示器件刚以及至週邊器件,諸如輸入/輸 出(I/O)盗件’其可能係滑鼠、鍵盤、數據機、網路介面、 印表機、掃描機、視訊相機及在此項中所熟知之其他器 件。一般而言,輸入/輪出器件n〇係透過輸入/輸出控制器 109來轉合至該系统。非揮發性RAM 1〇5一般實施為動態 RAM(DrAM),其不斷要求電力以便再新或維持該記憶體 内的為料非揮發性記憶體1 06 —般為一磁性硬碟機或一 磁光驅動器或-光學駆動器或一 DVD RAM或甚至在從系 統移除電力之後仍維持資料之其他類型記憶體系統。一般 而。°亥非揮發性5己憶體還將係一隨機存取記憶體,但不 要求此點。雖然圖〗7顯示該非揮發性記憶體係直接耦合至 該貧料處理系統中該等組件之剩餘者的一本機器件但應 瞭解’本發明可利用一遠離該系、统之非揮發性記憶體,諸 如一網路儲存器件,其係透過一網路介面(諸如一資料機 或乙太網路介面)來耦合至該資料處理系統。匯流排ι〇2可 包括透過各種橋接器、控制器及/或配接器彼此連接之一 或多個匯流排,如此項技術中所熟知。在一具體實施例 中,I/O控制器1〇9包括一 USB(通用串列匯流排)配接器用 於控制USB週邊器件及/或一 IEEE_1394匯流排配接器用於 控制IEEE-1394週邊器件。 133330.doc -44- 200915123 根據此說明應明白,可以軟體至少部分地具體化本發明 之態樣。即,該等技術可回應其處理器(諸如一微處理器) 來實作於一電腦系統或其他資料處理系統内,該處理器執 行包含於一記憶體(諸如ROM 1〇7、非揮發性RAM 1〇5、非 揮發性記憶體10 6、快取記憶體丨〇 4或一遠端儲存器件)之 指令序列。在各種具體實施例中,可纽合軟體指令來使用 硬佈線電路以實施本發明。因而,該等技術不限於硬體電 路與軟體之任-特定組合,也不限於用於該資料處理系統 ㈣行之該等指令的任m源。此外,在此說明書整 為中,各種功能及操縱係說明為由軟體碼實行或引起以簡 化說明。然而,習知此項技術者應認識到,此類表述意指 違等功⑥產生自-處理器(諸如微處理器1G3)執行該碼。 可使用-機器可讀取媒體來儲存軟體及資料,該軟體及 資料在由-資料處理“執行時5丨起㈣統實行本發明之 各種方法。此可執行軟體及資料可儲存於各種位置内,包 括(例如)範例性ROM 107、非揮發性Ram ι〇5、非揮發性 記憶體H)6及/或快取記憶體1G4。此軟體及/或資料之部分 可儲存於該些儲存器件之任一者内。 ,而’-機器可讀取媒體包括任一機構,其以一可由一 機窃(例如,一電腦、姻牧盟从 , 电胸凋路态件、個人數位助理、製造工 :、具有-組-或多個處理器之任一器件等)存取之形式 =共(即儲存及/或發送)資訊。例如,一機器可讀取媒體包 括可記錄/不可記錄媒髀“ 、體(例如,唯讀記憶體(ROM)、隨機 己隱體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃 133330.doc '45 200915123 、聲學或是其他形式的傳 、數位訊號)等。 記憶體器件等)以及電性、光學 播訊號(例如載波 '紅外線信號 在前述規格書中,本發明6灸 匕參考其特定範例性具體實施 例作說明。顯而易見,可對直 _ 対其進仃各種修改,而不會脫離 隨附申請專利範圍所提出之太路A S ^ 田 &lt; 本發明之更廣大精神及範疇。 據此該規格書及圖式係視為_ 鮮況f生意義而非一限制性意 義。 〜 【圖式簡單說明】One embodiment of the present invention may be a circuit design and a synthetic computer-aided design software implemented as a computer program stored in a machine readable medium such as a CD ROM or a magnetic hard disk. Or on a compact disc or a variety of other alternative storage devices. Moreover, many of the methods of the present invention can be implemented using a digital processing system, such as a conventional general purpose computer system. Special purpose computers can also be used, which are designed or programmed to perform only one function. Figure 17 shows a typical computer system, a model that can be used in conjunction with the present invention. The computer system is used to implement the logical synthesis of the design described in the _HDL code. It should be noted that although FIG. 17 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting such components. Such details are not germane to the present invention. It should be noted that the architecture of Figure 17 is provided for illustrative purposes only and that a computer system or other digital processing system used in connection with the present invention is not limited to this feature architecture. It should also be understood that a network computer and other bedding processing systems having fewer components or components may be used with the present invention. The computer system in Figure i 7 may be, for example, an Apple Macintosh computer. The data processing system is lightly coupled as shown in FIG. 17, as a computer system including a form of one of the bus bars 1 - 2 - a microprocessor 103 and a 133330.doc - 43 · 200915123 ROM 107 and a volatile RAM 1〇5 with a non-volatile memory (10). Microprocessing JJ103 (possibly from (5) or M〇t(10)la, Inc or ugly) is coupled to the cache memory i. The busbars 1 〇2 interconnect the various components together and also interconnect the components 1〇3, 〇7, 1〇5, and (10) to a display (4) device and display device just to peripheral devices such as input/output (I/O) pirate 'may be a mouse, keyboard, modem, network interface, printer, scanner, video camera and other devices well known in the art. In general, the input/wheeling device n is coupled to the system via the input/output controller 109. The non-volatile RAM 1〇5 is generally implemented as a dynamic RAM (DrAM), which continuously requires power to renew or maintain the non-volatile memory in the memory as a magnetic hard disk drive or a magnetic device. Optical drives or optical actuators or a DVD RAM or even other types of memory systems that maintain data after power is removed from the system. In general. The non-volatile 5 memory will also be a random access memory, but this is not required. Although Figure 7 shows that the non-volatile memory system is directly coupled to a native device of the remainder of the components in the lean processing system, it should be understood that the present invention may utilize a non-volatile memory remote from the system. , such as a network storage device, coupled to the data processing system via a network interface, such as a data modem or an Ethernet interface. The busbar 2 can include one or more busbars connected to one another via various bridges, controllers and/or adapters, as is well known in the art. In one embodiment, the I/O controller 1〇9 includes a USB (Universal Serial Bus) adapter for controlling USB peripheral devices and/or an IEEE_1394 bus adapter for controlling IEEE-1394 peripheral devices. . 133330.doc -44- 200915123 It will be understood from this description that the aspects of the invention may be at least partially embodied in a software. That is, the techniques can be implemented in a computer system or other data processing system in response to a processor (such as a microprocessor) executing in a memory (such as ROM 1〇7, non-volatile) A sequence of instructions for RAM 1〇5, non-volatile memory 106, cache memory 4 or a remote storage device. In various embodiments, soft-wired circuitry can be used to implement the invention using hard-wired instructions. Thus, the techniques are not limited to any specific combination of hardware circuitry and software, nor to any source of such instructions for the data processing system (4). In addition, throughout this specification, various functions and operating systems are described as being implemented by software code or caused by a simplified description. However, it will be appreciated by those skilled in the art that such expression means that the operative power 6 is generated by a processor (such as microprocessor 1G3) executing the code. The software and the data can be stored using a machine readable medium that implements the various methods of the present invention in the context of "data processing". The executable software and data can be stored in various locations. And includes, for example, an exemplary ROM 107, a non-volatile Ram 〇 5, a non-volatile memory H) 6 and/or a cache memory 1G 4. The software and/or portions of the data may be stored in the storage devices In any of the '-machine-readable media, including any mechanism, which can be stolen by a computer (for example, a computer, a marriage, an electric chest, a personal digital assistant, a manufacturing Form: access to any form (or any device, etc.) access form = total (ie, store and / or send) information. For example, a machine readable medium including recordable / non-recordable media ", body (for example, read only memory (ROM), random hidden body (RAM), disk storage media, optical storage media, flash 133330.doc '45 200915123, acoustic or other forms of transmission, digital signals )Wait. Memory devices, etc.) and electrical and optical broadcast signals (eg, carrier 'infrared signals in the foregoing specifications, the present invention is described with reference to specific exemplary embodiments thereof. Obviously, it can be straightforward. Various modifications may be made without departing from the broader spirit and scope of the present invention as set forth in the accompanying claims. Accordingly, the specification and drawings are regarded as _ A restrictive meaning. ~ [Simple description of the schema]

已在附圖中精由範例而非限制 相同參考符號指示類似元件。 方式來解說本發明,其 中 圖1顯示用於設計積體電路之-先前技術方法。 圖2顯示實體合成之一先前技術範例性方法。 圖3顯示依據本發明之—呈牌 一體實施例用以設計一積體電 路之一方法之一流程圖。 圖4顯不依據本發明之_, 止 &lt; 具體實施例用以設計一積體電The same reference numerals are used in the drawings to refer to the The present invention is illustrated by way of example, in which Figure 1 shows a prior art method for designing an integrated circuit. Figure 2 shows one prior art exemplary method of entity synthesis. Figure 3 is a flow chart showing one of the methods for designing an integrated circuit in accordance with the present invention. 4 is not in accordance with the present invention, and the specific embodiment is used to design an integrated body

路之另一方法之一流程圖。 圖5A及5B顯示依據本發明之特定具體實施例用以設計 一積體電路之一方法之細節。 圖6顯示依據本發明之一具體實施例用以設計一積體電 路之一方法之一流程圖。 圖7顯示形狀與資源之一範例性估計。 圖8顯示用於一資源類型之一範例性映射。 圖9A及9B係一記憶體資源之範例性映射。 圖1 0A及10B係範例性資源共用實施方案。 133330.doc -46- 200915123 圖11顯示一加法器樹分解之一範例。 圖12顯示一閘樹分解之一範例。 圖13 A及13B顯示一切片最佳化之範例。 圖14顯示一複製最佳化之一範例。 圖1 5顯示一向農擴展之一範例。 圖16A及16B顯示mux/pmux摺疊及時序驅動分解之範 例。 圖17顯示可與本發明一起使用之一資料處理系統之一方 塊圖範例。 【主要元件符號說明】 101 電腦系統 102 匯流排 103 微處理器 105 揮發性RAM 106 非揮發性記憶體 107 ROM 108 顯示器件 109 輸入/輸出控制器 110 輸入/輸出器件 133330.docOne of the other methods of the road. Figures 5A and 5B show details of a method for designing an integrated circuit in accordance with a particular embodiment of the present invention. Figure 6 is a flow chart showing one of the methods for designing an integrated circuit in accordance with an embodiment of the present invention. Figure 7 shows an exemplary estimate of one of the shapes and resources. Figure 8 shows an exemplary mapping for one of the resource types. 9A and 9B are exemplary mappings of a memory resource. Figures 10A and 10B are exemplary resource sharing implementations. 133330.doc -46- 200915123 Figure 11 shows an example of an adder tree decomposition. Figure 12 shows an example of a brake tree decomposition. Figures 13A and 13B show an example of a slice optimization. Figure 14 shows an example of a replication optimization. Figure 15 shows an example of a one-way agricultural expansion. Figures 16A and 16B show examples of mux/pmux folding and timing driven decomposition. Figure 17 shows an example of a block diagram of one of the data processing systems that can be used with the present invention. [Main component symbol description] 101 Computer system 102 Busbar 103 Microprocessor 105 Volatile RAM 106 Non-volatile memory 107 ROM 108 Display device 109 Input/output controller 110 Input/output device 133330.doc

Claims (1)

200915123 十、申請專利範圍: l -種設計-積體電路之方法,該方法包含. 在該積體電路之一高 ^ ^^ 〇卩6 °又计表不處,反覆並遞增改變 邊°又什之—狀態。 2, 如清求項1夕f、+ . 展:、之方法,其中該反覆程序朝以下至少-者進 該積體電路φ义口》_ 一為件表不之抽象層次之-遞增減少; _ +電路規劃清單之—遞增成熟度;以及 一安置組態之一遞增成熟度。 3 ·如凊求項1之方法,其中哕;t; p比·χη_ 4 士 ^具中該间^計表示包括至少一組 /、在一晶片原型中失祕且古 杏 ,^ ^〒禾日具有—實施方案選擇用於該 組件。 其中3亥反覆程序朝一所需時序、每 •面積利用改良及—電力消耗改良之 4 ·如請求項1之方法 層之—擁塞減少、 至少一者進展。 i如請求们之方法’其中該積體電路設計之狀態包含一 電路規劃清單,其具有時序資料、資源資訊、安置資 訊、安排之路徑資訊及電力資料之至少一者。 6. 如請求们之方法,其,該變化程序係—合成變換與一 安置變換之至少一者。 一 7. —種機器可讀取媒體,其包含複數個可執行指令,當在 一數位處理系統上執行時其引起該數位處理系統實行— 種設計一積體電路(IC)之方法,該方法包含: 在該積體電路之一高階設計表示處,反覆並遞增改變 133330.doc 200915123 該設計之—狀態。 8.如請求項7之媒體, 展: T &quot;反復矛王序朝以下至少—者進 該積體電路中_ - RT二 象層次之-遞增減少; 一—電路規劃清單之一遞增成熟度;以及 一安置組態之一遞増成熟度。 9· Hi:7之媒體’其中該高階設計表示包括至少-組 組件晶片原型中未曾具有—實施方案選擇用於該 10. 如明求項7之媒體’其中該反覆程序朝一所需時序、每 層之-擁塞減少、-面積利用改良及—電力消耗改良之 至少一者進展。 11. 如Μ求項7之媒體’其中該積體電路設計之狀態包含一 電路,劃清單’其具有時序資料、資源資訊、安置資 汛、安排之路徑資訊及電力資料之至少一者。 12. 如印求項7之媒體,其中該變化程序係一合成變換與一 放置變換之至少一者。 13. —種設計一積體電路之方法,該方法包含: 反覆選擇並實行一合成變換與一安置變換之至少一 者X在該積體電路之一高階表示處遞增改變該設計之 一狀態。 14. 如請求項13之方法,其中該高階設計表示包括至少一組 件,其在一晶片原型中未曾具有一實施方案選擇用於該 組件。 133330.doc 200915123 其中該反覆程序朝以下至少一者進 15.如請求項13之方法 展: °亥積體電路中各||件表示之抽象層次之—遞增減少 RTL電路規1彳清單之—遞增成熟度;以及 一安置組態之一遞增成熟度。 其中一電路規劃清單係在存在下列 16.如請求項15之方法, 至少一者時更加成熟 其由較少高階RTL例項與更多閘位準例項所組成;以及 其具有更少抽象層次。 17·如請求項15之方法,其中一安置组態在其滿足主導該積 體電路之資源使用的更多規則時更加成熟。 18, 如°月求項13之方法,其中該反覆程序朝-所需時序、每 層之-擁塞減少、-面積利用改良及—電力消耗改良之 至少一者進展。 19. 如明求項13之方法,其中該積體電路設計之狀態包含一 電路規劃清單,其具有時序資料、資源資訊、安置資 訊、安排之路徑資訊及電力資料之至少一者。 20. -種機器可讀取媒體’其包含複數個可執行指令,當在 -數位處理系統上執行時其引起該數位處理系統實行一 種設計一積體電路(1C)之方法,該方法包含: 反覆選擇並實行一合成變換與一安置變換之至少一者 以在該積體電路之一高階表示處遞增改變該設計之一狀 態。 21.如請求項20之媒體,其中該高階設計表示包括至少一組 133330.doc 200915123 用於該 件’其在-晶片原型中未曾具有—實施方案選擇 組件。 22.如請求項20之媒體 展: 其中該反覆程序朝以下至少一者進 該積體電路中各器件表示之抽象層次之一遞增減少; 一 RTL電路規劃清單之一遞增成熟度;以及 一安置組態之一遞增成熟度。 23.如請求項22之媒體,其中__電路規劃清單係在存在下列 至少一者時更加成熟: 其由更少“ RTL例項與更多閘位準例項所組成;以及 其具有更少抽象層次。 24·如請求項22之媒體,其中一安置組態在其滿足主導該積 體電路之資源使用的更多規則時更加成熟。 25.如請求項20之媒體,其中該反覆程序朝—所需時序、每 層之-擁塞減少、-面積利用改良及—電力消耗改良之 至少一者進展。 26_如請求項20之媒體,其中該積體電路設計之狀態包含一 電路規劃清單,其具有時序資料 '資源資訊、安置資 訊、安排之路徑資訊及電力資料之至少一者。 27. —種設計一積體電路之方法,該方法包含: 產生該積體電路之設計之一初始狀態;以及 反覆評估複數個潛在變換之一成本函數;以及 實行k供該最佳成本函數之變換; 其中各反覆在該積體電路之一高階設計表示處遞増改 133330.doc 200915123 變該設計之一狀態。 28.如請求項27之方、本,仕ία 件,其在 …丄,其中該尚階設計表示包括至少一且 日日片原型中未曾具有— 、 組件。 29_如請求項27之方法,1中 . /、甲通夂復私序朝以下至少—者 展* 退 I她方案選擇用於該 一遞增減少 以及200915123 X. Patent application scope: l - a kind of design-integrated circuit method, the method includes. In one of the integrated circuits, ^ ^ ^ 〇卩 6 ° and the meter is not in place, repeating and incrementally changing the edge ° What is the state. 2, such as clearing the item 1 eve f, +. Exhibition:, the method, wherein the repeated procedure toward the following at least - into the integrated circuit φ Yikou _ a piece of the table is not the level of abstraction - incremental reduction; _ + Circuit Planning List - incremental maturity; and one of the placement configurations to increase maturity. 3 · For example, the method of claim 1, wherein 哕; t; p is more than χη_ 4 士 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Day has - the implementation chooses for this component. Among them, the 3H repeat procedure is toward a required timing, each area is improved, and the power consumption is improved. 4. As in the method layer of claim 1, the congestion is reduced, and at least one progresses. i. The method of the requester' wherein the state of the integrated circuit design includes a circuit planning list having at least one of timing information, resource information, placement information, arrangement path information, and power data. 6. As in the method of the requester, the change program is at least one of a synthetic transformation and a placement transformation. A machine readable medium comprising a plurality of executable instructions which, when executed on a digital processing system, cause the digital processing system to perform a method of designing an integrated circuit (IC), the method Contains: In the high-order design representation of one of the integrated circuits, it is repeated and incrementally changed 133330.doc 200915123 The state of the design. 8. As requested in the media of the item 7, exhibition: T &quot; repeated spears of the order to at least - into the integrated circuit _ - RT two-level level - incremental reduction; one - one of the circuit planning list incremental maturity; One of the placement configurations is one-way maturity. 9· Hi: 7 media 'where the high-level design representation includes at least a set of component wafer prototypes that have not been available—the implementation option is selected for the 10. The medium of the item 7', wherein the repeated program is directed to a desired timing, each At least one of the layer-congestion reduction, the improvement in area utilization, and the improvement in power consumption. 11. The media of claim 7 wherein the state of the integrated circuit design comprises a circuit, the list comprising at least one of timing information, resource information, placement information, arrangement path information, and power data. 12. The medium of claim 7, wherein the change program is at least one of a composite transform and a placement transform. 13. A method of designing an integrated circuit, the method comprising: repeatedly selecting and performing at least one of a composite transform and a placement transform X incrementally changing a state of the design at a higher order representation of the integrated circuit. 14. The method of claim 13, wherein the high-order design representation comprises at least one set of components that have not been selected for use in the component in a wafer prototype. 133330.doc 200915123 wherein the repetitive procedure proceeds to at least one of the following: 15. The method of claim 13: The abstraction level of each of the || pieces in the unit circuit of the unit is incrementally reduced by the RTL circuit specification. Incremental maturity; and one of the placement configurations to increase maturity. One of the circuit planning lists is in the presence of the following 16. The method of claim 15, at least one of which is more mature, consisting of fewer high-order RTL instances and more gates; and it has fewer levels of abstraction . 17. The method of claim 15, wherein the placement configuration is more mature as it satisfies more rules governing the use of resources of the integrated circuit. 18. The method of claim 13, wherein the repetitive process progresses toward at least one of a desired timing, a per-layer-congestion reduction, an area utilization improvement, and a power consumption improvement. 19. The method of claim 13, wherein the state of the integrated circuit design comprises a circuit planning list having at least one of timing information, resource information, placement information, routing information of the arrangement, and power data. 20. A machine readable medium comprising a plurality of executable instructions which, when executed on a digital processing system, cause the digital processing system to perform a method of designing an integrated circuit (1C), the method comprising: At least one of a composite transform and a placement transform is repeatedly selected and implemented to incrementally change a state of the design at a higher order representation of the integrated circuit. 21. The medium of claim 20, wherein the high order design representation comprises at least one set of 133330.doc 200915123 for the item 'there is no in the on-wafer prototype' implementation option component. 22. The media exhibit of claim 20: wherein the repeating program is incrementally decreasing toward one of the following abstraction levels of each of the device representations in the integrated circuit; one of the RTL circuit planning lists is incremented in maturity; and a placement One of the configurations increments the maturity. 23. The medium of claim 22, wherein the __circuit planning list is more mature when at least one of the following is present: it consists of fewer "RTL instances and more gates; and it has fewer Abstraction level 24. In the medium of claim 22, one of the placement configurations is more mature as it satisfies more rules governing the use of resources of the integrated circuit. 25. The medium of claim 20, wherein the repetitive procedure - at least one of the required timing, per-layer-congestion reduction, - area utilization improvement, and - power consumption improvement. 26_ The medium of claim 20, wherein the state of the integrated circuit design includes a circuit planning list, It has at least one of timing information 'resource information, placement information, arrangement path information, and power data. 27. A method of designing an integrated circuit, the method comprising: generating an initial state of the design of the integrated circuit And repeatedly evaluating a cost function of the plurality of potential transformations; and performing a transformation of the optimal cost function; wherein each of the high-order design representations of the integrated circuit is repeated Handling tampering with 133330.doc 200915123 changes the state of one of the designs. 28. As requested in item 27, this is the item, which is in 丄, where the design of the order includes at least one and the prototype of the day. There is no -, component. 29_ as in the method of claim 27, 1 in . /, A-Tong 夂 私 私 朝 至少 至少 至少 至少 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 她 該積體電路中各器件表示之抽象層次之 一 RTL電路規劃清單之一遞增成熟度; 一安置組態之一遞增成熟度。 ;〇·:請求項29之方法,其中該抽象層次減少與該電路規割 清早之成熟度之至少一者包含一合成變換。 31. 如請求項29之方法’其中該安置組態之成熟度包含一安 置變換與一合成最佳化之一第二反覆。 32. 如請求項29之方法,其中—電路規劃清單係在存在下列 至少一者時更加成熟: 其由更少高階RTL例項與更多閘位準例項所組成;以及 其具有更少抽象層次。 33. 如印求項29之方法,其中一安置組態在其滿足主導該積 體電路之資源使用的更多規則時更加成熟。 34. 如請求項29之方法,其中一全域安置係用於放置較不成 熟電路規劃清單與安置組態。 35. 如請求項34之方法,其中該全域安置係一力引導安置方 法0 36.如請求項27之方法,其中該反覆程序朝一所需時序、每 133330.doc 200915123 面積利用改良及一電力消耗改良之 層之一擁塞減少、 至少一者進展。 37. 如請求項27之方法,其中該成本函數包含時序、每層擁 塞、面積利用及電力之至少—者。 38. 如請求項27之方法,其中該成本函數係基於該積體電路 設計之狀態。 39. 如請求項27之方法,其中該成本函數係基於一收敏準 則。 40. 如請求項27之方法,其中該積體電路設計之狀態包含— 電路規劃清單,其具有時序資料、資源資訊、安置資 訊、安排之路徑資訊及電力資料之至少一者。 、 •如請求項4〇之方法,其中該電路規劃清單係藉由基於時 序之複數個中性最佳化來加以最佳化。 42.如請求項41之方法,其中該中性最佳化包含—可逆面積 回!、-加法器樹分解、一明顯資源指派、該電路規劃 清單之一麼平合併及一電子多工器分解。 4如請求項4〇之方法’其進—步包含為該電路規劃清單之 各7°件估計形狀與資源以獲得一大致全域放置。 44. 如請求項27之方法,其中該潛在變換包含以下至少一 者:一撤銷/復原資源共用、一加法樹分解、一及/或閘 分解、-邏輯複製、一向農展開、—位元疊接、一 m/x/pmu讀疊及時序驅動分解、一迁迴移除、至各離散 貧源之一指派、—因子分解及一安置。 45. 如請求項27之方其中該潛在變換包含以下至少一 133330.doc 200915123 者:―安置、一更新放置、一诂番县 1 放置最佳化、一資源指 派 '一資源利用、一邏輟备 、班处' A 、珥取佳化、一邏輯分解、一邏輯 映射及一邏輯合成。 46.如請求項45之方法,其中兮眘、、盾妥丨丨田和十a w Y这貝源利用程序含基於一品質 度量來評級並移除各低等級資源。 47.如請求項45之方法,其中兮口暂奋曰—人t 甲这口口貨度罝包含與一資源之使 用的距離。One of the abstract levels of the device representation in the integrated circuit represents one of the RTL circuit planning lists with increasing maturity; one of the placement configurations increments the maturity. The method of claim 29, wherein the at least one of the reduction of the abstraction level and the maturity of the circuit is early comprises a composite transformation. 31. The method of claim 29, wherein the maturity of the placement configuration comprises a second transformation of a placement transformation and a synthesis optimization. 32. The method of claim 29, wherein the circuit planning list is more mature in the presence of at least one of: consisting of fewer higher order RTL instances and more gate quasi-case items; and having less abstraction level. 33. As in the method of claim 29, one of the placement configurations is more mature as it meets more rules governing the use of resources of the integrated circuit. 34. The method of claim 29, wherein the global placement is for placing a less mature circuit planning list and a placement configuration. 35. The method of claim 34, wherein the global placement is directed to the placement method 0. 36. The method of claim 27, wherein the repetitive procedure is toward a desired timing, each 133330.doc 200915123 area utilization improvement and a power consumption One of the improved layers has less congestion and at least one progresses. 37. The method of claim 27, wherein the cost function comprises timing, at least one layer of congestion, area utilization, and power. 38. The method of claim 27, wherein the cost function is based on a state of the integrated circuit design. 39. The method of claim 27, wherein the cost function is based on a sensitivity criterion. 40. The method of claim 27, wherein the state of the integrated circuit design comprises a circuit planning list having at least one of timing information, resource information, placement information, routing information of the arrangement, and power data. • The method of claim 4, wherein the circuit planning list is optimized by a plurality of neutral optimizations based on a sequence. 42. The method of claim 41, wherein the neutral optimization comprises - a reversible area back! , - Adder tree decomposition, an obvious resource assignment, one of the circuit planning lists, and an electronic multiplexer decomposition. 4 The method of claim 4, wherein the step further comprises estimating the shape and resources for each 7° piece of the circuit planning list to obtain a substantially global placement. 44. The method of claim 27, wherein the potential transformation comprises at least one of: an undo/restore resource sharing, an additive tree decomposition, a and/or gate decomposition, a logical replication, a one-way agricultural deployment, a bit stack Connection, a m/x/pmu read stack and timing driven decomposition, a relocation removal, one assignment to each discrete source, factorization, and a placement. 45. As in the case of claim 27, the potential transformation includes at least one of the following: 133330.doc 200915123: “placement, an update placement, a 诂fanxian 1 placement optimization, a resource assignment, a resource utilization, a logic Preparation, class 'A, take advantage, a logical decomposition, a logical mapping and a logical synthesis. 46. The method of claim 45, wherein the 源 、, 盾 丨丨 和, and the ten a y y y y y y y y y y y y y y y y 47. The method of claim 45, wherein the mouth of the mouth is 曰 曰 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 罝 罝 罝. 48. 如請求項45之方法,其中該資源利用程序含計算在各電 路例項上的一力,該力係根據複數個範圍所計算之該等 力之一加權和。 49. 如請求項48之方法,其中用於一短程力之權重與該例項 之密度成比例,而用於一長程力之權重與該例項之密度 成反比。 50.如請求項45之方法,其中該資源指派包含異質資源指 派。 51. 如請求項45之方法,其中該異質資源指派包含指派具有 一異質資源之一非原型例項至該例項具有資源的所有 層,且在該例項上的該力係來自所有層之該等力之一加 權和。 52. 如請求項45之方法,其中該異質資源指派包含指派具有 一異質資源之一非原型例項至該例項具有資源的所有 層,且在該例項上的該力係在來自所有層之該等力中具 有最少量值之力。 53.如請求項45之方法,其中該異質資源指派包含:〜 念從不 133330.doc 200915123 考㈣例項資源之安置的-位置計算來將該例項放置於 -提供最少分裂性之層,則指派具有—異質資源之—非 原型例項之資源至此層。 54. 如請求項27之方法,其中該潛在變換包含以下至少一 者:-合成映射、一合成最佳化、用於在該積體電路設 计中各器件表示之抽象層次之—減少的一合成、及一 RTL電路規劃清單之成熟度層次之一增加。 55. 如請求項27之方法,其中該潛在變換進—步包含一第二 反覆程序。 % -種機器可讀取媒體,其包含複數個可執行指令,當在 數位處理系統上執行時其引起該數位處理系統實行一 種設計—積體電路(1C)之方法,該方法包含: 產生該積體電路之設計之一初始狀態;以及 反覆評估複數個潛在變換之一成本函數;以及 實行提供該最佳成本函數之變換; -中各反覆在該積體電路之—高階設計表示處遞增改 變該設計之一狀態。 57. 如請求項56之媒體,其中該高階設計表示包括至少一組 件’其在-晶片原型中未曾具有一實施方案選擇用於該 組件。 58. 如明求項56之媒體,其中該反覆程序朝以下至少 展: 汶積體電路中各器件表示之抽象層次之一遞增減少; 一 RTL電路規劃清單之-遞增成熟度;以及 133330.doc 200915123 一安置組態之一遞增成熟度。 59. 如請求項58之媒體,其中該抽象層次減少與該電路規劃 清單之成熟度之至少一者包含一合成變換。 60. 如請求項58之媒體,其中該安置組態之成熟度包含一安 置變換與一合成最佳化之一第二反覆。 61. 如請求項58之媒體,其中一電路規劃清單係在存在下列 - 至少一者時更加成熟: 其由更少高階RTL例項與更多閘位準例項所組成;以及 ' 其具有更少抽象層次。 62. 如請求項58之媒體,其中一安置組態在其滿足主導該積 體電路之資源使用的更多規則時更加成熟。 63. 如請求項58之媒體,其中一全域安置係用於放置較不成 熟電路規劃清單與安置組態。 64. 如請求項63之媒體,其中該全域安置係一力引導安置方 法。 I』65.如請求項56之媒體,其中該反覆程序朝一所需時序、每 層之一擁塞減少、一面積利用改良及一電力消耗改良之 至少一者進展。 66. 如請求項56之媒體,其中該成本函數包含時序、每層擁 塞、面積利用及電力之至少一者。 67. 如請求項56之媒體’其中該成本函數係基於該積體電路 設計之狀態。 68. 如請求項56之媒體,其中該成本函數係基於一收斂準 133330.doc 200915123 69. 如請求項56之媒體,其中該積體電路設計之狀態包含一 電路規劃清單’其具有時序資料、資源資訊、安置資 訊、安排之路徑資訊及電力資料之至少一者。 70. 如請求項69之媒體,其中該電路規劃清單係藉由基於時 序之複數個中性最佳化來加以最佳化。 71. 如請求項70之媒體,其中該中性最佳化包含一可逆面積 回復、一加法器樹分解、一明顯資源指派、該電路規劃 清單之一壓平合併及一電子多工器分解之至少一者。 72. 如請求項69之媒體,其進一步包含為該電路規劃清單之 各元件估計形狀與資源以獲得一大致全域安置。 73. 如請求項56之媒體,其中該潛在變換包含以下至少一 者:一撤銷/復原資源共用、一加法樹分解、一及/或問 分解、一邏輯複製、一向農展開、一位元疊接、一 mux/pmux摺疊及時序驅動分解、一迂迴移除、至各離散 資源之一指派、一因子分解及一安置。 74. 如請求項56之媒體,其中該潛在變換包含以下至少一 者:一安置、一更新放置、一安置最佳化、一資源指 派、一資源利用、一邏輯最佳化、一邏輯分解、一邏輯 映射及一邏輯合成。 75. 如請求項74之媒體’其中該資源利用程序含基於一品質 度量來評級並移除各低等級資源。 76_如請求項74之媒體,其中該品質度量包含與一資源之使 用的距離。 77.如請求項74之媒體,其中該資源利用程序含計算在各電 133330.doc -10- 200915123 之該等 'J項上的力該力係根據複數個範圍所計算 力之一加權和。 78.如請求項77之媒體, ^ ^ ^ 用於短私力之核重與該例頊 之岔度成比例而用於—县 、 反比。 長私力之榷重與該例項之密度成 其中該資源指派包含異質資源指 79.如請求項74之媒體 派0 开T琢吳買資源指 80.如請求項74之媒 〇 1日跟丹百 -異質資源之—非原型例項至該例項具有資源的所有声 且在該例項上的該力係來自所有層之該等力之—加權 和° 8丨.如請未項74之媒體’其中該異質資源指派包含指派具有 一異質資源之一非原型例項至該例項具有資源的所有層 且在該例項上的該力係在來自所有層之該等力中具有最 少量值之力。 82. 如請求項74之媒體,其中該異質資源指派包含指派具有 一異質資源之一非原型例項之資源至一提供最少分裂性 之層,若從不考量該例項資源之安置的一位置計算來將 該例項放置於此層内的話。 83. 如請求項56之媒體,其中該潛在變換包含以下至少一 者:一合成映射、一合成最佳化、用於在該積體電路設 計中各器件表示之抽象層次之一減少的一合成、及一 RTL電路規劃清單之成熟度層次之一增加。 84·如請求項56之媒體,其中該潛在變換進一步包含一第二 133330.doc -11 - 200915123 反覆程序。 85. —種設計一積體電路之方法,該方法包含: 在—高階電路描述處決定一設計之各入出 分σ成變換;以及 在來自該高階電路描述之合成仍未完成昧 決策。 決心各安置 86. 如請求項85之方法,其中該高階電路描述係—表一、 包括至少一組件,該組件在一晶片原型中未* 其 施方案選擇用於該組件。 實 87. 如請求項85之方法,其進一步包含: 為該先則合成南階電路表示之一部分重福—入 換。 吸—5成變 8 8.如請求項85之方法,其中該合成變換係以下—者: 一加法器樹分解; 一及/或閘分解; 該電路規劃清單之一壓平合併; 一電子多工器分解; 一邏輯最佳化; 一邏輯分解; 一撤銷/復原資源共用; —邏輯複製; 一邏輯因子分解; 一向農擴展; 位元疊接;一mux/pmux摺疊及時序驅動分解;以及 一迂迴移除。 133330.doc -12- 200915123 89. 90. 91. 92. 93. 94. 95. 96. :凊求項85之方法,其中該合成變換組合由該高階電路 录不所編譯之各rTL組件。 如:求項85之方法,其中該等放置決策係遞增的。 之:法,其中該等放置決策係針對該電路設 分的若干物件之部分放置。 種設計一積體電路(1C)之方法,該方法包含: 決定一不完全安置資訊;以及 決定一設 部分的一 使用該不完全安置資訊在一高階電路表示處 計之各合成變換, 其中該不完全安置資訊包含相對於該扣之— 安置決策。 月长項92之方法,其中該高階電路描述係—表示 包括至少-組件,該組件在—晶片原型中未曾具有一其 施方案選擇用於該組件。 、一實 如請求項92之方法’其進一步包含: 為該先前合成高階電路表示之一部分 I。 刀S複—合成變 如請求項92之方法,其進一步包含: f來自該高階電路描述之合成仍未完成時決定各安置 如請求項92之方法,其中該合成變換係以下—者 一加法器樹分解; 一及/或閘分解; 該電路規劃清單之一壓平合併; 133330.doc -13- 200915123 一電子多工器分解; 一邏輯最佳化; 一邏輯分解; 一撤銷/復原資源共用; 一邏輯複製; 一邏輯因子分解; 一向農擴展; 一位元疊接; 一 mux/pmux摺疊及時序驅動分解;以及 一迂迴移除。 97. 如請求項92之方法,其中該合成變換組合由該高階電路 表示所編譯之各RTL組件。 98. 如請求項92之方法,其中該合成變換係遞增的。 99. 如請求項92之方法,其中該合成變換係針對該電路設計 之一部分的若干物件之部分合成。48. The method of claim 45, wherein the resource utilization program includes a force calculated on each of the circuit instances, the force being weighted according to one of the equalities calculated by the plurality of ranges. 49. The method of claim 48, wherein the weight for a short-range force is proportional to the density of the item, and the weight for a long-range force is inversely proportional to the density of the item. 50. The method of claim 45, wherein the resource assignment comprises a heterogeneous resource assignment. 51. The method of claim 45, wherein the heterogeneous resource assignment comprises assigning a non-prototype item having a heterogeneous resource to all of the layers having the resource of the item, and the force on the item is from all layers One of these forces is weighted and summed. 52. The method of claim 45, wherein the heterogeneous resource assignment comprises assigning a non-prototype item having a heterogeneous resource to all of the layers having the resource, and the force on the instance is from all layers The force of the least amount of these forces. 53. The method of claim 45, wherein the heterogeneous resource assignment comprises: ~ ny 133330.doc 200915123 test (4) placement of the item resource - position calculation to place the item on the layer providing the least divergence, Then assign resources with non-prototype items of heterogeneous resources to this layer. 54. The method of claim 27, wherein the potential transformation comprises at least one of: - a composite map, a synthesis optimization, an abstraction level for each device representation in the integrated circuit design - a reduced one One of the maturity levels of synthesis and an RTL circuit planning list has increased. 55. The method of claim 27, wherein the potential transformation further comprises a second repetitive procedure. % - a machine readable medium comprising a plurality of executable instructions which, when executed on a digital processing system, cause the digital processing system to implement a design-integrated circuit (1C) method, the method comprising: generating the An initial state of the design of the integrated circuit; and a cost function that repeatedly evaluates a plurality of potential transformations; and performs a transformation that provides the optimal cost function; - each of which is incrementally changed at the high-order design representation of the integrated circuit One state of the design. 57. The medium of claim 56, wherein the high-order design representation comprises at least one set of components that have not had an embodiment selected for use in the on-wafer prototype. 58. The medium of claim 56, wherein the repetitive procedure is at least shown as follows: one of the abstraction levels of the representations of the devices in the system of intensive circuits is incrementally reduced; an RTL circuit planning list - incremental maturity; and 133330.doc 200915123 One of the reset configuration increases the maturity. 59. The medium of claim 58, wherein the at least one of the abstraction level reduction and the maturity of the circuit plan list comprises a composite transformation. 60. The medium of claim 58, wherein the maturity of the placement configuration comprises a second transformation of a placement transformation and a synthesis optimization. 61. As in the medium of claim 58, one of the circuit planning lists is more mature in the presence of at least one of: it consists of fewer higher order RTL instances and more gates; and 'its have more Less abstraction. 62. As in the medium of claim 58, one of the placement configurations is more mature as it meets more rules governing the use of resources of the integrated circuit. 63. As in the medium of claim 58, one of the global placements is used to place a less mature circuit planning list and placement configuration. 64. The media of claim 63, wherein the global placement is directed to the placement method. The media of claim 56, wherein the repetitive process progresses toward at least one of a desired timing, one of each layer of congestion reduction, an area utilization improvement, and a power consumption improvement. 66. The medium of claim 56, wherein the cost function comprises at least one of timing, congestion per layer, area utilization, and power. 67. The medium of claim 56, wherein the cost function is based on a state of the integrated circuit design. 68. The medium of claim 56, wherein the cost function is based on a convergence criterion 133330.doc 200915123 69. The medium of claim 56, wherein the state of the integrated circuit design includes a circuit planning list having timing information, At least one of resource information, resettlement information, route information of arrangements, and power information. 70. The medium of claim 69, wherein the circuit plan list is optimized by a plurality of neutral optimizations based on a sequence. 71. The medium of claim 70, wherein the neutral optimization comprises a reversible area response, an adder tree decomposition, an explicit resource assignment, a flattening of the circuit planning list, and an electronic multiplexer decomposition. At least one. 72. The medium of claim 69, further comprising estimating a shape and a resource for each component of the circuit planning list to obtain a substantially global placement. 73. The medium of claim 56, wherein the potential transformation comprises at least one of: undo/restore resource sharing, one addition tree decomposition, one and/or problem decomposition, one logical copy, one-way agricultural expansion, one-dimensional stack Connection, a mux/pmux folding and timing-driven decomposition, a round-trip removal, one assignment to each discrete resource, a factorization, and a placement. 74. The medium of claim 56, wherein the potential transformation comprises at least one of: a placement, an update placement, a placement optimization, a resource assignment, a resource utilization, a logic optimization, a logical decomposition, A logical mapping and a logical synthesis. 75. The medium of claim 74, wherein the resource utilization program includes rating and removing each low level resource based on a quality metric. 76. The medium of claim 74, wherein the quality metric comprises a distance from a resource. 77. The medium of claim 74, wherein the resource utilization program includes a force calculated on the 'J terms of each of the electrical powers 133330.doc -10- 200915123. The force is weighted according to one of the calculated forces of the plurality of ranges. 78. As in the media of request 77, ^ ^ ^ is used in the proportion of the short-private force to be proportional to the degree of the case, and is used for county-to-county comparison. The weight of the long-term private power is equal to the density of the item. The resource assignment includes a heterogeneous resource. 79. If the media item of claim 74 is 0, the T琢 Wu buy resource refers to 80. The media of claim 74 is followed by Danbai-heterogeneous resources—the non-prototype item to the item has all the sounds of the resource and the force on the item is from the force of all the layers—weighted and ° 丨. The media 'where the heterogeneous resource assignment includes assigning a non-prototype item having a heterogeneous resource to all of the layers having the resource of the item and the force on the item has the least of the forces from all layers The power of quantity. 82. The medium of claim 74, wherein the heterogeneous resource assignment comprises assigning a resource having a non-prototype item of a heterogeneous resource to a layer providing a minimum divisibility, if a position of the placement of the item resource is never considered Calculate to place the item in this layer. 83. The medium of claim 56, wherein the potential transform comprises at least one of: a composite map, a synthesis optimization, a synthesis for reducing one of an abstraction level of each device representation in the integrated circuit design And one of the maturity levels of an RTL circuit planning list has increased. 84. The medium of claim 56, wherein the potential transformation further comprises a second 133330.doc -11 - 200915123 repeated procedure. 85. A method of designing an integrated circuit, the method comprising: determining a sigma transformation of a design at a high-order circuit description; and determining that the synthesis from the high-order circuit description has not yet been completed. Determining each placement 86. The method of claim 85, wherein the high-order circuit description system, Table 1, includes at least one component that is not selected for use in a wafer prototype. The method of claim 85, further comprising: constituting a portion of the south-order circuit representation for the first-order synthesis.吸—5成变8 8. The method of claim 85, wherein the synthetic transformation is as follows: one adder tree decomposition; one and/or gate decomposition; one of the circuit planning lists is flattened and merged; Decomposition of a tool; a logical optimization; a logical decomposition; an undo/restore resource sharing; - logical replication; a logic factorization; a directional agricultural extension; a bit splicing; a mux/pmux folding and timing-driven decomposition; Remove it one time. The method of claim 85, wherein the composite transform combination is recorded by the high-order circuit for each rTL component compiled. For example, the method of claim 85, wherein the placement decisions are incremental. The method, wherein the placement decisions are placed for portions of several objects of the circuit designation. A method of designing an integrated circuit (1C), the method comprising: determining an incomplete placement information; and determining a composite portion of each of the synthetic transformations using the incomplete placement information at a higher order circuit representation, wherein Incomplete placement information includes decisions relative to the deduction. The method of month length item 92, wherein the high order circuit description system - representing at least - the component, has not been selected for use in the component in the wafer prototype. The method of claim 92, wherein the method further comprises: representing the portion I of the previously synthesized higher order circuit. The knives S complex-synthesis method of claim 92, further comprising: f determining, by the method of claim 92, the synthesis from the higher-order circuit description is still not completed, wherein the synthesis transformation is as follows - one adder Tree decomposition; one and/or gate decomposition; one of the circuit planning lists is flattened and merged; 133330.doc -13- 200915123 one electronic multiplexer decomposition; one logic optimization; one logic decomposition; one undo/restore resource sharing A logical copy; a logical factorization; a directional agricultural expansion; a one-dimensional splicing; a mux/pmux folding and timing-driven decomposition; and a round-trip removal. 97. The method of claim 92, wherein the composite transform combination is represented by the higher order circuit for each of the compiled RTL components. 98. The method of claim 92, wherein the synthetic transformation is incremental. 99. The method of claim 92, wherein the synthetic transformation is a composite of a plurality of objects for a portion of the circuit design. 133330.doc -14-133330.doc -14-
TW97128023A 2007-07-23 2008-07-23 Architectural physical synthesis TW200915123A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US95143607P 2007-07-23 2007-07-23

Publications (1)

Publication Number Publication Date
TW200915123A true TW200915123A (en) 2009-04-01

Family

ID=44725655

Family Applications (2)

Application Number Title Priority Date Filing Date
TW097127996A TWI475415B (en) 2007-07-23 2008-07-23 Architectural physical synthesis
TW97128023A TW200915123A (en) 2007-07-23 2008-07-23 Architectural physical synthesis

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW097127996A TWI475415B (en) 2007-07-23 2008-07-23 Architectural physical synthesis

Country Status (1)

Country Link
TW (2) TWI475415B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959472B1 (en) * 2013-09-27 2015-02-17 Arm Limited Considering compatibility of adjacent boundary regions for standard cells placement and routing
US9633147B1 (en) * 2015-10-05 2017-04-25 Taiwan Semiconductor Manufacturing Company Ltd. Power state coverage metric and method for estimating the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886121B2 (en) * 2000-01-18 2005-04-26 Cadence Design Systems, Inc. Hierarchical test circuit structure for chips with multiple circuit blocks
EP1907957A4 (en) * 2005-06-29 2013-03-20 Otrsotech Ltd Liability Company Methods and systems for placement
US7673260B2 (en) * 2005-10-24 2010-03-02 Cadence Design Systems, Inc. Modeling device variations in integrated circuit design
TW200620018A (en) * 2006-03-03 2006-06-16 Univ Chang Gung A method for MIMO RLCG interconnects model order reduction technique using the global Arnoldi algorithm

Also Published As

Publication number Publication date
TWI475415B (en) 2015-03-01
TW200915122A (en) 2009-04-01

Similar Documents

Publication Publication Date Title
JP5608079B2 (en) Architectural physical synthesis
JP5706689B2 (en) Architectural physical synthesis
JP4719265B2 (en) System and method for probabilistic interconnect structure design
US7653884B2 (en) Methods and systems for placement
US8645882B2 (en) Using entropy in an colony optimization circuit design from high level synthesis
US7409658B2 (en) Methods and systems for mixed-mode physical synthesis in electronic design automation
US6789248B1 (en) Method and apparatus to perform resistance and capacitance (RC) parameter customization for better timing closure results in physical synthesis and optimization
US8296712B2 (en) Method and apparatus for improving the interconnection and multiplexing cost of circuit design from high level synthesis using ant colony optimization
Agnesina et al. Autodmp: Automated dreamplace-based macro placement
US6519745B1 (en) System and method for estimating capacitance of wires based on congestion information
Chen et al. Simultaneous timing driven clustering and placement for FPGAs
TW200915123A (en) Architectural physical synthesis
Pandini et al. Congestion-aware logic synthesis
US8296713B2 (en) Method and apparatus for synthesizing pipelined input/output in a circuit design from high level synthesis
EP2622549A1 (en) Method and apparatus for using entropy in ant colony optimization circuit design from high level systhesis
Reis et al. Physical awareness starting at technology-independent logic synthesis
Murgai Technology-dependent logic optimization
Nijssen et al. GreyHound: A methodology for utilizing datapath regularity in standard design flows
Choi Performance driven optimization of VLSI layout
Sayal EDA design for Microscale Modular Assembled ASIC (M2A2) circuits
Zhu et al. An architecture-aware routing optimization via satisfiabilty for hierarchical FPGA
Färm Integrated logic synthesis using simulated annealing
Kapadia Partitioning-driven convergence in the design of random-logic blocks
Leow Post-routing analytical models for homogeneous fpga architectures
Cody Simulated Annealing with min-cut and greedy perturbations