芯華章持續(xù)助力第四屆集成電路EDA設計精英挑戰(zhàn)賽,并邀請華南理工大學王小航教授帶來詳細的賽題解析,希望能夠幫助同學們更加從容應對賽事,賽出水平!
1
賽題背景分析
低功耗設計是數(shù)字系統(tǒng)非常重要的考慮因素。為了支持低功耗設計,首先要對功耗進行計算。功耗可分為靜態(tài)功耗(漏電流引起)和動態(tài)功耗(門翻轉(zhuǎn)引起)。在本賽題中,我們主要考慮動態(tài)功耗的計算方法。
動態(tài)功耗的計算公式如下:
![3cd4d646-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduADMD0AAAH5za-xEs296.png)
?
其中,VDD為電壓,C為等效電容,Tr為翻轉(zhuǎn)率,即單位時間內(nèi)邏輯門從0→1或從1→0的翻轉(zhuǎn)次數(shù)。我們可以把電壓和等效電容近似視為常數(shù),對于不同的電路負載,統(tǒng)計其Tr,就可以計算動態(tài)功耗。
這道賽題的目的,就是讓大家通過VCD文件來統(tǒng)計一個電路負載的翻轉(zhuǎn)率。
如何得到翻轉(zhuǎn)率呢?我們回顧一下,在電路設計的時候,先設計其RTL(如verilog)代碼,并編寫testbench給出激勵進行測試,如下所示:
![3ce78b4c-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduAeVN2AAByVUYsRbs844.png)
?
用常見的仿真工具跑如上RTL代碼和testbench,可得到如下的輸出結(jié)果波形:
信號變化波形圖(芯華章科技股份有限公司-Fusion Debug 提供)
仿真工具可以把上述波形輸出VCD文件,類似:
![3d0db8da-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduAQ7JWAAAWmvazMHk848.png)
?
好,現(xiàn)在重點來了。給定VCD文件(其實就是波形的文本表示),我們就可以統(tǒng)計翻轉(zhuǎn)率,進而利用上述的功耗公式來計算動態(tài)功耗,它們之間的邏輯關系如下圖:
![3d1f58f6-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduAJLJkAABx1teRB2I065.png)
?
在本賽題中,我們只關注如何從VCD文件(對應波形)到翻轉(zhuǎn)率的解析。
2
賽題要點解析
本賽題主要就是進行VCD文件的解析,然后根據(jù)題目的要求,得到不同的統(tǒng)計結(jié)果(如翻轉(zhuǎn)次數(shù)tc,信號邏輯值為1的時間t1, 信號邏輯值為0的時間t0,信號邏輯值為x的時間tx,以及信號邏輯值為1的概率又稱靜態(tài)概率sp)、某個時間窗口的統(tǒng)計結(jié)果、不同層次信號的統(tǒng)計結(jié)果。
因此,首先需要定義一些數(shù)據(jù)結(jié)構(gòu)表示信號時間序列,可以用數(shù)組或者vector等,將VCD文件讀取、解析為這些信號時間序列變量,再針對這些變量進行統(tǒng)計分析,得到所需的輸出。如下圖所示:
![3d37b27a-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduADMvJAAAUwlqXp88833.png)
?
2.1 VCD文件解析
VCD文件解析的思路如下:
![3d48bae8-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduAIl7WAADVq6MPnQo823.png)
?
這樣,掃描完一個文件之后,各個變量隨時間變化的序列就存下來了。
2.2統(tǒng)計輸出
有了信號的時間序列值,可以根據(jù)題目要求打印統(tǒng)計結(jié)果。主要考慮幾方面:-
翻轉(zhuǎn)率等參數(shù)的計算,需要統(tǒng)計1和0的時間。
-
一個時間窗口的統(tǒng)計值,需要截取一個時間窗口進行計算。
-
層次化的信號,需要從文件中讀取信號間的層次關系進行計算。
對于題目中的加分項,即給定VCD文件畫波形,可以嘗試采用matlab或者python等工具,生成一個數(shù)組和畫圖腳本,調(diào)用這些外部畫圖工具來畫圖。
2.3多核加速
在題目要求中提到了多核加速,假如你的電腦有多個核,就可以用多線程方式加速。多核加速的本質(zhì)是將任務劃分到多個線程,讓多個線程在多個核上同時運行從而提高計算速度。
加速方法有兩種,一種是將文件讀入到內(nèi)存,然后將不同的行分配到不同的核/線程來處理,我們稱之為橫向劃分;另外一種是將文件切分開分到不同的核,每個核處理文件的不同段,我們稱之為縱向劃分。
![3d5a6b44-2374-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/35/wKgZomTnGduAV4S_AAAT4Ncwc88358.png)
?
可以采用pthread或者openMP進行并行編程,需要注意線程間的同步和鎖機制。
2.4文件處理
當VCD文件很大時,為了減少一次性讀入占用太多內(nèi)存,可以每次讀入一部分文件存在內(nèi)存中,如用getline等函數(shù)每次讀一行等。
3
建議解題步驟
1
對VCD的基本語法先熟悉一下,如信號名字的對應關系,每一行表示什么含義等。
2
實現(xiàn)VCD文件到信號時間序列變量的轉(zhuǎn)換。這是一個文本逐行解析的過程。
3
寫統(tǒng)計分析的模塊,每個模塊對應不同的統(tǒng)計需求,相對獨立。
4
學習pthread或openMP多線程編程,學習如何創(chuàng)建線程、線程間如何同步、加鎖等。
5
用pthread或openMP提高你的程序的效率,這里需要并行劃分程序。
6
嘗試一下不同的文件讀取速度和占用內(nèi)存情況,選擇一個占用內(nèi)存比較小的方式。
4
其它注意事項
大家在解題時還需要注意以下幾點:
1)不要輕易放棄,題目本身難度不大,已經(jīng)提煉成了算法題,前期的知識準備要花點時間;
2)一定要積極參加培訓,很多知識其實一點就透;在沒有相關背景積累的情況下學習會有一定的挑戰(zhàn)性,但也可以補充很多知識;
3)要遵循循序漸進、從易到難的解題思路,切不可貪大求全讓自己陷入到重重迷霧之中;
最后,預祝各位同學發(fā)揮出自己的水平,取得良好的成績。
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
原文標題:芯華章賽題解析:數(shù)字集成電路動態(tài)功耗優(yōu)化策略分析與評估
文章出處:【微信號:X-EPIC,微信公眾號:芯華章科技】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
相關推薦
1、計算機、微電子、電子工程等相關專業(yè)碩士;
2、熟悉數(shù)字集成電路基本原理、設計技巧、設計流程及相關EDA工具;
3、精通Verilog語言,熟悉AMBA協(xié)議;
4、有FPGA開發(fā)或SOC設計經(jīng)驗優(yōu)先;
5、具有較強的獨立工作能力、良好的團隊合作精神。
發(fā)表于 02-11 18:03
在當今快速發(fā)展的科技時代,數(shù)字集成電路設計作為推動人工智能(AI)、5G通信和物聯(lián)網(wǎng)等先進技術的核心力量,正扮演著越來越重要的角色。為了幫助未來的工程師們更好地掌握這一領域的專業(yè)知識和技術,2024
發(fā)表于 01-22 17:28
?256次閱讀
ASIC(Application-Specific Integrated Circuit,應用特定集成電路)集成電路性能優(yōu)化是一個復雜而關鍵的過程,涉及多個層面的技術和策略。以下是一些
發(fā)表于 11-20 15:52
?651次閱讀
功能概述74VHC00FT 集成了四個獨立的 NAND 門,每個門都有兩個輸入。NAND 門是數(shù)字邏輯電路中的基本構(gòu)建模塊,只有當所有輸入都為高時輸出為低。該芯片可以在各種設備中執(zhí)行邏輯操作,包括
發(fā)表于 11-05 10:25
?0次下載
集成電路,又稱為IC,按其功能結(jié)構(gòu)的不同,可以分為模擬集成電路、數(shù)字集成電路和數(shù)/模混合集成電路三大類。
發(fā)表于 10-18 15:08
?1371次閱讀
音響集成電路(Audio Integrated Circuit,簡稱IC)是一種用于處理音頻信號的集成電路。它們可以是數(shù)字的,也可以是模擬的,具體取決于它們的設計和功能。 數(shù)字集成電路
發(fā)表于 09-24 15:57
?459次閱讀
TC7WZ74FK是由東芝設計的CMOS數(shù)字集成電路,提供高速運作、低功耗以及寬電壓范圍的操作能力。它是一款帶有預設和清除功能的D觸發(fā)器,非常適用于多種數(shù)字應用。主要特點和規(guī)格1. 寬電壓范圍
發(fā)表于 08-29 14:20
?0次下載
IC(Integrated Circuit,集成電路)電子元器件類型繁多,根據(jù)功能和結(jié)構(gòu)的不同,可以分為以下幾大類: 1. 數(shù)字集成電路(Digital IC) 數(shù)字集成電路主要用于數(shù)字
發(fā)表于 08-14 15:47
?902次閱讀
,包括邏輯電路、存儲器和模擬電路等,從而減小了系統(tǒng)的尺寸和成本,提高了可靠性和性能。 低功耗:ASIC能夠根據(jù)應用需求進行優(yōu)化設計,以提高功耗
發(fā)表于 05-04 17:49
?1954次閱讀
設計的,其功能是固定的,不可更改。它被廣泛應用于領域特定的電子系統(tǒng)中,如移動通信、家電、汽車電子和醫(yī)療設備等。專用集成電路由于針對特定應用進行高度定制,因此可以提供高度集成的解決方案,可以最大程度地優(yōu)化性能和
發(fā)表于 05-04 17:28
?2016次閱讀
應用需求進行優(yōu)化的特點,具備了更高的性能、更低的功耗和更小的尺寸。 專用集成電路的設計流程主要包括需求分析、系統(tǒng)設計、電路設計、物理設計、驗
發(fā)表于 05-04 15:02
?974次閱讀
Integrated Circuit)相比,通信專用集成電路具有以下特點: 高度優(yōu)化:通信專用集成電路被設計和優(yōu)化用于特定的通信任務,如數(shù)據(jù)傳輸、信號處理、調(diào)制解調(diào)等。這些
發(fā)表于 05-04 14:56
?1280次閱讀
專用集成電路技術是現(xiàn)代電子設備和系統(tǒng)的重要組成部分。隨著科技的發(fā)展和需求的不斷增長,對高性能、低功耗和小尺寸的集成電路的需求也越來越大。專用集成電路技術通過
發(fā)表于 04-14 10:27
?667次閱讀
555集成芯片(555定時器)是一種多功能的數(shù)字集成電路,它可以被配置為產(chǎn)生精確的時間延遲或生成穩(wěn)定的方波信號。
發(fā)表于 03-25 14:41
?2035次閱讀
數(shù)字集成芯片,即數(shù)字集成電路,是一種數(shù)字邏輯電路或系統(tǒng),它將元件和連接集成在同一半導體芯片上。這種芯片基于
發(fā)表于 03-20 15:41
?765次閱讀
評論