chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

clock-gating的綜合實(shí)現(xiàn)

冬至配餃子 ? 來(lái)源:IC的世界 ? 作者:IC小鴿 ? 2023-09-04 15:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、Clock-gating 說(shuō)明

ASIC設(shè)計(jì)中,項(xiàng)目會(huì)期望設(shè)計(jì)將代碼寫(xiě)成clk-gating風(fēng)格,以便于DC綜合時(shí)將寄存器綜合成clk-gating結(jié)構(gòu),其目的是為了降低翻轉(zhuǎn)功耗。因?yàn)楫?dāng)控制信號(hào)(vld_in)無(wú)效時(shí),使用了clk-gating后的寄存器,其CK(clk)端口一直為0,因此不存在翻轉(zhuǎn),能夠有效降低寄存器的翻轉(zhuǎn)功耗和對(duì)應(yīng)的時(shí)鐘樹(shù)的翻轉(zhuǎn)功耗。如下所示:下圖左側(cè)是DC綜合后的clk -gating結(jié)構(gòu)圖,使用了ICG模塊進(jìn)行時(shí)鐘gating,被gating后的時(shí)鐘連接到寄存器的CK端。右側(cè)是沒(méi)有被clk-gating的寄存器結(jié)構(gòu)圖。

image.png

2、Clock-gating 編碼風(fēng)格

如下圖所示,case1和case3 為gating style風(fēng)格。DC綜合時(shí)更容易產(chǎn)生clk gating。NOTE: 這里說(shuō)的是更容易,而不是一定。綜合工具會(huì)根據(jù)同一組(同一個(gè)vld控制的)的寄存器bit位數(shù)量進(jìn)行決策,如果數(shù)量過(guò)少,則不進(jìn)行clk gating,因?yàn)槭褂肐CG模塊本身就存在面積和功耗的增加。

案例1中,data為3bit,則沒(méi)有產(chǎn)生clk gating。

案例2中,data為7bit,data1_out和data3_out均產(chǎn)生了產(chǎn)生clk gati

image.png

3、data位寬3bit

3.1 RTL代碼

module try_top (

    input                                               clk                                    ,   //
    input                                               rst_n                                  ,   //
    input                                               vld_in                                 ,   //
    input               [3-1:0]                        data_in                                ,   //

    output  reg                                         vld_out                                ,   //
    output  reg         [3-1:0]                        data3_out                               ,   //
    output  reg         [3-1:0]                        data1_out                               ,   //
    output  reg         [3-1:0]                        data2_out                                   //

);

always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        vld_out                          <=              1'b0                                    ;   
    end
    else begin
        vld_out                          <=              vld_in                                  ;   
    end

always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        data1_out                          <=              'b0                                    ;   
    end
    else if(vld_in) begin
        data1_out                          <=              data_in                               ;   
    end
    
always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        data2_out                          <=              'b0                                    ;   
    end
    else if(vld_in) begin
        data2_out                          <=              data_in                               ;   
    end else begin
        data2_out                          <=              'b0                                    ;   
    end

always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        data3_out                          <=              'b0                                   ;   
    end
    else if(vld_in) begin
        data3_out                          <=              data_in                               ;   
    end else begin
        data3_out                          <=              data3_out                             ;   
    end
        
    endmodule

3.2 網(wǎng)表文件--沒(méi)有產(chǎn)生clk-gating

