精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

仿真器與Model的本質區別

lhl545545 ? 來源:模擬混合信號設計驗證 ? 作者:邵亞利 ? 2020-06-08 17:23 ? 次閱讀

“工欲善其事必先利其器”,做好數模混合驗證必須了解EDA工具工作原理EDA仿真器是在干兩件事情(時間和數值),即在什么樣的時間,該出什么樣的數值(表現);數字和模擬的差別在要解的方程組是完全不同的。

1.數字仿真器

Event Driven的邏輯方程是順序和并發執行的,有很清晰的信號流和事件發生順序,可以同一個時刻多個Event并發執行,但是不會回頭計算,所以它快。由于時間和數值都是離散的,所以不容易出現不收斂性的問題。完成代碼編程后,應該知道有哪些Event要發生,等待那個時刻的反饋,如果沒有其他事情抵消掉(就不發生了),就只和邏輯方程打交道。問題是現實世界(對象是Transistor),并非是非黑即白的0,1世界,所以它的精度會低些;只要做好協議和糾錯功能,倒是不會出錯的。所以 SOC的頂層,如果用數字仿真器,也是因為它快。

2.模擬仿真

需要解決模擬大環境、大矩陣( System Matrix),而且要在仿真的每一步都站在全局的角度,看各種需求是否被滿足。模擬仿真器考慮的是真實的信號(電壓和電流)與系統。KCL、KVL,節點電流為0,回路電壓為0,往往用簡單邏輯方程理不清楚,必須建立大型的矩陣。任何一個Analog環境里的元素/器件(Element)都直接影響到其他元件,正所謂的“牽一發而動全身”。即使EDA工具可以對Analog電路做分割(Partition),以減小矩陣的規模。

Analog仿真器每往下走一步,都先試一試是否滿足Tolerance要求,滿足則往下繼續;不符合,修改后再試,直到最終各種要求滿足;但是想滿足所有限制,有時候是比較困難的,所以大規模模擬仿真會經常出現Convergence Issue,即仿真不收斂,這就需要考慮是否需要修改仿真設置與參數,或者考慮電路哪里有薄弱點,再進行反復迭代。由于時間和數值都是連續量且相互影響,所以Analog仿真很慢,但比較精確,故高性能的Analog IC,都離不開Analog仿真器。

SPICE是一個解非線性常微分方程的工具,其快速仿真(Fast Spice,XPS)可以將整個電路分成幾個獨立的小塊單獨求解矩陣,然后再把各塊聯接起來。這樣速度比原來Spice快上幾十倍,而精度差別在Spice的5%-10%之內。

3.數模混合仿真

當DUT同時包含模擬電路(schematic)和數字電路(RTL)或者模擬模型(Verilog-AMS,SystemVerilog)的時候,仿真會同時使用模擬仿真器和數字仿真器,進行數模混合仿真。模擬電路和Verilog-AMS模型中的Analog Statement部分,會由模擬仿真器進行矩陣計算,有較高的精度。數字電路和模擬模型中的離散部分,則有數字仿真器進行Event-Driven的邏輯方程計算。最終模擬和數字仿真器相互協調完成對DUT的整體仿真。。當信號需要在模擬(連續時間域)和數字(離散時間域)進行穿梭時,則需要通過Connect Module(CM)。對于從數字到模擬的轉換,CM定義了信號的具體電特性,例如:阻抗,上升沿下降沿速率,電壓鉗位等等。對于從模擬到數字的轉換,CM決定了量化精度和采樣率。由此可見,Connect Module的設置對混合仿真的速度和準確性都有很大的影響。

典型的混合信號交互過程融合了包含迭代算法和后向步長功能的模擬求解器和沿前向計算的數字求解器。這種功能組合定義了模擬的即時方程求解和數字的事件驅動求解,必須在系統的DC工作點和瞬態Trans分析中協同工作。

A、DC 工作點分析

模擬的靜態工作點和數字在零時刻的初始化工作。在數模混仿工具上的順序是:

