版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Unit 4 VLSI設(shè)計(jì)方法,Chap10 邏輯綜合與時(shí)序仿真,Unit 1 緒論Unit 2 CMOS電路設(shè)計(jì)基礎(chǔ)Unit 3 CMOS電路的邏輯設(shè)計(jì)Unit 4 VLSI設(shè)計(jì)方法 Chap8 設(shè)計(jì)模式和設(shè)計(jì)流程 Chap9 RTL設(shè)計(jì)與仿真 Chap10 邏輯綜合與時(shí)序仿真 Chap11 可測(cè)試性設(shè)計(jì)與ATPG Chap12 版圖設(shè)計(jì)與驗(yàn)證,Specification Executable model RTL code Gate-level netlist Cell/interconnect level position Mask-level geometry,System (Behav
2、ioral) level RTL Gate (Logic) level Layout (Physical) Level,設(shè)計(jì)階段 (設(shè)計(jì)抽象層),設(shè)計(jì)結(jié)果,Logic Design & Simulation : from RTL, then in Gate-Level,Logic Synthesis 得到用已有的基本邏輯單元(庫單元)互聯(lián)并滿足一定邏輯功能的邏輯構(gòu)成 Gate-Level Simulation(門級(jí)功能仿真與動(dòng)態(tài)時(shí)序分析) 一般不做這一步 Formal Verification(形式驗(yàn)證) STA(Static Timing Analysis,靜態(tài)時(shí)序分析),HDL Codin
3、g for SynthesisBased on Synopsys Design Compiler,The Importance of Quality of Source Code,Codes that are functionally equivalent, but coded differently will give different synthesis results. You cannot rely solely on Design Compiler to “fix” a poorly coded design! Try to understand the “hardware” yo
4、u are describing, to give DC the best possible starting point.,Think Hardware!,Write HDL hardware descriptions Think of the topology implied by the code Do not write HDL simulation models No explicit delays No file I/O,Think Synchronous!,Synchronous designs run smoothly through synthesis, simulation
5、, test, and layout Asynchronous designs may require hand instantiation and extensive simulation to verify Isolate asynchronous logic into separately compiled blocks,Think RTL!,Writing in an RTL coding style means describing: the circuit topology the register placement the functionality between regis
6、ters DC optimizes logic between registers: It does not optimize the register placement,Synthesis of if Statements(1),The if-else construct implies multiplexing hardware,Actual circuit implementation depends on target library and Constraints,Synthesis of if Statements(2),To infer latches, use an if s
7、tatement without an else clause,Synthesis of case Statements,imply parallel mux function,Synthesis of Flip-Flops,Synthesis of Flip-Flops,SynthesisBased on Synopsys Design Compiler,0. Introduction to Synthesis 1. Pre-Synthesis Processes 2. Constraining the Design 3. Synthesizing the Design,What Is Sy
8、nthesis?,Synthesis is the transformation of an idea into a manufacturable device to carry out an intended function.,在包含眾多結(jié)構(gòu)、功能、性能均已知的邏輯單元電路的目標(biāo)工藝庫的支持下 得到目標(biāo)工藝庫中單元電路的連接關(guān)系(邏輯網(wǎng)絡(luò))的最佳實(shí)現(xiàn)方案 滿足設(shè)計(jì)電路的功能要求以及速度、面積等限制條件,Synthesis Internal Flow,Synthesis Is Constraint-Driven,Synthesis Is Path-Based,0. Introduction
9、to Synthesis Pre-Synthesis Processes Technology Library for synthesis Design Hierarchy and Partition 2. Constraining the Design 3. Synthesizing the Design,Technology Library (1),工藝庫由Foundary提供,一般是.db的格式,這種格式是DC認(rèn)識(shí)的一種內(nèi)部文件格式,不能由文本方式打開 .db格式可以由文本格式.lib轉(zhuǎn)化過來,Technology Library (2),During mapping, DC will:
10、 choose functionally-correct gates from this library calculate the timing of the circuit using vendor-supplied timing data for these gates target_library is a reserved variable in DC,you should set it to point to the Technology library file(s) provided by your silicon vendor,Design Hierarchy: RISC_C
11、ORE example,Design Hierarchy (Partitioning) within HDL Description,編寫HDL代碼之前(系統(tǒng)設(shè)計(jì)階段)都需要系統(tǒng)劃分,根據(jù)功能或者其他的原則將一個(gè)系統(tǒng)層次化地分成若干個(gè)模塊,這些模塊內(nèi)部再進(jìn)一步細(xì)分成模塊/子模塊 Entity (VHDL) and module (Verilog) statements define hierarchical blocks. Inference of Arithmetic Circuits (+, -, *, .) can create a new level of hierarchy. Pro
12、cess (VHDL) and always (Verilog) statements do not create hierarchy,Repartitioning to Design Hierarchy for Synthesis,在DC做綜合的過程中,默認(rèn)的情況下各個(gè)模塊的層次關(guān)系是保留著的。保留著的層次關(guān)系會(huì)對(duì)DC綜合造成一定的影響,比如在優(yōu)化的過程中,各個(gè)模塊的管腳必須保留,這勢(shì)必影響到模塊邊界的優(yōu)化效果,Why Partitioning/ Repartitioning,Partitioning or Repartitioning is driven by many (often co
13、mpeting) needs: Separate distinct functions Achieve workable size and complexity Manage project in team environment Design Reuse Meet physical constraints And many, many others,Poor Partitioning: so Should Eliminate Unnecessary Hierarchy,Good Partitioning(1): No Hierarchy in Combinational Paths,Good
14、 Partitioning(2): No Hierarchy in Combinational Paths,Good Partitioning(3): Partition at Register Boundaries,Example(1): Avoid Glue Logic,Example(2): Remove Glue Logic Between Blocks,Balance Block Size in Partitioning(1),Balance Block Size in Partitioning(2),Top-Level Design Partitioning,Repartition
15、ing within Design Compiler,The group and ungroup commands modify the partitions in a design. Group creates a new hierarchical block. Ungroup removes either one or all levels of hierarchy.,Group,Ungroup,0. Introduction to Synthesis 1. Pre-Synthesis Processes 2. Constraining the Design Area Constraint
16、s Timing Constraints and Time Budgeting Environmental Attributes Clock Constraints 3. Synthesizing the Design,Specifying Area Constraints,施加了一個(gè)最大面積100單位的約束 Units are those of target library, defined by the vendor: 2-input-NAND-gate transistors square mils,Specify Timing Constraints (1),Synchronous D
17、esigns: Data arrives from a clocked device Data goes to a clocked device Objective: Define the timing constraints for all paths within a design: 1. The internal (register to register) paths 2. All input paths 3. All output paths,Specify Timing Constraints (2),1. Creating a clock constrains timing pa
18、ths between registers create_clock -period 10 get_ports Clk,Specify Timing Constraints (3),2. Constraining the Input Paths set_input_delay max (input delay) clock Clk get_ports Clk,Specify Timing Constraints (4),3. Constraining Output Paths set_output_delay max (output delay) clock Clk get_ports Clk
19、,Time Budgeting (1),What if you do not know the delays on your inputs or the setup requirements of your outputs? Create a Time Budget !,Time Budgeting (2),Time Budgeting,Time Budgeting: Example Time Budgeting for MY_BLOCK Time Budgeting for X_BLOCK and Y_BLOCK,Time Budgeting (3),Constraining for Tim
20、ing: What Is Missing?,輸入輸出的電平轉(zhuǎn)換時(shí)間(transition time)由輸入外圍電路的驅(qū)動(dòng)能力和輸出外圍電路的負(fù)載大小決定 電路內(nèi)部的互連線時(shí)延的估計(jì) 當(dāng)外界溫度或者電路供電電壓發(fā)生變化時(shí),時(shí)延會(huì)相應(yīng)的改變,Environmental Attributes (1),set_driving_cell: Input Drive Strength,Environmental Attributes (2),set_load: Output Capacitive Load,Environmental Attributes (3),set_wire_load_model: N
21、et Delays,A Wire Load Model (WLM) is an estimate of a nets RC parasitics based on the nets fanout: Model is created by your vendor Estimates are based on statistics from other designs the vendor has fabricated using this process Specifying WLM in Design Compiler,Environmental Attributes (4),Operatin
22、g Conditions Why? Library cells are usually characterized using “nominal” voltage and temperature. If not What? Vendors allow for synthesis of circuits which will not operate under “nominal” conditions by embedding other operating conditions in the technology libraries vendor-supplied operating cond
23、itions (vendors might deliver multiple technology libraries ),Operating Conditions To set operating conditions, enter set_operating_conditions command During synthesis, “nominal” cell and wire delays will be scaled based on the operating conditions,Clock Constraints (1),Recall Timing Constraints,Clo
24、ck Constraints (2),對(duì)時(shí)鐘網(wǎng)絡(luò)進(jìn)行綜合時(shí),需要在時(shí)鐘的各條路徑上要插入大小不一的buffer,目的是為了保證時(shí)鐘到達(dá)每個(gè)觸發(fā)器的時(shí)延盡量相等 在定義時(shí)鐘之后,都要給該時(shí)鐘設(shè)置dont_touch,告訴DC不要對(duì)時(shí)鐘網(wǎng)絡(luò)進(jìn)行綜合(插入Buffer)。這是因?yàn)榫C合時(shí)鐘網(wǎng)絡(luò)需要考慮單元的實(shí)際物理位置,這是前端的邏輯綜合(DC)不能完成的工作,Clock Constraints (3),Modeling Clock Skew 雖然DC無法最終綜合時(shí)鐘樹,但是可以加入一些約束讓此時(shí)的時(shí)鐘更加接近實(shí)際的工作情況 實(shí)際的時(shí)鐘達(dá)到各個(gè)觸發(fā)器的時(shí)間不是一樣的,它們之間的偏差稱為時(shí)鐘偏差(Clo
25、ck Skew)。為了反映這個(gè)偏差,我們?cè)诰C合時(shí)可以用一個(gè)命令來模擬它,Clock Constraints (4),Modeling Source Latency Clock到達(dá)模塊的端口后,要到達(dá)內(nèi)部的觸發(fā)器,也要經(jīng)過一定的延時(shí),這個(gè)延時(shí)稱為Network Latency,0. Introduction to Synthesis 1. Pre-Synthesis Processes 2. Constraining the Design 3. Synthesizing the Design Multiple Instances How to Compile a Hierarchical Des
26、ign Timing Analysis and Report,Multiple Instances (1),Designs Instantiated More Than Once uniquify compile + dont_touch,Multiple Instances (2),uniquify vs. compile + dont_touch compile+dont_touch 由于只需對(duì)多次例化的模塊編譯一次,可以減少整個(gè)設(shè)計(jì)的編譯時(shí)間,減少內(nèi)存的使用量。在多次例化的模塊很復(fù)雜并且工作站硬件條件有限的情況下,其優(yōu)越性比較明顯。如果這個(gè)Ades是一個(gè)第三方提供的IP硬核(hard-c
27、ore),那么也只能使用這種方法 在編譯頂層模塊時(shí),由于Ades設(shè)置了dont_touch,這就妨礙了DC針對(duì)Ades的各個(gè)實(shí)例周圍環(huán)境的不同的進(jìn)一步優(yōu)化,從而使得結(jié)果不能真實(shí)反映各個(gè)實(shí)例周圍的環(huán)境變化 Uniquify 由于把各個(gè)多例化模塊作為獨(dú)立的模塊來看,因此DC可以分別針對(duì)它們作出更好的優(yōu)化,從而得到的結(jié)果比較理想 編譯的時(shí)間稍微較長(zhǎng),但是對(duì)于一些不大的模塊來說,這些是可以忽略的。 一般推薦使用uniquify解決多例化模塊的綜合問題。,Compiling a Hierarchical Design (1),對(duì)一個(gè)大型設(shè)計(jì)來講,有兩種層次化編譯技術(shù) 自上而下(Top-down) 將整個(gè)
28、設(shè)計(jì)一次性讀入,施加頂層約束后直接進(jìn)行編譯 無需考慮各個(gè)模塊/子模塊之間的依賴關(guān)系,也就不需要制模塊/子模塊之間的時(shí)序預(yù)算和負(fù)載預(yù)算,都由DC自動(dòng)考慮 編寫腳本變得簡(jiǎn)單,維護(hù)起來也比較方便 自下而上(Bottom-up) 先單獨(dú)編譯各個(gè)模塊/子模塊:在編譯要考慮與其它模塊之間的關(guān)系,給它們加入時(shí)序預(yù)算和負(fù)載預(yù)算,看是否滿足約束 再讀入頂層文件,施加頂層約束,將各個(gè)模塊/子模塊整合起來:頂層編譯完成后還必須看頂層約束是否滿足,Compiling a Hierarchical Design (2),Pros & Cons of Bottom-Up Compile 優(yōu)點(diǎn) 利用”分而治之”的策略,對(duì)于
29、大型的不可能一次編譯的設(shè)計(jì)十分有用 擺脫了Top-down方法的對(duì)工作站硬件條件的限制,使得大型設(shè)計(jì)也能在一般的機(jī)器上編譯完成 缺點(diǎn) 實(shí)現(xiàn)步驟比較多,尤其對(duì)各個(gè)模塊之間的時(shí)序和負(fù)載預(yù)算要求很高 Summary,Timing Analysis and Report (1),What Tool to Use? Design Compiler has a built-in static timing analyzer called DesignTime,Timing Analysis and Report (2),DesignTime Timing Reports,Logic Design & Si
30、mulation : from RTL, then in Gate-Level,Logic Synthesis 得到用已有的基本邏輯單元(庫單元)互聯(lián)并滿足一定邏輯功能的邏輯構(gòu)成 Gate-Level Simulation(門級(jí)功能仿真與動(dòng)態(tài)時(shí)序分析) 一般不做這一步 Formal Verification(形式驗(yàn)證) STA(Static Timing Analysis,靜態(tài)時(shí)序分析),STA Based on Synopsys PrimeTime,What is Static Timing Analysis?,Static Timing Analysis(STA)determines if a circuit meets timing constraints without dynamic simulation Three main steps: Design is broken down into sets of timing paths The delay of each path is calculated All path delays are checked to see if timing constraints have been met,STA Step 1: Timing Paths,Step1實(shí)際是將邏輯電路網(wǎng)表轉(zhuǎn)換成拓?fù)鋱D,圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年科技孵化器場(chǎng)地租賃合同及創(chuàng)新項(xiàng)目孵化協(xié)議3篇
- 2024-2025年中國(guó)公安系統(tǒng)GPS車輛定位行業(yè)市場(chǎng)評(píng)估分析及投資發(fā)展盈利預(yù)測(cè)報(bào)告
- 2025年度道路施工人員培訓(xùn)與安全協(xié)議合同3篇
- 照相機(jī)制造項(xiàng)目立項(xiàng)報(bào)告
- 二零二五版出租房屋安全管理責(zé)任與租客權(quán)益保障合同2篇
- 衡陽2025年湖南衡陽市市直衛(wèi)健系統(tǒng)人才引進(jìn)177人筆試歷年參考題庫附帶答案詳解
- 2025年醫(yī)院領(lǐng)導(dǎo)述職述廉報(bào)告范本(三)
- 2025年度全國(guó)重點(diǎn)旅游景區(qū)項(xiàng)目承包經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同書4篇
- 茂名廣東茂名市福華小學(xué)2025年春季招聘政府購買人力資源教師筆試歷年參考題庫附帶答案詳解
- Module 8 Unit 2(說課稿)-2023-2024學(xué)年外研版英語八年級(jí)下冊(cè)
- 安徽省合肥市包河區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末化學(xué)試題
- 《酸堿罐區(qū)設(shè)計(jì)規(guī)范》編制說明
- PMC主管年終總結(jié)報(bào)告
- 售樓部保安管理培訓(xùn)
- 倉儲(chǔ)培訓(xùn)課件模板
- 2025屆高考地理一輪復(fù)習(xí)第七講水循環(huán)與洋流自主練含解析
- GB/T 44914-2024和田玉分級(jí)
- 2024年度企業(yè)入駐跨境電商孵化基地合作協(xié)議3篇
- 《形勢(shì)與政策》課程標(biāo)準(zhǔn)
- 2023年海南省公務(wù)員錄用考試《行測(cè)》真題卷及答案解析
- 橋梁監(jiān)測(cè)監(jiān)控實(shí)施方案
評(píng)論
0/150
提交評(píng)論