• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Matrix
            Klarke's C/C++ Home
            posts - 61,comments - 0,trackbacks - 0
            SPEF Stands for Standard Parasitic Extraction Format.

            SPEF file is generated by parasitic extractors like CALIBRE XRC.SPEF is fed to STA tool to do post layout Static Timing Analysis.

            SDF stands for Standard Delay Format

            SDF is widely used for transferring the Delay information between tools.Normally SDF is used in Pre Layout Static Timing Analysis.


            SPEF file describes spice netlist and RC infromation.
            After running LVS(LVS correctly), you can generate SPEF file from RC extraction tool(Xcalibre,Calibre-XRC--Mentor Star-RCXT--synopsys) or APR tool.

            As for SDF file, it describes cell delay(from synthesis library) and interconnect delay(from SPEF file).
            You can generate it from APR tool and PrimeTime(STA analysis tool).
            If you want to get accuracy SDF file to do STA analysis.
            I recommend you can use rc extraction tool to generate SPEF file and load into PrimeTime to generate SDF file to do STA analysis.
            posted @ 2012-05-09 15:35 Klarke 閱讀(1011) | 評(píng)論 (0)編輯 收藏
            Static timing analysis is a critical step in design of any digitalintegrated circuit. Technology and design trends have ledto significant increase in environmental and process variationswhich need to be incorporated in static timing analysis.This paper presents a new, efficient and accurate block-basedstatic timing analysis technique considering uncertainty.This new method is more efficient as its modelsarrival times as cumulative density functions (CDFs) anddelays as probability functions (PDFs). Computationallysimple expression are presented for basic static timing operations.The techniques are valid for any form of the probabilitydistribution, though the use piecewise linear modelingof CDFs is highlighted in this paper. Reconvergent fanoutsare handled using a new technique that avoids path tracing.Variable accuracy timing analysis can be performed byvarying the modeling accuracy of the piecewise linearmodel. Regular and statistical timing on different parts ofthe circuit can be incorporated into a single timing analysisrun. Accuracy and efficiency of the proposed method is demonstratedfor various ISCAS benchmark circuits.

            1. ideal

            2. latency

            3. skew= Tmax-Tmin

            4. clock uncertainty

            5. jitter (y軸 振幅)

            6. glitch(值變化,波形上有個(gè)毛刺,x軸)

            7. launch and the capture clock paths

            posted @ 2012-05-09 10:05 Klarke 閱讀(187) | 評(píng)論 (0)編輯 收藏

            set path [ report_timing -collection -from $name -max_points 1 ] set st_flag 1 set end_flag 0 foreach_in_collection path_x $path {

              set timing_points [ get_property $path_x timing_points ]

              set end_flag [ sizeof_collection $timing_points ]

              foreach_in_collection timing_points_x $timing_points {

                if {$st_flag == $end_flag} {

                  set arrival_end [ get_property $timing_points_x arrival ]

                }

                if {$st_flag == 1 } {

                  set arrival_start [ get_property $timing_points_x arrival ]

                }

                incr st_flag ;

                }

            set data_delay [ expr $arrival_end - $arrival_start ] puts $data_delay }






            Perhaps -tcl_list can also be used. Traverse the data in tcl list.

             

            set tarpt [report_timing -net -max_paths 100000 -tcl_list]      

            set banner [lindex $tarpt 0]

            set paths [lrange $tarpt 1 end]

            foreach path $paths {

                  foreach {path_num path_all} $path {

                     foreach attrVal $path_all {

                        foreach {attr val} $attrVal {

                           if {$attr=="slack_calc"} {

                              set WNS [lindex [lindex $val end] end]

                           }

                           if {$attr=="Endpoint"} {

                              set endPoint [lindex $val 0]

                           }

                           if {$attr=="Beginpoint"} {

                              set startPoint [lindex $val 0]

                           }

                       }

                   }

                }

                Puts "$endPoint $startPoint $WNS"

            }



            posted @ 2012-04-22 22:02 Klarke 閱讀(410) | 評(píng)論 (0)編輯 收藏
            dbGetHInstByName i_rgx_dusta
            dbGetInstByName i_rgx_dusta/i_rgx_usc0
            taGetTermFullName(TNetTerm)
            posted @ 2012-04-20 13:25 Klarke 閱讀(195) | 評(píng)論 (0)編輯 收藏
            chmod 777 fe/obj/64bit/mib/*
            run case...
            lcov...
            posted @ 2012-04-17 17:16 Klarke 閱讀(224) | 評(píng)論 (0)編輯 收藏

            格式: sed -i "s/查找字段/替換字段/g" `grep 查找字段 -rl 路徑`

            linux sed 批量替換多個(gè)文件中的字符串

            sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

            例如:替換/home下所有文件中的www.admin99.net為admin99.net

            sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`

            1. vi 方法
            參見vim用戶手冊(cè)26.

            *26.3*  改動(dòng)多個(gè)文件

            假定你有個(gè)變量名為 "x_cnt" 而你要把他改為 "x_counter"。
            這個(gè)變量在多個(gè) C 文件都被用到了。你需要在所有文件中作此改動(dòng)。你得這么做。
            把所有相關(guān)文件放進(jìn)參數(shù)列表:

            :args *.c

            這個(gè)命令會(huì)找到所有的 C 文件并編輯其中的第一個(gè)。
            現(xiàn)在你可以對(duì)所有這些文件執(zhí)行置換命令:

            :argdo %s/\<x_cnt\>/x_counter/ge | update

            命令 ":argdo" 把另一個(gè)命令當(dāng)作其參數(shù)。而后者將對(duì)參數(shù)列表內(nèi)所有的文件執(zhí)行。
            作為參數(shù)的替換命令 "%s" 作用于所有文本行。它用 "\<x_cnt\>" 來查找"x_cnt"。
            "\<" 和 "\>" 用來指定僅匹配那些完整的詞,而不是 "px_cnt" 或"x_cnt2"。

            替換命令的標(biāo)記中包含 "g",用以置換同一行文本內(nèi)出現(xiàn)的所有的匹配詞 "x_cnt"。
            標(biāo)記 "e" 用于避免因文件中找不到 "x_cnt" 而出現(xiàn)錯(cuò)誤信息。
            否則 ":argdo" 命令就會(huì)在遇到第一個(gè)找不到 "x_cnt" 的文件時(shí)中斷。
            字符 "|" 分隔兩條命令。后面的 "update" 命令將那些有改動(dòng)的文件存盤。
            如果沒有 "x_cnt" 被改成 "x_counter",這個(gè)命令什么也不做。

            還有一個(gè) ":windo" 命令,用于在所有視窗內(nèi)執(zhí)行其參數(shù)所規(guī)定的命令。
            以及 ":bufdo"命令,對(duì)所有緩沖執(zhí)行其參數(shù)所規(guī)定的命令。
            使用中要小心,因?yàn)槟阍诰彌_列表中的文件數(shù)量可能超過你能想像的。
            請(qǐng)用 ":buffers" 命令 (或 ":ls") 來檢查緩沖列表。


            2. perl方法
            可以在命令行下進(jìn)行替換,
            仍然以vi方法中的例子進(jìn)行講解,把c文件中的"x_cnt" 改為 "x_counter"。
            可以執(zhí)行以下命令:
            find . -name '*.c' -print0 | xargs -0 perl -pi -e 's/x_cnt/x_counter/g'

            xargs 把find命令的結(jié)果作為perl的參數(shù)。
            find的參數(shù)-print0和xargs的參數(shù)-0是防止文件名中有空格或新行造成錯(cuò)誤,可以man xargs獲得幫助。

            注意: 如果替換的字符包括 ()[]/"'!? 等等這樣的特殊字符,你必須在字符前加上反斜杠\ 。

            這種方法的好處是不用啟動(dòng)編輯器,比較迅速。缺點(diǎn)是容易出現(xiàn)不想要的替換,例如:把px_cnt替換成了px_counter。

            3. sed
            仍以上面的例子講解:
            find . -name "*.c" -print0 | xargs -0 sed -i 's/x_cnt/x_counter/g'
            優(yōu)缺點(diǎn)和perl方法相同。

            posted @ 2012-03-28 13:37 Klarke 閱讀(935) | 評(píng)論 (0)編輯 收藏

            To: sjfarm
            Cc: Xinghui Shen; Zhenxiang Hu
            Subject: Can you help add access right?

             

            Hi

            Can anyone help add access right?

             

            sjfnl793:.../kenyu>/grid/sfi/script/scratch mk -s 200 -d scrach_disk

            ERROR: you have not been registered with the scratch setup pls email sjfarm



            I have added you in scratch storage, please review the usage info as attached and following policy.

             

            1) There is no high-availability setup - data can become unavailable.

            2) There is no data backup - data can't be recovered after deletion.

            3) It should not be used for critical data and there should not be escalation on scratch data issue.

            4) There are specific retention periods and data will be deleted upon expiration.

            5) Users should not run UNIX "rm" to delete their data, but rather run "scratch release dirName" to release the data for admin's daily collection.

            6) users should frequently release their unused dirs to help preserve the space.

            7) Users should act properly and promptly upon notification email from the scratch admin

             

            posted @ 2012-03-27 17:15 Klarke 閱讀(181) | 評(píng)論 (0)編輯 收藏

            set count 0
            dbForEachCellInst [dbgTopCell] inst {
              set cell [dbInstCell $inst]
              if {[mib::isCellFlexFiller [dbCellName $cell]]} {
                dbForEachInstTerm $inst term {
                  if {[dbIsTermTieHi $term] || [dbIsTermTieLo $term]} {
                    incr count
                  }
                }
              }
            }

            Puts "Test : There is $count flexFiller connected to tieHi or TieLo"

             

            posted @ 2011-10-11 13:50 Klarke 閱讀(239) | 評(píng)論 (0)編輯 收藏

            createActiveLogicView -type module -hInst <hinst name>


            dbForEachHInstTreeHInst [dbCellHInst [dbgTopCell]] hinst {

             set name [dbHInstName $hinst]

             createActiveLogicView -type module -hinst $name

             set total 0

             set count 0

             dbForEachHInstTreeInst $hinst inst {

                if {[dbIsInstUnused $inst]} {

                  incr count

                }

                incr total

             }

             Puts "YQ $name : $count/$total"

            }

             

            --- > All hinsts have 0 internal instance.

            posted @ 2011-10-10 17:33 Klarke 閱讀(290) | 評(píng)論 (0)編輯 收藏
                36  dbGetHTermByInstTermName
                37  dbGetHTermByInstTermName ChipTop/VdispCap_0/VDISP1/D0ack64x
                38  dbHTermNet 0x29d0b878
                39  dbNetName 0x2adcac88b8
                40  report_net ChipTop/n_car_l1_mbus2axi_0_ox_mrdack_2
                41  report_net -net ChipTop/n_car_l1_mbus2axi_0_ox_mrdack_2
                42  history
                43  *case*
                44  report_case_analysis -help
                45  dbGetNetByName ChipTop/n_car_l1_mbus2axi_0_ox_mrdack_2
                46  dbForEachNetOutputTerm 0x2adcac88b8 term {
                    set inst [dbTermInst $term]
                    Puts "[dbInstName $inst $inst]/[dbTermName $term]"
                    }
                47  history
                48  dbForEachNetOutputTerm 0x2adcac88b8 term {
                            set inst [dbTermInst $term]
                            Puts "[dbInstName $inst ]/[dbTermName $term]"
                            }
                49  report_case_analysis -help
                50  report_case_analysis ChipTop/CAR_L1_MBUS2AXI_0/CAR_L2_MBUS2AXIR_0/CAR_L2_MBUS2AXIR_MBUSIF_0/U518/YB
                51  report_case_analysis -all
            posted @ 2011-09-27 15:40 Klarke 閱讀(154) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題
            共7頁: 1 2 3 4 5 6 7 
            中文字幕无码av激情不卡久久| 久久久久国产精品嫩草影院| 中文字幕热久久久久久久| 伊人久久大香线蕉影院95| 国产精品一区二区久久不卡| 亚洲精品乱码久久久久久久久久久久 | 国产精品中文久久久久久久| 91精品婷婷国产综合久久| 久久精品视频免费| 免费一级欧美大片久久网| 一本大道久久香蕉成人网| 精品国产乱码久久久久久呢| 国产成人无码精品久久久性色| 日韩av无码久久精品免费| 亚洲国产成人久久综合一| 久久黄视频| 伊人久久综合成人网| 久久精品国产一区二区三区日韩| 国内精品久久久久久久涩爱 | 久久国产精品一区| 亚洲精品第一综合99久久| 欧美一区二区三区久久综| 色综合久久综合网观看| 性做久久久久久久久久久| 亚洲国产精品高清久久久| 久久久久久狠狠丁香| 亚洲中文字幕伊人久久无码| 色偷偷88888欧美精品久久久| 7国产欧美日韩综合天堂中文久久久久 | 久久有码中文字幕| 久久精品国产亚洲AV久| 青青国产成人久久91网| 日韩精品久久无码中文字幕| 久久精品国产99国产精品| 欧洲人妻丰满av无码久久不卡| 精品熟女少妇aⅴ免费久久| 7777久久久国产精品消防器材| Xx性欧美肥妇精品久久久久久 | 亚洲国产成人久久笫一页| 热re99久久精品国99热| 日韩美女18网站久久精品|