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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 可編程芯片:拼合成一個(gè)模擬解決方案

          可編程芯片:拼合成一個(gè)模擬解決方案

          作者: 時(shí)間:2009-11-10 來源:網(wǎng)絡(luò) 收藏

            不同的隱喻(metaphor)

            芯片開發(fā)者傾向于向用戶隱藏起可編程芯片的結(jié)構(gòu),而代之以一種隱喻來虛擬化結(jié)構(gòu)。他們希望,這種虛擬化對(duì)用戶更熟悉,對(duì)要解決的問題更有相關(guān)性。隱喻會(huì)隨硅片的結(jié)構(gòu),以及供應(yīng)商對(duì)于客戶與客戶問題的觀點(diǎn)而變化。例如,在數(shù)字PLD的早期,供應(yīng)商將一只PLD的內(nèi)部描述為多組NAND門驅(qū)動(dòng)大型NOR門輸入端,以后成為了表述邏輯功能的標(biāo)準(zhǔn)方法。
          當(dāng)出現(xiàn)時(shí),其供應(yīng)商初期將其描述為大型的邏輯單元陣列,每個(gè)單元都包括一些門和一個(gè)觸發(fā)器。這些隱喻都非常接近于芯片的實(shí)際電路?,F(xiàn)在,已變得如此龐大,隱喻已更抽象。今天,看待的典型方法是將其當(dāng)作一個(gè)空白單子,一個(gè)人在上面書寫RTL(寄存器傳輸級(jí))邏輯,有便于布放分配的內(nèi)存塊、DSP(數(shù)字信號(hào)處理)塊,以及高速I/O單元。沒人再嘗試使隱喻反映出電路情況。

            從供應(yīng)商為自己可編程模擬器件所選擇的隱喻中可以看到一種類似的差別。以Lattice為例,它對(duì)自己電源控制器IC的描述用詞接近于芯片上的實(shí)際元件:數(shù)字與模擬輸入、限幅比較器、一只ADC、一個(gè)陣列,以及一組DAC。與之相比,Anadigm公司討論芯片時(shí)并不采用大多數(shù)用戶的術(shù)語,如電容、可配置放大器、階梯網(wǎng)絡(luò)或可編程模擬開關(guān)等。該公司描述的是模擬功能塊:運(yùn)放、濾波器,等等。Anadigm公司首席運(yùn)營(yíng)官Simon Dickinson表示,當(dāng)器件將成為一個(gè)較大設(shè)計(jì)中一分子時(shí),該公司有時(shí)會(huì)鼓勵(lì)用戶把芯片想象成一個(gè)功能固定或具有多功能的黑盒子,而不管其中的內(nèi)容。

            一般來說,可編程模擬芯片的功能越專業(yè),則隱喻就更貼切。不過,如果一種可編程結(jié)構(gòu)是高度自適應(yīng)的,則供應(yīng)商可以采用兩種方案之一:應(yīng)用與其下架構(gòu)無關(guān)的隱喻,如Verilog-A或Spice網(wǎng)表,或隱藏可編程結(jié)構(gòu)的隱喻,僅將其表述成一個(gè)參數(shù)化的固定功能芯片。隱喻的重要性在于,是它決定了用戶采用的設(shè)計(jì)方法,而不是其中的硅結(jié)構(gòu)。一些案例可以說明這一點(diǎn)。

            一些實(shí)例方法

            Lattice公司主管電源控制器IC的營(yíng)銷經(jīng)理Shyam Chandra稱:“人們?nèi)匀徊捎梅至⑿酒刂茝?fù)位信號(hào)、看門狗時(shí)序,等等。我算了一下,(安森美的產(chǎn)品系列中)僅用于復(fù)位生成的就有400種芯片,市場(chǎng)上肯定有100種熱插拔控制器IC?!币虼薒attice選擇了一種編程隱喻方式,使設(shè)計(jì)者像在使用一些較小型的固定功能芯片。

            在開發(fā)設(shè)計(jì)規(guī)格時(shí),Lattice產(chǎn)品的用戶會(huì)在數(shù)據(jù)表中搜索他們電路板上的處理器、內(nèi)存、FPGA和其它器件,為每只芯片確定所需上電次序。對(duì)這些次序作編譯,就生成了控制器邏輯的完整狀態(tài)圖。但這是一種手工勞動(dòng),Chandra警告說:“大約75%的情況下,第一次工作是不正確的。人會(huì)出現(xiàn)錯(cuò)誤,數(shù)據(jù)表規(guī)格中也經(jīng)常會(huì)有灰色區(qū)域?!币虼?,Lattice公司提供了一種簡(jiǎn)單的編程語言和波形仿真工具,用戶可以對(duì)次序作編碼,在不毀壞任何東西的情況下觀察其動(dòng)作。當(dāng)次序正確時(shí),工具會(huì)配置Lattice芯片中的狀態(tài)引擎,使之可以驅(qū)動(dòng)復(fù)位信號(hào)和為電路板提供順序供電的MOSFET門。同樣,Lattice公司還提供了一個(gè)輔助工具,用于設(shè)置芯片的微調(diào)與容限檢測(cè)電路。通過使用一個(gè)已知DC/DC轉(zhuǎn)換器的庫,軟件可獲取用戶的容限和電壓要求,設(shè)定片上比較器與DAC以及所需電阻值,同時(shí)監(jiān)控轉(zhuǎn)換器的輸出和驅(qū)動(dòng)微調(diào)輸入。

            標(biāo)準(zhǔn)產(chǎn)品隱喻的概念超出了電源控制領(lǐng)域。在一個(gè)不同的市場(chǎng)中,Actel公司提供在Fusion系列FPGA上的可配置AFE(模擬前端)塊。該公司也同樣支持其可編程模擬段的配置,但也同樣懷疑用戶對(duì)板級(jí)仿真的興趣。該公司一名現(xiàn)場(chǎng)應(yīng)用工程師Mark Nagel說:“我得說,我們只有不到一半的客戶會(huì)做任何一種全電路板仿真。在芯片級(jí),我們確實(shí)提供了一種工具,它可以為模擬激勵(lì)生成波形,然后將其送入一個(gè)ADC模塊,提供用于FPGA邏輯ModelSim仿真的數(shù)字輸出。不過我們的AFE結(jié)構(gòu)相當(dāng)固定。對(duì)大多數(shù)人來說,我們的用戶傾向于先考慮分辨率、采樣率等的需求;配置AFE,并作嘗試。你可以用板上元件查詢AFE中的模擬結(jié)點(diǎn),可以用芯片F(xiàn)PGA部分中的一個(gè)Synplicity嵌入邏輯分析儀查看數(shù)字輸出?!币虼?,用戶一般不用仿真工具研究AFE;他們只仿真數(shù)字邏輯部分。

          圖2Cypress公司的PSoC包含一個(gè)微控制器以及模擬與數(shù)字塊組成的可編程陣列
          圖2,Cypress公司的PSoC包含一個(gè)微控制器,以及模擬與數(shù)字塊組成的可編程陣列。

            另外一個(gè)例子來自Cypress半導(dǎo)體公司,其PSoC(可編程系統(tǒng)芯片)提供相對(duì)豐富的可配置模擬元件陣列,它與一個(gè)數(shù)字構(gòu)建塊和一個(gè)微控制器核心緊密耦合(圖2)。Cypress硅結(jié)構(gòu)的通用特性可以確定一種高級(jí)語言隱喻,以及一種綜合仿真設(shè)計(jì)流。不過該公司選擇了一個(gè)不同的方向。Cypress公司現(xiàn)場(chǎng)應(yīng)用工程師Jason Baumbach解釋說:“我們的隱喻法是一個(gè)部件目錄,而不是一個(gè)可編程模擬陣列。給用戶展示數(shù)千個(gè)寄存器對(duì)他們沒有幫助。我們是提供一個(gè)‘用戶模塊’的目錄,”即芯片上可配置的模擬陣列部分。不過,它們對(duì)于用戶來說就是現(xiàn)成的模擬部件。用戶根據(jù)用戶模塊繪出其設(shè)計(jì)的模擬部分的邏輯,然后采用Cypress PSoC開發(fā)環(huán)境,就可以直接從邏輯圖進(jìn)入到試驗(yàn)板階段。Baumbach稱:“我們并未看到很多人在使用Spice或Matlab。多數(shù)情況下,他們嘗試做的模擬電路都相當(dāng)簡(jiǎn)單?!?/FONT>



          關(guān)鍵詞: FPGA 可編程邏輯 解決方案

          評(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); })();