国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

門控時(shí)鐘單元IP核設(shè)計(jì)

2009-01-20 02:08陳志強(qiáng)潘蘭芳韓安太吳秀山
中國(guó)集成電路 2009年10期
關(guān)鍵詞:低功耗

陳志強(qiáng) 潘蘭芳 韓安太 吳秀山

摘要:門控時(shí)鐘是VLSI設(shè)計(jì)中降低功耗的一種主要技術(shù),將門控時(shí)鐘設(shè)計(jì)為一個(gè)獨(dú)立的IP,可以降低設(shè)計(jì)的復(fù)雜性。在對(duì)門控時(shí)鐘的基本工作原理和結(jié)構(gòu)分析的基礎(chǔ)上,本文給出了將門控時(shí)鐘單元電路設(shè)計(jì)為一個(gè)獨(dú)立IP核的設(shè)計(jì)流程,并生成了系統(tǒng)物理設(shè)計(jì)和驗(yàn)證階段所需要的庫(kù)文件。設(shè)計(jì)結(jié)果已成功地應(yīng)用于高性能、低功耗嵌入式CPU的設(shè)計(jì)。

關(guān)鍵詞:門控時(shí)鐘單元;IP核;低功耗;靜態(tài)時(shí)序分析

中圖分類號(hào):TN47 文獻(xiàn)標(biāo)識(shí)碼:A

1引 言

在同步電路中,每個(gè)時(shí)序單元都有一個(gè)時(shí)鐘信號(hào),時(shí)鐘信號(hào)通過時(shí)鐘網(wǎng)絡(luò)連接到各個(gè)時(shí)序單元,時(shí)鐘網(wǎng)絡(luò)能夠提供足夠的驅(qū)動(dòng)并且能將時(shí)鐘偏移控制在一定的范圍內(nèi)。但是由于時(shí)鐘信號(hào)在系統(tǒng)工作期間不斷地翻轉(zhuǎn),以及時(shí)鐘網(wǎng)絡(luò)的產(chǎn)生使線網(wǎng)電容增加,導(dǎo)致系統(tǒng)功耗增加,當(dāng)時(shí)序單元中寄存器的狀態(tài)不需要改變或者一些功能模塊(如ALU,內(nèi)存,FPU等)在某一個(gè)時(shí)間段空閑時(shí),關(guān)閉其時(shí)鐘信號(hào)是降低時(shí)序電路時(shí)鐘信號(hào)功耗的一種有效途徑。有研究表明,數(shù)字計(jì)算機(jī)中時(shí)鐘信號(hào)的功耗占總功耗的15%-45%之多[1]。

門控時(shí)鐘技術(shù)[1-4]能夠有效減少電路中的冗余翻轉(zhuǎn),將空閑電路模塊的時(shí)鐘信號(hào)臨時(shí)關(guān)閉以減小電路的功耗,是一種重要的降低時(shí)鐘信號(hào)功耗的方法。通常門控時(shí)鐘引入是在設(shè)計(jì)的邏輯綜合階段,加入門控時(shí)鐘綜合腳本,在設(shè)計(jì)中插入門控時(shí)鐘結(jié)構(gòu)。但是門控時(shí)鐘結(jié)構(gòu)中有一個(gè)鎖存器,這樣在綜合階段和后續(xù)的靜態(tài)時(shí)序分析(STA)、自動(dòng)測(cè)試模式生成(ATPG)、時(shí)鐘樹綜合(CTS)等步驟中都要特別考慮門控時(shí)鐘結(jié)構(gòu),增加了后續(xù)工作量,延長(zhǎng)了設(shè)計(jì)的tape-out時(shí)間。但是如果將門控時(shí)鐘結(jié)構(gòu)做成一個(gè)獨(dú)立的IP(Intellectual Property,知識(shí)產(chǎn)權(quán)),就能像標(biāo)準(zhǔn)單元一樣使用,降低了設(shè)計(jì)測(cè)試的復(fù)雜性[4]。

本文詳細(xì)分析了門控時(shí)鐘的基本工作原理和組成結(jié)構(gòu),并給出了將門控時(shí)鐘單元電路設(shè)計(jì)為一個(gè)獨(dú)立IP的流程。設(shè)計(jì)的門控時(shí)鐘單元IP核已成功地應(yīng)用于嵌入式CPU-CKxxx(xxx為隱去的型號(hào))的設(shè)計(jì)中。

2門控時(shí)鐘基本工作原理和結(jié)構(gòu)

ASIC設(shè)計(jì)中一般采用上升沿觸發(fā)的D觸發(fā)器來組成寄存器和/或存儲(chǔ)單元,如果D觸發(fā)器要保持前一個(gè)狀態(tài)的值,一般采用如圖1所示的MUX電路。

