芯華章持續助力第四屆集成電路EDA設計精英挑戰賽,并邀請華南理工大學王小航教授帶來詳細的賽題解析,希望能夠幫助同學們更加從容應對賽事,賽出水平!
1
賽題背景分析
低功耗設計是數字系統非常重要的考慮因素。為了支持低功耗設計,首先要對功耗進行計算。功耗可分為靜態功耗(漏電流引起)和動態功耗(門翻轉引起)。在本賽題中,我們主要考慮動態功耗的計算方法。
動態功耗的計算公式如下:

?
其中,VDD為電壓,C為等效電容,Tr為翻轉率,即單位時間內邏輯門從0→1或從1→0的翻轉次數。我們可以把電壓和等效電容近似視為常數,對于不同的電路負載,統計其Tr,就可以計算動態功耗。
這道賽題的目的,就是讓大家通過VCD文件來統計一個電路負載的翻轉率。
如何得到翻轉率呢?我們回顧一下,在電路設計的時候,先設計其RTL(如verilog)代碼,并編寫testbench給出激勵進行測試,如下所示:

?
用常見的仿真工具跑如上RTL代碼和testbench,可得到如下的輸出結果波形:
信號變化波形圖(芯華章科技股份有限公司-Fusion Debug 提供)
仿真工具可以把上述波形輸出VCD文件,類似:

?
好,現在重點來了。給定VCD文件(其實就是波形的文本表示),我們就可以統計翻轉率,進而利用上述的功耗公式來計算動態功耗,它們之間的邏輯關系如下圖:

?
在本賽題中,我們只關注如何從VCD文件(對應波形)到翻轉率的解析。
2
賽題要點解析
本賽題主要就是進行VCD文件的解析,然后根據題目的要求,得到不同的統計結果(如翻轉次數tc,信號邏輯值為1的時間t1, 信號邏輯值為0的時間t0,信號邏輯值為x的時間tx,以及信號邏輯值為1的概率又稱靜態概率sp)、某個時間窗口的統計結果、不同層次信號的統計結果。
因此,首先需要定義一些數據結構表示信號時間序列,可以用數組或者vector等,將VCD文件讀取、解析為這些信號時間序列變量,再針對這些變量進行統計分析,得到所需的輸出。如下圖所示:

?
2.1 VCD文件解析
VCD文件解析的思路如下:

?
這樣,掃描完一個文件之后,各個變量隨時間變化的序列就存下來了。
2.2統計輸出
有了信號的時間序列值,可以根據題目要求打印統計結果。主要考慮幾方面:對于題目中的加分項,即給定VCD文件畫波形,可以嘗試采用matlab或者python等工具,生成一個數組和畫圖腳本,調用這些外部畫圖工具來畫圖。
2.3多核加速
在題目要求中提到了多核加速,假如你的電腦有多個核,就可以用多線程方式加速。多核加速的本質是將任務劃分到多個線程,讓多個線程在多個核上同時運行從而提高計算速度。
加速方法有兩種,一種是將文件讀入到內存,然后將不同的行分配到不同的核/線程來處理,我們稱之為橫向劃分;另外一種是將文件切分開分到不同的核,每個核處理文件的不同段,我們稱之為縱向劃分。