1)運行所有離散的初始化

2)在零時刻執行所有離散initial模塊

3)在零時刻執行所有離散always模塊

4)模擬迭代得到所有電壓電流結果

B、Trans工作點分析

模擬部分從0時刻工作點計算出發,按時間步長重復計算。模擬仿真器用Spice,由牛頓-拉夫遜迭代技術反復迭代;數字求解邏輯方程。如果他們兩個各自運行/沒有數據交換,那就在下一個步長重復。一般而言,每次模擬求解器的時間軸先向前移動,數字仿真器在后面跟上,這是因為數字仿真器只能向前,而模擬仿真器允許退回操作(重新計算之前時間點的數值)。因此如果數字在追趕的過程中,有離散數據或者事件變化了,模擬仿真器需要退回到數字改變數據的時間點,重新和數字同步。

總之,無論是DC還是Trans瞬態工作點分析,混合信號的同步過程都可以概括為防止任意一個仿真器計算出另外一個仿真器不能夠接受的敏感數據。

Model介紹

“對于先進的數模混合驗證而言,行為建模對模擬設計的高級抽象起到了至關重要的作用。”-Alberto Sangiovanni-Vincentelli,美國工程院院士。

基于模型的模擬驗證方法,是唯一能夠驗證復雜模擬設計的驗證方法,可以幫助模擬設計工程師進行模擬集成電路設計驗證。----Ken Kundert博士,Spectre的發明者。

可見Model是非常重要的。在這里,我們以獨特的視角、豐富的設計經驗,做數模混合信號里面Model的全面剖析。做Model的目的是什么?Model有哪些級別?與Model相關的概念有哪些?現有EDA工具中有哪些和Model相關的產品?這些都是我們應該關注的。

1.Model的本質目的

Model的本質目的是為了“洞見”(就是明察),清楚的看到、而且提前看到。“明察、清楚”是對“精度”的要求;“提前”是對時間的要求。所以做Model的本質目標就是“時間和精度”。誰在控制“時間”和“精度”?顯然是仿真器。所以搞清楚仿真器之后,通常事半功倍。

2.Model的級別

仿真器所需的“時間”和“精度”怎么協調?想快就向Digital仿真器靠攏;想準就向Analog靠攏。做Model不是做加法、就是做減法。做Analog出身的熟悉Schematic,對Schematic的加法得到:Critical Part Model、BA Model;對Schematic的減法得到:VerilogA;VerilogAMS;Real Number Model(RNM);Verilog;Reference Model等。

圖1 Model的等級

仿真器與Model的本質區別

圖2 Schematic

工藝給出PDK,用EDA工具直接仿真,這不也是Model嘛!它通過EDA工具把環境和數據設置好,Schematic直接用就行了。所以劃分Model等級的時候它可以作為Golden標準。

1) 對schematic的加法

PDK總能cover到我們想要的么?什么情況下Schematic Model做加法呢?

仿真器與Model的本質區別

圖3 Critical Part Model

A、Critical Part Model

工藝PDK也是一種Model,它是經Fab驗證的較精準的Model。PDK上給出常用的范圍內的數據是比較準確的,當超出時,例如電流太小時,PDK曲線上的數據)會導致Model和實際的silicon之間不吻合。當Analog要求處理的數據是連續的,即各種大小的電流、尺寸都滿足時,對數學表達式的要求就比較復雜,導致仿真器會更慢。當要求低功耗減小電流的時,必須考慮PDK建Model時數據的真實性;而不是表達式外推憶斷(extrapolate)的虛假數值而已。相反,對大管子,(powerFET)本身的走線電阻電容形成的網絡,對其Model也要相應調整。

又例如,對于器件的噪聲,Cadence的仿真工具有trans noise,ac noise等模型,但trans noise 一開啟,仿真時間就上漲了。所以仿真器有Option可以設置某個時間點turn on,還是turn off噪聲,來分析電路中關鍵的、敏感的節點。到那時整體速度還是慢。為了能夠快速的得到噪聲的影響結果,可以用VerilogA/VerilogAMS去寫一個隨機變化的噪聲源的Model,而不用打開trans noise,就可以得到有noise時候芯片的一個預判。這就是所謂的Critical Part Model。

