集成電路IP選擇的基本步驟與具體實施
伴隨集成電路設計複雜度的提高,已經很難有公司獨立完成一個功能較複雜的SOC晶元的設計。尤其是大批國內公司,可能只有一兩項經過長期積累的拿手技術,甚至沒有什麼拿手東西,完全指望做集成然後作產品應用,這就需要獲得大批的外部購入的或者其他不可告人的渠道獲得一些IP模塊。於是對不同IP的選擇評估議價集成也就成了所做晶元最終能否靠譜的關鍵一環。現在我們就來看看這裡大致有啥門道。
首先我們來看看從何處能夠找到想要的IP模塊,大家第一想到的肯定是synopsys,mentor,cadence這幾個EDA公司,他們除了提供設計工具,也在販賣各種IP模塊,當然他們很多東西也是買來的。他們的東西,最大的優勢就是用的人多,經過更多的考驗,文檔完善,技術支持專業,當然好貨一般不便宜,性價比是否高就不好說了。
當然這3個公司並不能提供所有IP,各個專業領域都有各自的公司把持,這裡就有很多幾十個人但是細分行業領先的公司。
比如做cpu處理器內核的ARM,MIPS,做GPU內核的imagination,verisilicon. 做flash的sst,floadia。 做sram的dolphin, chipstart 。當然為了方便人們找到各自需要的IP模塊,已經有人開發了這種搜索網站,吧各個IP提供商的信息匯總起來,供需要的人檢索,比如
https://www.design-reuse.com
https://www.chipestimate.com/
這裡能找見的基本都是國外的公司,國內的硅IP交易,貌似還沒有特別成熟的平台。當然很多人也有這種那種的東西,但是這些私人手裡東西,靠譜程度基本是沒法保證的,數字的還可以先FPGA試試,模擬的就完全靠堵人品了。
得到了提供相關IP的公司信息,繼而可以網站上得到他們銷售和技術支持的郵件電話,直接去聯繫就好了,一般簽訂一個保密合同後,對方會發一個相關IP的介紹,有的還會派人做一個初步技術宣講。如果存在多個提供商選項,則可能需要對這些提供商的方案進行一些對比。
對於一般純數字信號IP,對比的條目包括但不限於:
1. 在不同工藝下實現的最高頻率,邏輯門數量,存儲器數量,實現面積。 也就是矽片成本
2. 設計結構,可配置的參數,硬體邏輯介面,數據吞吐率,軟體庫和介面,測試相關問題,時鐘複位電源相關問題,外部器件使用等純技術問題。
3. 公司財力,既有客戶情況,發展路線圖,技術支持能力,文檔詳盡程度,本地化水平,交付方式等非純技術問題。
4. 當然還有老闆最關心的問題,合同寫成啥樣 ,錢,以及怎麼付錢。
對於模擬以及混合信號IP,除去以上問題,還有一些模擬模塊特有的技術相關問題。比如在哪些工藝下做了實現,相應工藝下的面積,電壓,功耗。靈敏度,信噪比,溫寬,電源效率,收發功率,頻率精度,線性度,轉換精度, 外部電路封裝要求等。另外與外部數字模塊的介面的協議,運行頻率,數據率等等都是需要另外考慮的。
一般來說,以上條目的比較表格列出來,基本是無法進行權重設置來對每個選項進行評分的,但是最終還是要做一個決定,到底要用哪個。這一般就取決於哪個選項中有明顯的短板,就會被直接去除,比如有的設計對封裝有較苛刻要求,就會在開會討論中被剔除掉。如果各方面都差不多的,那最終決定的一般是掏錢的人。所以如果早期發現某個IP會明顯引發問題,一定要及早排除掉,否則想省錢的人招的麻煩,就會落到幹活的人這裡。任何有人的地方,都會充滿了甩鍋撕逼鬥狠的樂趣。
大致選定了方案,一般就會開始進行實際效果的評估了。如果是數字模塊,一般會用FPGA進行,對方會給個搭建好的FPGA展示平台,可以運行一些演示程序。甚至可以把自己的一些模塊加上,看看運行情況。一般FPGA運行頻率有限,只能展示低性能時的應用,但是基本還是能說明問題的。當然有的IP邏輯量巨大,一般FPGA裝不下,對方可能把IP做成一個晶元加上相應的介面,客戶可以把自己的模塊放在另一個FPGA中,連接這個IP看效果。這樣的展示平台當然也可以作為先期的開發平台,進行原形的開發驗證。
模擬和混合信號的模塊,當然就只能是做成的矽片了,當然電路板上面一般會有個FPGA或者mcu,可以演示模塊的各種性能,供選用者測量實際的指標。
評估完畢,該選哪個就選定哪個,然後付上初期費用,就正式開工了。一般討價還價後,價格會比虛價低很多,而且一般都是分期付款,交付IP一次,首次投片完成一次,量產投片一次,出貨後分成。即使同一個IP對不同廠家的最終價格,也會相差很大,基本冤大頭逮一個算一個。另外新產品一般又貴又風險高,但是也同時隱藏著巨大的獲利的可能。所以選擇在市場形成初期進入,還是穩定後開工也是個兩難的問題。而且用新品有可能是在花錢幫IP公司做投片驗證。
IP提供商收了錢,就會把相應資料發來,龜農就要搬磚幹活了。發來的資料除了軟硬體代碼版圖電路圖,還有各種文檔,這些文檔包括不限於:產品概述 功能說明 介面說明 時鐘複位 寄存器說明 配置說明 協議簡介 編程模型 集成注意事項 驗證注意事項 綜合布線注意事項 測試注意事項等。然後大家會充滿幹勁的在技術支持人員的協助下把該搞的事情搞一遍。 等龜農們集成驗證綜合布線交付回片測試後,就要迎接更猛烈的大撕逼時刻了。
如果一切都很順利的一次性實現了IP提供者所說的各種功能性能,那就皆大歡喜,各自數錢。當然這種事情只會發生在雙方都是成熟公司進行的成熟模塊的應用的時候。對於新模塊,新公司,新的合作關係,這種事情基本是不會發生的。不是這個有問題,就是那個有誤解,甚至玩成一個死疙瘩,那也不是稀罕事。大體方向當然是有了問題就去逐個解決問題,再通過各種線路修改,光罩修改等來回搞幾趟,最終把東西搞成基本能用的。當然這個過程耽誤的時間,少掙的錢,多花的錢,以及讓大家不爽的情緒損失,是否能從對方要點補償或者少結點尾款,那就完全看合同是怎麼簽的了。當然對於連靠譜的國際法務人員都雇不起的公司,想從帝國主義列強那裡拔毛吸血,那咋不上天呢。
推薦閱讀: