• <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 閱讀(1012) | 評論 (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(值變化,波形上有個毛刺,x軸)

            7. launch and the capture clock paths

            posted @ 2012-05-09 10:05 Klarke 閱讀(189) | 評論 (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 閱讀(411) | 評論 (0)編輯 收藏
            dbGetHInstByName i_rgx_dusta
            dbGetInstByName i_rgx_dusta/i_rgx_usc0
            taGetTermFullName(TNetTerm)
            posted @ 2012-04-20 13:25 Klarke 閱讀(197) | 評論 (0)編輯 收藏
            chmod 777 fe/obj/64bit/mib/*
            run case...
            lcov...
            posted @ 2012-04-17 17:16 Klarke 閱讀(227) | 評論 (0)編輯 收藏

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

            linux sed 批量替換多個文件中的字符串

            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用戶手冊26.

            *26.3*  改動多個文件

            假定你有個變量名為 "x_cnt" 而你要把他改為 "x_counter"。
            這個變量在多個 C 文件都被用到了。你需要在所有文件中作此改動。你得這么做。
            把所有相關文件放進參數列表:

            :args *.c

            這個命令會找到所有的 C 文件并編輯其中的第一個。
            現在你可以對所有這些文件執行置換命令:

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

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

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

            還有一個 ":windo" 命令,用于在所有視窗內執行其參數所規定的命令。
            以及 ":bufdo"命令,對所有緩沖執行其參數所規定的命令。
            使用中要小心,因為你在緩沖列表中的文件數量可能超過你能想像的。
            請用 ":buffers" 命令 (或 ":ls") 來檢查緩沖列表。


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

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

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

            這種方法的好處是不用啟動編輯器,比較迅速。缺點是容易出現不想要的替換,例如:把px_cnt替換成了px_counter。

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

            posted @ 2012-03-28 13:37 Klarke 閱讀(937) | 評論 (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 閱讀(182) | 評論 (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 閱讀(242) | 評論 (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 閱讀(291) | 評論 (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 閱讀(157) | 評論 (0)編輯 收藏
            僅列出標題
            共7頁: 1 2 3 4 5 6 7 
            久久精品毛片免费观看| 99热成人精品免费久久| 亚洲香蕉网久久综合影视| 久久久噜噜噜久久熟女AA片| 国产成人综合久久综合| 国产高清国内精品福利99久久| 色婷婷久久综合中文久久一本| 国内精品伊人久久久久妇| 精品久久久久久中文字幕人妻最新| 国产综合精品久久亚洲| 国产一区二区久久久| 国产精品久久亚洲不卡动漫| 伊人久久大香线蕉AV一区二区| 人妻精品久久无码区| 久久精品国产一区二区三区 | 久久91这里精品国产2020| 色偷偷88欧美精品久久久| 久久国产精品久久久| 久久精品人人做人人爽电影| 久久夜色tv网站| 99久久精品国内| 日韩av无码久久精品免费| 久久精品国产精品亜洲毛片| 久久九九精品99国产精品| 久久亚洲sm情趣捆绑调教| 久久一区二区免费播放| 国产精品欧美久久久久天天影视| 97久久天天综合色天天综合色hd| 亚洲人成网亚洲欧洲无码久久| 久久嫩草影院免费看夜色| 97久久超碰成人精品网站| 婷婷伊人久久大香线蕉AV | 久久久久久一区国产精品| 久久夜色tv网站| 99久久精品免费观看国产| 久久99精品久久久久久| 国产成人久久精品区一区二区| 久久91精品久久91综合| 久久er国产精品免费观看2| 久久亚洲精品中文字幕三区| 国产精品狼人久久久久影院|