Chap10邏輯綜合與時(shí)序仿真.ppt_第1頁
Chap10邏輯綜合與時(shí)序仿真.ppt_第2頁
Chap10邏輯綜合與時(shí)序仿真.ppt_第3頁
Chap10邏輯綜合與時(shí)序仿真.ppt_第4頁
Chap10邏輯綜合與時(shí)序仿真.ppt_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論