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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 嵌入式存儲(chǔ)器的設(shè)計(jì)方法和策略

          嵌入式存儲(chǔ)器的設(shè)計(jì)方法和策略

          作者: 時(shí)間:2007-01-31 來(lái)源:網(wǎng)絡(luò) 收藏
          隨著集成電路制造工藝水平的提高,半導(dǎo)體芯片上可以集成更多的功能,為了讓產(chǎn)品有別于競(jìng)爭(zhēng)對(duì)手的產(chǎn)品特性,在ASIC上集成存儲(chǔ)器可以降低成本和功耗、改善性能、增加系統(tǒng)級(jí)芯片的可靠性。隨著對(duì)需求的持續(xù)增長(zhǎng),其復(fù)雜性、密度和速度也日益增加,從而需要提出一種專用存儲(chǔ)器。

          存儲(chǔ)器的外包設(shè)計(jì)

          存儲(chǔ)器模塊都具有相對(duì)獨(dú)立的特性,在一個(gè)時(shí)鐘系統(tǒng)中它通常占用一個(gè)管道,從成本和人力資源兩方面考慮,許多芯片開(kāi)發(fā)商都將存儲(chǔ)器模塊外包設(shè)計(jì),因?yàn)?,與其它半導(dǎo)體芯片相比,在系統(tǒng)中定義和分離存儲(chǔ)器模塊要容易得多。此外,諸多因素促進(jìn)了存儲(chǔ)器編輯器及定制存儲(chǔ)器設(shè)計(jì)公司的發(fā)展,例如:存儲(chǔ)器模塊的標(biāo)準(zhǔn)模塊特性、對(duì)的巨大市場(chǎng)需求以及存儲(chǔ)器核心采用的是系統(tǒng)設(shè)計(jì)人員不熟悉的新技術(shù),為了滿足緊迫的系統(tǒng)設(shè)計(jì)進(jìn)度要求,存儲(chǔ)器設(shè)計(jì)公司通過(guò)板上存儲(chǔ)器設(shè)計(jì)及時(shí)地為系統(tǒng)設(shè)計(jì)公司服務(wù)。

          當(dāng)許多公司外包設(shè)計(jì)時(shí),也有許多公司遲遲遲疑不決。在外包設(shè)計(jì)過(guò)程中,要讓系統(tǒng)設(shè)計(jì)人員盡可能早地獲得引腳的位置、存儲(chǔ)芯片面積以及存儲(chǔ)器HDL模型,這樣,就能夠及時(shí)和高效地推出系統(tǒng)級(jí)芯片,同時(shí)不必?fù)?dān)心系統(tǒng)芯片的面積、性能和品質(zhì)問(wèn)題。

          獲取嵌入式存儲(chǔ)器設(shè)計(jì)的另一種方法是利用存儲(chǔ)器編譯器,它能夠快捷和廉價(jià)地設(shè)計(jì)存儲(chǔ)器物理模塊。盡管該方法很有效并且完全適合標(biāo)準(zhǔn)存儲(chǔ)器結(jié)構(gòu),但它存在若干缺陷。通常,編譯后的存儲(chǔ)器設(shè)計(jì)導(dǎo)出大量存儲(chǔ)器模塊,并造成系統(tǒng)的整體性能下降,另外,當(dāng)系統(tǒng)設(shè)計(jì)需要添加新的功能時(shí),該靈活性較差。

          與此相反,向存儲(chǔ)器定制設(shè)計(jì)公司定制嵌入式存儲(chǔ)器設(shè)計(jì)則大有裨益。定制存儲(chǔ)器可滿足系統(tǒng)對(duì)存儲(chǔ)器的突發(fā)需求,例如修改邏輯電路以便和存儲(chǔ)器核實(shí)現(xiàn)邏輯兼容。定制存儲(chǔ)器不是簡(jiǎn)單地在芯片上嵌入標(biāo)準(zhǔn)存儲(chǔ)器模塊,然后圍繞存儲(chǔ)器的其它邏輯電路來(lái)綜合實(shí)現(xiàn)預(yù)想的功能。實(shí)際上,設(shè)計(jì)人員將邏輯電路直接植入存儲(chǔ)器模塊,從而使物理版圖與存儲(chǔ)器的存儲(chǔ)單元緊密結(jié)合,這就能減小芯片的總面積,從而實(shí)現(xiàn)較高的存儲(chǔ)密度,并提高芯片的性能,達(dá)到高速、緊湊、低耗電和布線簡(jiǎn)潔的設(shè)計(jì)要求。

          現(xiàn)有存儲(chǔ)器設(shè)計(jì)的復(fù)雜性需要完整的設(shè)計(jì)流程。本文介紹的包括設(shè)計(jì)概念、網(wǎng)表的建立、設(shè)計(jì)、布線以及存儲(chǔ)器模塊的驗(yàn)證,該方法可確保存儲(chǔ)器模塊在嵌入SoC時(shí)能有效地工作。

          RISC中的存儲(chǔ)器設(shè)計(jì)

          在500MHz、64位RISC微處理器的嵌入式存儲(chǔ)器設(shè)計(jì)中,片上存儲(chǔ)器速度要足夠快速,結(jié)構(gòu)要足夠復(fù)雜,否則無(wú)法與高速而復(fù)雜的微處理器相匹配。定制存儲(chǔ)器占據(jù)200mm2 處理器1/3以上的面積,包括:一級(jí)和二級(jí)高速緩存、將虛擬頁(yè)地址轉(zhuǎn)化為物理地址的兩級(jí)轉(zhuǎn)換后備緩存(TLB)、用于定點(diǎn)和浮點(diǎn)內(nèi)核的多端口寄存器文件以及查尋表(LUT)和通用存儲(chǔ)器(GP)等。高速緩存包含實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)、標(biāo)識(shí)及LRU功能的獨(dú)立存儲(chǔ)器。除了多端口存儲(chǔ)陣列之外,寄存器文件還包含用于地址翻譯和命名邏輯單元的ROM和CAM(見(jiàn)圖1)。

          總之,要設(shè)計(jì)20個(gè)獨(dú)特的存儲(chǔ)器。

          存儲(chǔ)器的復(fù)雜性和獨(dú)特性表明,采用存儲(chǔ)器編譯器并不完全可行,每種嵌入式存儲(chǔ)器都需要采用新的電路技術(shù)來(lái)設(shè)計(jì),以便滿足微處理器的高性能、高密度、低功耗和極低噪聲的要求。

          這樣的高速微處理器必須采用最先進(jìn)的0.18μm、6層銅線雙鑲嵌金屬CMOS工藝制作,其極小的特征尺寸和高性能的晶體管使存儲(chǔ)器設(shè)計(jì)面臨嚴(yán)峻的考驗(yàn),因?yàn)檎饘賹?dǎo)線(線高大于水平間距)尤其容易受到串?dāng)_及電子遷移效應(yīng)的影響,而晶體管的低閾值將導(dǎo)致抗噪聲性能降低。

          嵌入式存儲(chǔ)器設(shè)計(jì)方法

          要制定出每個(gè)設(shè)計(jì)人員都必須遵循的設(shè)計(jì)指南,首先要開(kāi)發(fā)出一套設(shè)計(jì)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)包括最優(yōu)門比率、扇出數(shù)目、最大晶體管寬度以及預(yù)布線阻抗和電容的經(jīng)驗(yàn)法則。在高密度、高速存儲(chǔ)器的設(shè)計(jì)過(guò)程中,要采用先進(jìn)的電路技術(shù)、抗串?dāng)_技術(shù)及噪聲容限設(shè)計(jì)標(biāo)準(zhǔn)。串?dāng)_標(biāo)準(zhǔn)規(guī)定了鄰近信號(hào)的布線規(guī)則,其它噪聲容限標(biāo)準(zhǔn)則規(guī)定靜態(tài)噪聲容限和鎖存電路的可寫性規(guī)則。

          芯片的多種宏設(shè)計(jì)要求與電路標(biāo)準(zhǔn)保持一致。時(shí)鐘發(fā)生器和寄存器的標(biāo)準(zhǔn)尤為重要,它們是整個(gè)CPU輸入設(shè)置和保持時(shí)間維持一致的前提。為了使時(shí)鐘偏差最小,設(shè)計(jì)人員需要密切控制占空比和扇出數(shù)目以及所有時(shí)鐘發(fā)生器的上升和下降時(shí)間。

          另外,我們采用可測(cè)性設(shè)計(jì)(DFT)方法,如掃描和全頻內(nèi)建自檢(BIST)方法來(lái)設(shè)計(jì)每個(gè)存儲(chǔ)器。毫無(wú)無(wú)疑,BIST技術(shù)比采用測(cè)試儀器測(cè)試要復(fù)雜得多,后者要將嵌入式存儲(chǔ)器的I/O信號(hào)復(fù)用到測(cè)試總線上,并通過(guò)布線連接到芯片的I/O端口以便測(cè)試儀器進(jìn)行測(cè)試。但是,BIST方法的優(yōu)點(diǎn)在于與測(cè)試儀器無(wú)關(guān),并可全頻測(cè)試存儲(chǔ)器。利用BIST復(fù)雜的測(cè)試功能,可以用標(biāo)記將故障與特定的例程或一個(gè)實(shí)際的I/O或一個(gè)存儲(chǔ)單元隔離。該特性可實(shí)現(xiàn)冗余處理和詳細(xì)的故障分析。BIST還具備測(cè)試存儲(chǔ)器功能和確定宏或存儲(chǔ)器最大工作頻率的能力,但通常無(wú)法計(jì)算宏的存取時(shí)間。

          DFT方法雖然增加不到2%的開(kāi)銷,但對(duì)存儲(chǔ)器的驗(yàn)證來(lái)說(shuō),其作用非常重要。采用這些技術(shù)及定制嵌入式ATE(自動(dòng)測(cè)試設(shè)備)電路,我們已經(jīng)制作了一些測(cè)試芯片來(lái)驗(yàn)證存儲(chǔ)器設(shè)計(jì)過(guò)程中采用的復(fù)雜設(shè)計(jì)技術(shù)(圖2)。

          現(xiàn)在,要驅(qū)動(dòng)500MHz的外部I/O引腳很不實(shí)際,我們?cè)O(shè)計(jì)了專用嵌入式ATE電路來(lái)俘獲并評(píng)估嵌入式宏的實(shí)際存取時(shí)間。通過(guò)建立片上測(cè)試器,可確保采用低成本的數(shù)字測(cè)試器來(lái)驅(qū)動(dòng)及評(píng)測(cè)芯片。

          時(shí)序和功能驗(yàn)證

          對(duì)高性能半導(dǎo)體芯片,精確的時(shí)序模型至關(guān)重要。為了提取嵌入式存儲(chǔ)器中關(guān)鍵路徑的特征并進(jìn)行仿真,要采用了Avant!公司的Hspice軟件。從仿真運(yùn)行時(shí)間來(lái)看,仿真整個(gè)宏的LPE網(wǎng)表是不切實(shí)際的,為此要采用集總和加載技術(shù)(見(jiàn)圖3)。

          集總和加載方法是通用技術(shù),面臨分布式載荷造成的模型不精確的問(wèn)題,并受到由阻容(RC)網(wǎng)絡(luò)引起的傳輸線效應(yīng)的影響。RC網(wǎng)絡(luò)不僅包含阻容元件,還包含要對(duì)柵極、源極和漏極電容精確建模的晶體管。為了獲得精確時(shí)序,要建立驗(yàn)證關(guān)鍵路徑中所有元件與實(shí)際宏的LPE網(wǎng)表之間匹配程度的工具。對(duì)我們感興趣的節(jié)點(diǎn),要比較關(guān)鍵路徑和LPE網(wǎng)表之間的引線、柵極、源極、漏極、耦合電容和電阻。當(dāng)這些參數(shù)不匹配時(shí),就必須修正負(fù)載模型。

          Hspice可以仿真溫度、P-T-V曲線并對(duì)每個(gè)角作出測(cè)量說(shuō)明和繪圖分析,從而便于查找不正確的電路行為,例如分析信號(hào)偏移率變差的程度、由串?dāng)_引起的信號(hào)尖峰、不期望的脈沖重疊程度、傳輸延遲變壞的程度、時(shí)鐘電路的建立和保持時(shí)間變壞的程度等。

          我們通常利用Verilog或VHDL模型來(lái)仿真整個(gè)SoC并對(duì)其建模。為了確保精確度,每個(gè)嵌入式存儲(chǔ)器都有一個(gè)與之對(duì)應(yīng)的Verilog模型,這樣才能確保電路的功能與HDL模型匹配。對(duì)每個(gè)存儲(chǔ)器,要建立全面的測(cè)試平臺(tái)來(lái)測(cè)試所有的地址組合、控制和測(cè)試模式(即掃描和BIST),然后,我們將測(cè)試矢量及其相關(guān)的預(yù)測(cè)數(shù)據(jù)應(yīng)用到每個(gè)宏的所有LPE網(wǎng)表。

          如上所述,可以證明用Hspice仿真大型網(wǎng)表和大型測(cè)試向量集(通常有數(shù)千個(gè)向量)是不切實(shí)際的。為了彌合Hspice和Verilog之間的差距,要采用Synopsys公司的Timemill測(cè)試工具, 該工具可將邏輯等價(jià)性測(cè)試和電路的電性能驗(yàn)證結(jié)合起來(lái),它可將向量驅(qū)動(dòng)的全部存儲(chǔ)器的LPE網(wǎng)表作為輸入置于Verilog環(huán)境中進(jìn)行仿真,其優(yōu)點(diǎn)在于能檢測(cè)電路網(wǎng)表和Verilog模型之間功能上的差異,并具有良好時(shí)序精度,從而發(fā)現(xiàn)時(shí)序缺陷。Timemill測(cè)試工具不是故障仿真器,但是測(cè)試向量能夠涵蓋99%以上的待測(cè)節(jié)點(diǎn)。我們?cè)谂cHspice仿真相同的P-T-V曲線下運(yùn)行了Timemill測(cè)試。此外,還檢測(cè)了未驅(qū)動(dòng)的節(jié)點(diǎn)、最低和最高工作頻率及P-T-V曲線的極端情形。

          物理驗(yàn)證

          我們還采用Mentor Graphics公司的Calibre工具來(lái)驗(yàn)證物理設(shè)計(jì),并用完整的LVS和DRC規(guī)則基準(zhǔn)來(lái)檢驗(yàn)電路連接的正確性、所有的間距和寬度等,用附加的質(zhì)量保證規(guī)則基準(zhǔn)來(lái)檢驗(yàn)浮動(dòng)層、阻抗連接和不期望出現(xiàn)的幾何結(jié)構(gòu)。

          對(duì)于版圖的寄生參數(shù)抽取,要采用Mentor公司的xCalibre工具,它可生成用于Hspice關(guān)鍵路徑分析和Timemill仿真的LPE網(wǎng)表。為了達(dá)到精確抽取,版圖的層次必須與電路圖的層次匹配,此外,所有的饋通(feedthrough)必須嵌入頁(yè)元(leaf cell)中,這樣其寄生效應(yīng)才會(huì)在子電路的LPE網(wǎng)表中得到仿真。

          LPE網(wǎng)表只能對(duì)關(guān)鍵路徑仿真進(jìn)行事后說(shuō)明,但為了防止LPE預(yù)仿真和LPE后仿真的結(jié)果之間出現(xiàn)大的差異,這樣做有必要。假如我們要達(dá)到高性能的仿真結(jié)果,關(guān)注實(shí)際版圖的質(zhì)量對(duì)電路設(shè)計(jì)技術(shù)也至關(guān)重要,例如合并或共用信號(hào)源極或漏極、屏蔽時(shí)鐘信號(hào)線和解碼信號(hào)線組、以及使用多個(gè)觸點(diǎn)把電阻降到最小(在驅(qū)動(dòng)大負(fù)載時(shí),這點(diǎn)特別重要)。

          質(zhì)量保證

          除了上述步驟和檢驗(yàn)以外,在每個(gè)宏輸出到系統(tǒng)設(shè)計(jì)工程師之前,要對(duì)其進(jìn)行強(qiáng)化質(zhì)量保證分析。目前,EDA質(zhì)量保證工具正在形成之中,我們已經(jīng)開(kāi)發(fā)了很多專用檢驗(yàn)工具。一級(jí)QA檢驗(yàn)工具專用于較小面積的存儲(chǔ)器開(kāi)發(fā),用該工具能確保Hspice關(guān)鍵路徑網(wǎng)表加載與全版圖LPE網(wǎng)表準(zhǔn)確匹配。該工具還能分析整個(gè)LPE網(wǎng)表里的每個(gè)節(jié)點(diǎn),并檢驗(yàn)額外的驅(qū)動(dòng)輸出和偏移率,它檢測(cè)到節(jié)點(diǎn)上的多個(gè)驅(qū)動(dòng)器并找到易受電荷共享(特別是動(dòng)態(tài)節(jié)點(diǎn))和串?dāng)_影響的節(jié)點(diǎn),然后要考慮耦合電容、驅(qū)動(dòng)強(qiáng)度、接收器的噪聲容限以及相鄰節(jié)點(diǎn)的數(shù)量。檢驗(yàn)之后,設(shè)計(jì)工程師必須糾正或者調(diào)整上述檢驗(yàn)中有問(wèn)題的節(jié)點(diǎn)。

          我們采用一套特殊的DRC規(guī)則集對(duì)版圖進(jìn)行QA檢驗(yàn),該工藝找到具有阻性的連接點(diǎn)并檢查電源格的完整性以及超寬晶體管。典型的DRC規(guī)則無(wú)法檢查的阻性連接點(diǎn)或軟連接不會(huì)導(dǎo)致芯片的功能故障,但容易產(chǎn)生與頻率相關(guān)的問(wèn)題或穩(wěn)定性故障。

          為了滿足時(shí)序要求,設(shè)計(jì)工程師有時(shí)必須在噪聲容限和速度之間作出折衷。即便如此,所有電路都必須通過(guò)最小噪聲容限規(guī)則,否則當(dāng)把存儲(chǔ)器嵌入到整個(gè)CPU后,就存在故障隱患。存儲(chǔ)器、比例邏輯(偽NMOS邏輯)和動(dòng)態(tài)邏輯門等電路都要經(jīng)過(guò)靜態(tài)和動(dòng)態(tài)噪聲容限分析。對(duì)于那些在同一裸片上參數(shù)不匹配的器件(如差分傳感放大器),要通過(guò)蒙特卡洛Hspice分析,最后,存儲(chǔ)器單元和鎖存器要在所有P-V-T曲線上進(jìn)行可寫性測(cè)試。

          功率分配和電源格的完整性對(duì)宏的性能有顯著影響。電壓IR降到Vdd,Vss上的電位抖動(dòng)對(duì)噪聲容限、時(shí)序甚至電路的功能有重要影響,隨著電源電壓的降低和深亞微米特征尺寸Vts的減小,這個(gè)問(wèn)題甚至?xí)夯?。?.18微米工藝中,窄線距必然電流密度高,從而增加了出現(xiàn)電子遷移故障的可能性。因?yàn)殡娏骱徒苟鸁釙?huì)造成互連線特性的逐步退化,通常在幾個(gè)月或幾年后就可能發(fā)生電子遷移故障,如果故障出現(xiàn)得太早,那么就有可能造成災(zāi)難性的損失。

          采用Synopsys公司的Powermill(Timemill的姊妹工具)仿真整個(gè)宏的電源,能按照放置的位置詳細(xì)描繪各子電路電源的電流圖,該電流圖和宏版圖的RC網(wǎng)表一起,輸入到分析電源總線IR壓降和電子遷移的工具中,該工具將指出任何有故障的線段或觸點(diǎn)/通孔,并允許設(shè)計(jì)工程師改進(jìn)總線,同時(shí),輸出的版圖錯(cuò)誤標(biāo)識(shí)圖、輪廓圖、3D電流和電壓分布圖有助于進(jìn)一步分析。

          事實(shí)上,不僅限于最高速和最小加工工藝,即使0.35微米以上的工藝和 100MHz以下的速度,也可以采用上述QA流程對(duì)噪聲容限、串?dāng)_、IR壓降或電子遷移相關(guān)的故障進(jìn)行檢測(cè)和分析。

          本文總結(jié)

          在外包嵌入式存儲(chǔ)器設(shè)計(jì)的時(shí)候,一般都有明確的交付日期。在設(shè)計(jì)初期,存儲(chǔ)器設(shè)計(jì)工程師必須向系統(tǒng)設(shè)計(jì)工程師提供底層規(guī)劃圖、關(guān)于重要邊界和引腳位置的布局和布線約束條件。用戶還希望用精確的HDL模型來(lái)消除系統(tǒng)中出現(xiàn)的小錯(cuò)誤。然后,存儲(chǔ)器設(shè)計(jì)工程師必須提交一個(gè)配備延遲和競(jìng)爭(zhēng)查尋表或方程的時(shí)序庫(kù),從而方便客戶對(duì)整個(gè)芯片邏輯和時(shí)序進(jìn)行仿真。當(dāng)前的拓?fù)鋱D有助于系統(tǒng)設(shè)計(jì)工程師對(duì)整個(gè)芯片的電源、IR壓降和電子遷移進(jìn)行分析。設(shè)計(jì)工具必須具備一個(gè)用于存儲(chǔ)器模塊測(cè)試的配備測(cè)試向量的測(cè)試基準(zhǔn)以及足夠的文檔。最終設(shè)計(jì)結(jié)果是完整的版圖數(shù)據(jù)庫(kù),可以作為存儲(chǔ)器模塊直接放置到系統(tǒng)芯片上,同時(shí)還要提供包括仿真、時(shí)序、驗(yàn)證結(jié)果、設(shè)計(jì)細(xì)節(jié)、網(wǎng)表和電路圖在內(nèi)的完整設(shè)計(jì)文件。

          嵌入式存儲(chǔ)器在半導(dǎo)體芯片中的作用非常重要,它向整個(gè)芯片提供的可互用特性決定了整個(gè)芯片的效率、速度和性能。只有設(shè)計(jì)方法可靠,才能設(shè)計(jì)出優(yōu)良的存儲(chǔ)器。

          嵌入式存儲(chǔ)器易受外部噪聲的影響,因而要求比傳統(tǒng)的片外存儲(chǔ)器更嚴(yán)格。存儲(chǔ)器的設(shè)計(jì)通常要與整個(gè)芯片并行開(kāi)始,所以工程師必須學(xué)會(huì)預(yù)測(cè)和實(shí)現(xiàn)精確的灰盒存儲(chǔ)器模型。

          要保證嵌入式存儲(chǔ)器的質(zhì)量,必須建立嚴(yán)格的設(shè)計(jì)標(biāo)準(zhǔn),設(shè)計(jì)工程師在設(shè)計(jì)過(guò)程中,不僅要善于創(chuàng)新,還要堅(jiān)持采用嚴(yán)格的設(shè)計(jì)方法和質(zhì)量保證工具,只有這樣才能取得設(shè)計(jì)的成功。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();