在圖1中,當(dāng)寄存器狀態(tài)需要改變時(shí),GATE端使能,輸入端信號(hào)通過MUX進(jìn)入D觸發(fā)器,觸發(fā)器的時(shí)鐘一直有效,即使在GATE關(guān)閉時(shí),D觸發(fā)器也在工作。在存在大量的總線和寄存器組的設(shè)計(jì)中,這些冗余的翻轉(zhuǎn)會(huì)消耗大量的功耗。如果可以使用一個(gè)門控時(shí)鐘單元替代MUX,芯片的面積也將減小,功耗也就相應(yīng)降低。

門控時(shí)鐘的基本原理如圖2所示。當(dāng)Q值相對(duì)于前一個(gè)時(shí)鐘周期保持穩(wěn)定或者不需要數(shù)據(jù)通路的輸出時(shí),使Enable=0,屏蔽時(shí)鐘信號(hào)CLK,否則Enable=1,使電路處于正常工作狀態(tài)。

對(duì)于上升沿觸發(fā)的觸發(fā)器,門控時(shí)鐘的原理如圖3所示,它在邏輯功能上與圖1所示的電路相同,當(dāng)EN=1時(shí),時(shí)鐘信號(hào)被屏蔽,GCLK端沒有時(shí)鐘信號(hào);當(dāng)EN=0時(shí),時(shí)鐘信號(hào)正常。但是,必須保證EN在時(shí)鐘的前半周期達(dá)到穩(wěn)定。

如果改用與門實(shí)現(xiàn)上升沿觸發(fā)器的門控時(shí)鐘,即使EN在時(shí)鐘的前半周期達(dá)到穩(wěn)定,GCLK也會(huì)出現(xiàn)毛刺,所以上升沿觸發(fā)器的門控時(shí)鐘一般利用或門實(shí)現(xiàn)。但是如果,EN信號(hào)在時(shí)鐘的后半周期達(dá)到穩(wěn)定,也會(huì)有毛刺出現(xiàn)。為了解決這個(gè)問題,在或門的前面加一個(gè)鎖存器,這樣不管EN信號(hào)何時(shí)達(dá)到,毛刺都不會(huì)傳遞到GCLK可以阻止。

圖2中虛線框內(nèi)是改進(jìn)后的門控時(shí)鐘結(jié)構(gòu),引入鎖存器以后,要將或門改為與門,否則GATE信號(hào)為高電平時(shí)會(huì)將時(shí)鐘信號(hào)屏蔽,導(dǎo)致時(shí)鐘信號(hào)不能達(dá)到GCLK端。鎖存器保證了GATE信號(hào)只有在CLK發(fā)生當(dāng)D觸發(fā)器的狀態(tài)不需要改變時(shí),GATE信號(hào)為0,這時(shí)GCLK端沒有時(shí)鐘信號(hào),觸發(fā)器的狀態(tài)保持不變,這樣就可以使D觸發(fā)器在狀態(tài)不需要改變時(shí)關(guān)閉觸發(fā)端的時(shí)鐘信號(hào),從而達(dá)到降低功耗的目的。圖5顯示了門控時(shí)鐘工作波形。

3建立門控時(shí)鐘單元

由于Foundry提供的免費(fèi)單元庫(kù)沒有門控時(shí)鐘單元,為了節(jié)約設(shè)計(jì)成本,門控時(shí)鐘單元需要自行設(shè)計(jì)。一個(gè)完整的門控時(shí)鐘單元庫(kù)需要建立以下庫(kù)文件:用于版圖編輯的GDS2文件、用于綜合和布局布線的timing model(*.db格式和*.lib格式)和LEF文件、用于LVS的spice網(wǎng)表。下面給出基于TSMC18標(biāo)準(zhǔn)單元庫(kù)將圖2所示的結(jié)構(gòu)設(shè)計(jì)為一個(gè)物理門控時(shí)鐘結(jié)構(gòu)單元的步驟。

3.1 門控時(shí)鐘單元結(jié)構(gòu)的Verilog HDL描述

下面為一個(gè)邏輯時(shí)鐘單元的Verilog硬件描述:

#file name: gated_cell.v

module gated_cell (clk_in, SE, external_en, clk_out);

input clk_in, SE, external_en;

output clk_out;

wire clk_en_af_latch, n1;

TLATNX4 clk_en_af_latch_reg ( .D(external_en), .GN(clk_in), .Q(clk_en_af_latch) );

OAI21X4 U1 (.A0(SE), .A1(clk_en_af_latch), .B0(clk_in), .Y(n1) );

CLKINVX20 U2 ( .A(n1), .Y(clk_out) );

endmodule

