日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]引 言片上系統(tǒng)( system ON chip ,SOC) 已經(jīng)成為21世紀(jì)全球矚目的關(guān)鍵核心技術(shù)。 SOC 具有垂直整合的特性,并注重創(chuàng)新和創(chuàng)意,產(chǎn)品非常個(gè)人化、應(yīng)用差異化、樣式多元化。 SOC 應(yīng)用需求的廣泛性,以及大部分SOC 應(yīng)用功

引 言

片上系統(tǒng)( system ON chip ,SOC) 已經(jīng)成為21世紀(jì)全球矚目的關(guān)鍵核心技術(shù)。 SOC 具有垂直整合的特性,并注重創(chuàng)新和創(chuàng)意,產(chǎn)品非常個(gè)人化、應(yīng)用差異化、樣式多元化。 SOC 應(yīng)用需求的廣泛性,以及大部分SOC 應(yīng)用功能單一、性質(zhì)確定的特點(diǎn),決定了SOC 目前大多是針對(duì)專門的應(yīng)用領(lǐng)域進(jìn)行專門設(shè)計(jì)來滿足高性能、低成本和低功耗的要求。 目前SOC 的發(fā)展趨勢是: 體系結(jié)構(gòu)需要在新技術(shù)與產(chǎn)品、市場和應(yīng)用需求之間取得平衡;設(shè)計(jì)方法趨向于走專用、定制和自動(dòng)化的道路。

一方面由于SOC 的專用化設(shè)計(jì)要求,另一方面由于IP 提供商的支持, SOC 的集成設(shè)計(jì)方法正向參數(shù)化設(shè)計(jì)發(fā)展。 SOC 的參數(shù)可能影響系統(tǒng)功耗、性能和面積,每個(gè)參數(shù)的選擇范圍是一個(gè)有限集合,因此一個(gè)SOC 設(shè)計(jì)可以理解為一組SOC 參數(shù)的選擇。 在系統(tǒng)結(jié)構(gòu)形成后,SOC 設(shè)計(jì)問題就轉(zhuǎn)變?yōu)閰?shù)配置問題。 隨著參數(shù)的增多,手工對(duì)代碼進(jìn)行修改是不可接受的,這不僅效率低,而且會(huì)增加錯(cuò)誤率。本文對(duì)原有的硬件描述語言進(jìn)行擴(kuò)展,并建立了參數(shù)自動(dòng)配置環(huán)境,通過分析SOC 參數(shù)屬性,利用鄰域搜索算法針對(duì)功耗進(jìn)行自動(dòng)參數(shù)優(yōu)化。

參數(shù)自動(dòng)配置設(shè)計(jì)方法

采用傳統(tǒng)的硬件描述語言(HDL) ,參數(shù)自動(dòng)配置的難點(diǎn)在于:首先模塊本身的描述隨參數(shù)配置的改變而變化; 其次當(dāng)模塊被更上層的父模塊例化(inSTance) 時(shí),其接口邏輯在不同參數(shù)配置下也可能不同。 在進(jìn)行參數(shù)化設(shè)計(jì)時(shí),只能采用硬件描述語言的宏定義,這種方法不僅不夠靈活,而且代碼復(fù)雜,冗余很多。

參數(shù)自動(dòng)配置環(huán)境由一組運(yùn)行腳本組成,主要通過兩個(gè)工具Eperl 和Vperl 來進(jìn)行參數(shù)配置,實(shí)現(xiàn)了代碼的即配置即生成。 Eperl 的作用是定制內(nèi)部的邏輯,Vperl 的作用是生成模塊間的連接關(guān)系。 基于Verilog 硬件描述語言的參數(shù)自動(dòng)配置過程如下。

1) 參數(shù)首先被送到3.evp 文件,這是同時(shí)包括Eperl 語法和Vperl 語法的文件,因?yàn)镋perl 和Vperl 電路的語法非常簡潔,所以設(shè)計(jì)師不僅不用擔(dān)心會(huì)在這里陷入困境,反而會(huì)大大減少設(shè)計(jì)強(qiáng)度。

