那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

聊聊SOC設計質量相關的規范

路科驗證 ? 來源:路科驗證 ? 2023-10-20 09:52 ? 次閱讀

你們以為我要講的是coding-style?

NO,我主要講的是其它和設計質量相關的規范。

1、代碼篇

1.1、手撕代碼部分

module name需要包含一定的功能展現,什么意思呢,比如要設計address remap,你就叫XXX_addr_remap或者XXX_addr_decoder。切記不要叫XXX_misc,一定是迫不得已再寫這個module,否則集成或者debug會很頭疼,誰知道這玩意是干啥用的。

當然,內容部分就是老生常談的:

·加注釋

·組合和時序

·縮進

·狀態機

·阻塞賦值和非阻塞賦值

·一個module一個變量

·begin end對齊

·?語句和:的對齊等

1.2、第三方IP

我們除了仔細寫的代碼外,還會用第三方工具例如ARM和DesignWare生成很多簡單IP,例如AHB2AHB橋,I2C,DWT,UART,TIMER等,我們除了要清楚我們的功能feature外,還要注意module一定要加前綴,文件名同樣,否則我們無法與其他人的代碼區分開,這樣就會存在設計風險。

1.3、common cell

什么是common cell,就是我們常用的lib cell,例如mux,ckmux,ckg,ckand,ckor,sync_cell,dft_dff,等。為什么要單獨拎出來呢?因為這里不做好標準,后端很痛苦。

我們一般會由專人負責設計和維護,以后所有人無特殊情況禁止直接手寫lib cell,比如在某個module內用always語句寫sync cell。

為什么呢?因為這些cell和后端約束強相關,和dont touch list強相關,和timing強相關,因此,從SYNTH開始就要用專門的DC LIB替換他們,如果我們自己隨便在一個module里寫這些邏輯,DC工具和腳本無法抓取信息,但是如果我們例化common cell的話,他們處理起來就方便多了。

當然,有一個細節就是define分支,一般會有SIMASIC分支,但是因為FPGA沒有CKG,所有我們會在這里增加FPGA分支將CKG變為CKBUF。

1.4、memory cell

采用多級wrapper的方式,底層wrapper例化我們的physcal memory,并且在這一級對DFT信號,和timing相關調整信號做tie值處理。

二級wrapper做分支,分為SIM分支,FPGA分支和ASIC分支。這樣的話,即便沒有真實的物理memory,也不影響FPGA和SIM的同事使用。

當然也可以再加一級wrapper,將所有的memory放在一起,通過generate if不同的參數(例如寬度,深度,tag)決定例化哪一個memory,這樣做的好處就是集成方便,不好的地方就是維護起來太麻煩。

2、filelist篇

soc設計的下游分為FPGA,SIM和SYNTH。但是三者的要求不同

FPGA要求filelist內容FPGA vivado可綜合(有相關資源)。

SIM要求可以存在SIM model,不需要可綜合。

SYNTH要求必須可綜合。

因此,我們一般需要維護三個filelist,XX_FPGA.f,XX_SIM.f和XX_SYN.f,來滿足不同同事的需求,防止他們自己處理出現問題。

僅僅是這樣,對于大型SOC還是不夠的,需要一個filelist去重腳本,因為每個子系統subsys都可能例化了common cell(因為可能會單獨仿真或者綜合呀),所以soc top拿到的filelist一定是有很多重復的文件,所以需要腳本展開并去重,重復的不是刪除,而是注釋,方便review(不知道腳本刪除的對不對,需要review)。

3、difine macro篇

設計中一定會有很多define,主要分為兩類:common define和function define

3.1、common define

例如SYNTH,FPGA,SIM這些,主要存在于memory wrapper和common cell中,我們需要整個項目組采用統一的格式,不能一會用SYNTH,一會用ASIC,這樣DC同事會經常漏define,需要resynth。

3.2、function define

例如設計一個I2C,內部多個模塊,這樣的話我們的位寬,地址寬度等會是由define參數傳遞,這些參數往往不需要給其他人展示,我們自己在define中定義,最后undefine就可以了,但是順序一定是最先編譯define,最后undefine,所以剛才的filelist去重腳本還有一點很重要的就是不能調整filelist順序喲。

4、交付質量hand-off

我們每個需要綜合的節點一定要保證hand-off質量,我們通常會使用spyglass做lint檢查,這是最基本的,否則DC同事一定無法綜合。會顯得我們的設計很LOW。

不同的節點有不同的要求,如果DFT也要進場,我們需要用spyglass跑DFT flow,例如scan-ready,bist-ready和best-practice等幾個重要的goal。

當然還有非常重要的CDC FLOW,也是靜態時序檢查,只是STA關注的是同步邏輯,spyglass CDC關注異步處理,兩個都做好了,才能保證設計的RTL和真實芯片的時序是一致的。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21798

    瀏覽量

    606048
  • SoC設計
    +關注

    關注

    1

    文章

    148

    瀏覽量

    18818
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27650
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15363
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66892