其中clk_in, SE, external_en和clk_out分別對(duì)應(yīng)于圖2中的CLK, SCAN_ENABLE, GATE和GCLK,實(shí)例TLATNX4, OAI21X4和CLKINVX20的尺寸是根據(jù)全局設(shè)計(jì)中的驅(qū)動(dòng)能力在標(biāo)準(zhǔn)單元庫(kù)中選擇的。

3.2 產(chǎn)生門控時(shí)鐘單元的版圖描述GDS2文件和LEF文件

利用商業(yè)化的布圖布線工具產(chǎn)生門控時(shí)鐘的GDS2文件。這里以CADENCE版圖設(shè)計(jì)工具SE來說明門控時(shí)鐘的版圖描述GDS2文件的設(shè)計(jì)過程。

(1) 讀入標(biāo)準(zhǔn)單元庫(kù)的LEF(Library Exchange Format,庫(kù)交換格式)文件;讀入標(biāo)準(zhǔn)單元庫(kù)timing model GCF(General Constraints Format)文件;讀入門控時(shí)鐘單元的Verilog HDL網(wǎng)表文件和標(biāo)準(zhǔn)單元的Verilog HDL網(wǎng)表文件tsmc18.v。

(2) 初始化預(yù)布局(initialize floorplan),放置設(shè)計(jì)單元,布線。

(3) 在SE中導(dǎo)出門控時(shí)鐘單元的GDS2文件和LEF文件。

(4) 這里產(chǎn)生的GDS2文件是通過讀入標(biāo)準(zhǔn)單元的LEF文件產(chǎn)生的,不包含其中三個(gè)標(biāo)準(zhǔn)單元的版圖信息。所以要將SE導(dǎo)出的GDS2文件和Foundry提供的標(biāo)準(zhǔn)單元的GDS2文件讀入CADENCE的工具Virtuso,然后從Virtuso中再導(dǎo)出包含三個(gè)標(biāo)準(zhǔn)單元版圖信息的完整的GDS文件。生成的版圖如圖6所示。

3.3 Timing model的產(chǎn)生

Timing model提供單元的時(shí)序信息,在物理設(shè)計(jì)階段用于時(shí)序分析和時(shí)序優(yōu)化。Primetime是SYNOPSYS公司的靜態(tài)時(shí)序分析工具,這里借助Primetime來提取門控時(shí)鐘單元的Timing model。下面給出了min/max時(shí)序分析分析用Timing model的產(chǎn)生步驟,獨(dú)立的min,typical,max分析用的Timing model的產(chǎn)生步驟也是如此,只不過產(chǎn)生過程用的命令有些許變化(可以參考SYNOPSYS的幫助文檔)。

(1) 定義搜索和連接路徑;讀入標(biāo)準(zhǔn)單元庫(kù)的timing model文件

用到的命令:set link_path; set search_path; read_min_max_lib。

(2) 讀入門控時(shí)鐘單元的Verilog HDL描述設(shè)計(jì),設(shè)定連線模型和運(yùn)行環(huán)境,設(shè)定時(shí)鐘信號(hào)。

用到的命令:read_db; link_design; set_wire_load_model; set_operating_conditions; create_clock.

(3)提取門控時(shí)鐘的timing model。

命令和設(shè)定如下:

set extract_model_conservative true

set extract_model_tolerance 0.02

set extract_model_transition_limit 5.0

set extract_model_capacitance_limit 64

set extract_model_min_resolution 0.01

set extract_model_min_delay_threshold 35.0

extract_model -output ./model_min_max

-operating_conditions {MAX MIN}

-format {db lib}

-library_cell

- test_design

(4)打開產(chǎn)生的*.lib文件,將對(duì)應(yīng)的引腳名改為圖中所示引腳名。由于*.lib文件可以進(jìn)行編輯而*.db文件不能,所以將修改后的*.lib文件再讀入Primetime,重新提取修正過的db文件。

3.4 LVS用的spice網(wǎng)表文件的產(chǎn)生

運(yùn)用MENTOR公司的Calibre生成門控時(shí)鐘單元的SPICE網(wǎng)表文件,產(chǎn)生的網(wǎng)表文件用于對(duì)這個(gè)設(shè)計(jì)進(jìn)行LVS時(shí)引用。命令格式如下:

v2lvs –v ./verilog/clock_gating_cell.v –o ./lvs_netlist

/clock_gating_cell.sp

經(jīng)過以上步驟,生成了物理設(shè)計(jì)階段門控時(shí)鐘單元的庫(kù)文件,利用這些庫(kù)文件,就能夠在設(shè)計(jì)中將建立的門控時(shí)鐘單元像標(biāo)準(zhǔn)單元一樣使用。在布局布線優(yōu)化、時(shí)序優(yōu)化和功耗優(yōu)化時(shí)不需要額外考慮門控時(shí)鐘單元具體版圖信息、時(shí)序信息。