?
可以采用pthread或者openMP進行并行編程,需要注意線程間的同步和鎖機制。
2.4文件處理
當VCD文件很大時,為了減少一次性讀入占用太多內存,可以每次讀入一部分文件存在內存中,如用getline等函數每次讀一行等。
3
建議解題步驟
1
對VCD的基本語法先熟悉一下,如信號名字的對應關系,每一行表示什么含義等。
2
實現VCD文件到信號時間序列變量的轉換。這是一個文本逐行解析的過程。
3
寫統計分析的模塊,每個模塊對應不同的統計需求,相對獨立。
4
學習pthread或openMP多線程編程,學習如何創建線程、線程間如何同步、加鎖等。
5
用pthread或openMP提高你的程序的效率,這里需要并行劃分程序。
6
嘗試一下不同的文件讀取速度和占用內存情況,選擇一個占用內存比較小的方式。
4
其它注意事項
大家在解題時還需要注意以下幾點:
1)不要輕易放棄,題目本身難度不大,已經提煉成了算法題,前期的知識準備要花點時間;
2)一定要積極參加培訓,很多知識其實一點就透;在沒有相關背景積累的情況下學習會有一定的挑戰性,但也可以補充很多知識;
3)要遵循循序漸進、從易到難的解題思路,切不可貪大求全讓自己陷入到重重迷霧之中;
最后,預祝各位同學發揮出自己的水平,取得良好的成績。
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
原文標題:芯華章賽題解析:數字集成電路動態功耗優化策略分析與評估
文章出處:【微信號:X-EPIC,微信公眾號:芯華章科技】歡迎添加關注!文章轉載請注明出處。
相關推薦
ASIC(Application-Specific Integrated Circuit,應用特定集成電路)集成電路性能優化是一個復雜而關鍵的過程,涉及多個層面的技術和策略。以下是一些
發表于 11-20 15:52
?515次閱讀
功能概述74VHC00FT 集成了四個獨立的 NAND 門,每個門都有兩個輸入。NAND 門是數字邏輯電路中的基本構建模塊,只有當所有輸入都為高時輸出為低。該芯片可以在各種設備中執行邏輯操作,包括
發表于 11-05 10:25
?0次下載
集成電路,又稱為IC,按其功能結構的不同,可以分為模擬集成電路、數字集成電路和數/模混合集成電路三大類。
發表于 10-18 15:08
?978次閱讀
音響集成電路(Audio Integrated Circuit,簡稱IC)是一種用于處理音頻信號的集成電路。它們可以是數字的,也可以是模擬的,具體取決于它們的設計和功能。 數字集成電路
發表于 09-24 15:57
?381次閱讀
TC7WZ74FK是由東芝設計的CMOS數字集成電路,提供高速運作、低功耗以及寬電壓范圍的操作能力。它是一款帶有預設和清除功能的D觸發器,非常適用于多種數字應用。主要特點和規格1. 寬電壓范圍
發表于 08-29 14:20
?0次下載
IC(Integrated Circuit,集成電路)電子元器件類型繁多,根據功能和結構的不同,可以分為以下幾大類: 1. 數字集成電路(Digital IC) 數字集成電路主要用于數字
發表于 08-14 15:47
?791次閱讀
,包括邏輯電路、存儲器和模擬電路等,從而減小了系統的尺寸和成本,提高了可靠性和性能。 低功耗:ASIC能夠根據應用需求進行優化設計,以提高功耗
發表于 05-04 17:49
?1891次閱讀
設計的,其功能是固定的,不可更改。它被廣泛應用于領域特定的電子系統中,如移動通信、家電、汽車電子和醫療設備等。專用集成電路由于針對特定應用進行高度定制,因此可以提供高度集成的解決方案,可以最大程度地優化性能和
發表于 05-04 17:28
?1929次閱讀
應用需求進行優化的特點,具備了更高的性能、更低的功耗和更小的尺寸。 專用集成電路的設計流程主要包括需求分析、系統設計、電路設計、物理設計、驗
發表于 05-04 15:02
?891次閱讀
Integrated Circuit)相比,通信專用集成電路具有以下特點: 高度優化:通信專用集成電路被設計和優化用于特定的通信任務,如數據傳輸、信號處理、調制解調等。這些
發表于 05-04 14:56
?1157次閱讀
專用集成電路(ASIC)是指根據特定應用或特定領域的需求而定制開發的集成電路。與通用集成電路(如微處理器)不同,專用集成電路的設計是為了滿足特定應用的需求,在功能、性能和
發表于 04-14 11:03
?1033次閱讀
專用集成電路技術是現代電子設備和系統的重要組成部分。隨著科技的發展和需求的不斷增長,對高性能、低功耗和小尺寸的集成電路的需求也越來越大。專用集成電路技術通過
發表于 04-14 10:27
?597次閱讀
555集成芯片(555定時器)是一種多功能的數字集成電路,它可以被配置為產生精確的時間延遲或生成穩定的方波信號。
發表于 03-25 14:41
?1879次閱讀
數字集成芯片,即數字集成電路,是一種數字邏輯電路或系統,它將元件和連接集成在同一半導體芯片上。這種芯片基于
發表于 03-20 15:41
?714次閱讀
電子發燒友網站提供《Verilog HDL數字集成電路設計方法概述.zip》資料免費下載
發表于 02-03 09:27
?2次下載
評論