2) 3.evp 文件經(jīng)過Eperl 處理后生成3.vp 文件,這是只包含Vperl 語法的文件,這時(shí)所有的參數(shù)都被解析,模塊內(nèi)參數(shù)配置都已經(jīng)完成了。

3) 3.vp 經(jīng)過Vperl 處理后, 最后生成3.v 文件, 即電路的Verilog 描述。 因此在參數(shù)化設(shè)計(jì)中,與傳統(tǒng)設(shè)計(jì)不同,設(shè)計(jì)師的描述文件是3.evp 文件,而Verilog 代碼只是作為設(shè)計(jì)的中間代碼出現(xiàn)。 參數(shù)自動(dòng)配置環(huán)境建立了一系列腳本程序來自動(dòng)解析相關(guān)文件的相互關(guān)系,并生成整個(gè)系統(tǒng)的硬件描述語言描述。

Eperl 最初用作HTML 頁面生成,適合于靜態(tài)文本相當(dāng)多,但是又有一部分代碼需要?jiǎng)討B(tài)生成的場合。 因?yàn)榇蠖鄶?shù)硬件描述是靜態(tài)代碼,只有一小部分需要可配置,所以Eperl 非常適用于電路的硬件描述。 Eperl 結(jié)合了Perl 的解釋功能,相當(dāng)于在原文本結(jié)構(gòu)中插入了一段內(nèi)嵌代碼。 這段內(nèi)嵌代碼最終可以生成想要配置的硬件結(jié)構(gòu)。 Eperl 利用Print 結(jié)構(gòu)來傳遞所有的內(nèi)嵌代碼。 Eperl 所做的相當(dāng)于程序員寫一個(gè)用于生成代碼的Perl 腳本。 下面所示程序段是從dma _fifo.evp 文件中提取的一部分代碼。

∥Synchronous FIFO.fifo_depth x fifo_width bit words.

&moduleBeg ;

&Ports ;

&Regs ;

&WIRes ;

< : $width_msb=$fifo_width21 ;

$depth_msb=$fifo_depth21 ;

$ptr_width=log ( $fifo_depth)/log (2) ;

$ptr_msb=$ptr_msb21 ;

: >

&Force ("mem","fifomem", < :=$width_msb : >,0,

< :=$depth_msb : >,0) ;

……

∥Update FIFO memory.

always @(posedge clk) begin

if ( rstp== 1′b0 & & writep== 1′b1 & &

fullp== 1′b0)

fifomem [ head ] <=din [ < :=$width_msb :

> :0 ] ;

end

∥Update the head register.

always @(posedge clk) begin

if ( rstp== 1’b1)

head [<:=$ptr_msb:>:0]<=<:=$ptr_width:>′b0 ;

else

if (writep== 1′b1 & & fullp== 1′b0)

head [ < :=$pt r_msb : > :0 ] < =

head [ < :=$pt r_msb : > :0 ] + 1 ;

end

..

在< :…… : > 中的就是Eperl 代碼,以& 開始的是Vperl 代碼, 如&ModuleBeg 表示模塊的開始。 在FIFO 中,可配置的參數(shù)主要是2 個(gè): FIFO 深度和FIFO 寬度,所以dma_fif.evp 文件對(duì)外只有2 個(gè)參數(shù)可調(diào), 而其他的比如定義信號(hào)所需要的FIFO 寄存器的最高位width_msb 、head 指針的寬度ptr_width 等都可以用Eperl 腳本生成。 這與宏定義相比體現(xiàn)了Eperl 的靈活性。再比如可以通用寄存器組gpr.evp 文件利用for 循環(huán)來例化每一個(gè)寄存器,更充分地體現(xiàn)了使用Eperl 的靈活性。 for 循環(huán)的代碼如下所示。

for($i = 0;$i<$reg _num;$i++) {

print"&Instance ("iu_register","iu_register_$i " );n" ;

}

