CTS flow使用小贴士

本文介绍如何配置CTS流程并结合ESP爬虫进行文档抓取及处理,涉及CTS流程的搭建、管道配置、爬虫参数设置等关键技术点。
#Run CTS Flow
#Try the Sample flow ReadDocumentBasic.flow
#Develop a CTS flow using ESP crawler
Need to enable callback
for both the nullWriter and ESPWriter
 
#configure a pipeline to collaborate with CTS flow
Get CTS Stages ctsAnnotationsImporter and ctsParser from feedingOverlay Package.
Don't use ctsAnnotationsImporter and related scope processing stage(scopifier and xmlifier),especially for CJK,
It seems not working right now,otherwise will get "FIXML has illegal UTF-8 byte sequences".

Create a pipeline named CrawlerCts using sitesearch pipeline as template
1.Instance a staqe named CtsParserCrawler based on CtsParser
GenerateScopesFromAnnotations 0

2.Put CtsParserCrawler after Docinit
3.Remove the follow stages:
DocumentRetriever
URLProcessor
Decompressor
FormatDetector
SimpleConverter
FlashConverter
PDFConverter
XPSConverter
SearchExportConverter
FastHTMLParser
 
#For CJK,Don't remove
LanguageAndEncodingDetector
EncodingNormalizer
 
#If you need WebAnalyser,Don't remove
WAAttributeLookup
WALinkRankAnchorTextFormatter
WACrawlerLinkFilter
WARankDocument
4.The CtsAnnotationsImporter is not necessary If you don't need scope searching
 
Tips: define your collection name in the Mapper operator
 
#Using ESP Crawler with CTS
c:/esp/etc/CrawlerGlobalDefaults.xml
...
<section name="cde"> 
  <attrib name="contentdistributors" type="list-string">
    <member> localhost:17078 </member>
  </attrib>
</section>
...
nctrl stop crawler
nctrl start crawler
Configure crawler's feeding destinations parameter on the Admin GUI
(What the FSIS document said will not work,Because if no feeding destination define,the
export config file will be empty for this group parameters)
name:cde
Target Collection:cntv1;fsistraining.crawlingvideo
Destination:cde
Pause ESP feeding:no
Primary:yes
 

crawleradmin.exe -G cntv1 > crawler_cntv1.xml
notepad ./cawler_cntv1.xml
#Confirm the feeding destination parameter
section name="feeding">
            <section name="cde">
                <attrib name="collection" type="string"> cntv1;fsistraining.crawlingvideo </attrib>
                <attrib name="destination" type="string"> cde </attrib>
                <attrib name="paused" type="boolean"> no </attrib>
                <attrib name="primary" type="boolean"> yes </attrib>
            </section>
</section>
#change the start_uris and include_uris to define where you are going to craw
<attrib name="start_uris" type="list-string">
    <member> http://kejiao.cntv.cn/nature/kexueshijie/classpage/video/20100812/101064.shtml </member>
</attrib>
<section name="include_uris">
            <attrib name="exact" type="list-string">
                <member> http://kejiao.cntv.cn/nature/kexueshijie/classpage/video/20100812/101064.shtml </member>
            </attrib>
</section>
Run the flow from VS or FSIS Admin GUI

Remove the crawler datasource definition from the collection cntv1
crawleradmin -f ./cawler_cntv1.xml
Enterprise Crawler 6.7.8 - Admin Client
Copyright (C) 2008 FAST, A Microsoft(R) Subsidiary
Added collection config(s): Scheduled collection for crawling
#Watching crawler from command winodws
crawleradmin --status
Enterprise Crawler 6.7.8 - Admin Client
Copyright (C) 2008 FAST, A Microsoft(R) Subsidiary
Collection       Status     Feed Status  Active Sites  Stored Docs     Doc Rate
-------------------------------------------------------------------------------
cntv10           Idle       Feeding      0             1               N/A
cntv11           Idle       Feeding      0             1               N/A
cntv12           Idle       Feeding      0             1               N/A
cntv13           Idle       Feeding      0             1               N/A
cntv14           Idle       Feeding      0             1               N/A
cntv8            Idle       Feeding      0             2               N/A
cntv9            Idle       Feeding      0             5               N/A
                                         0             12              0.0 dps
          
          
          