4門控時(shí)鐘單元在嵌入式

低功耗高性能CPU-CKxxx中的應(yīng)用

CKxxx(xxx為隱去的型號(hào))是一個(gè)“32位高性能低功耗嵌入式CPU,其中包含大量的總線和寄存器組,這種結(jié)構(gòu)適合于使用門控時(shí)鐘,由于使用一個(gè)門控時(shí)鐘單元IP可以替代多個(gè)MUX,減小芯片面積,降低芯片物理設(shè)計(jì)的復(fù)雜性。利用上述流程設(shè)計(jì)的IP已成功地應(yīng)用于CKxxx的設(shè)計(jì)中,圖7中白色的框?yàn)殚T控時(shí)鐘IP核單元的分布。

流片后的測(cè)試表明,采用門控時(shí)鐘單元IP設(shè)計(jì)的CKxxx工作正常。門控時(shí)鐘單元IP在CKxxx設(shè)計(jì)中的應(yīng)用,降低了STA的復(fù)雜性和其它后續(xù)的工作量,縮短了該芯片的tape-out時(shí)間,降低了芯片了功耗和面積,提升了設(shè)計(jì)的時(shí)序性能,提高了產(chǎn)品的整體性能。

5結(jié)論

將門控時(shí)鐘單元電路設(shè)計(jì)成一個(gè)獨(dú)立的IP,可以降低芯片物理設(shè)計(jì)階段的復(fù)雜性,減小芯片的面積,提升系統(tǒng)的時(shí)序性能,保證設(shè)計(jì)的成功率。首先根據(jù)門控時(shí)鐘結(jié)構(gòu)的Verilog HDL描述,在TSMC18工藝庫(kù)的基礎(chǔ)上生成了邏輯綜合階段所需要的庫(kù)文件,時(shí)序分析所需要的Timing model,版圖描述GDS2文件和LVS用的SPICE網(wǎng)表文件。該門控時(shí)鐘單元在嵌入式低功耗高性能CPU中的成功應(yīng)用說明了本文的設(shè)計(jì)的單元是正確的、有效的。

參考文獻(xiàn)

[1] Qing Wu, Pedram M, and Xunwei Wu, Clock-gating and its application to low power design of sequential circuits[J]. Circuits and Systems I: Fundamental Theory and Applications, IEEE Transactions on, 2000. 47(3): p. 415-420.

[2] Mukheijee A and Marek-Sadowska M. Clock and power gating with timing closure[J]. Design & Test of Computers, IEEE, 2003. 20(3): 32-39.

[3] Darren Jones, How to successfully use gated clocking in an ASIC design[C]. Boston: SNUG report, 2002.

[4] Synopsys, Power Compiler User Guide. 2003.

[5]Gray, Yeap K. Practical low power digital VLSI design[M]. Massachusetts: Kluwer Academic Publishers Group, 2001(2).

[6] 張永新, 陸生禮, 茹邦琴.門控時(shí)鐘的低功耗設(shè)計(jì)技術(shù)[J].微電子學(xué)與計(jì)算機(jī).2004, 21(1):23-26

作者簡(jiǎn)介

陳志強(qiáng),博士,主要研究方向?yàn)槌笠?guī)模集成電路低功耗設(shè)計(jì)研究及物理設(shè)計(jì)。

猜你喜歡
低功耗
核芯互聯(lián)發(fā)布高性能ADC模數(shù)轉(zhuǎn)換器
萊迪思發(fā)布全新低功耗FPGA技術(shù)平臺(tái)
一種應(yīng)用于低功耗植入式醫(yī)療芯片的無(wú)線能量管理單元
物聯(lián)網(wǎng)產(chǎn)業(yè)離不開低功耗藍(lán)牙通信技術(shù)
基于SOC的智能野外目標(biāo)監(jiān)視和記錄系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于餐飲服務(wù)的無(wú)線呼叫系統(tǒng)研究
基于ZigBee的無(wú)線聯(lián)網(wǎng)門鎖設(shè)計(jì)
基于壓電效應(yīng)的傳感器自供電徐詩(shī)友
基于Chirp擴(kuò)頻的超寬帶信號(hào)傳輸性能分析
岳池县| 睢宁县| 永宁县| 中方县| 武义县| 林口县| 禄丰县| 瑞安市| 荔浦县| 汽车| 康平县| 长沙县| 正蓝旗| 汝阳县| 治多县| 赤城县| 凤凰县| 大荔县| 昔阳县| 阜阳市| 山东省| 浦江县| 松江区| 大庆市| 乌海市| 任丘市| 高尔夫| 浪卡子县| 博白县| 通河县| 安康市| 赤壁市| 平和县| 平凉市| 新乡县| 拜城县| 孟州市| 仲巴县| 巴楚县| 太保市| 南皮县|