集成電路設(shè)計(jì)綜合技術(shù)講座PPT.ppt
《集成電路設(shè)計(jì)綜合技術(shù)講座PPT.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《集成電路設(shè)計(jì)綜合技術(shù)講座PPT.ppt(357頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
集成電路設(shè)計(jì)綜合技術(shù)SynthesisTechnologyforICDesign 任課教師 周莉聯(lián)系電話 13006592410E mail zhou li QQ 1257109456 2 教學(xué)目標(biāo) 熟練掌握Verilog語(yǔ)法與RTL設(shè)計(jì)方法熟練掌握綜合的基本概念熟練掌握時(shí)序基本概念熟練掌握時(shí)序的分析方法熟練掌握綜合工具熟練分析綜合結(jié)果 3 參考書(shū)目 AdvancedDigitalDesignwiththeVerilogHDL MichachelD Ciletti VerilogHDL高級(jí)數(shù)字系統(tǒng)設(shè)計(jì) 電子工業(yè)出版社 VerilogHDLAGuidetoDigitalDesignandSynthesis SamirPalnitakar VerilogHDL數(shù)字設(shè)計(jì)與綜合 電子工業(yè)出版社 VerilogHDLSynthesis J Bhasker VerilogHDL綜合實(shí)用教程 清華大學(xué)出版社 Verilog語(yǔ)言 5 主要內(nèi)容 目的 通過(guò)具體實(shí)例講解Verilog的語(yǔ)法 快速掌握Verilog的語(yǔ)法與結(jié)構(gòu)內(nèi)容 Verilog概述VerilogHDL結(jié)構(gòu)Verilog語(yǔ)法與實(shí)例 6 Verilog概述 Verilog是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的一種硬件描述語(yǔ)言由GatewayAutomation于1983年首創(chuàng) 并于1995年成為IEEE標(biāo)準(zhǔn) 即IEEEstandard1364支持不同抽象層次的精確描述以及混合模擬 如行為級(jí) RTL級(jí) 開(kāi)關(guān)級(jí)等設(shè)計(jì) 測(cè)試 模擬所用的語(yǔ)法都相同 7 Verilog概述 較高層次的描述與具體工藝無(wú)關(guān)提供了類(lèi)似C語(yǔ)言的高級(jí)程序語(yǔ)句 如if else for while break case loop以及int等數(shù)據(jù)類(lèi)型提供了算術(shù) 邏輯 位操作等運(yùn)算符包含完整的組合邏輯元件 如and or xor等 無(wú)需自行定義支持元件門(mén)級(jí)延時(shí)和元件門(mén)級(jí)驅(qū)動(dòng)強(qiáng)度 nmos pmos 8 Verilog概述 與C語(yǔ)言的聯(lián)系與區(qū)別 9 Verilog概述 抽象層次系統(tǒng)級(jí) C等高級(jí)語(yǔ)言描述行為級(jí) 模塊的功能描述RTL級(jí) 寄存器與組合電路的合成邏輯門(mén)級(jí) 基本邏輯門(mén)的組合 and or nand 開(kāi)關(guān)級(jí) 晶體管開(kāi)關(guān)的組合 nmos pmos 10 Verilog概述 Verilog語(yǔ)言的描述風(fēng)格行為描述只對(duì)系統(tǒng)行為與功能進(jìn)行描述 不涉及時(shí)序電路實(shí)現(xiàn) 是一種高級(jí)語(yǔ)言描述的方法 有很強(qiáng)的通用性結(jié)構(gòu)型描述描述實(shí)體連接的結(jié)構(gòu)形式 通過(guò)實(shí)例描述 將verilog已定義的基本實(shí)例嵌入到語(yǔ)言中數(shù)據(jù)流型描述通過(guò)assign連續(xù)賦值實(shí)現(xiàn)組合邏輯功能的描述 描述復(fù)雜度 11 VerilogHDL結(jié)構(gòu) VerilogHDL是由module模塊組成 模塊定義關(guān)鍵詞module開(kāi)始 到關(guān)鍵詞endmodule結(jié)束每條Verilog語(yǔ)句以分號(hào) 作為結(jié)束 塊語(yǔ)句 編譯向?qū)?endmodule等除外 modulemodule name Port list 端口聲明 數(shù)據(jù)類(lèi)型聲明 電路描述 endmodule例 上升沿D觸發(fā)器moduledff pos data clk q inputdata clk 端口聲明outputq 端口聲明regq 數(shù)據(jù)類(lèi)型聲明always posedgeclk q data 電路描述endmodule 12 Verilog語(yǔ)法與實(shí)例 2 to 1multiplexer out awhensel 0 out bwhensel 1 moduleMUX 2 out a b sel outputout inputa b sel netlistINVmy inv sel n sel AND2X2and1 a1 a sel n AND2X2and2 b1 b sel OR2X2my or out a1 b1 endmodule 13 Verilog語(yǔ)法與實(shí)例 數(shù)字表示 整數(shù) 指定整數(shù)的大小 以bit為單位 指定整數(shù)的基數(shù) b binary 二進(jìn)制 o octal 八進(jìn)制 d decimal 十進(jìn)制 h hex adecimal 十六進(jìn)制 指定整數(shù)的值 14 整數(shù) 17 位寬 基數(shù)符號(hào)不寫(xiě)會(huì)采用default值 32bit十進(jìn)制 8 d32 8 bit十進(jìn)制值為328 h128 h1A8 b0001 1100 無(wú)特別意義 只是為了方便二進(jìn)制數(shù)易讀 8 o3732 bx x 表unknown實(shí)數(shù) 7 21 8e 4 1 8 10 49 5E6 15 Verilog語(yǔ)法與實(shí)例 取名規(guī)則標(biāo)識(shí)符必須是由a z A Z 0 9 這些字符組成 最長(zhǎng)只能到1024個(gè)字符開(kāi)頭必須由a z A Z或下劃線 開(kāi)頭 16 Verilog語(yǔ)法與實(shí)例 關(guān)鍵詞keywords是指一些Verilog語(yǔ)言?xún)?nèi)部已經(jīng)使用的詞 主要是用來(lái)定義語(yǔ)言的架構(gòu) 并且所有的keyword都是用小寫(xiě)表示 用戶應(yīng)避免使用module endmoduleinput output inoutreg integer realnot and or xor norbegin end 17 Verilog語(yǔ)法與實(shí)例 特殊字符 以 開(kāi)頭的標(biāo)識(shí)符代表系統(tǒng)命令 time 返回目前的仿真時(shí)間 display 顯示出信號(hào)的值 stop 停止仿真 時(shí)間延遲not 3not1 sel sel celldelay define include timescale 18 define define例 defineADD3 h0 defineSUB3 h1 case opcode ADD SUB endcase include例 include user define task v timescale例 timescale 19 例 timescale10ns 1psmoduleMUX2 out a b sel outputout inputa b sel INV 3not1 sel sel delay3個(gè)10ns endmodule例 timescale10ns 1nsmoduleMUX2 out a b sel outputout inputa b sel INV 2 63not1 sel sel 2 63 10ns 26 3ns 四舍五入 26ns delay26ns endmodule 20 Verilog語(yǔ)法與實(shí)例 Verilog的四種邏輯狀態(tài) 0 邏輯零 邏輯非 低電平1 邏輯1 邏輯真 高電平x或X 不定態(tài)z或Z 高阻態(tài) 21 Verilog語(yǔ)法與實(shí)例 數(shù)據(jù)類(lèi)型 為了能對(duì)硬件電路中的信號(hào)連線和寄存器等物理量進(jìn)行描述 引入特定數(shù)據(jù)類(lèi)型連線類(lèi) Net 反映硬件電路的物理連接特性的變量寄存器類(lèi) Register 具有數(shù)據(jù)存儲(chǔ)特性的變量 22 Verilog語(yǔ)法與實(shí)例 連線型與寄存器型區(qū)別 連線型 驅(qū)動(dòng)方式 賦值方式 連接到一個(gè)門(mén)或模塊的輸出端 用assign賦值電荷保持作用 沒(méi)有電荷保持作用 未被驅(qū)動(dòng)時(shí)將處于高阻態(tài)對(duì)應(yīng)硬件 物理信號(hào)連接寄存器型驅(qū)動(dòng)方式 賦值方式 通過(guò)過(guò)程賦值語(yǔ)句賦值電荷保持作用 在下一次賦值之前保持不變對(duì)應(yīng)硬件 觸發(fā)器 鎖存器 23 Verilog語(yǔ)法與實(shí)例 連線類(lèi) 24 Verilog語(yǔ)法與實(shí)例 連線型變量聲明 例 wirenet1 wire 15 0 bus in 當(dāng)沒(méi)指定net是何種type時(shí) Verilog會(huì)以default值來(lái)設(shè)定 default為一位的wire型 25 Verilog語(yǔ)法與實(shí)例 寄存器類(lèi) 26 Verilog語(yǔ)法與實(shí)例 寄存器類(lèi)變量聲明 例 rega reg 7 0 a reg 31 0 a b reg 0 7 b reg 7 0 mem 0 1023 27 Verilog語(yǔ)法與實(shí)例 參數(shù) Parameter 常量定義 用文字參數(shù)代替一個(gè)數(shù)字量modulevar mux out a b sel parameterwidth 8 delay 3 output width 1 0 out input width 1 0 a b inputsel assign delayout sel a b endmodule 28 Verilog語(yǔ)法與實(shí)例 模擬時(shí)間定標(biāo) timescale timescale 例 timescale1ns 100ps合法的整數(shù) 1 10 100合法時(shí)間單位 s ms s ns ps fs定標(biāo)只是一個(gè)相對(duì)的概念 不會(huì)影響模擬器工作狀態(tài)計(jì)時(shí)單位必須大于精度單位 timescale定義必須在模塊描述的外部進(jìn)行允許對(duì)不同模塊定義不同時(shí)標(biāo) 以最小精度進(jìn)行模擬 29 Verilog語(yǔ)法與實(shí)例 運(yùn)算符 30 Verilog語(yǔ)法與實(shí)例 位運(yùn)算符 按位進(jìn)行運(yùn)算 結(jié)果的位數(shù)不變按位取反 按位與 按位或 按位異或 按位同或 或 例 a 4 b1011 a 4 b0100b 4 b0011 a b 4 b1011 31 Verilog語(yǔ)法與實(shí)例 縮位運(yùn)算符是單目運(yùn)算符 按位進(jìn)行邏輯運(yùn)算 結(jié)果是一位值 與縮位運(yùn)算符 或縮位運(yùn)算符 異或縮位運(yùn)算符 與 或 異或運(yùn)算符和非運(yùn)算符組成的復(fù)合運(yùn)算符 例 a 4 b1011 a 1 b0 a 1 b1 a 1 b1 a 1 b0 a 1 b1 a 1 b0 32 Verilog語(yǔ)法與實(shí)例 連接運(yùn)算符例 a b c 4 b0011 3 a a a a 條件運(yùn)算符 例 tri data en data out 32 bz 三態(tài) 33 Verilog語(yǔ)法與實(shí)例 行為級(jí)描述 側(cè)重對(duì)模塊行為功能的抽象描述要先知道電路的行為 如果電路有多種行為 要知道如何分開(kāi)描述它們 時(shí)間控制 包括 什么時(shí)間做什么事 例如 經(jīng)過(guò)多少個(gè)clock就要做什么事 什么狀況做什么事 例如 某一控制信號(hào)進(jìn)來(lái)就要做什么事 34 Verilog語(yǔ)法與實(shí)例 行為級(jí)模塊描述由多個(gè)并行運(yùn)行的過(guò)程塊組成過(guò)程塊由過(guò)程語(yǔ)句 initial與always 和塊語(yǔ)句 串行塊begin end與并行塊fork join 組成塊語(yǔ)句由過(guò)程賦值語(yǔ)句和高級(jí)程序語(yǔ)句構(gòu)成過(guò)程賦值語(yǔ)句 阻塞與非阻塞式賦值高級(jí)程序語(yǔ)句 if else case while wait 35 Verilog語(yǔ)法與實(shí)例 模塊行為描述的構(gòu)成框架例 上升沿D觸發(fā)器moduledff pos data clk q inputdata clk 端口聲明outputq 端口聲明regq 數(shù)據(jù)類(lèi)型聲明always posedgeclk q data 描述體 過(guò)程塊endmodule 36 Verilog語(yǔ)法與實(shí)例 過(guò)程塊 Proceduralblock initial 和 always proceduralblock condition 37 38 塊語(yǔ)句 串行塊 and 并行塊 39 Verilog語(yǔ)法與實(shí)例 begin end串行塊順序執(zhí)行fork join并行塊同時(shí)執(zhí)行 begin 10r h35 10r hE2 10r h00 end fork 10r h35 20r hE2 30r h00 join 40 Verilog語(yǔ)法與實(shí)例 定時(shí)控制延時(shí)控制例 100clk clk 事件控制例 en r0 1 aorborci sum a b ci posedgeclock q d posedgeclkornegedgeclear q 0 當(dāng)括弧內(nèi)的值有任何改變時(shí) 就稱(chēng)為事件 41 Verilog語(yǔ)法與實(shí)例 阻塞型賦值 用 賦值 前一條語(yǔ)句的執(zhí)行阻塞了后面語(yǔ)句的執(zhí)行非阻塞型賦值 用 賦值 一條語(yǔ)句的執(zhí)行不影響其他語(yǔ)句的執(zhí)行一個(gè)塊語(yǔ)句中不許同時(shí)使用上述2種賦值方式 begina 101 b 50 c 11 end begina 101 b 50 c 11 end 42 Verilog語(yǔ)法與實(shí)例 連續(xù)賦值語(yǔ)句assign基本格式 43 Verilog語(yǔ)法與實(shí)例 Assign用于對(duì)連線類(lèi)變量賦值右端表達(dá)式的信號(hào)有任何變化都反映在左端的連線變量中Assign不能出現(xiàn)在過(guò)程塊中連續(xù)賦值語(yǔ)句以assign為先導(dǎo) 可缺省 并且只有阻塞型一種 44 連續(xù)賦值圖示 45 Verilog語(yǔ)法與實(shí)例 高級(jí)程序語(yǔ)句 if else case 循環(huán)語(yǔ)句 forever repeat while for 例 具有同步清零 低有效 的上升沿觸發(fā)器 moduledff sync q d clear clock always posedgeclock if reset b q 0 elseq d endmodule 46 Verilog語(yǔ)法與實(shí)例 if if else語(yǔ)法如下 if expression statementelsestatement if expression statementelseif expression statementelseif elsestatement 47 例 if rega regb result 1 elseresult 0 例 if index 0 if rega regb result rega elseresult 0 else display Warning 48 if else語(yǔ)句 modulemux4 1 out a b c d sel outputout inputa b c d input 1 0 sel regout always seloraorborcord beginif sel 2 b00 out a elseif sel 2 b01 out b elseif sel 2 b10 out c elseif sel 2 b11 out d elseout 1 bx endendmodule 49 Verilog語(yǔ)法與實(shí)例 case語(yǔ)句例 definepass accum4 b0000 definepass data4 b0001 defineADD4 b0010 Initialbegincase opcode pass accum 3 5alu out accum pass data 3 5alu out data ADD 3 5alu out accum data AND 3 5alu out accum data XOR 3 5alu out accum data default 3 5alu out 8 bx endcaseend 50 case語(yǔ)句的例子 case語(yǔ)句描述的4選1數(shù)據(jù)選擇器modulemux4 1 out in0 in1 in2 in3 sel outputout inputin0 in1 in2 in3 input 1 0 sel regout always in0orin1orin2orin3orsel case sel 2 b00 out in0 2 b10 out in1 2 b01 out in2 2 b11 out in3 default out 1 bx endcaseendmodule 51 case語(yǔ)句的例子 Case的缺省語(yǔ)句是可選的而不是必需的在always in0orin1orin2orin3orsel 中的時(shí)間控制部分是完整電平敏感列表 只要任意信號(hào)發(fā)生變化 便會(huì)輸出更新值如果敏感列表不完整 例always in0orin1orin2orsel 則在in3變化時(shí)則可能不會(huì)產(chǎn)生更新值取決于不同的綜合工具 這種寫(xiě)法會(huì)被認(rèn)為是非法或者作為完整列表處理 另外還可能造成綜合出的電路和程序描述不一致的情況 因此建議使用完全敏感列表 52 casez的例子 modulemux casez out a b c d sel outputout inputa b c d input 3 0 sel regout always seloraorborcord begincasez sel 4 b 1 out a 4 b 1 out b 4 b 1 out c 4 b1 out d endcaseendendmodule Case語(yǔ)句處理無(wú)關(guān)值的情況處理高阻態(tài)無(wú)關(guān)值 casez處理高阻態(tài)和未知態(tài)無(wú)關(guān)值 casex 53 case和ifelse的缺省項(xiàng)問(wèn)題 對(duì)ifelse語(yǔ)句 else是缺省項(xiàng)對(duì)case語(yǔ)句 default是缺省項(xiàng)缺省項(xiàng)在語(yǔ)法上可以忽略 但是省略會(huì)使綜合工具綜合出Latch 而不是Register Latch在RTL設(shè)計(jì)中是不建議使用的 除非特殊的必要情況 因此不建議省略缺省項(xiàng) 54 case和ifelse的缺省項(xiàng)問(wèn)題 moduleex3reg y a b c inputa b c outputy regy always aorborc beginif aendendmodule 55 case和ifelse的缺省項(xiàng)問(wèn)題 moduleex4reg y a b c inputa b c outputy regy always aorborc beginif a 無(wú)缺省項(xiàng)endendmodule Ifelse的缺省項(xiàng)省略了 當(dāng)a b 1時(shí) y c 當(dāng)a b 0時(shí) y會(huì)保持原值 綜合器會(huì)引用一個(gè)Latch把y的值保存下來(lái) PREDQENACLR 0 1 rega y b a c 56 case和ifelse的缺省項(xiàng)問(wèn)題 對(duì)case語(yǔ)句同樣存在類(lèi)似的情況 如 moduleincrease a b c d e inputa b c d outpute rege always aorborcord case a b 2 b11 e d 2 b10 e c endcaseendmodule 57 Verilog語(yǔ)法與實(shí)例 repeatmodulemultiplier result op a op b regshift opa shift opb parametersize 8 initialbeginresult 0 shift opa op a shift opb op b repeat size begin defaultrepeat8times 10if shift opb 0 result result shift opa shift opa shift opa 1 endendendmodule 58 Verilog語(yǔ)法與實(shí)例 行為級(jí)描述 whileinitialbeginreg 7 0 tempreg count 0 tempreg rega while tempreg beginif tempreg 0 count count 1 tempreg tempreg 1 endend 59 Verilog語(yǔ)法與實(shí)例 行為級(jí)描述 forparametersize 8 longsize 16 reg size 1 opa opb reg longsize 1 result initialbeginintegerbindex result 0 for bindex 1 bindex size bindex bindex 1 beginif opb bindex result result opa bindex 1 endend 60 Verilog語(yǔ)法與實(shí)例 Verilog還提供了任務(wù) task 和函數(shù) function 可重復(fù)調(diào)用定義和調(diào)用都包含在module內(nèi)部tasktask任務(wù)名 無(wú)需定義端口名列表端口與類(lèi)型說(shuō)明 調(diào)用時(shí)按順序和類(lèi)型列出局部變量說(shuō)明 塊語(yǔ)句endtask 61 Verilog中的任務(wù)task always posedgesys clk beginif read request 1 beginread mem IR PC Eventandfunctioncallsendendtaskread mem output 15 0 data in input 15 0 addr always posedgeread grant beginADDRESS addr 15data in data endendtask 62 Verilog語(yǔ)法與實(shí)例 行為級(jí)描述 Functionfunction函數(shù)名 輸入端口與類(lèi)型說(shuō)明 局部變量說(shuō)明 塊語(yǔ)句endfunction注意 1 函數(shù)不能調(diào)用任務(wù) 任務(wù)可調(diào)用任何其他函數(shù)和任務(wù)2 函數(shù)只有輸入變量且至少一個(gè)3 函數(shù)定義的塊語(yǔ)句不許出現(xiàn)定時(shí)控制4 函數(shù)通過(guò)函數(shù)名返回一個(gè)值 63 Verilog中的函數(shù)functionalways posedgesys clk begin IR 0 I I 1 temp reg 15 i in vec i swap bits temp reg endendfunctioin 64 Verilog語(yǔ)法與實(shí)例 65 modulehalf adder sum cout a b outputsum cout inputa b XORX2U0 sum a b AND2X2U1 cout a b endmoudle 結(jié)構(gòu)級(jí)描述側(cè)重對(duì)模塊內(nèi)部結(jié)構(gòu)實(shí)現(xiàn)的具體描述 半加器 66 67 Verilog語(yǔ)法與實(shí)例 模塊調(diào)用模塊調(diào)用基本門(mén)調(diào)用 68 Verilog語(yǔ)法與實(shí)例 模塊調(diào)用方式位置對(duì)應(yīng)端口名對(duì)應(yīng) 69 Verilog語(yǔ)法與實(shí)例 例 moduleDEF q qb din clk outputq qb inputdin clk endmodulemoduleport map DEFU0 q1 qb1 din 1 clock 位置對(duì)應(yīng)DEFU1 din D 0 clk clock q O 0 qb O 0 端口名對(duì)應(yīng)DEFU2 Q DIN clock 允許出現(xiàn)不連接的端口DEFU3 din A clk B qb c endmodule 70 行為級(jí)描述和結(jié)構(gòu)級(jí)描述 例 全加器 b 門(mén)級(jí) 71 行為級(jí)描述和結(jié)構(gòu)級(jí)描述 C 行為級(jí)當(dāng)a b或cin邏輯狀態(tài)發(fā)生變化 采用如下等式得到sum及cout sum a b ccout ab bc ca 72 行為級(jí)描述和結(jié)構(gòu)級(jí)描述 全加器行為級(jí)描述實(shí)例 modulefadder sum cout a b cin outputsum cout inputa b cin regsum cout always aorborcin 過(guò)程語(yǔ)句begin 過(guò)程塊sum a b cin 過(guò)程賦值語(yǔ)句cout a b b cin cin a endendmodule 73 行為級(jí)描述和結(jié)構(gòu)級(jí)描述 全加器結(jié)構(gòu)級(jí)描述實(shí)例modulefadder sum cout a b cin outputsum cout inputa b cin XORX2U0 sum a b cin AND2X2U1 net1 a b AND2X2U2 net2 a cin AND2X2U3 net3 b cin OR3X4U4 cout net1 net2 net3 endmodule 74 Verilog語(yǔ)法與實(shí)例 為了方便對(duì)仿真過(guò)程的控制與仿真結(jié)果的分析 Verilog提供了系統(tǒng)函數(shù) 統(tǒng)一以 開(kāi)頭輸出控制 display write monitor模擬時(shí)標(biāo) time realtime進(jìn)程控制 finish stop文件讀寫(xiě) readmem其它 random 75 Verilog語(yǔ)法與實(shí)例 display與 write write和 display列出所指定信號(hào)的值 它們的功能都相同 唯一不同點(diǎn)在 display輸出結(jié)束后會(huì)自動(dòng)換行 而 write不會(huì)換行 例 write b t h t d t o n a b c d display b t h t d t o a b c d 76 輸出格式說(shuō)明符以及轉(zhuǎn)義字符 77 Verilog語(yǔ)法與實(shí)例 monitor 輸出變量的任何變化 都會(huì)輸出一次結(jié)果 而 write和 display每調(diào)用一次執(zhí)行一次例 modulemonitor test regin wireout not 1U0 out in initial monitor time out bin b out in initialbeginin 0 10in 1 10in 0 endendmodule 78 輸出結(jié)果為 注意延遲 0out xin 01out 1in 010out 1in 111out 0in 120out 0in 021out 1in 0 79 例 modulemonitor test regin wireout not 1U0 out in initial display time out bin b out in initialbeginin 0 10in 1 10in 0 endendmodule輸出結(jié)果為 out xin 0 80 Verilog語(yǔ)法與實(shí)例 模擬時(shí)標(biāo) 返回從執(zhí)行到調(diào)用時(shí)刻的時(shí)間 time 返回一個(gè)64 bit的整數(shù) realtime 返回一個(gè)實(shí)數(shù) 例 monitor time out bin b out in 81 Verilog語(yǔ)法與實(shí)例 finish與 stop finish終止仿真器的運(yùn)行 stop暫停模擬程序的執(zhí)行 不退出仿真進(jìn)程 readmem 把文件內(nèi)容讀入指定存儲(chǔ)器readmemb 文件名 存儲(chǔ)器名 起始地址 結(jié)束地址 readmemh 文件名 存儲(chǔ)器名 起始地址 結(jié)束地址 例 reg 7 0 mem 1 256 initial readmemh mem data mem initial readmemh mem data mem 128 156 82 設(shè)計(jì)流程 83 測(cè)試系統(tǒng) DUT Testbench 84 測(cè)試系統(tǒng)組成 測(cè)試目的 功能 時(shí)序正確性測(cè)試系統(tǒng)組成 待測(cè)模塊 DUT Fulladder測(cè)試文件通過(guò)仿真器觀察結(jié)果 85 完整的測(cè)試文件 測(cè)試文件結(jié)構(gòu) 數(shù)據(jù)類(lèi)型聲明 調(diào)用待測(cè)模塊 產(chǎn)生testpattern 觀察輸出結(jié)果 moduletest file endmodule 86 TestBenchmoduletest fadder rega b cin fadderU0 sum cout a b cin 施加激勵(lì)initialbegina 0 b 0 cin 0 5cin 1 5cin 0 b 1 5cin 1 5a 1 b 0 cin 0 5cin 1 5cin 0 b 1 5cin 1 10 finish 結(jié)束仿真endendmodule 87 數(shù)據(jù)選擇器設(shè)計(jì) modulemux4 1c out in0 in1 in2 in3 sel outputout inputin0 in1 in2 in3 input 1 0 sel assignout sel 1 sel 0 in3 in2 sel 0 in1 in0 ABendmodule上述模塊為4選1選擇器 首先通過(guò)sel 1 選擇表達(dá)式A或者B 然后用sel 0 進(jìn)行二次選擇決定最終的輸出 88 數(shù)據(jù)選擇器設(shè)計(jì) modulemux4 1d out in0 in1 in2 in3 sel outputout inputin0 in1 in2 in3 input 1 0 sel assignout in0endmodule上述模塊為4選1選擇器的另外一種表達(dá)形式 是通過(guò)verilog直接描述組合電路邏輯關(guān)系的形式來(lái)實(shí)現(xiàn)的 通過(guò)真值表比較可以發(fā)現(xiàn)與上一個(gè)例子的功能是相同的 89 數(shù)據(jù)選擇器設(shè)計(jì) modulemux4 1a out in0 in1 in2 in3 sel outputout inputin0 in1 in2 in3 input 1 0 sel wirenotsel1 notsel0 w x y z not notsel1 sel 1 notsel0 sel 0 and w in0 notsel1 notsel0 x in1 notsel1 sel 0 y in2 sel 1 notsel0 z in3 sel 1 sel 0 or out w x y z endmodule上述模塊為4選1選擇器的門(mén)級(jí)表達(dá)形式 通過(guò)分析可以看到 這種形式是用門(mén)的形式把上例中的組合邏輯實(shí)現(xiàn)了 但兩個(gè)例子的功能是完全等價(jià)的 從上述例子可以看到 實(shí)現(xiàn)一個(gè)電路的途徑有很多 可以根據(jù)實(shí)際情況靈活運(yùn)用 同時(shí)也可以看到 verilog語(yǔ)言描述的基礎(chǔ)還是數(shù)字邏輯電路 90 計(jì)數(shù)器設(shè)計(jì) modulecount4 out reset clk output 3 0 out inputreset clk reg 3 0 out always posedgeclkornegedgereset b beginif reset b out 0 elseout out 1 endendmodule 91 計(jì)數(shù)器的仿真程序 timescale1ns 1ns include count4 v modulecount4 top regclk reset wire 3 0 out parameterDELAY 100 count4mycount out reset clk always DELAY 2 clk clk initialbeginclk 0 reset 0 DELAYreset 1 DELAYreset 0 DELAY 20 finish endinitial monitor time clk dreset dout d clk reset out endmodule 92 同步置數(shù)同步清零計(jì)數(shù)器設(shè)計(jì) modulecount4 out data load reset clk output 7 0 out input 7 0 data inputload reset clk reg 7 0 out always posedgeclk beginif reset out 8 h00 elseif load out data elseout out 1 endendmodule 93 狀態(tài)機(jī) 有限狀態(tài)機(jī)是絕大部分控制電路的核心有限狀態(tài)機(jī)可以分為Moore有限狀態(tài)機(jī)狀態(tài)輸出僅依賴(lài)于內(nèi)部狀態(tài) 跟輸入無(wú)關(guān)Mealy有限狀態(tài)機(jī)狀態(tài)輸出不僅決定于內(nèi)部狀態(tài) 還跟外部輸入有關(guān)有限狀態(tài)機(jī)可以使用always語(yǔ)句和case語(yǔ)句描述 狀態(tài)保存在寄存器中 根據(jù)寄存器的不同的值執(zhí)行不同的操作 case語(yǔ)句的多個(gè)分支代表了不同狀態(tài)的行為 94 moore狀態(tài)機(jī) modulemoore fsm clk reset A Z finish parameterSTATE INT 0 parameterSTATE ST1 1 parameterSTATE ST2 2 parameterSTATE FINISH 3 inputclk reset inputA output 1 0 Z outputfinish reg 1 0 state reg 1 0 Z regfinish 95 moore狀態(tài)機(jī) always negedgeresetorposedgeclk beginif reset beginstate STATE INIT Z 2 b00 finish 1 b0 endelsebegincase state STATE INIT beginstate STATE ST1 Z 2 b01 finish 1 b0 endSTATE ST1 beginif A state STATE ST2 elsestate STATE FINISH Z 2 b11 finish 1 b0 end STATE ST2 beginstate STATE FINISH Z 2 b10 finish 1 b0 endSTATE FINISH beginZ 2 b01 finish 1 b1 endendcaseendendendmodule 96 moore狀態(tài)機(jī) 實(shí)現(xiàn)過(guò)程首先通過(guò)parameter定義了moore狀態(tài)機(jī)的幾個(gè)狀態(tài)參數(shù) 為常量 用于給狀態(tài)的變量賦值moore狀態(tài)機(jī)的功能在always結(jié)構(gòu)中得到實(shí)現(xiàn) Always結(jié)構(gòu)中通過(guò)clk的上升沿控制 在clk的上升沿 如果復(fù)位信號(hào)無(wú)效 則進(jìn)行狀態(tài)控制 根據(jù)當(dāng)前的狀態(tài)確定下一個(gè)狀態(tài)的值 同時(shí)進(jìn)行本狀態(tài)要執(zhí)行的操作 在本例中改變Z的值 并且只要不是最后一個(gè)狀態(tài)STATE FINISH 標(biāo)示finish都為零狀態(tài)機(jī)的輸出Z僅與moore狀態(tài)機(jī)的狀態(tài)有關(guān) 與輸入無(wú)關(guān) 97 mealy狀態(tài)機(jī) modulemealy fsm clk reset A Z finish parameterSTATE INIT 4 b0001 parameterSTATE ST1 4 b0010 parameterSTATE ST2 4 b0100 parameterSTATE FINISH 4 b1000 inputclk reset inputA output 1 0 Z outputfinish reg 3 0 current state next state reg 1 0 Z regfinish 98 mealy狀態(tài)機(jī) always negedgeresetorposedgeclk beginif reset current state STATE INIT elsecurrent state next state endalways current stateorA beginfinish 1 b0 case current state STATE INIT beginnext state STATE ST1 Z 2 b01 endSTATE ST1 beginif A beginnext state STATE ST2 Z 2 b11 end elsebeginnext state STATE FINISH Z 2 b10 endendSTATE ST2 beginnext state STATE FINISH Z 2 b10 endSTATE FINISH begin next state STATE FINISHZ 2 b01 finish 1 b1 endendcaseendendmodule 99 狀態(tài)機(jī)編碼方式 One hot方式 如上例 占用寄存器多 但是電路簡(jiǎn)單 另外可以選擇GrayCode 因?yàn)楦窭状a每次只有一位發(fā)生變化 可以避免電路上的競(jìng)爭(zhēng)現(xiàn)象出現(xiàn) 100 moore和mealy的區(qū)別 實(shí)現(xiàn)機(jī)理上并無(wú)不同只是mealy機(jī)在實(shí)現(xiàn)上把狀態(tài)的變化和輸出開(kāi)關(guān)的控制分開(kāi)考慮 形成各自獨(dú)立的always控制塊 在設(shè)計(jì)較復(fù)雜的狀態(tài)機(jī)上常采用 101 售貨機(jī)的例子 任務(wù)要求設(shè)計(jì)一個(gè)自動(dòng)售貨機(jī)的電路投幣口每次只能投入一枚五角或者一元的硬幣 投入一元五角 則售貨機(jī)自動(dòng)給出一杯飲料 投入兩枚一元的硬幣 則在給出一杯飲料同時(shí)退出一枚五角硬幣變量分析 共有四個(gè)變量 投入一元為一個(gè)變量A 輸入 投入五角為一個(gè)變量B 輸入 售貨機(jī)給出一杯飲料 定義為Y 輸出 售貨機(jī)退出一枚五角硬幣 定義為Z 輸出 狀態(tài)定義 三個(gè)狀態(tài) S0 未投入任何硬幣 S1 投入一枚五角硬幣 S2 投入一枚一元硬幣 102 售貨機(jī) modulemachine A B Y Z reset parameterstate0 2 b00 parameterstate1 2 b01 parameterstate2 2 b10 inputA B reset outputY Z regY Z reg 1 0 state always A B state begin 103 售貨機(jī) case state state0 if A 0end state2 有一元if A 0endendcaseEndendmodule 高級(jí)芯片綜合AdvancedChipSynthesis 105 教學(xué)目標(biāo) 熟練掌握Verilog語(yǔ)法與RTL設(shè)計(jì)方法熟練掌握綜合的基本概念熟練掌握時(shí)序基本概念熟練掌握時(shí)序的分析方法熟練掌握綜合工具熟練分析綜合結(jié)果 106 教學(xué)內(nèi)容 ASICdesignflow綜合的定義基本概念Synopsys基本工具介紹時(shí)序基本概念與分析SynopsystechnologylibraryLogicsynthesis的過(guò)程Synthesis和layout的接口Post layoutoptimizationSDF文件的生成 107 設(shè)計(jì)流程 SimulationonSystemLevel RTLCodingDesign FunctionSimulation DesignRequirement Micro ArchitectureandFunctionSpecification Synthesis SimulationonGateLevel StaticTimingAnalysis Formality lib Layout PhysicsVerification StaticTimingAnalysis lib Tapeout FPGA 108 為什么需要綜合這一步驟 109 綜合的定義 邏輯綜合 決定設(shè)計(jì)電路邏輯門(mén)的相互連接 邏輯綜合的目的 決定電路門(mén)級(jí)結(jié)構(gòu) 尋求時(shí)序和與面積的平衡 尋求功耗與時(shí)序的平衡 增強(qiáng)電路的測(cè)試性 邏輯綜合的過(guò)程 首先 綜合工具分析HDL代碼 用一種工具內(nèi)嵌模型對(duì)HDL進(jìn)行映射 這個(gè)模型是與技術(shù)庫(kù)無(wú)關(guān)的 然后 在設(shè)計(jì)者的控制下 對(duì)這個(gè)模型進(jìn)行邏輯優(yōu)化 最后一步 針對(duì)時(shí)序 面積 功耗進(jìn)行邏輯映射和門(mén)級(jí)優(yōu)化 根據(jù)邏輯約束映射為專(zhuān)門(mén)的技術(shù)目標(biāo)單元庫(kù) targetcelllibrary 中的cell 形成了綜合后的網(wǎng)表 110 綜合的依據(jù) 綜合由約束驅(qū)動(dòng)綜合是基于路徑的過(guò)程RTL設(shè)計(jì) 約束文件 111 約束 時(shí)序約束綜合是一個(gè)重復(fù)的過(guò)程 為設(shè)計(jì)的每個(gè)模塊定義時(shí)序約束 這些時(shí)序約束定義了該模塊的各個(gè)信號(hào)與時(shí)鐘信號(hào)之間的關(guān)系 綜合工具通過(guò)靜態(tài)時(shí)序分析 STA 計(jì)算每個(gè)路徑的時(shí)間 并盡量去優(yōu)化設(shè)計(jì)以滿足特殊的時(shí)序約束 環(huán)境約束環(huán)境約束定義了標(biāo)準(zhǔn)單元庫(kù)和其他相關(guān)的信息 比如芯片的工作溫度等 約束文件 tcl Synopsys產(chǎn)品 113 Synopsys產(chǎn)品 Synopsys設(shè)計(jì)相關(guān)產(chǎn)品包括 VCSDesignCompilerandDesignVision 綜合 PrimeTime STA power DFTCompiler DFT Formality 形式驗(yàn)證 HAL CDC檢查 代碼覆蓋率分析 114 Synopsys產(chǎn)品 cont Astro 版圖 Herculus DRC LVS AstroRail 功耗分析 Jupiter 布圖 ICC 從ploorplan到后端實(shí)現(xiàn) 115 DesignCompilerandDesignVision DC和DV構(gòu)成構(gòu)成一套功能強(qiáng)大的邏輯綜合工具 根據(jù)設(shè)計(jì)規(guī)范和時(shí)序約束 提供最優(yōu)的門(mén)級(jí)綜合網(wǎng)表 啟動(dòng) data asic dc shell data asic dc shell t data asic design vision data asic dvt 116 117 4 PrimeTime Synopsys的全芯片 門(mén)級(jí)靜態(tài)時(shí)序分析工具 用于最終的timingsignoff 啟動(dòng) data asic pt shell data asic primetime data asic pt 118 5 DFTCompiler 包含在DC全套工具中的測(cè)試插入工具 它用于向設(shè)計(jì)插入DFT特性 如掃描鏈插入和邊界掃描 產(chǎn)生DFT測(cè)試向量 119 6 Formality 形式化驗(yàn)證工具 即邏輯等價(jià)檢測(cè)工具 包含待驗(yàn)證的邏輯的原理圖表示標(biāo)注在原理圖上作為可能的錯(cuò)誤指示的可視建議提供修正設(shè)計(jì)的建議 啟動(dòng) data asic formality 120 時(shí)序分析與設(shè)計(jì)約束 121 約束 Constraints 122 時(shí)序約束與時(shí)序問(wèn)題 信號(hào)亞穩(wěn)態(tài)問(wèn)題Setup hold時(shí)序問(wèn)題Recovery removal時(shí)序問(wèn)題傳輸時(shí)間問(wèn)題CDC問(wèn)題時(shí)鐘相關(guān)問(wèn)題多時(shí)鐘相關(guān)問(wèn)題 123 信號(hào)的亞穩(wěn)態(tài) metastability 當(dāng)兩個(gè)輸入 例如數(shù)據(jù)和時(shí)鐘 或者時(shí)鐘和復(fù)位 在同一時(shí)間變化時(shí) 則輸出信號(hào)的狀態(tài)依賴(lài)于輸入信號(hào)的順序 當(dāng)輸入信號(hào)的順序不確定時(shí) 在一段時(shí)間內(nèi) 輸出信號(hào)也是不確定的 并且輸出信號(hào)的不確定會(huì)持續(xù)較長(zhǎng)的時(shí)間才能穩(wěn)定到一個(gè)狀態(tài) 甚至穩(wěn)定之前會(huì)出現(xiàn)震蕩 這一狀態(tài)成為亞穩(wěn)態(tài) 如果另一個(gè)電路需要用到處于亞穩(wěn)態(tài)狀態(tài)的輸出信號(hào) 則會(huì)造成數(shù)據(jù)采樣錯(cuò)誤 特別是 當(dāng)兩個(gè)不同的邏輯電路都用到觸發(fā)器的輸出信號(hào)時(shí) 一路電路可能將采樣到輸出信號(hào)為0 而另一路電路則可能會(huì)采樣到輸出電路為1 從而造成邏輯錯(cuò)誤 124 Setupandholdtime Setuptime 建立時(shí)間 在有效時(shí)鐘沿到來(lái)之前輸入信號(hào)需要保持穩(wěn)定的最少時(shí)間 它間接約束了組合邏輯的最大延遲 用來(lái)保證信號(hào)能夠被時(shí)鐘可靠的采樣 應(yīng)用于同步電路 Holdtime 保持時(shí)間 在有效時(shí)鐘沿到來(lái)之后輸入信號(hào)需要保持穩(wěn)定的最少時(shí)間 間接約束了組合邏輯的最小延遲 用來(lái)保證信號(hào)能夠被時(shí)鐘可靠的采樣 應(yīng)用于同步電路 125 Setupandholdtime 保證信號(hào)的Setup hold時(shí)間 能夠避免觸發(fā)器的亞穩(wěn)態(tài) Setup hold時(shí)間通常在數(shù)據(jù)手冊(cè)中給出 現(xiàn)代工藝中一般在幾個(gè)ns 或者幾百個(gè)ps的數(shù)量級(jí) 126 Setupandholdtime Setup表明了FF1上一個(gè)時(shí)鐘到FF2下一個(gè)時(shí)鐘的關(guān)系 即兩個(gè)不同時(shí)鐘沿的關(guān)系 Hold表明FF1當(dāng)前時(shí)鐘與FF2當(dāng)前時(shí)鐘的關(guān)系 即同一個(gè)時(shí)鐘沿的關(guān)系 127 Setupandholdtime 128 Recovery和Removaltime Recovery 異步控制邏輯信號(hào)在下一個(gè)時(shí)鐘有效沿到來(lái)之前需要保持穩(wěn)定的最少時(shí)間 Removal 異步控制邏輯信號(hào)在時(shí)鐘有效沿到來(lái)之后需要保持穩(wěn)定的最少時(shí)間 129 傳輸時(shí)間 有效時(shí)鐘沿到來(lái)到輸出信號(hào)有效的最大時(shí)間延遲稱(chēng)為F F的傳輸時(shí)間 通常表示為tCO或者tp 指F F在時(shí)鐘沿之后輸出信號(hào)變化所需要的時(shí)間 從高到低的傳輸時(shí)間tPHL與從低到高的傳輸時(shí)間tPLH有時(shí)不同 當(dāng)同一時(shí)鐘的幾個(gè)F F級(jí)聯(lián)時(shí) 要保證tCO th 從而保證后續(xù)F F的輸入數(shù)據(jù)能夠穩(wěn)定 并被正確采樣 130 CDC問(wèn)題及其解決 什么是CDC問(wèn)題 ClockDomainCrossing異步時(shí)鐘域的RTL設(shè)計(jì)問(wèn)題異步時(shí)鐘域設(shè)計(jì)中的信號(hào)亞穩(wěn)態(tài)問(wèn)題 signalMeta stability解決方法信號(hào)多級(jí)鎖存FIFO 131 CDC問(wèn)題的重要性 CDC問(wèn)題的重要性和嚴(yán)重性往往無(wú)法被仿真過(guò)程發(fā)現(xiàn)往往是在設(shè)計(jì)過(guò)程的后期才能發(fā)現(xiàn) 甚至在流片后才能發(fā)現(xiàn)需要在STA中針對(duì)異步時(shí)鐘域設(shè)置falsepath 如果沒(méi)有正確設(shè)置 則遺留了潛在的問(wèn)題CDC所造成的問(wèn)題很難發(fā)現(xiàn) 很難調(diào)試 很難復(fù)制所以需要盡早的對(duì)CDC問(wèn)題進(jìn)行處理在RTL設(shè)計(jì)階段對(duì)CDC問(wèn)題進(jìn)行處理時(shí)鐘命名規(guī)則合理的設(shè)計(jì)分割RTL同步設(shè)計(jì)策略DFFsFIFOsMUXenabledsynchronizerCustomizedsynchronizer亞穩(wěn)態(tài)不可能100 消除 只能盡量避免 132 CDC問(wèn)題概述 亞穩(wěn)態(tài)問(wèn)題 133 CDC問(wèn)題概述 134 兩級(jí)DFF鎖存同步方法 135 兩級(jí)DFF鎖存選擇器控制 136 兩級(jí)DFF鎖存遺留的問(wèn)題 信號(hào)容易被誤判成Glitch會(huì)造成后續(xù)邏輯的功能錯(cuò)誤同步只能解決無(wú)法預(yù)測(cè)的信號(hào)值 但是不能預(yù)測(cè)不可知的延遲只能減少CDC發(fā)生的概率 不能做到100 消除 137 兩級(jí)DFF鎖存的問(wèn)題 138 兩級(jí)DFF鎖存的問(wèn)題 139 兩級(jí)DFF鎖存的問(wèn)題 140 兩級(jí)DFF鎖存的問(wèn)題 141 兩級(jí)DFF鎖存遺留問(wèn)題的解決 Gray codingIDcomparatorStaticre convergencecheckDynamicsimulationcheckToolcheck blacktie 0 in 142 快信號(hào)到慢時(shí)鐘域的同步 143 快信號(hào)到慢時(shí)鐘域的同步 144 快信號(hào)到慢時(shí)鐘域的同步 145 多個(gè)控制信號(hào)的同步 146 多個(gè)控制信號(hào)的同步 147 數(shù)據(jù)通路的同步 多比特?cái)?shù)據(jù)同步的處理利用同步電路不太可取 數(shù)據(jù)之間的變化變得不確定 造成功能錯(cuò)誤需要較多的寄存器資源對(duì)于多比特?cái)?shù)據(jù)同步 通常采用握手信號(hào)在不同時(shí)鐘域之間傳遞數(shù)據(jù)FIFO存儲(chǔ)數(shù)據(jù) 讀寫(xiě)分別為不同時(shí)鐘域的時(shí)鐘 148 數(shù)據(jù)通路的同步 149 不同時(shí)鐘域設(shè)計(jì) 150 時(shí)鐘相關(guān)參數(shù) 時(shí)鐘占空比 clockdutycycleClocktransitiontime 時(shí)鐘傳輸時(shí)間 Slewrate 上升時(shí)間下降時(shí)間Clockskew 時(shí)鐘歪斜Clockjitter 時(shí)鐘跳變Clockuncertaintytime 時(shí)鐘不確定時(shí)間Clock uncertainty time skew jitterClockinsertiondelay clocksourcedelay 時(shí)鐘插入延遲Clocknetworklatency 151 Clockskew 在一個(gè)時(shí)鐘域或者兩個(gè)時(shí)鐘域之間時(shí)鐘信號(hào)到達(dá)寄存器的最大時(shí)間差別產(chǎn)生原因 時(shí)鐘源到達(dá)各端點(diǎn)的路徑長(zhǎng)度不同各端點(diǎn)負(fù)載不同時(shí)鐘網(wǎng)絡(luò)中插入的緩沖器不同在兩個(gè)點(diǎn)之間 大致可以認(rèn)為clockskew是固定值 Clockskew影響的是時(shí)鐘的到達(dá)時(shí)間不同 也就是時(shí)鐘發(fā)生了相移 并不影響時(shí)鐘的周期寬度 152 Clockskew 153 Clockjitter 在某一給定點(diǎn)上 時(shí)鐘周期寬度的變化 不同的時(shí)鐘周期其持續(xù)時(shí)間可能縮短或變寬 一般用兩個(gè)相鄰時(shí)鐘周期之間其周期寬度的最大變化來(lái)表示clockjitter 154 Clockjitter 155 Clockjitter 156 Clockuncertainty uncertainty是不同時(shí)鐘網(wǎng)絡(luò)分支之間的延時(shí)的不同 由clockjitter clockskew組成uncertainty用于計(jì)算同步邏輯的抖動(dòng) 157 Clockinsertiondelay 158 Clocknetworkdelay Clockdefinitionpoint 159 多時(shí)鐘周期路徑 多時(shí)鐘周期路徑 需要多個(gè)時(shí)鐘周期進(jìn)行信號(hào)傳播的路徑 需要對(duì)多時(shí)鐘周期路徑信號(hào)的setup hold進(jìn)行檢查 同一時(shí)鐘的多時(shí)鐘周期信號(hào)快時(shí)鐘到慢時(shí)鐘的多時(shí)鐘周期信號(hào)慢時(shí)鐘到快時(shí)鐘的多時(shí)鐘周期信號(hào) 160 同一時(shí)鐘的多時(shí)鐘周期信號(hào) ExampleI set multicycle path2 from to 或者set multicycle path2 setup 161 同一時(shí)鐘的多時(shí)鐘周期信號(hào) ExampleII set multicycle path1 hold from to 162 同一時(shí)鐘的多時(shí)鐘周期信號(hào) ExampleIII set multicycle path2 setupset multicycle path1 hold 163 快時(shí)鐘到慢時(shí)鐘的多時(shí)鐘周期信號(hào) Example1 set multicycle path2 setup from startExample2 set multicycle path2 setup from start 1 hold start 默認(rèn)的setup hold 164 慢時(shí)鐘到快時(shí)鐘的多時(shí)鐘周期信號(hào) Example1 set multicycle path2 setup from endExample2 set multicycle path2 setup from end 1 hold end 默認(rèn)的setup hold 165 多時(shí)鐘周期信號(hào)總結(jié) 先確定Multicycle之前的setup和hold的所指向時(shí)鐘沿是不是想要的setup hold 是不是Critical的setup hold 如果不是 畫(huà)出想要的或者critical的setup hold先寫(xiě)出setup的個(gè)數(shù) 后面加上 source endHold跟著setup的設(shè)置變化了 在調(diào)整Hold到想要的位置 166 虛假路徑設(shè)置set false path 167 時(shí)序slack Slack 期望數(shù)據(jù)到達(dá)時(shí)間 實(shí)際數(shù)據(jù)到達(dá)時(shí)間Slack為正 表示數(shù)據(jù)提前到達(dá) 此時(shí)組合邏輯延遲滿足條件 Slack為負(fù) 表示數(shù)據(jù)比預(yù)期的時(shí)間晚到達(dá) 此時(shí)不滿足F F的建立時(shí)間 不滿足約束 168 時(shí)鐘樹(shù) 由Buffer組成的時(shí)鐘樹(shù) ClockInput Level1 Level2 Leveln 169 時(shí)鐘樹(shù)的布局 ClockGenerator 170 時(shí)鐘樹(shù) 最基本的時(shí)鐘樹(shù)結(jié)構(gòu) 比較適合于規(guī)則陣列網(wǎng)絡(luò) 171 時(shí)鐘樹(shù) 時(shí)鐘網(wǎng)絡(luò)結(jié)構(gòu) Trunk 172 布線后的時(shí)鐘樹(shù)- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
19.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 集成電路設(shè)計(jì) 綜合 技術(shù)講座 PPT
鏈接地址:http://m.jqnhouse.com/p-6221068.html