<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 利用AMSVF進(jìn)行混合信號(hào)SoC的全芯片驗(yàn)證

          利用AMSVF進(jìn)行混合信號(hào)SoC的全芯片驗(yàn)證

          作者: 時(shí)間:2011-01-04 來(lái)源:網(wǎng)絡(luò) 收藏

            
            近年來(lái),消費(fèi)電子和個(gè)人計(jì)算市場(chǎng)的發(fā)展增加了對(duì)于更強(qiáng)大且高度集成的產(chǎn)品的需求。低成本、低功耗、復(fù)雜功能和縮短上市時(shí)間的需要,讓越來(lái)越多的IC設(shè)計(jì)采用了技術(shù)。
            
            在這些電路中,由于包含了數(shù)據(jù)轉(zhuǎn)換器、功率管理及其它模擬電路,設(shè)計(jì)不可避免并且越來(lái)越多。在設(shè)計(jì)中,為了避免重制,確保一次性流片成功,全成為關(guān)鍵一環(huán)。傳統(tǒng)上,在復(fù)雜的混合信號(hào)SoC設(shè)計(jì)中,不同團(tuán)隊(duì)分別獨(dú)立數(shù)字和模擬組件,并不全芯片綜合,其主要原因是沒(méi)有足夠強(qiáng)大的EDA工具能夠完成這個(gè)重要任務(wù)。如果所有的集成和接口問(wèn)題僅僅是在測(cè)試平臺(tái)中解決,那么就很難保證混合信號(hào)的正確連接和時(shí)序匹配。隨著高速SPICE模擬工具的出現(xiàn),設(shè)計(jì)師可以在晶體管級(jí)執(zhí)行整個(gè)芯片系統(tǒng)的驗(yàn)證,這是一種較為有效的驗(yàn)證方法。該方法具有很高的精確性,并能夠全面的功能分析,但是,此類(lèi)驗(yàn)證只能在設(shè)計(jì)周期的最后階段進(jìn)行,那時(shí)所有的單元和定制元件都已經(jīng)設(shè)計(jì)完成。此外,這種方法的模擬速度有時(shí)非常緩慢,必須動(dòng)用大量的硬件資源。對(duì)于包含微處理器、ROM、RAM、PLL等的復(fù)雜系統(tǒng),由于其元件數(shù)量實(shí)在過(guò)于龐大,高速SPICE模擬器幾乎不可能執(zhí)行全芯片晶體管級(jí)模擬。
            
            然而,驗(yàn)證方法學(xué)應(yīng)該貫穿于整個(gè)設(shè)計(jì)階段,而不能僅局限于最終的驗(yàn)證階段。同時(shí),為了實(shí)現(xiàn)混合信號(hào)SoC驗(yàn)證在精確性和速度之間的完美平衡,設(shè)計(jì)師可能想要保持某些重要的模擬模塊(如ADC、PLL)作為SPICE網(wǎng)表,而其它部分為Verilog行為級(jí)模塊。這時(shí),設(shè)計(jì)師可以選擇使用晶體管級(jí)電路去替代特定的行為模塊,并及時(shí)高效地繼續(xù)設(shè)計(jì)驗(yàn)證過(guò)程。
            
            為了實(shí)現(xiàn)精確而快速的全芯片驗(yàn)證,全新的模擬解決方案應(yīng)運(yùn)而生。
            
            AMS Designer與
            
            作為新一代的模擬器,AMS Designer基于Virtuoso Spectre和Ultrasim Simulator以及Incisive Unified Simulator引擎的可靠技術(shù),是一種單一核心(Single Kernel)的混合信號(hào)模擬器。它提供了兩種模擬求解器——Spectre和Ultrasim,并支持幾乎所有的語(yǔ)言和SPICE網(wǎng)表規(guī)格。Ultrasim求解器性能較高,有著堪比SPICE的精確性,并且容量幾乎無(wú)限,因此較適合大型全芯片設(shè)計(jì)。
            
            雖然AMS Designer為DFII流程提供了友好的圖形用戶(hù)界面,然而對(duì)于混合信號(hào)驗(yàn)證,多數(shù)設(shè)計(jì)師更需要該應(yīng)用在命令行模式下執(zhí)行全芯片驗(yàn)證。其原因不僅是因?yàn)槊钚心J教峁┝藦?qiáng)大而方便的批量運(yùn)行功能,還因?yàn)樵O(shè)計(jì)本身是基于沒(méi)有原理圖的文本文檔,或沒(méi)有GUI環(huán)境。對(duì)于這種應(yīng)用方式,(AMS驗(yàn)證流程)更加適合。

          本文引用地址:http://www.ex-cimer.com/article/156805.htm

            的應(yīng)用模式

            繼承了NC-Verilog,AMSVF的使用支持ncverilog單步模式,它主要面向Verilog-XL用戶(hù);而3步模式會(huì)調(diào)用ncvlog剖析輸入文件,調(diào)用ncelab構(gòu)建電路結(jié)構(gòu),然后調(diào)用ncsim模擬器模擬電路。

            目前,AMSVF可以為數(shù)字測(cè)試平臺(tái)提供支持,其應(yīng)用模式如圖1所示。

          AMSVF的應(yīng)用模式

          圖1 AMSVF的應(yīng)用模式

            Verilog/VHDL頂層也可以例示SPICE subckt,對(duì)于VHDL測(cè)試平臺(tái)來(lái)說(shuō),需要提供Verilog wrapper。另外,頂層可以調(diào)用其它Verilog/VHDL模塊。這種應(yīng)用模式被命名為“Verilog on top”。中層SPICE subckt也可以例示最底層的Verilog/VHDL模塊,這種應(yīng)用模式被命名為“Sandwich”或“SPICE in middle”。另外,在一些復(fù)雜設(shè)計(jì)中,AMSVF還支持多個(gè)“Sandwich”應(yīng)用模式,如“Verilog - SPICE - Verilog - SPICE - Verilog”。

            這兩種應(yīng)用模式對(duì)于用戶(hù)的全芯片驗(yàn)證應(yīng)用是非常方便的。對(duì)于一個(gè)純粹的數(shù)字系統(tǒng)設(shè)計(jì),為了獲得精確的結(jié)果,用戶(hù)可以用SPICE網(wǎng)表替代一些Verilog模塊,甚至使用寄生參數(shù)以獲得更為精確的模擬結(jié)果。由于物理元件太多,模擬速度可能會(huì)變慢,這時(shí),用戶(hù)可以在SPICE網(wǎng)表中對(duì)基本門(mén)電路使用Verilog/VHDL行為級(jí)模塊。那么,“Sandwich”應(yīng)用模式就得以實(shí)現(xiàn)。這意味著用戶(hù)可以自由而簡(jiǎn)單地切換應(yīng)用模式。 Script type=text/javascript>function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w m){return;} else{ var h = $(Id).height; $(Id).height = parseInt(h*m/w); $(Id).width = m; } } window.onload = function() { var Imgs = $(content).getElementsByTagName(img); var i=0; for(;i


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();