ic基礎|功耗篇04:門級低功耗技術

大家好,我是數字小熊餅干,一個練習時長兩年半的IC打工人。我在兩年前通過自學跨行社招加入了IC行業。現在我打算將這兩年的工作經驗和當初面試時最常問的一些問題進行總結,并通過匯總成文章的形式進行輸出,相信無論你是在職的還是已經還準備入行,看過之后都會有有一些收獲,如果看完后喜歡的話就請關注我吧~謝謝~

在之前的文章中,我們主要介紹了系統級、RTL級低功耗技術,這些低功耗方法主要依靠架構人員、軟件人員和數字前端人員實現。本期文章讓我們來聊聊門級低功耗優化方法,與之前介紹過的低功耗方法不同的是,門級低功耗方法主要依靠的是EDA工具實現。

一、路徑平衡

芯片中存在大量的組合邏輯,當來自不同路徑的信號輸入至同一個邏輯門時,不同路徑上的信號傳輸延遲導致了不必要的翻轉,這就會導致大量的動態功耗的產生,因此,可以通過插入buffer的方法將不同路徑的輸入信號延遲修正至一致,使不同路徑上的信號同時到達,這樣就不會產生不必要的翻轉。這種方法就是所謂的路徑平衡,如下圖所示:

在這里插入圖片描述
如上圖所示,通過插入buffer的方式增加了信號B的延遲,使得信號A與B同時到達與門,進而減少了由之前的“毛刺”所帶來的動態功耗。

二、邏輯級優化

邏輯級優化是通過減少冗余邏輯、調整門的大小、重排序操作、引腳的交換/重新分配、重新映射、使用低功耗的標準單元進行設計等方法實現的門級低功耗方法。下面讓我們開始對這些內容進行介紹:

2.1 邏輯門尺寸優化

簡單來說,所謂的邏輯門尺寸優化就是在不同路徑使用不同尺寸的邏輯門。

例如:在時序比較寬裕的非關鍵路徑上可以使用一些較小尺寸的邏輯門,這樣可以減小輸入電容,從而減小前驅的翻轉電流,進而降低了翻轉功耗。但是這樣也會增大信號的轉換時間,對其時序造成一定的影響,因此可以對非關鍵路徑上的邏輯門進行優化,以降低動態功耗。

2.2 引腳重分配

對于邏輯單元庫的標準單元來說,其不同引腳的邏輯功能相同,但其負載電容與信號延時參數可能是不同的,因此可以使用負載電容低的引腳去連接翻轉頻率高的輸入信號,這樣就可以減少翻轉頻率高的信號的負載電容,減少充放電導致的動態功耗。
在這里插入圖片描述
如上圖所示,從上往下的引腳負載電容依次增大,輸入信號a到d的翻轉頻率依次增大,因此,通過將信號按照d-a的順序分配至各個引腳,可以實現降低功耗的目的,這種方法叫引腳重分配。

2.3 重排序

對于邏輯門來說,其各個輸入信號的翻轉率可能并不相同,因此可以將翻轉頻率大的輸入信號分配至靠近輸出的位置,以減少翻轉率高的輸入信號驅動的邏輯門數量,這種低功耗方法叫做重排序。下面讓我們舉個例子:
在這里插入圖片描述
圖中的輸入信號b為翻轉頻率較高的信號,因此對信號b進行重排序操作,在排序前,信號b會驅動4個邏輯門(如左圖所示),而排序后,只會驅動2個邏輯門(如右圖所示),這就減少了內部電路的翻轉,從而降低了動態功耗。

2.4 重映射

重映射相當于對邏輯進行優化,將冗余的邏輯門優化為具有相同功能且數量更少的邏輯門。
在這里插入圖片描述
如上圖所示,在重映射前f=((a & b) & ~(c & d)),使用了兩級的與非門,這顯然是可以優化的,在重映射后,只使用了一級的邏輯門OAI就可以實現相同的功能,顯然降低了系統的動態功耗。

三、 物理級優化