原文標題:聊聊SOC設計那些與質量相關的事兒

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    建筑工程施工規范全集

    建筑工程施工規范全集A 建筑工程施工質量驗收統一標準(GB50300-2001).pdfB 建筑地基基礎工程施工質量驗收規范(GB50202-2002).pdfC 砌體工程施工
    發表于 07-03 21:56

    計算機軟件質量保證計劃規范

      計算機軟件質量保證計劃規范1 主題內容與適用范圍 本規范規定了在制訂軟件質量保證計劃時應該遵循的統一的基本要求。 本規范適用于
    發表于 09-18 17:21

    高通產品的進來聊聊

    高通產品的進來聊聊,共享一下資源.
    發表于 01-03 14:32

    你了解元器件的質量等級與相關標準嗎?

    規范統稱產品規范。b.標準—主要包括:試驗和測量標準、質量保證大綱和生產線認證標準、元器件材料和零件標準、型號命名標準、文字和圖形符號標準等;c.指導軍工技術文件—主要包括:指導正確選擇和使用元器件
    發表于 03-07 18:40

    想和你聊聊:DFM設計規范(可制造性設計規范

    ,老板降我工資吧。。。先百度了一下,和你們分享一個基本概念,看看像我這樣的工程師有多少,是不是你也要降工資,呵呵。。。DFM基本理念:DFM是基于并行設計的思想,在制造產品時要滿足成本、性能和質量的要求
    發表于 05-29 21:50

    聊聊復位電路

    時鐘電路我第一篇博客已經說講過了,今天我們來聊聊復位電路。當然,復位電路博大精深,并...
    發表于 01-17 07:50

    聊聊存儲器的相關知識

    虛擬地址物理地址等眾多地址及MMU相關知識先聊聊存儲器STM32單片機存儲器關于編譯器生成的文件數據在存儲器上的存儲結構物理地址、虛擬地址、線性地址和邏輯地址物理地址虛擬地址邏輯地址線性地址這些地址
    發表于 02-11 07:51

    SOC設計相關的linux基礎資料

    SOC設計相關的linux基礎資料整理
    發表于 09-20 07:51

    砌體工程施工質量驗收規范(GB50203-2002)

    砌體工程施工質量驗收規范Code for acceptance of construction qualityof masonry engineering 砌體工程施工質量驗收規范C
    發表于 07-03 22:06 ?27次下載

    計算機軟件質量保證計劃規范

    計算機軟件質量保證計劃規范1 主題內容與適用范圍 本規范規定了在制訂軟件質量保證計劃時應該遵循的統一的基本要求。 本規范適用于軟件特別是重要
    發表于 09-18 17:22 ?12次下載

    分布式電源并網中電能質量相關規范探討

    分布式電源并網中電能質量相關規范探討摘要:本文在介紹典型分布式電源并網方法的基礎上,針對我國分布式電源發展狀況,結合分布式電源發達國家的經驗
    發表于 05-17 10:53 ?7次下載

    計算機軟件質量保證計劃規范(GB/T 12504-90 )附

    計算機軟件質量保證計劃規范(GB/T 12504-90 )附錄B/C 計算機軟件質量保證計劃規范(GB/T 12504-90 )附錄B 項目進展表
    發表于 04-14 10:39 ?1798次閱讀

    SOC設計相關的linux基礎說明

    SOC設計相關的linux基礎介紹。
    發表于 03-30 09:16 ?11次下載

    知識點:SOC設計質量相關規范

    module name需要包含一定的功能展現,什么意思呢,比如要設計address remap,你就叫XXX_addr_remap或者XXX_addr_decoder。
    的頭像 發表于 10-17 11:36 ?815次閱讀

    聊聊Redis的使用案例

    今天我們來聊聊 Redis 的使用案例。
    的頭像 發表于 12-13 14:13 ?555次閱讀
    百家乐官网游戏唯一官网网站 | 百家乐官网玩法开户彩公司| 百家乐官网骰盅规则| 百家乐走势图解| 盈丰国际平台| 大众百家乐官网的玩法技巧和规则 | 百家乐几点开奖| 大发888充钱| 百家乐官网路单纸下载| 做生意风水门面要求| 澳门顶级赌场国际| 誉博百家乐官网327589| CEO百家乐的玩法技巧和规则| 网上百家乐官网骗人吗| 百家乐马渚| 徐水县| 百家乐网站那个好| 澳门博彩网| 百家乐是怎样的| 百家乐正品| 百家乐推荐怎么看| 丰合国际网上娱乐| 百家乐代理加盟| 菲律宾沙龙国际| 云鼎百家乐现金网| 营山县| 百家乐赌场策略论坛| 百家乐官网网络视频游戏| 百家乐有没有单机版的| 真人百家乐官网在线玩| 百家乐出千工具价格| 百家乐官网高手技巧| 澳门百家乐论| 百家乐官网娱乐网真人娱乐网| 威尼斯人娱乐城怎么样lm0| 百家乐官网游戏玩法技巧| 游艇会百家乐的玩法技巧和规则| 百家乐官网平注常赢法| 大发888娱乐场下载iypu| 免费百家乐官网计划| 大发888娱乐城网页版|