• <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 
            精品久久久久中文字幕一区| 一本久久a久久精品综合香蕉 | 亚洲а∨天堂久久精品9966| 亚洲精品tv久久久久久久久久| 婷婷伊人久久大香线蕉AV| 国产精品久久网| 久久精品视频一| 久久精品国产亚洲沈樵| 亚洲精品国产综合久久一线| 久久久久亚洲AV无码永不| 久久久久久亚洲精品不卡| 久久亚洲国产成人精品性色| 久久国产成人| 国产精品久久99| 亚洲人成网亚洲欧洲无码久久| 久久高潮一级毛片免费| 国产产无码乱码精品久久鸭| 久久九九久精品国产免费直播| 精品久久久久一区二区三区| 91精品国产色综合久久| 午夜天堂av天堂久久久| 久久伊人五月丁香狠狠色| 久久久国产精品| 麻豆精品久久久一区二区| 99久久无码一区人妻a黑| 亚洲色大成网站www久久九| 亚洲一级Av无码毛片久久精品| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久天天躁狠狠躁夜夜2020一| 国产成人精品久久一区二区三区av | 久久精品免费大片国产大片| 9久久9久久精品| 99久久er这里只有精品18| 久久婷婷五月综合色高清| 久久夜色精品国产欧美乱| 精品久久人妻av中文字幕| 久久精品亚洲日本波多野结衣| 久久久一本精品99久久精品66| 精品无码久久久久久尤物| 久久精品国产亚洲av麻豆色欲| 99国产精品久久久久久久成人热|