: >

……

3.evp 格式的文件經(jīng)過Eperl 解析后生成

3.vp格式的文件。 dma _fifo.evp 經(jīng)過Eperl 解析后生成的3.vp 文件如下所示。

∥Synchronous FIFO.fifo_depth x fifo _width bit words。

&ModuleBeg ;

&Ports ;

&Regs ;

&Wires ;

&Force ("mem" ,"fifomem" ,15 ,0 ,3 ,0) ;

……

∥Update FIFO memory。

always @(posedge clk) begin

if (rstp== 1′b0 & & writep==1′b1 & &fullp==1′b0)

fifomem [head]<= din [15 :0] ;

end

∥Update the head register。

always @(posedge clk) begin

if (rstp = = 1′b1)

head [1 :0 ] < = 2′b0 ;

else

if (writep = = 1′b1 & & fullp = = 1′b0)

head [1 :0 ] < = head [1 :0 ] + 1 ;

end

……

當(dāng)然IP 模塊的不同配置會(huì)造成SOC 系統(tǒng)信號(hào)的不同。 如向系統(tǒng)中添加通用異步收發(fā)器(UART)模塊,SOC 系統(tǒng)就要增加輸入輸出端口,并且要增加很多內(nèi)部的連線,比如把IP 總線引入U(xiǎn)ART.Vperl 程序可以解決這個(gè)問題。

Vperl 的工作原理是通過分析模塊內(nèi)使用的信號(hào)的屬性來確定模塊的信號(hào)定義。 HDL 具有一定的語法結(jié)構(gòu),比如Verilog 有2 種信號(hào)類型,always 塊中的<= 操作符左邊一定是reg 類型信號(hào),由此取reg 類型的補(bǔ)集就是wire 類型,除非顯式地通過&Force()聲明為其他類型,如在dma_fifo.vp 中的第6 行代碼,聲明為二維reg 數(shù)組類型。 分析模塊也可以確定模塊的輸入輸出,如果一個(gè)信號(hào)在模塊中自始至終沒有被賦值過,那么這個(gè)信號(hào)必然是input信號(hào);同理,如果一個(gè)信號(hào)被賦值但從來沒被使用過,就是output 信號(hào); 如果既被賦值過,又被使用過,那么這個(gè)信號(hào)有很大可能是這個(gè)模塊的內(nèi)部信號(hào),不是模塊的端口,除非顯式地通過&Force ( ) 聲明為inout類型。 對(duì)于模塊中例化的子模塊(在3.vp 中用&Instance() 語句聲明) ,Vperl 程序首先分析模塊間的從屬關(guān)系,并先處理最底層的子模塊代碼,在自動(dòng)分析子模塊接口的輸入輸出屬性后,缺省地把子模塊的輸入輸出信號(hào)作為上層模塊的接入信號(hào),并在上層模塊中自動(dòng)進(jìn)行連接,當(dāng)然Vperl 也提供了&Connect () 語句來更改子模塊接入上層模塊的信號(hào)名。 所以用Vperl 的格式書寫的文件3.vp不需要在文件頭部定義信號(hào)名。 如下所示是dma_fifo.vp 文件的示例代碼。

∥Synchronous FIFO.fifo _depth x fifo _width bit words。

module dma _fifo (clk,rstp,din,writep,readp,dout ,emptyp,fullp);

input clk;

input rstp;

input [15:0] din;

input readp;

input writep;

output [15:0]dout;

output emptyp;

output fullp;

reg emptyp;

reg fullp;

reg [15:0]dout;

reg [ (DEPTH-1):0 ]  tail;

reg [ (DEPTH-1):0 ]  head;

reg [ (DEPTH-1):0 ]  count;

reg [15:0 ] fifomem [0:MAX_COUNT];

……

∥Update FIFO memory。

always @(posedge clk) begin

if ( rstp==1′b0 && writep==1′b1 &&fullp==1′b0)