#Watching doclog
doclog -l
doclog -a http://xxx/xxxx/

#Watching CTS Flow log from
C:/Users/FSIS Service/AppData/Local/FSIS/Nodes/Fsis/ContentEngineNode1/Logs/ContentProcessing
#Watching Crawler log from
C:/esp/var/log/crawler
#Adding Spy Stage into ESP pipeline to monitor
### 多Tap CTS 流程概述 在 Innovus 工具中,多 Tap(Multi-Tap)CTS 是一种用于处理具有多个负载分支的时钟网络的技术。这种方法可以有效降低时钟树中的插入延迟和偏移偏差,同时提高整体设计性能[^1]。 以下是关于 Multi-Tap CTS 的实现方法及其配置的关键要点: #### 设置时钟树综合模式 可以通过 `set_clock_tree_synthesis_mode` 命令来指定 CTS 引擎的工作方式。对于复杂的多 Tap 场景,推荐使用新一代的 CCOpt-CTS 引擎,它能够自动识别并优化多 Tap 结构的设计需求[^1]。 ```tcl set_clock_tree_synthesis_mode -engine ccopt_cts ``` 此命令启用了更高效的 CTS 自动化流程,适合于高性能 SoC 设计。 #### 启用协同优化 (CCOpt) 为了进一步增强多 Tap 时钟树的效果,可以启用协同优化功能。这一步骤通过联合优化时钟路径和数据路径,显著改善了设计的整体 QoR(Quality of Results)。具体操作如下所示[^1]: ```tcl set_ccopt_mode -enable true ccopt_design ``` 这些命令不仅提升了时钟树的质量,还兼顾了功耗、面积等方面的平衡。 #### 清除固定属性以便重新运行 CTS 当需要调整现有的 CTS 配置而无需完全重置整个布局数据库时,可通过以下脚本来清除驱动单元上的特定属性,从而允许快速迭代测试不同的多 Tap 参数组合[^3]: ```tcl foreach cell [get_cells * -filter "is_clock_gate==true || is_buffer_inverter==true"] { remove_attribute $cell dont_touch } foreach net [get_nets *clk*] { remove_attribute $net fixed_route } ``` 执行以上代码片段之后即可调用标准的 CTS 过程继续构建新的多 Tap 架构。 #### 控制偏斜与优化目标 针对具体的多 Tap 实现细节,“Innovus 18.1 CTS”资源文档提供了一些额外的方法来精细化管理时钟信号分布特性[^2]。例如应用早期时钟流(early clock flow),提前规划全局时序关系;或者利用各种内置算法调节局部区域内的相位差值等参数。 --- ### 示例 TCL 脚本 下面是一个完整的 Tcl 脚本例子,展示了如何基于上述理论框架完成一个多 Tap CTS 的基本配置过程: ```tcl # 初始化环境变量 source init.tcl # 开始前清理旧有设置 foreach cell [get_cells * -filter "is_clock_gate==true || is_buffer_inverter==true"] { remove_attribute $cell dont_touch } foreach net [get_nets *clk*] { remove_attribute $net fixed_route } # 定义引擎选项 set_clock_tree_synthesis_mode -engine ccopt_cts # 执行核心CTP阶段 create_clock_tree_spec \ -buffer_list {BUFHCE_4 BUFHCE_8} \ -root_buf BUFHCE_8 \ -max_slew 0.5 \ -max_fanout 20 \ -drive_cell BUFGCE_DIV \ -use_multitaps true # 应用协同优化策略 set_ccopt_mode -enable true ccopt_design # 输出最终报告 report_clock_trees -all > ./reports/cts_report.txt ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值