所謂的物理級優化是在布局布線之類的物理實現時,通過降低翻轉和減少負載電容來降低系統的功耗,物理級優化主要有以下幾種方法:

  • 使用低功耗的庫;
  • 設計低功耗的布局規劃;
  • 基于功耗優化的布局規劃;
  • 通過布局布線來減少毛刺;
  • 在優化布局的試試調整buffer和連線的大小;
  • 調整晶體管的大小來減少負載電容;

四、 總結

本篇文章主要討論了芯片設計中的門級低功耗優化技術,與之前的文章里提到的系統級、RTL級低功耗技術相比,門級低功耗優化技術在低功耗設計中的層次較低,對功耗優化的占比也沒有那么的大。不過我們仍需要了解并應用這些低功耗方法,并在不同的芯片設計階段采用這些低功耗優化技術,旨在從多個角度降低芯片的功耗,提高能效比。

以下是該系列的往期鏈接:

ic基礎|功耗篇01:影響芯片實際表現的重要指標——功耗的分類
ic基礎|功耗篇02:系統級低功耗技術
ic基礎|時鐘篇03:低功耗技術之——門控時鐘clock gating及鎖存器latch的避免
ic基礎|功耗篇03:ic設計人員如何在代碼中降低功耗?一文帶你了解行為級以及RTL級低功耗技術

如果你喜歡這篇文章的話,請關注我的公眾號-熊熊的ic車間,里面還有ic設計和ic驗證的學習資料和書籍等著你呢~歡迎您的關注!
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/37768.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/37768.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/37768.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【chatgpt】npy文件和npz文件區別

npy文件和npz文件都是用于存儲NumPy數組的文件格式。它們的主要區別如下: npy文件:這種文件格式用于存儲單個NumPy數組。它是一種簡單的二進制文件格式,可以快速地讀寫NumPy數組。 npz文件:這種文件格式是一個壓縮包,…

《Windows API每日一練》6.2 客戶區鼠標消息

第五章已經講到,Windows只會把鍵盤消息發送到當前具有輸入焦點的窗口。鼠標消息則不同:當鼠標經過窗口或在窗口內被單擊,則即使該窗口是非活動窗口或不帶輸入焦點, 窗口過程還是會收到鼠標消息。Windows定義了 21種鼠標消息。不過…

UE5藍圖快速實現打開網頁與加群

藍圖節點:啟動URL 直接將對應的網址輸入,并使用即可快速打開對應的網頁,qq、discord等群聊的加入也可以直接通過該節點來完成。 使用后會直接打開瀏覽器。

第11章 規劃過程組(收集需求)

第11章 規劃過程組(一)11.3收集需求,在第三版教材第377~378頁; 文字圖片音頻方式 第一個知識點:主要輸出 1、需求跟蹤矩陣 內容 業務需要、機會、目的和目標 項目目標 項目范圍和 WBS 可…

【強化學習】第01期:緒論

筆者近期上了國科大周曉飛老師《強化學習及其應用》課程,計劃整理一個強化學習系列筆記。筆記中所引用的內容部分出自周老師的課程PPT。筆記中如有不到之處,敬請批評指正。 文章目錄 1.1 概述1.2 Markov決策過程1.2.1 Markov Process (MP) 馬爾科夫過程1…

(五)SvelteKit教程:錯誤頁和重定向

(五)SvelteKit教程:錯誤頁和重定向 設置404頁面和重定向非常容易,我們還是在 /about 目錄下學習這個知識,文件結構如下: ├── layout.svelte ├── page.svelte ├── about │ └── [aboutID] │…

基于深度學習的人臉關鍵點檢測

1. 任務和目標 人臉關鍵點檢測的主要任務是識別并定位人臉圖像中的特定關鍵點,例如眼睛的角點、眉毛的頂點、鼻子的底端、嘴角等。這些關鍵點不僅能提供面部結構的幾何信息,還可以用于分析表情、識別個體,甚至檢測面部姿勢。 2. 技術和方法…

什么是數據類型,Python 有哪些基本數據類型?

一、什么是數據類型 數據類型是計算機語言中一個基本概念,它定義了變量可以存儲什么樣的數據以及可以對這些數據執行什么樣的操作。在Python中,數據類型決定了變量的存儲方式、內存占用、數據的合法操作和表示方式等。 數據類型的作用包括:…

計算機中的16g加32g不對稱雙通道性能分析