fifomem [head]<= din [15:0];

end

∥Update the head register。

always @(posedge clk) begin

if ( rstp==1′b1)

head[1:0 ]<=2′b0;

else

if (writep==1′b1 & & fullp==1′b0)

head[1:0 ]<=head[1:0 ] + 1;

end

……

在上述程序段中, din [15:0 ] 對(duì)應(yīng)參數(shù)fifo_width=16 的情況, 如果在dma_top 模塊中用Vperl 語法例化了dma_fifo ( &Instance(dmafifo);) ,那么Vperl把din[15:0]連接進(jìn)dma_top ,并進(jìn)而生成dma_top.v 代碼,即dma_top.v 的信號(hào)定義。

Vperl 實(shí)際上是接管了模塊間的信號(hào)連接工作,使得設(shè)計(jì)師不用擔(dān)心參數(shù)改變對(duì)模塊間關(guān)系的影響。 另外,Vperl 的另一項(xiàng)優(yōu)點(diǎn)就是省去了每個(gè)HDL 文件中繁瑣的信號(hào)定義,避免因?yàn)樾盘?hào)定義引起的語法錯(cuò)誤(比如信號(hào)忘記定義、信號(hào)名打錯(cuò)等) ,大大加快源代碼的編寫速度。 當(dāng)然,使用Vperl 需要遵循一定的語法。

在參數(shù)自動(dòng)配置機(jī)制中,結(jié)合Eperl 和Vperl這兩種工具就可以由選定的參數(shù)組合自動(dòng)地配置硬件結(jié)構(gòu)。 對(duì)于軟件而言,由C 語言編寫的應(yīng)用程序不需要修改,但是編譯器需要針對(duì)不同的執(zhí)行單元的配置增加減少指令并進(jìn)行優(yōu)化。

SOC 參數(shù)優(yōu)化

一個(gè)SOC 中包括了P1 , P2 , P3 , ..., Pn 等參數(shù)。每個(gè)參數(shù)的值都可以從一個(gè)有限集合中選取。 為了選擇最優(yōu)的參數(shù)值,也就是為了達(dá)到最優(yōu)的系統(tǒng)配置,使功耗、性能和面積達(dá)到合理的目標(biāo),需要進(jìn)行參數(shù)優(yōu)化。 一種方法是運(yùn)行一次仿真后,記錄下指令序列(trace) ,將不同的參數(shù)配置結(jié)合指令序列通過純軟件的行為分析器進(jìn)行分析。 這種方法的優(yōu)勢是速度快。 但是在不同的結(jié)構(gòu)參數(shù)下,指令序列差別很大,特別是當(dāng)指令集都發(fā)生改變時(shí),結(jié)果的可信度大大降低;而且行為分析器對(duì)一些動(dòng)態(tài)參數(shù),比如動(dòng)態(tài)電壓,對(duì)功耗的影響無法估計(jì),所以可能不得不進(jìn)行多次仿真來獲得較準(zhǔn)確的功耗估計(jì)。 由于仿真時(shí)間一般較長,參數(shù)的優(yōu)化算法對(duì)設(shè)計(jì)周期的影響很大。

參數(shù)的屬性

在SOC 設(shè)計(jì)中的定制概念不再是晶體管級(jí)的定制,而是體現(xiàn)在模塊級(jí)層面上,具體表現(xiàn)為系統(tǒng)的結(jié)構(gòu)參數(shù)。 SOC 的系統(tǒng)參數(shù)具有一些屬性,如大多數(shù)系統(tǒng)參數(shù)是相互影響的,這些相關(guān)性必須在參數(shù)配置時(shí)予以考慮。 相關(guān)性可以區(qū)分為數(shù)值相關(guān)和性能相關(guān)。 參數(shù)自身也有單調(diào)性和層次性。

數(shù)值相關(guān)

