PT 实操

一、PT

1.通过pt_shell启动 pt工具。

2.导入想要检查的session,(restore_session $对应session)一般情况下会考虑hold & set up 的最恶劣情况检查,分别是ff和ss情况下。

        session主要记录的是

3.报出想看的timing rpt (report_timing)

       【1】 常用option 1.-from (指定startpoint)

                          2.-to (指定endpoint)

                          3.-group (指定组别类型)

                          4.-pba_mode (设置PBA模式开关)

                                全称path based analysis(基于路径的分析),是一种STA分析方式

                          5.-nets -crosstalk_delta -capacitance (在报告中体现出对应的延迟)

                           6.-nosplit (不进行换行 方便查看)

                           7.-delay_type (选择rpt的时序检查 hold使用min setup使用max)

                           8.-path_type full_clock (rpt中显示出全部的clock path)

                           9.-max_paths (输出此数量的符合条件的rpt)

       【2】报告分析

                        

首先是 StartPoint 后面跟着的是 时序的开始节点、EndPoint同理;

接下来是last common pin 是最近的common 的pin节点,用于寻找这条时序线的commonpath,launch path,capture path。

path group 记录的是该path的种类,一般分为input2optput、input2reg、reg2reg、reg2output。

 path type记录了检查的类型是setup 检查还是hold检查 分别对应max和min类型,类型指代的是data arrive time 的传输时间最大最小值,当进行setup检查时,悲观的考虑就是数据传输时间最长的时候,相同的min就是hold检查时最严苛的考虑。

接下来就是时序的信息了,该信息根据option不同有所不同

分别记录的是data的传输路径和时钟信息的传输路径 以中间空行为分割,分别记录了传输路径中经过的cell名字和cell的类型,cap这一列记录了cell对应的capacitance,Delata列记录了crosstalk的影响,Incr列记录了上一行到本行的增量,path是指到本行为止积累的延迟。

所以修复过程中根据data path的增量情况进行修复。

4.修复Timing Violation

        常用的修复方法有size cell和add buffer,remove buffer当然还有很多其他方法,目前为止本小白只实操过以上两种方法,其他方法实操后补充。

        size_cell $inst名字 $cell 类型

        insert_buffer $插入buffer的位置 $cell 类型

        remove_buffer $inst名字 (会维持原本的逻辑链接只是在逻辑中删除了该cell,而不是打断连线)

5.输出PT中所做的修改

        write_changes -format $输出的文件格式类型 -output $输出文件的目录和名字

6.根据报告点对点报出所有的timing violation path,主要用于顶层给的rpt,方便对齐到block中

perl 转换ICC2---innovus 

 

                        

### Clip 教程 Clip 是一种强大的多模态模型,能够处理图像和文本之间的关系。为了更好地理解和应用 Clip,在作中可以遵循以下指导。 #### 安装依赖库 要开始使用 Clip,首先需要安装必要的 Python 库。可以通过 pip 工具来完成这一过程[^1]: ```bash pip install torch torchvision transformers ``` #### 导入所需模块并加载预训练模型 接着导入所需的 Python 模块,并通过 Hugging Face 的 `transformers` 库加载预先训练好的 Clip 模型及其对应的处理器: ```python from PIL import Image import requests from transformers import CLIPProcessor, CLIPModel model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32") processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32") ``` #### 准备输入数据 准备一些图片作为测试样本,这里以 URL 形式的网络图片为例说明如何读取它们;同时也准备好想要匹配的文字描述列表: ```python url = "http://images.cocodataset.org/val2017/000000039769.jpg" image = Image.open(requests.get(url, stream=True).raw) texts = ["a photo of a cat", "a photo of a dog"] ``` #### 处理输入并将结果传递给模型 利用之前例化的 Processor 对象对上述获取到的数据进行编码转换成适合喂给 Clip 模型的形式,之后调用 model 方法计算相似度得分矩阵: ```python inputs = processor(text=texts, images=image, return_tensors="pt", padding=True) outputs = model(**inputs) logits_per_image = outputs.logits_per_image # this is the image-text similarity score probs = logits_per_image.softmax(dim=1) # 获取概率分布 print(probs) ``` 以上就是基于 PyTorch 和 Transformers 库现的一个简单版本的 Clip 使用案例。这段代码展示了怎样从零构建一个完整的流程来进行跨模态检索任务——即给出一张照片以及若干候选文字解释后找出最贴切的那个选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值