module try_top ( clk, rst_n, vld_in, data_in, vld_out, data3_out, data1_out, 
        data2_out );
  input [2:0] data_in;
  output [2:0] data3_out;
  output [2:0] data1_out;
  output [2:0] data2_out;
  input clk, rst_n, vld_in;
  output vld_out;
  wire   n6, n8, n10, n12, n14, n16, n18, n20, n22, n24, n26;

  SDFFRPQL_*CELL_TYPE* data2_out_reg_0_ ( .D(n6), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data2_out[0]) );
  SDFFRPQL_*CELL_TYPE* vld_out_reg ( .D(vld_in), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(vld_out) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_2_ ( .D(n22), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data1_out[2]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_1_ ( .D(n20), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data1_out[1]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_0_ ( .D(n18), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data1_out[0]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_2_ ( .D(n16), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data3_out[2]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_1_ ( .D(n14), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data3_out[1]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_0_ ( .D(n12), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data3_out[0]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_2_ ( .D(n10), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data2_out[2]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_1_ ( .D(n8), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n24), .Q(data2_out[1]) );
  INVP_*CELL_TYPE* U18 ( .A(rst_n), .Y(n24) );
  AND2_*CELL_TYPE* U19 ( .A(data_in[1]), .B(vld_in), .Y(n8) );
  AND2_*CELL_TYPE* U20 ( .A(data_in[2]), .B(vld_in), .Y(n10) );
  AND2_*CELL_TYPE* U21 ( .A(data_in[0]), .B(vld_in), .Y(n6) );
  INVP_*CELL_TYPE* U22 ( .A(vld_in), .Y(n26) );
  AO21_*CELL_TYPE* U23 ( .A0(data3_out[1]), .A1(n26), .B0(n8), .Y(n14) );
  AO21_*CELL_TYPE* U24 ( .A0(data3_out[0]), .A1(n26), .B0(n6), .Y(n12) );
  AO21_*CELL_TYPE* U25 ( .A0(data1_out[0]), .A1(n26), .B0(n6), .Y(n18) );
  AO21_*CELL_TYPE* U26 ( .A0(data1_out[1]), .A1(n26), .B0(n8), .Y(n20) );
  AO21_*CELL_TYPE* U27 ( .A0(data3_out[2]), .A1(n26), .B0(n10), .Y(n16)
         );
  AO21_*CELL_TYPE* U28 ( .A0(data1_out[2]), .A1(n26), .B0(n10), .Y(n22)
         );
endmodule

4、data位寬7bit

4.1 RTL代碼

module try_top (

    input                                               clk                                    ,   //
    input                                               rst_n                                  ,   //
    input                                               vld_in                                 ,   //
    input               [7-1:0]                        data_in                                ,   //

    output  reg                                         vld_out                                ,   //
    output  reg         [7-1:0]                        data3_out                               ,   //
    output  reg         [7-1:0]                        data1_out                               ,   //
    output  reg         [7-1:0]                        data2_out                                   //
);


always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        vld_out                          <=              1'b0                                    ;   
    end
    else begin
        vld_out                          <=              vld_in                                  ;   
    end


always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        data1_out                          <=              'b0                                    ;   
    end
    else if(vld_in) begin
        data1_out                          <=              data_in                               ;   
    end
    
    
always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        data2_out                          <=              'b0                                    ;   
    end
    else if(vld_in) begin
        data2_out                          <=              data_in                               ;   
    end else begin
        data2_out                          <=              'b0                                    ;   
    end


always@(posedge clk or negedge rst_n)
    if(!rst_n) begin
        data3_out                          <=              'b0                                   ;   
    end
    else if(vld_in) begin
        data3_out                          <=              data_in                               ;   
    end else begin
        data3_out                          <=              data3_out                             ;   
    end
    
    
    endmodule

4.2.網(wǎng)表文件--產(chǎn)生了clk-gating

module try_top ( clk, rst_n, vld_in, data_in, vld_out, data3_out, data1_out, 
        data2_out );
  input [6:0] data_in;
  output [6:0] data3_out;
  output [6:0] data1_out;
  output [6:0] data2_out;
  input clk, rst_n, vld_in;
  output vld_out;
  wire   clk_gclk_0, n3, n5, n7, n9, n11, n13, n15, n31;

  SNPS_CLOCK_GATE_HIGH_try_top inferred_cg_0 ( .CLK(clk), .EN(vld_in), .ENCLK(
        clk_gclk_0), .TE(1'b0) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_0_ ( .D(data_in[0]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[0]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_0_ ( .D(n3), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[0]) );
  SDFFRPQL_*CELL_TYPE* vld_out_reg ( .D(vld_in), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(vld_out) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_6_ ( .D(data_in[6]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[6]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_5_ ( .D(data_in[5]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[5]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_4_ ( .D(data_in[4]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[4]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_3_ ( .D(data_in[3]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[3]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_2_ ( .D(data_in[2]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[2]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_1_ ( .D(data_in[1]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[1]) );
  SDFFRPQL_*CELL_TYPE* data1_out_reg_0_ ( .D(data_in[0]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data1_out[0]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_6_ ( .D(data_in[6]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[6]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_5_ ( .D(data_in[5]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[5]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_4_ ( .D(data_in[4]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[4]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_3_ ( .D(data_in[3]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[3]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_2_ ( .D(data_in[2]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[2]) );
  SDFFRPQL_*CELL_TYPE* data3_out_reg_1_ ( .D(data_in[1]), .SI(1'b0), .SE(
        1'b0), .CK(clk_gclk_0), .R(n31), .Q(data3_out[1]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_6_ ( .D(n15), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[6]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_5_ ( .D(n13), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[5]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_4_ ( .D(n11), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[4]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_3_ ( .D(n9), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[3]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_2_ ( .D(n7), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[2]) );
  SDFFRPQL_*CELL_TYPE* data2_out_reg_1_ ( .D(n5), .SI(1'b0), .SE(1'b0), 
        .CK(clk), .R(n31), .Q(data2_out[1]) );
  INVP_*CELL_TYPE* U13 ( .A(rst_n), .Y(n31) );
  AND2_*CELL_TYPE* U14 ( .A(vld_in), .B(data_in[6]), .Y(n15) );
  AND2_*CELL_TYPE* U15 ( .A(vld_in), .B(data_in[5]), .Y(n13) );
  AND2_*CELL_TYPE* U16 ( .A(vld_in), .B(data_in[4]), .Y(n11) );
  AND2_*CELL_TYPE* U17 ( .A(vld_in), .B(data_in[3]), .Y(n9) );
  AND2_*CELL_TYPE* U18 ( .A(vld_in), .B(data_in[2]), .Y(n7) );
  AND2_*CELL_TYPE* U19 ( .A(vld_in), .B(data_in[1]), .Y(n5) );
  AND2_*CELL_TYPE* U20 ( .A(vld_in), .B(data_in[0]), .Y(n3) );
endmodule


module SNPS_CLOCK_GATE_HIGH_try_top ( CLK, EN, ENCLK, TE );
  input CLK, EN, TE;
  output ENCLK;

  PREICG_*CELL_TYPE* latch ( .CK(CLK), .E(EN), .SE(TE), .ECK(ENCLK) );
endmodule
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5493

    瀏覽量

    127698
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    38

    文章

    1365

    瀏覽量

    107361
  • ASIC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    10999
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    392

    瀏覽量

    62015
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    132

    瀏覽量

    17851
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    DFT設(shè)計(jì)實(shí)戰(zhàn)案例解讀

    test_mode接TE的缺點(diǎn)是capture mode下無(wú)法測(cè)試到functional clock-gating logic,就是functional clock-gating logic完全被
    的頭像 發(fā)表于 01-16 13:49 ?9767次閱讀
    DFT設(shè)計(jì)實(shí)戰(zhàn)案例解讀

    RTL實(shí)例化的clock gating cell淺見(jiàn)

    現(xiàn)在的深亞納米工藝的設(shè)計(jì)中,低功耗已經(jīng)是一個(gè)日漸總要的主題了,尤其是移動(dòng)市場(chǎng)蓬勃發(fā)展起來(lái)之后,功耗的要求越來(lái)越嚴(yán)格,據(jù)傳,在高級(jí)的手機(jī)系統(tǒng)開(kāi)發(fā)的過(guò)程中,系統(tǒng)架構(gòu)的設(shè)計(jì),已經(jīng)精確到每一個(gè)服務(wù)模塊的毫安時(shí)(mAH)的級(jí)別,所以如果你的芯片功耗控制不下來(lái),很有可能會(huì)被手機(jī)生產(chǎn)廠家踢出局。
    的頭像 發(fā)表于 07-14 10:14 ?3168次閱讀
    RTL實(shí)例化的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b> cell淺見(jiàn)

    淺析clock gating模塊電路結(jié)構(gòu)

    ICG(integrated latch clock gate)就是一個(gè)gating時(shí)鐘的模塊,通過(guò)使能信號(hào)能夠關(guān)閉時(shí)鐘。
    的頭像 發(fā)表于 09-11 12:24 ?3540次閱讀
    淺析<b class='flag-5'>clock</b> <b class='flag-5'>gating</b>模塊電路結(jié)構(gòu)

    verilog 循環(huán)以及@(clock)的綜合

    1,在一個(gè)verilog程序里,如果循環(huán)是一個(gè)循環(huán)次數(shù)不可定的循環(huán),那么它能被綜合工具綜合嗎2,如果程序里有always @(clock)里面又嵌套了@(clock)這樣的控制事件,這
    發(fā)表于 02-03 15:29

    FPGA的時(shí)鐘門(mén)控是好還是壞?

    queries regarding clock gating. from what i've read/learnt - clock gating can be used for l
    發(fā)表于 02-21 10:21

    通常有兩種不同的時(shí)鐘門(mén)控實(shí)現(xiàn)技術(shù)

    constrained,mobile端不能夠充更多的電就只能盡可能地降低功耗了(無(wú)法開(kāi)源只能節(jié)流呀),也因?yàn)闀r(shí)鐘門(mén)控是降低芯片動(dòng)態(tài)功耗最簡(jiǎn)單,最常用的方法之一。 時(shí)鐘門(mén)控技術(shù)分類:通常,有兩種不同的時(shí)鐘門(mén)控實(shí)現(xiàn)技術(shù)。 combinational clock
    的頭像 發(fā)表于 06-13 16:48 ?3060次閱讀

    低功耗設(shè)計(jì)基礎(chǔ):Clock Gating

    大多數(shù)低功耗設(shè)計(jì)手法在嚴(yán)格意義上說(shuō)并不是由后端控制的,Clock Gating也不例外。
    的頭像 發(fā)表于 06-27 15:47 ?2440次閱讀
    低功耗設(shè)計(jì)基礎(chǔ):<b class='flag-5'>Clock</b> <b class='flag-5'>Gating</b>

    AND GATE的clock gating check簡(jiǎn)析

    一個(gè)cell的一個(gè)輸入為clock信號(hào),另一個(gè)輸入為gating信號(hào),并且輸出作為clock使用,這樣的cell為gating cell。
    的頭像 發(fā)表于 06-29 15:28 ?4550次閱讀
    AND GATE的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b> check簡(jiǎn)析

    低功耗之門(mén)控時(shí)鐘設(shè)計(jì)

    clock gating和power gating是降低芯片功耗的常用手段,相比power gating設(shè)計(jì),clock
    的頭像 發(fā)表于 06-29 17:23 ?5470次閱讀
    低功耗之門(mén)控時(shí)鐘設(shè)計(jì)

    Clock Gating的特點(diǎn)、原理和初步實(shí)現(xiàn)

    當(dāng)下這社會(huì),沒(méi)有幾萬(wàn)個(gè)Clock Gating,出門(mén)都不好意思和別人打招呼!
    的頭像 發(fā)表于 07-17 16:50 ?6152次閱讀
    <b class='flag-5'>Clock</b> <b class='flag-5'>Gating</b>的特點(diǎn)、原理和初步<b class='flag-5'>實(shí)現(xiàn)</b>

    ASIC的clock gating在FPGA里面實(shí)現(xiàn)是什么結(jié)果呢?

    首先,ASIC芯片的clock gating絕對(duì)不能采用下面結(jié)構(gòu),原因是會(huì)產(chǎn)生時(shí)鐘毛刺
    發(fā)表于 08-25 09:53 ?1391次閱讀
    ASIC的<b class='flag-5'>clock</b> <b class='flag-5'>gating</b>在FPGA里面<b class='flag-5'>實(shí)現(xiàn)</b>是什么結(jié)果呢?

    時(shí)鐘子系統(tǒng)中clock驅(qū)動(dòng)實(shí)例

    都要早期,因此clock驅(qū)動(dòng)是在內(nèi)核中進(jìn)行實(shí)現(xiàn)。 在內(nèi)核的 drivers/clk 目錄下,可以看到各個(gè)芯片廠商對(duì)各自芯片clock驅(qū)動(dòng)的實(shí)現(xiàn): 下面以一個(gè)簡(jiǎn)單的時(shí)鐘樹(shù),舉例說(shuō)明一個(gè)
    的頭像 發(fā)表于 09-27 14:39 ?1602次閱讀
    時(shí)鐘子系統(tǒng)中<b class='flag-5'>clock</b>驅(qū)動(dòng)實(shí)例

    什么是Clock Gating技術(shù)?Clock Gating在SoC設(shè)計(jì)中的重要性

    隨著集成電路技術(shù)的不斷發(fā)展,芯片中的晶體管數(shù)量呈現(xiàn)出爆炸性增長(zhǎng)。為了提高性能,降低功耗,SoC設(shè)計(jì)中采用了各種優(yōu)化技術(shù)
    的頭像 發(fā)表于 10-07 11:39 ?4254次閱讀

    IC設(shè)計(jì):clock-gating綜合實(shí)現(xiàn)方案

    當(dāng)CK為0時(shí),ECK 恒定為0, q值為E:如果E為1,則q為1,如果E為0,則q為0。 當(dāng)CK為1時(shí),ECK 恒定為q(n),即對(duì)應(yīng)的上一次CK為0時(shí),鎖存的E值。 因此最終的效果就是,只要E配置成了0,那么ECK會(huì)在CK的下降沿跳變成0,隨后只要E保持為0,那么ECK一直為0。
    發(fā)表于 10-16 09:43 ?2892次閱讀
    IC設(shè)計(jì):<b class='flag-5'>clock-gating</b><b class='flag-5'>綜合</b><b class='flag-5'>實(shí)現(xiàn)</b>方案

    SOC設(shè)計(jì)中Clock Gating的基本原理與應(yīng)用講解

    SOC(System on Chip,片上系統(tǒng))設(shè)計(jì)中,時(shí)鐘信號(hào)的控制對(duì)于整個(gè)系統(tǒng)的性能和功耗至關(guān)重要。本文將帶您了解SOC設(shè)計(jì)中的一種時(shí)鐘控制技術(shù)——Clock Gating,通過(guò)Verilog代碼實(shí)例的講解,讓您對(duì)其有更深入的認(rèn)識(shí)。
    的頭像 發(fā)表于 04-28 09:12 ?3879次閱讀