仿真器與Model的本質區別

圖4 后仿真Model

B、BA Model

Layout后,EDA(LVS,DRC)工具幫你提取R、C和RC等寄生參數,做(av_extracted view)參數提取后仿真(BA sim),不過仿真就更慢了。而Layout都出來了,把一些不重要的block換成schematic甚至Model,這時只關心重要block的性能。如果只提取C,而不提取R的話,這時整個電路的仿真時間并不會增加多少。因為提取R,則大大的增加了求解矩陣的復雜程度,所以仿真時間也長了很多。

對Schematic做加法的目的在于提高精度。這是高性能的模擬IC、模擬IC占很大比重的混合IC所在乎的。如果再加上Thermal Model, Package Model, Board Model, Transmission Line Model 等,就是更精準的實際IC應用環境了。如果關心速度和時間,就需要對所設計的芯片一層層地對Schematic做各種減法。

2)對schematic的減法

顯然對Schematic做加法的弊端就在于其速度。如果關心速度,就需要做減法的Model。

仿真器與Model的本質區別

圖5 VerilogA Model

A、VerilogA

如果不涉及工藝PDK,VerilogA比Schematic要快。VerilogA Model和VerilogAMS相比,它是純Analog仿真器,但引入digital時、接口處理不好會導致收斂性問題,缺點還是慢。習慣了Verilog的人,去看純VerilogA的程序,當Control等信號太多的時候,有時候會覺得VerilogA太啰嗦。

仿真器與Model的本質區別

圖6 VerilogAMS

B、VerilogAMS

VerilogA還是純Spice的模擬仿真器,純模擬仿真器的劣勢是矩陣求解要多控制信號。這些控制信號又給Analog仿真器增加了負擔,Analog最討厭高頻擾動信號,尤其是方波。所以AMS橫空出世,于是高速Switching信號、控制信號、trim信號都Model化。于是像cross,above!,和Analog的transition,timer等關鍵字,把這A-2-D,D-2-A的事情做了。

為了把Analog和digital仿真器做成Mix-signal的仿真器,需要引入Connect Module,當然它提高了做Model人的經驗要求。因為它和仿真器契合度太低,就不可能提高仿真的速度,即使降低了精度要求。有的時候A到D, D到A寫不好會相互纏繞和給仿真器帶來不收斂問題。

仿真器與Model的本質區別

圖7 RNM--Wreal

C、Real Number Model(RNM)

Real Number Model(RNM)是解決混合仿真快和準的手段:用實數來表示電氣信號,用離散Solver替代模擬Solver,在更抽象層級上端口間傳送的電壓/電流信號可以描述為單個實數。在VerilogAMS, System Verilog(SV) 和VHDL中RNM得到支持。

在VAMS中”wreal”的定義就是“A real valued wire”,言簡意賅,一個能夠做wire,又能連續變化的variable。作用是做model和用來做verification。

仿真器怎么處理一根wreal的線呢?因為wreal在時間上是離散的:它只根據離散的event來變化;故它用digital solver來解決問題。而同時又有Analog的痕跡的(它不是0,1,x,z時是一串串浮點數,和連續變化的模擬信號非常接近的)。用wreal做RNM(下表綠色填充色為優勢點),它將Digital和Analog仿真器兩者的優點給綜合到了一起,并在仿真速度和精度之間取得了折中(Wreal的Analog痕跡保證了精度,它數字化處理的機會保證速度)。還可以把random,coverage、assertion-based verification等概念利用到Analog 信號上,集速度和精度于一身。

Wreal和electrical如何通信呢?由R2E (wreal to electrical), and E2R(Electrical to wreal)實現。他們轉換關系總結如下表:

仿真器與Model的本質區別