兩參數(shù)的數(shù)值相關(guān)意味著一個(gè)參數(shù)的選擇限制了另一個(gè)參數(shù)的選擇范圍。 例如對(duì)于容量限制為64 ×8 bit s 的直接存儲(chǔ)器存取(DMA) 緩沖區(qū),可以緩沖64 個(gè)8 位數(shù)據(jù),但是當(dāng)用于緩沖32 位數(shù)據(jù)時(shí),只能放16 個(gè)數(shù)據(jù)。 在這里數(shù)據(jù)個(gè)數(shù)和數(shù)據(jù)格式是數(shù)值相關(guān)的。 再如可配置處理器的乘法器(MUL) 單元一般不會(huì)和乘累加器(MAC)單元一起出現(xiàn),因?yàn)閮烧叩墓δ苁侵丿B的。 在進(jìn)行參數(shù)選擇時(shí),利用數(shù)值相關(guān)性可以去除一些不可能的參數(shù)值,縮小參數(shù)的選擇范圍。

性能相關(guān)

兩參數(shù)的性能相關(guān)意味著一個(gè)參數(shù)的改變會(huì)影響另一個(gè)參數(shù)的最優(yōu)選擇。性能相關(guān)是有方向性的,如果參數(shù)B 與A 性能相關(guān), 則參數(shù)A 是B 的主動(dòng)參數(shù),參數(shù)B 是A 的隨動(dòng)參數(shù)。 在參數(shù)選擇時(shí),可以先確定A 再確定B 。如寄存器的個(gè)數(shù)相關(guān)與MUL 單元相關(guān)意味著MUL 單元是主動(dòng)參數(shù),而寄存器個(gè)數(shù)是隨動(dòng)參數(shù)。 兩個(gè)參數(shù)也可能互相相關(guān),也就是說參數(shù)A 和B 之間形成環(huán)路。 這時(shí)兩個(gè)參數(shù)必須同時(shí)調(diào)整才能得到最優(yōu)的方案。 例如高速緩存的組參數(shù)和每個(gè)緩存塊的容量參數(shù)的性能是相關(guān)的。 在進(jìn)行參數(shù)選擇時(shí),性能不相關(guān)的參數(shù)可以獨(dú)立選取最優(yōu)解。

單調(diào)性

很多參數(shù)對(duì)某一優(yōu)化目標(biāo)而言是單調(diào)函數(shù)。 例如決定UART 緩沖區(qū)大小的參數(shù),對(duì)功耗這一優(yōu)化目標(biāo),一般是緩沖區(qū)越大功耗越大。 參數(shù)的方向性也可以縮小參數(shù)的選擇范圍。

層次性

模塊參數(shù)只影響模塊自身,比如Cache 容量、Cache 行大小和關(guān)聯(lián)組個(gè)數(shù)。 多個(gè)模塊參數(shù)可以形成一個(gè)系統(tǒng)參數(shù),比如從系統(tǒng)角度來看,Cache 失配率就是一個(gè)系統(tǒng)參數(shù)。 利用參數(shù)的層次性可以進(jìn)行局部優(yōu)化。

鄰域搜索算法

參數(shù)的性能相關(guān)性是參數(shù)優(yōu)化的主要難題。 首先需要一種數(shù)據(jù)結(jié)構(gòu)來表征性能相關(guān)性。 圖1 較好地表示了參數(shù)的性能相關(guān)性。 其中,參數(shù)用節(jié)點(diǎn)表示,而節(jié)點(diǎn)與節(jié)點(diǎn)間的連線表示兩參數(shù)的性能相關(guān)。節(jié)點(diǎn)和節(jié)點(diǎn)之間的連線是有方向性的,從A 到B 的邊表示參數(shù)B 與A 的性能相關(guān)。

 

 

圖1  功耗性能相關(guān)圖

