• <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 閱讀(998) | 評論 (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 閱讀(184) | 評論 (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 閱讀(398) | 評論 (0)編輯 收藏
            dbGetHInstByName i_rgx_dusta
            dbGetInstByName i_rgx_dusta/i_rgx_usc0
            taGetTermFullName(TNetTerm)
            posted @ 2012-04-20 13:25 Klarke 閱讀(191) | 評論 (0)編輯 收藏
            chmod 777 fe/obj/64bit/mib/*
            run case...
            lcov...
            posted @ 2012-04-17 17:16 Klarke 閱讀(223) | 評論 (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 閱讀(934) | 評論 (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 閱讀(179) | 評論 (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 閱讀(236) | 評論 (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 閱讀(288) | 評論 (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 閱讀(153) | 評論 (0)編輯 收藏
            僅列出標題
            共7頁: 1 2 3 4 5 6 7 
            国产精品综合久久第一页| 久久综合视频网站| 久久亚洲精品国产亚洲老地址 | 精品久久久久久无码国产| 久久久久久久久66精品片| 伊人久久精品线影院| 久久综合中文字幕| 色综合久久无码中文字幕| 久久久久久久亚洲Av无码| 国产成人精品三上悠亚久久| 99久久夜色精品国产网站| 97超级碰碰碰久久久久| 香港aa三级久久三级| 国产69精品久久久久9999| 国产成人精品久久亚洲| 国产精品一久久香蕉国产线看| 久久综合狠狠综合久久综合88| 亚洲精品美女久久777777| 久久精品成人国产午夜| 久久久久人妻一区二区三区| 国产成人久久精品一区二区三区 | 久久久久免费精品国产| 久久精品中文无码资源站| 久久AV高清无码| 无码人妻久久一区二区三区蜜桃 | 久久人人爽人人人人片av| 午夜天堂精品久久久久| 久久精品视频91| 69久久精品无码一区二区| 久久久久99精品成人片三人毛片| 国产V综合V亚洲欧美久久| 免费精品99久久国产综合精品| 中文字幕精品无码久久久久久3D日动漫 | 久久精品草草草| 久久久国产亚洲精品| 国内精品久久久久久麻豆| 亚洲级αV无码毛片久久精品| 国产亚洲精午夜久久久久久| 国产99久久久久久免费看| 久久久久久精品无码人妻| 久久频这里精品99香蕉久|