表3 RNM--Connection Module 2

RNM的缺點是在離散域要定義一些基本模塊。因為標準的模擬建模語言中的內嵌函數(上升時間/轉換/積分/微分和模擬濾波)離散實數域沒有,需要按時間步長格式去實現。

Wreal由于忽略了阻抗效應的,只用于沒有直接強反饋的模塊的輸入輸出傳輸,所以在處理Inout端口時候比較吃力。所以在用SystemVerilog寫的RNM中,支持用戶自定義的Nettype (User Defined Nettype),Cadence利用這個標準引入了EEnet。在這個自定義的Nettype中,包含三個實數變量,分別用來表示電壓,電阻和電流,進而實現戴維南或者諾頓等效。當多個EEnet連接到一起時,就形成了一個局域的電壓源,電流源和電阻的網絡。因為該網路只有有限節點,而且只求解當前狀態,因此可以在一次運算中根據基爾霍夫電流和電壓定律求解出連接點的電壓,和流入/出各個模塊的電流。由于求解EEnet構成的局域網絡不需要進行迭代,因此可以有數字仿真器來進行數值求解。進而EEnet提供在離散模型中對loading effect的建模,從而在不犧牲速度的情況下提高模型精度。

D、Verilog

很多人都懂Verilog,不再詳細介紹。

仿真器與Model的本質區別

圖9 Reference Model

E 、Reference Model

對于模擬IC了解Verilog就夠了,但做數字的對Verilog形成的Model仍不滿意。如何打通軟件和硬件之間的聯系?讓一個軟件工程師去懂硬件描述語言,顯然太苦了,對Verilog進行再抽象就很有必要,很多驗證工程師熟悉UVM,搞出Reference Model,或者系統工程師的Virtual Prototype或算法模型Model就是進一步的做減法而得到的Model。System Verilog,System C,都有支持你需求的描述Model,實現硬、較件工程師的一次跨界。

仿真器與Model的本質區別

圖10 不同建模類型的速度精度對比圖

上述Model做減法(VerilogA、VerilogAMS、RVM、Verilog和Reference Model),一步步脫離Analog,一步步走進Digital,甚至硬件邁向軟件,這就是Model做減法的魔力。可以參見圖16經典的不同仿真模型的速度與精度對比圖。

作者簡介

邵亞利,模擬混合信號設計驗證專家。浙江大學本碩,“模擬混合信號設計驗證”公眾號(yaliDV)創始人。曾就職于德州儀器(TI),現就職于亞德諾(ADI)半導體公司。ADI(Analog Devices) 是全球領先的高性能模擬技術公司,憑借杰出的檢測、測量、電源、連接和解譯技術,搭建連接現實模擬世界和數字世界的智能化橋梁。

責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真器
    +關注

    關注

    14

    文章

    1016

    瀏覽量

    83647
  • Model
    +關注

    關注

    0

    文章

    338

    瀏覽量

    25041
  • Schematic
    +關注

    關注

    1

    文章

    13

    瀏覽量

    11278