計算機中的16g加32g不對稱雙通道性能分析 16GB加32GB不對稱雙通道配置會對性能產生一定影響,但仍然在穩定兼容的范圍內。 在探討16GB加32GB不對稱雙通道配置的性能影響時,我們首先需要理解雙通道技術的基本原理。雙通道技術通過同時向兩根內存中讀寫數…

數據結構速成--排序算法

由于是速成專題,因此內容不會十分全面,只會涵蓋考試重點,各學校課程要求不同 ,大家可以按照考綱復習,不全面的內容,可以看一下小編主頁數據結構初階的內容,找到對應專題詳細學習一下。 這一章…

C語言中常用的運算符、表達式和語句

C語言是一種通用的、高級的編程語言,其歷史可以追溯到20世紀60年代末至70年代初。C語言最初是由丹尼斯里奇(Dennis Ritchie)在貝爾實驗室為開發UNIX操作系統而設計的。它繼承了許多B語言的特性,而B語言則是由迷糊老師(…

安全與加密常識(0)安全與加密概述

文章目錄 一、信息安全的基本概念二、加密技術概述三、常見的安全協議和實踐四、加密的挑戰與應對 在數字時代,信息安全和加密已成為保護個人和企業數據不受侵犯的關鍵技術。本文將探討信息安全的基礎、加密的基本原理,以及實用的保護措施,以…

RAG一文讀懂!概念、場景、優勢、對比微調與項目代碼示例

本文結合“基于 ERNIE SDKLangChain 搭建個人知識庫”的代碼示例,為您講解 RAG 的相關概念。 01 概念 在2020年 Facebook AI Research(FAIR)團隊發表一篇名為《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的論文。這篇論文首次提出了 RA…

Java應用cpu過高如何分析

1. 查看進程cpu使用情況 top 2. 根據PID查看指定進程的各線程的cpu使用情況 top -H -p PID 線程分析&#xff1a; jstack&#xff1a;生成Java線程堆棧&#xff0c;用于分析是否有線程處于忙等待狀態或死循環。命令&#xff1a; shell jstack -l <pid> > threaddu…

機器人控制系列教程之關節空間運動控制器搭建(1)

機器人位置控制類型 機器人位置控制分為兩種類型&#xff1a; 關節空間運動控制—在這種情況下&#xff0c;機器人的位置輸入被指定為一組關節角度或位置的向量&#xff0c;這被稱為機器人的關節配置&#xff0c;記作q。控制器跟蹤一個參考配置&#xff0c;記作 q r e f q_{re…

免費翻譯API及使用指南——百度、騰訊

目錄 一、百度翻譯API 二、騰訊翻譯API 一、百度翻譯API 百度翻譯API接口免費翻譯額度&#xff1a;標準版&#xff08;5萬字符免費/每月&#xff09;、高級版&#xff08;100萬字符免費/每月-需個人認證&#xff0c;基本都能通過&#xff09;、尊享版&#xff08;200萬字符免…

學習陽明心學,需要下真功夫,持續用功

陽明心學是功夫之學&#xff0c;看到善的就發揚光大&#xff0c;看到惡的就立即改正&#xff0c;這才是真功夫

Java基礎(五)——ArrayList

個人簡介 &#x1f440;個人主頁&#xff1a; 前端雜貨鋪 ?開源項目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;?♂?學習方向&#xff1a; 主攻前端方向&#xff0c;正逐漸往全干發展 &#x1…

激光SLAM平面點的提取、使用學習

1.20240625 學習了PaGO-LOAM 論文地址&#xff1a; PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry github地址&#xff1a; GitHub - url-kaist/AlterGround-LeGO-LOAM: The page for PaGO-LOAM: Robust Ground-Optimized LiDAR Odometry 其提取地面點方法采用了Pat…

centos7 xtrabackup mysql 基本測試(5)mysql 建立 測試 數據庫及內容

centos7 xtrabackup mysql 基本測試&#xff08;5&#xff09;mysql 建立 測試 數據庫及內容 登錄 mysql -u etc -p 1234aA~1創建數據庫 名字是company show databases ; create database company;在 company里面 創建表employee use company; DROP TABLE IF EXISTS employ…