<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > SOC參數自動(dòng)配置設計方法與功耗優(yōu)化

SOC參數自動(dòng)配置設計方法與功耗優(yōu)化

作者: 時(shí)間:2012-10-29 來(lái)源:網(wǎng)絡(luò ) 收藏

引 言

本文引用地址:http://dyxdggzs.com/article/189803.htm

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

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

參數自動(dòng)配置

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

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

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

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

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

Eperl 最初用作HTML 頁(yè)面生成,適合于靜態(tài)文本相當多,但是又有一部分代碼需要動(dòng)態(tài)生成的場(chǎng)合。 因為大多數硬件描述是靜態(tài)代碼,只有一小部分需要可配置,所以Eperl 非常適用于電路的硬件描述。 Eperl 結合了Perl 的解釋功能,相當于在原文本結構中插入了一段內嵌代碼。 這段內嵌代碼最終可以生成想要配置的硬件結構。 Eperl 利用Print 結構來(lái)傳遞所有的內嵌代碼。 Eperl 所做的相當于程序員寫(xiě)一個(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

..


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: SOC 參數 自動(dòng) 設計方法

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>