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

          新聞中心

          EEPW首頁(yè) > 專題 > 用全定制芯片設(shè)計(jì)方法設(shè)計(jì)礦機(jī)芯片

          用全定制芯片設(shè)計(jì)方法設(shè)計(jì)礦機(jī)芯片

          作者:迎九 毛爍 時(shí)間:2018-10-25 來(lái)源:電子產(chǎn)品世界 收藏
          編者按:在日前廈門海滄舉行的“2018集微半導(dǎo)體峰會(huì)”的“AI/5G論壇”上,礦機(jī)(區(qū)塊鏈服務(wù)器)及其芯片的黑馬——深圳比特微電子有限公司的董事長(zhǎng)、總經(jīng)理兼CTO楊作興博士登臺(tái),介紹了新的全定制設(shè)計(jì)方法,并稱采用該方法設(shè)計(jì)的16nm區(qū)塊鏈芯片BT1800,與競(jìng)品相比,功耗和成本均降低了50%左右。該芯片用于9月19日發(fā)布的神馬M10礦機(jī),算力指標(biāo)是33T到35T。

          作者 / 迎九 毛爍 《電子產(chǎn)品世界》編輯

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

          摘要:在日前廈門海滄舉行的“”的“AI/5G論壇”上,礦機(jī)(區(qū)塊鏈服務(wù)器)及其芯片的黑馬——電子有限公司的董事長(zhǎng)、總經(jīng)理兼CTO博士登臺(tái),介紹了新的全定制設(shè)計(jì)方法,并稱采用該方法設(shè)計(jì)的16nm區(qū)塊鏈芯片BT1800,與競(jìng)品相比,功耗和成本均降低了50%左右。該芯片用于9月19日發(fā)布的神馬M10礦機(jī),算力指標(biāo)是33T到35T。

            比特微的全定制芯片非常高效,希望這種設(shè)計(jì)方法學(xué)可以推廣至其他芯片設(shè)計(jì)領(lǐng)域,例如AI領(lǐng)域。

          1 新的“全定制設(shè)計(jì)方法”

            全定制設(shè)計(jì)不是新方法,其誕生于20世紀(jì)八九十年代,后來(lái)被興起的EDA工具所掩蓋。

            其實(shí),仍然有些公司在用全定制設(shè)計(jì)方法學(xué),例如高通、蘋果等公司的手機(jī)芯片也許還在采用這種方法,但很少對(duì)外界說(shuō)。

            全定制有幾個(gè)特點(diǎn)。圖1上半部分是業(yè)內(nèi)通常采用的芯片設(shè)計(jì)流程,方法是由高級(jí)語(yǔ)言寫代碼,還有代工廠單元庫(kù),綜合成門級(jí)網(wǎng)表,然后做自動(dòng)布局,然后再用工具生成時(shí)鐘,之后再布線,形成GDS。

            全定制設(shè)計(jì)有三個(gè)不同地方,如圖1下半部分。

            第一是不用代工廠的單元庫(kù),用自己的單元庫(kù)。為什么用自己的單元庫(kù)?因?yàn)榇S的單元庫(kù)是面向所有客戶的,要考慮所有應(yīng)用的范圍,所以在一些局部特殊的場(chǎng)景下,可能在面積、功耗、速度方面不是最優(yōu)的。

            第二邏輯綜合?,F(xiàn)在又重新回到手動(dòng)寫門級(jí)網(wǎng)表的時(shí)代。

            第三是看似最笨的一件事情,就是手動(dòng)布局。很多人會(huì)覺(jué)得這比較瘋狂,因?yàn)樽鯬CB(印制電路板)的時(shí)候,有幾塊芯片、幾百個(gè)電阻電容,對(duì)它們可以進(jìn)行手動(dòng)布局;但是在芯片里,在幾千萬(wàn)個(gè)單元器件的情況下,有誰(shuí)會(huì)傻到用手動(dòng)去布?但是有些時(shí)候不可能的事情其實(shí)是有可能的,比特微進(jìn)行了手動(dòng)布局,用自己的庫(kù)手動(dòng)寫門級(jí)網(wǎng)表,稱之為“全定制設(shè)計(jì)”。當(dāng)然還有比這更極端的,據(jù)說(shuō)高通公司能夠做自己的PDK MODEL,是除了代工廠之外能夠自己做PDK MODEL的公司!

          2 全定制的優(yōu)勢(shì)

            比特微做了三個(gè)實(shí)驗(yàn),可以說(shuō)明全定制好在哪里。

            第一個(gè)實(shí)驗(yàn)是2011年做的900MHz RFID TAG(射頻識(shí)別標(biāo)簽)芯片,它有一個(gè)重要特征:是無(wú)源的,所有的能量來(lái)自電磁波,從空中吸收電磁波。此時(shí)還不是全定制設(shè)計(jì),博士只做了一件事:把幾千門的邏輯手動(dòng)地寫下來(lái)。結(jié)果功耗優(yōu)化了5倍,功耗×面積優(yōu)化比例達(dá)到了11倍。

            第二次實(shí)驗(yàn)是在2015年(當(dāng)時(shí)做了一個(gè)28nm的BTC(比特幣)芯片。之前的APR方法做出來(lái)的功耗是513 W,友商全定制的方法達(dá)到了300 W,功耗×成本優(yōu)化比例達(dá)到了4.28倍。采用比特微的全定制方法設(shè)計(jì)后,與APR方法相比,同樣的功能、工藝下,功耗和成本減少了一半,功耗×成本優(yōu)化了11.88倍。

            第三次實(shí)驗(yàn)是在兩年后的2017年,在16nm上嘗試BTC的芯片應(yīng)用。比特微又把功耗優(yōu)化到了65 W,功耗×成本優(yōu)化比例達(dá)到了5.54倍。

          3 如何實(shí)現(xiàn)全定制設(shè)計(jì)?

            這里有四個(gè)關(guān)鍵點(diǎn):?jiǎn)卧獛?kù),手動(dòng)布局,時(shí)鐘,手動(dòng)門級(jí)網(wǎng)表。

            單元庫(kù)。比特微做的庫(kù)的功耗、面積、速度有很大優(yōu)勢(shì)。但是有些很特殊應(yīng)用環(huán)境,如果處理不好會(huì)出問(wèn)題。比特微的庫(kù)從28nm到16nm,做了所有的庫(kù)。

            手動(dòng)布局。一般APR方法是做到50%~70%,在比特微全定制里最好的記錄是能做到97%。因?yàn)樵诒忍匚⒌脑O(shè)計(jì)里,每個(gè)地方都是寸土尺金,不能讓版圖里有空檔。

            時(shí)鐘。傳統(tǒng)設(shè)計(jì)方法是SKEW越小越好,但是在全定制里是反過(guò)來(lái)——所有的寄存器不能在同一個(gè)時(shí)鐘相位工作,需按照一定的規(guī)劃錯(cuò)峰執(zhí)行,這樣在功耗和速度方面會(huì)有很大的好處。

            門級(jí)網(wǎng)表。需要前后端耦合在一起設(shè)計(jì),其難度較大。因?yàn)閭鹘y(tǒng)的芯片設(shè)計(jì)是邏輯設(shè)計(jì)和物理設(shè)計(jì)分開(kāi)做,各部門存在一定的隔閡。例如寫代碼的人不知道最終單元器件是什么樣,不知道自己的作品最終是什么樣。后端工程師也不知道這個(gè)功能是怎么一回事。而全定制設(shè)計(jì)在寫代碼的時(shí)候要知道你所寫的器件的面積、功耗、速度是不是唯一的,如果不是唯一的,要問(wèn)一下有沒(méi)有更好的選擇。在設(shè)計(jì)一個(gè)器件的時(shí)候,需要考慮你需要跟誰(shuí)連,線有多長(zhǎng),它的速度是多少,功耗是多少,會(huì)不會(huì)不平衡等問(wèn)題。

            本文來(lái)源于《電子產(chǎn)品世界》2018年第11期第17頁(yè),歡迎您寫論文時(shí)引用,并注明出處。



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