收藏 人收藏

    評論

    相關推薦

    光耦仿真器簡介

    電子發燒友網站提供《光耦仿真器簡介.pdf》資料免費下載
    發表于 08-28 11:45 ?0次下載
    光耦<b class='flag-5'>仿真器</b>簡介

    TI磁感應仿真器功能簡介

    電子發燒友網站提供《TI磁感應仿真器功能簡介.pdf》資料免費下載
    發表于 08-28 09:48 ?0次下載
    TI磁感應<b class='flag-5'>仿真器</b>功能簡介

    仿真器的使用方法有哪些

    仿真器是一種用于模擬和測試電子系統、軟件或硬件的工具。它可以幫助工程師在實際硬件或軟件部署之前,對設計進行驗證和調試。 仿真器的基本概念 仿真器是一種軟件或硬件工具,用于模擬和測試電子系統、軟件或
    的頭像 發表于 08-22 09:16 ?681次閱讀

    聚徽觸控-工控機和商用電腦本質區別是什么

    工控機和商用電腦在多個方面存在本質區別,具體如下:
    的頭像 發表于 07-16 09:19 ?271次閱讀

    數字信號與模擬信號的本質區別是什么

    數字信號與模擬信號是信息傳輸和處理領域的兩種基本信號類型。它們在許多方面存在本質區別,包括信號表示、信號處理、抗干擾能力、傳輸效率等。本文將詳細探討這兩種信號類型的本質區別。 一、信號表示 數字信號
    的頭像 發表于 06-03 10:50 ?1517次閱讀

    FPGA與ARM的本質區別

    FPGA(Field-Programmable Gate Array)與ARM在多個方面存在本質區別。 首先,從它們的定義和結構上來看,FPGA是一種現場可編程門陣列,屬于可編程器件的一種。它的內部
    發表于 04-28 09:00

    FPGA與ARM的本質區別是什么?

    FPGA(Field-Programmable Gate Array)與ARM在多個方面存在本質區別。 首先,從它們的定義和結構上來看,FPGA是一種現場可編程門陣列,屬于可編程器件的一種。它的內部
    發表于 04-28 08:56

    fpga仿真器是什么?它有哪些優勢?

    FPGA仿真器是一種用于模擬FPGA(現場可編程門陣列)硬件行為的軟件工具。它通過模擬FPGA內部的邏輯電路、時序和接口等,幫助工程師在FPGA設計過程中進行功能驗證和性能測試。FPGA仿真器在FPGA開發流程中扮演著至關重要的角色,為工程師提供了強大的驗證和調試手段。
    的頭像 發表于 03-15 15:15 ?1600次閱讀

    fpga原型驗證平臺與硬件仿真器區別

    FPGA原型驗證平臺與硬件仿真器在芯片設計和驗證過程中各自發揮著獨特的作用,它們之間存在明顯的區別
    的頭像 發表于 03-15 15:07 ?1041次閱讀

    fpga仿真器接口定義

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)仿真器接口的定義主要依賴于仿真器的具體設計和所支持的通信協議。在FPGA的設計和仿真過程中,接口的定義對于實現與
    的頭像 發表于 03-15 14:01 ?1167次閱讀

    線程是什么的基本單位 進程與線程的本質區別

    的代碼、數據以及用于執行這些代碼的上下文信息。一個進程可以由一個或多個線程組成,從而并發執行多個任務。 本質區別: 資源擁有方式:進程是資源分配的基本單位,每個進程擁有獨立的內存空間、文件描述符、頁面表等資源,之
    的頭像 發表于 02-02 16:30 ?866次閱讀

    什么是模擬信號,什么是數字信號,本質區別是什么?

    模擬信號和數字信號的定義、特點和本質區別。 首先,我們來看一下模擬信號。模擬信號是以連續變化的模式表示的信號,其值和時間之間呈現出一個連續的關系。模擬信號可以通過物理量的連續變化來表示,例如音頻信號、視頻信號
    的頭像 發表于 02-02 11:21 ?2764次閱讀

    光耦仿真器的優勢有哪些

    光耦仿真器與業內最常見的光耦合引腳對引腳兼容,有助于無縫集成到現有設計中,同時提供相同的信號行為。
    的頭像 發表于 01-30 15:07 ?529次閱讀

    xds100v3仿真器引腳定義

    xds100v3仿真器是德州儀器(Texas Instruments)推出的一款用于嵌入式系統開發和調試的仿真器。它具有良好的性能和穩定性,可以提供準確的調試和仿真功能,方便開發人員開展工作。在本文
    的頭像 發表于 01-05 13:40 ?4492次閱讀

    仿真器和燒錄區別

    仿真器和燒錄區別? 仿真器和燒錄是電子技術領域中常見的兩種設備,它們在電子系統的開發和調試過程中起著重要的作用。盡管它們都是用于調試電
    的頭像 發表于 12-07 15:48 ?5138次閱讀