隨著SOC集成度的進(jìn)一步提高,參數(shù)個(gè)數(shù)增多,導(dǎo)致設(shè)計(jì)選擇空間急劇擴(kuò)大,完全地對(duì)每一個(gè)參數(shù)組合進(jìn)行評(píng)價(jià)是不可能的。 由于每次計(jì)算代價(jià)函數(shù)需要很長的時(shí)間,一些進(jìn)化優(yōu)化算法,如遺傳算法不再適用。 鄰域搜索算法是一種解決優(yōu)化問題的方法。 一般來說,鄰域搜索算法只能找到局部最優(yōu)解。但是與大多數(shù)優(yōu)化問題不同,SOC 的參數(shù)具有一定的方向性,系統(tǒng)設(shè)計(jì)師的經(jīng)驗(yàn)可以幫助設(shè)計(jì)師找到一種較優(yōu)化的參數(shù)組合,SOC 參數(shù)優(yōu)化的主要目的是對(duì)系統(tǒng)性能進(jìn)行微調(diào),因此鄰域搜索算法可以滿足SOC 參數(shù)優(yōu)化的要求。

以一個(gè)數(shù)據(jù)采集系統(tǒng)為例來驗(yàn)證領(lǐng)域搜索算法的有效性,數(shù)據(jù)采集系統(tǒng)的參數(shù)如表1 所示。 在這個(gè)應(yīng)用中,系統(tǒng)從UART 接收數(shù)據(jù),利用DMA 運(yùn)送到內(nèi)存,軟件進(jìn)行32 點(diǎn)FIR 濾波處理。 UART 的接收速率是10kB/s ,參數(shù)的性能相關(guān)圖如圖1 所示。

首先建立功耗相關(guān)圖。在建圖過程中,可以利用參數(shù)的數(shù)值相關(guān)進(jìn)行參數(shù)歸并,比如MUL的選用和MAC的選用可以歸并為一個(gè)參數(shù);以及區(qū)分參數(shù)的層次性,比如ICache 的失配參數(shù)N 由參數(shù)A 、B 、C 的一個(gè)子圖組成。 接著設(shè)立代價(jià)函數(shù)f ( K) =系統(tǒng)功耗, K 是一個(gè)參數(shù)組合。 選擇初始解Kbest.f best=f(Kbest ) 。 然后進(jìn)行參數(shù)優(yōu)化,參數(shù)優(yōu)化的算法步驟如下。

1) 分析功耗相關(guān)圖的拓?fù)漤樞?,包括較低層次的子圖。 一般可以采用鄰接表作為實(shí)現(xiàn)上述算法的數(shù)據(jù)結(jié)構(gòu)。 首先從圖中選一個(gè)入度為0 的節(jié)點(diǎn)并將其輸出,然后從圖中刪掉此節(jié)點(diǎn)及其所有的邊。 反復(fù)執(zhí)行這兩步,直至剩下的圖中再也沒有入度為0 的節(jié)點(diǎn)。 剩下的就是單個(gè)節(jié)點(diǎn)或環(huán)路。 分析拓?fù)漤樞蚴?為了確定參數(shù)優(yōu)化的順序。 拓?fù)湫蛄械牡谝粋€(gè)節(jié)點(diǎn)就是第一個(gè)被優(yōu)化的參數(shù)。

表1  數(shù)據(jù)采集系統(tǒng)參數(shù)表

 

 

2) 鄰域映射定義為取當(dāng)前優(yōu)化節(jié)點(diǎn)的最近可選值。 仿真得到功耗f ( K) 。 如果f ( K) < f best ,則Kbest = K , f best = f ( K) ;否則退回原來的值。 重復(fù)步驟2) ,直到最近的可選值都被仿真過。

3) 選擇下一個(gè)優(yōu)化的節(jié)點(diǎn),一般選擇拓?fù)湫蛄械南乱粋€(gè)參數(shù),但是在環(huán)路中,如果一個(gè)參數(shù)發(fā)生改變,則需要重新遍歷一遍環(huán)路,這時(shí)應(yīng)取環(huán)路上的節(jié)點(diǎn)。 如果該節(jié)點(diǎn)包含較低層次的子圖,則選取子圖中的節(jié)點(diǎn)。 重復(fù)步驟2) 。

