• <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 
            91久久婷婷国产综合精品青草 | 99久久99久久精品免费看蜜桃| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 久久久久久亚洲AV无码专区| 久久国产精品免费一区| 无码AV中文字幕久久专区| 无码国内精品久久人妻麻豆按摩| 99久久久精品| 亚洲欧洲精品成人久久曰影片 | 久久久久亚洲AV无码专区体验| 精品久久久久久综合日本| 久久亚洲AV成人无码电影| 久久99久国产麻精品66| 中文精品久久久久人妻| 99久久久国产精品免费无卡顿| 久久久国产乱子伦精品作者| 久久精品无码免费不卡| 久久久亚洲精品蜜桃臀| 久久久久久国产精品无码下载| 亚洲va久久久噜噜噜久久狠狠| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 狠狠色丁香婷婷综合久久来| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 亚洲国产欧洲综合997久久| 久久久久无码专区亚洲av| 久久久久AV综合网成人| 久久午夜夜伦鲁鲁片免费无码影视| 深夜久久AAAAA级毛片免费看| 久久精品欧美日韩精品| 亚洲国产欧美国产综合久久| 久久久这里有精品| 精品久久久久久无码专区不卡 | 久久久精品人妻一区二区三区蜜桃 | 色综合久久久久无码专区| 久久天天躁狠狠躁夜夜躁2014| 亚洲AⅤ优女AV综合久久久| 久久精品国产亚洲AV不卡| 久久精品无码专区免费| 四虎影视久久久免费观看| 亚洲а∨天堂久久精品| 久久久久久久波多野结衣高潮 |