實(shí)驗(yàn)結(jié)果

在進(jìn)行優(yōu)化實(shí)驗(yàn)前, 需要建立IP的功耗模型。 門級(jí)電路的功耗估計(jì)已經(jīng)比較成熟了。 因?yàn)殚T電路的結(jié)構(gòu)比較簡單,可以比較容易地測量靜態(tài)功耗,并根據(jù)標(biāo)準(zhǔn)單元的輸入建立動(dòng)態(tài)功耗的查詢表。 但是門電路的功耗分析可能需要較大的運(yùn)算量,而且門電路方法一般用于設(shè)計(jì)的后期,這時(shí)軟硬件劃分、硬件微結(jié)構(gòu)設(shè)計(jì)、寄存器傳輸級(jí)(RTL)設(shè)計(jì)、綜合都已經(jīng)完成了。 這種方法無法對(duì)系統(tǒng)設(shè)計(jì)提供幫助或參考,這對(duì)系統(tǒng)設(shè)計(jì)師來說是很大的擔(dān)心,也可能對(duì)設(shè)計(jì)周期產(chǎn)生影響。 當(dāng)前功耗建模的方向主要是在RTL 或行為級(jí)領(lǐng)域。功耗常常與狀態(tài)相關(guān)。 對(duì)于狀態(tài)機(jī)電路來說,由于硬件模塊一般有幾個(gè)狀態(tài),在不同狀態(tài)下,每個(gè)時(shí)鐘周期上消耗的能量是不同的,可以利用IP 的狀態(tài)機(jī)建模。 狀態(tài)功耗模型并不一定和IP 核的電路狀態(tài)機(jī)完全一致,它還可以考慮電路中的一些組合邏輯輸出和關(guān)鍵輸入信號(hào)如門控時(shí)鐘信號(hào)等,只要這些信號(hào)的組合可以表示一個(gè)特殊的功耗狀態(tài)即可。本文采用常用的狀態(tài)功耗建模方法,利用TSMC0。18 工藝的門電路仿真數(shù)據(jù)對(duì)Cache 、GPR、各運(yùn)算單元、DMA 和UART 進(jìn)行建模。

在軟硬件仿真平臺(tái)上,對(duì)這個(gè)數(shù)據(jù)采集系統(tǒng)進(jìn)行仿真。 由于應(yīng)用程序較短以及采樣速率不是很高,在實(shí)驗(yàn)中,共經(jīng)過了28 個(gè)參數(shù)組合的仿真,得到的優(yōu)化解如表2 所示。 如果對(duì)整個(gè)設(shè)計(jì)空間進(jìn)行仿真則需要1.92×107 次仿真。

表2  對(duì)參數(shù)進(jìn)行鄰域搜索優(yōu)化的結(jié)果

 

center>

 

結(jié) 語

原有的硬件描述語言難以適應(yīng)參數(shù)化設(shè)計(jì)的要求,Eperl 和Vperl 提供了硬件描述語言的擴(kuò)展。 利用參數(shù)自動(dòng)配置環(huán)境嵌入Eperl 和Vperl ,可以生成對(duì)應(yīng)特定參數(shù)配置的SOC 硬件語言描述。 參數(shù)優(yōu)化建立在參數(shù)自動(dòng)配置環(huán)境的基礎(chǔ)上。 在分析SOC參數(shù)屬性基礎(chǔ)上提出的領(lǐng)域搜索算法可以大大減少SOC優(yōu)化周期。 該設(shè)計(jì)環(huán)境已應(yīng)用于一款嵌入式RISC處理器CK520和基于它的SOC開發(fā),并取得了滿意的效果。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

中國,北京 – 2025年9月10日 – 低功耗無線解決方案創(chuàng)新性領(lǐng)導(dǎo)廠商Silicon Labs(亦稱“芯科科技”,NASDAQ:SLAB)今日宣布:其第二代無線開發(fā)平臺(tái)產(chǎn)品組合的最新成員FG23L無線單芯片方案(So...

關(guān)鍵字: 物聯(lián)網(wǎng) SoC

毋須依賴實(shí)時(shí)操作系統(tǒng)(RTOS)的全新低功耗藍(lán)牙開發(fā)軟件解決方案面世,旨在幫助開發(fā)者從傳統(tǒng)nRF5 SDK和nRF52系列輕松遷移至新一代nRF54L系列

關(guān)鍵字: 低功耗藍(lán)牙 SoC SDK

Puttshack 的 Trackaball 以 Nordic nRF54L15 系統(tǒng)級(jí)芯片 (SoC) 監(jiān)控傳感器并實(shí)現(xiàn)低功耗藍(lán)牙連接,并以nPM2100 電源管理集成電路(PMIC)節(jié)省耗電

關(guān)鍵字: SoC 傳感器 集成電路

2025年8月21日 – 專注于引入新品的全球電子元器件和工業(yè)自動(dòng)化產(chǎn)品授權(quán)代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Silicon Labs全新xG26系列無線SoC和MCU。xG26片上系統(tǒng)...

關(guān)鍵字: SoC 微控制器 物聯(lián)網(wǎng)

3系列Secure Vault在第三代無線開發(fā)平臺(tái)產(chǎn)品組合中的SiXG301 SoC上首次亮相,獲得了先進(jìn)物聯(lián)網(wǎng)保護(hù)的最高級(jí)別認(rèn)證

關(guān)鍵字: 物聯(lián)網(wǎng) SoC 無線電

上海2025年8月5日 /美通社/ -- 2025年7月30日,上海"2025思旗獎(jiǎng)(AIflag Awards)"頒獎(jiǎng)盛典上,F(xiàn)ESCO Adecco外企德科上海公司憑借在人力資源管理與A...

關(guān)鍵字: ECC AI AD BSP

基于智能體的新型安全服務(wù)通過自主AI智能體降低運(yùn)營成本,同時(shí)加快響應(yīng)并擴(kuò)大覆蓋范圍 2025年,7AI平臺(tái)已為各安全團(tuán)隊(duì)節(jié)省22.4萬個(gè)分析師工時(shí)——相當(dāng)于約112位分析師全年工作量,價(jià)值1120萬美元 拉斯維加斯2...

關(guān)鍵字: AI 智能體 SoC AGENT

隨著高解析度音頻應(yīng)用的不斷發(fā)展和廣泛部署,諸如USB與I2S之間等不同專業(yè)接口之間的高品質(zhì)音頻轉(zhuǎn)換需求日益增長,由此帶來了實(shí)現(xiàn)高性能、高實(shí)時(shí)性與高靈活性的新挑戰(zhàn)。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷...

關(guān)鍵字: SoC USB 處理器

FIFO 中斷狀態(tài)位的輪詢和中斷機(jī)制各有優(yōu)劣,適用于不同的應(yīng)用場景。輪詢實(shí)現(xiàn)簡單但效率低下,中斷實(shí)時(shí)性好但復(fù)雜度高。在實(shí)際設(shè)計(jì)中,應(yīng)根據(jù)系統(tǒng)需求、性能指標(biāo)和資源限制,選擇合適的機(jī)制或混合方案。隨著硬件技術(shù)的發(fā)展,現(xiàn)代處理...

關(guān)鍵字: FIFO

FIFO 發(fā)送器憑借其獨(dú)特的工作原理和結(jié)構(gòu)特點(diǎn),在眾多領(lǐng)域中發(fā)揮著不可或缺的作用。它為數(shù)據(jù)的有序傳輸和高效處理提供了有力支持,盡管面臨一些挑戰(zhàn),但通過不斷的技術(shù)創(chuàng)新和優(yōu)化,F(xiàn)IFO 發(fā)送器將在未來的科技發(fā)展中繼續(xù)展現(xiàn)其強(qiáng)...

關(guān)鍵字: FIFO
關(guān)閉