wordpress图片网站/现代营销手段有哪些

wordpress图片网站,现代营销手段有哪些,建筑行业真的凉了吗,WordPress幻灯片首页hard Phy boundary No Path 1. shift mode; shift cornor出现No Path的; PHY SI SO在shift mode必须有timing的path; 展示为No constrained path; check step: report_timing -though NO constrained path set timing_report_unconstrained true report again you will…

hard Phy boundary No Path

1. shift mode;

shift cornor出现No Path的;
PHY SI SO在shift mode必须有timing的path; 展示为No constrained path;

check step:

report_timing -though

NO constrained path

set timing_report_unconstrained true

report again

在这里插入图片描述

you will get a potential path;

get the clock of startpiont

在这里插入图片描述

now the no path reason would be two case:

  1. start point & end point is in two difference clock group;
  2. Lib is no include the timing arc of this pin;

check the lib:
在这里插入图片描述

发现在shift mode吧 bypass func的lib也读入了; 通过remove lib 确认最终读如的lib:
在这里插入图片描述

重新读入lib, shift path 出现;

2.dc capture mode

同样发现 hard phy SI SO的出现 no path;

  1. 在DC capture mode 本身是不会经过SI D path; 所以SI Q path不存在本身也是合理的;(结论是否正确)
  2. 存在的Path 为bypass 的pass ,是因为同属一个clock group ,DFT未插lock up latch导致; Path 为 true path, 需要后端修;
    在这里插入图片描述

其他非SI SO pin的no path;

优先查看Lib中在此mode是否存在 timing arc;

附加处理lib的脚本;

import re
def read_pinlist(pinlist_file):"""Read pinlist from a text file, where each line contains one pin_name.Parameters:pinlist_file (str): Path to the pinlist file.Returns:list: A list of pin_names."""try:with open(pinlist_file, 'r') as f:# Read lines, strip whitespace, and skip empty linespinlist = [line.strip() for line in f.readlines() if line.strip()]return pinlistexcept FileNotFoundError:print(f"Error: File {pinlist_file} not found")return []
def parse_lib(lib_content):"""Parse the lib file content and return a dictionary with pin_name as keys and their corresponding timing block modes as values.Parameters:lib_content (str): The text content of the lib file.Returns:dict: A dictionary containing pin_name and its timing block modes."""pin_dict = {}# Regular expression to match pin blockspin_pattern = r'pin\((.*?)\)\s*{([^{}]*)}'pin_matches = re.findall(pin_pattern, lib_content, re.DOTALL)for pin_match in pin_matches:# Extract pin_name and remove leading/trailing spaces and quotespin_name = pin_match[0].strip().strip('"')pin_content = pin_match[1]# Match timing blockstiming_pattern = r'timing\(\)\s*{([^{}]*)}'timing_matches = re.findall(timing_pattern, pin_content, re.DOTALL)modes = []for timing_match in timing_matches:timing_content = timing_match# Match mode fieldmode_pattern = r'mode\(etm_mode\s*,\s*"([^"]*)"\s*\);'mode_match = re.search(mode_pattern, timing_content)if mode_match:mode_name = mode_match.group(1).strip()  # Remove leading/trailing spaces from mode_namemodes.append(mode_name)pin_dict[pin_name] = modesreturn pin_dictdef check_pins(pinlist, pin_dict):"""Check the status of each pin_name in pinlist based on the lib file and print the results.Parameters:pinlist (list): A list of pin_names to check.pin_dict (dict): A dictionary parsed from the lib file containing pin information."""for pin_name in pinlist:if pin_name not in pin_dict:print(f"{pin_name}: NO pin_name")else:modes = pin_dict[pin_name]if not modes:print(f"{pin_name}: NO timing arc")elif "stuckat_cap" not in modes:print(f"{pin_name}: NO stuckat_cap mode")else:print(f"{pin_name}: Exist stuckat_cap mode")def main():# Example lib file path (modify according to actual path)lib_file_path = "lib.txt"try:with open(lib_file_path, "r") as f:lib_content = f.read()except FileNotFoundError:print(f"Error: File {lib_file_path} not found")return# Parse the lib filepin_dict = parse_lib(lib_content)# Example pinlist (modify according to actual needs)pinlist = ["pin1", "pin2", "pin3", "pin4"]# Check and print resultscheck_pins(pinlist, pin_dict)if __name__ == "__main__":main()import redef parse_lib(lib_content):"""Parse the lib file content and return a dictionary with pin_name as keys and their corresponding pin content as values."""pins = {}lines = lib_content.split('\n')current_pin = Nonepin_content = []brace_level = 0collecting = Falsefor line in lines:stripped = line.strip()if not collecting and stripped.startswith('pin('):# Extract pin namepin_start = stripped.find('(') + 1pin_end = stripped.find(')')if pin_end == -1:continue  # Skip if format is incorrectcurrent_pin = stripped[pin_start:pin_end].strip()brace_start = stripped.find('{', pin_end)if brace_start != -1:brace_level = 1collecting = True# Add the first line content (if any)rest = stripped[brace_start+1:].strip()if rest:pin_content.append(rest)elif collecting:# Calculate brace levelbrace_level += line.count('{')brace_level -= line.count('}')if brace_level > 0:pin_content.append(line)else:collecting = Falsepins[current_pin] = '\n'.join(pin_content)current_pin = Nonepin_content = []return pinsdef analyze_pin(pin_content):"""Analyze the content of a single pin and return its status."""# Check if there are timing blockstiming_blocks = []in_timing = Falsecurrent_block = []brace_level = 0for line in pin_content.split('\n'):stripped = line.strip()if not in_timing and stripped.startswith('timing('):in_timing = Truebrace_level = 0current_block = []if in_timing:current_block.append(line)brace_level += line.count('{')brace_level -= line.count('}')if brace_level <= 0:in_timing = Falsetiming_blocks.append('\n'.join(current_block))if not timing_blocks:return "NO timing arc"# Check if any timing block contains stuckat_cap modepattern = re.compile(r'mode\s*\(\s*etm_mode\s*,\s*"\s*stuckat_cap\s*"\s*\)')for block in timing_blocks:if pattern.search(block):return "OK"return "NO stuckat_cp mode"def main(pinlist_file, lib_file):with open(lib_file, 'r') as f:content = f.read()pins = parse_lib(content)pinlist= read_pinlist(pinlist_file);if not pinlist:print("Pinlist is empty or file not exist");returnfor pin_name in pinlist:if pin_name not in pins:print(f"{pin_name}: Not found")continuestatus = analyze_pin(pins[pin_name])print(f"{pin_name}: {status}")# Example usage
if __name__ == "__main__":pinlist_file = "./file_name"# Replace with actual pin listlib_file = "your_lib.lib"           # Replace with actual lib file pathmain(pinlist, lib_file)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工作记录】F12查看接口信息及postman中使用

可参考 详细教程&#xff1a;如何从前端查看调用接口、传参及返回结果&#xff08;附带图片案例&#xff09;_f12查看接口及参数-CSDN博客 1、接口信息 接口基础知识2&#xff1a;http通信的组成_接口请求信息包括-CSDN博客 HTTP类型接口之请求&响应详解 - 三叔测试笔记…

《自然》:陆地蒸散量研究的统计失误被撤回-空间加权平均的计算方法

文章目录 前言一、空间加权平均的计算方法二、代码1.Python 实现2.MATLAB代码 前言 In this article, we calculated global land evapotranspiration for 2003 to 2019 using a mass-balance approach. To do this, we calculated evapotranspiration as the residual of the…

开源软件许可证冲突的原因和解决方法

1、什么是开源许可证以及许可证冲突产生的问题 开源软件许可证是一种法律文件&#xff0c;它规定了软件用户、分发者和修改者使用、复制、修改和分发开源软件的权利和义务。开源许可证是由软件的版权所有者&#xff08;通常是开发者或开发团队&#xff09;发布的&#xff0c;它…

【el-upload】el-upload组件 - list-type=“picture“ 时,文件预览展示优化

目录 问题图el-upload预览组件 PicturePreview效果展示 问题图 el-upload <el-uploadref"upload"multipledragaction"#":auto-upload"false":file-list"fileList"name"files":accept".png,.jpg,.jpeg,.JGP,.JPEG,.…

微前端 qiankun vite vue3

文章目录 简介主应用 qiankun-main vue3 vite子应用 qiankun-app-vue2 webpack5子应用 qiankun-react webpack5子应用 quankun-vue3 vite遇到的问题 简介 主要介绍以qiankun框架为基础&#xff0c;vite 搭建vue3 项目为主应用&#xff0c;wepack vue2 和 webpack react 搭建的…

C#从入门到精通(1)

目录 第一章 C#与VS介绍 第二章 第一个C#程序 &#xff08;1&#xff09;C#程序基本组成 1.命名空间 2.类 3.Main方法 4.注释 5.语句 6.标识符及关键字 &#xff08;2&#xff09;程序编写规范 1.代码编写规则 2.程序命名方法 3.元素命名规范 第三章 变量 &…

东隆科技携手PRIMES成立中国校准实验室,开启激光诊断高精度新时代

3月12日&#xff0c;上海慕尼黑光博会期间&#xff0c;东隆科技正式宣布与德国PRIMES共同成立“中国校准实验室”。这一重要合作标志着东隆科技在本地化服务领域的优势与PRIMES在激光光束诊断领域的顶尖技术深度融合&#xff0c;旨在为中国客户提供更快速、更高精度的服务以及本…

SysOM 可观测体系建设(一):万字长文解读低开销、高精度性能剖析工具livetrace

可观测性是一种通过分析系统输出结果并推断和衡量系统内部状态的能力。谈及可观测性一般包含几大功能&#xff1a;监控指标、链路追踪、告警日志&#xff0c;及 Continues Profiling 持续剖析能力。对于操作系统可观测&#xff0c;监控指标可以帮助查看各个子系统&#xff08;I…

网络安全设备配置与管理-实验4-防火墙AAA服务配置

实验4-p118防火墙AAA服务配置 从这个实验开始&#xff0c;每一个实验都是长篇大论&#x1f613; 不过有好兄弟会替我出手 注意&#xff1a;1. gns3.exe必须以管理员身份打开&#xff0c;否则ping不通虚拟机。 win10虚拟机无法做本次实验&#xff0c;必须用学校给的虚拟机。首…

路由Vue Router基本用法

路由的作用是根据URL来匹配对应的组件&#xff0c;并且无刷新切换模板的内容。vue.js中&#xff0c;可使用Vue Router来管理路由&#xff0c;让构建单页应用更加简单。 一、效果 二、实现 1.项目中安装Vue Router插件 pnpm install vue-routerlastest 2.main.js import { …

【Qt】Qt + Modbus 服务端学习笔记

《Qt Modbus 服务端学习笔记》 1.因为项目的需要&#xff0c;要写一个modbus通信&#xff0c;csdn上感觉有些回答&#xff0c;代码是人工智能生成的&#xff0c;有些细节不对。我这个经过实测&#xff0c;是可以直接用的。 首先要包含Qt 的相关模块 Qt Modbus 模块主要包含以…

CherryStudio + 火山引擎DeepSeek R1 告别服务器繁忙

CherryStudio 火山引擎DeepSeek R1 告别服务器繁忙 一、下载CherryStudio并安装 CherryStudio是功能强大的多模型桌面客户端&#xff0c;支持Windows、macOS和Linux系统。集成了多种主流的大语言模型&#xff08;如OpenAI、DeepSeek、Gemini等&#xff09;以及本地模型运行功…

Unity TextMeshPro中显示建筑特殊符号

示例&#xff1a;显示效果如图 实现步骤 1、下载 SJQY 字体库 2、导入字体&#xff1a;将 SJQY 字体文件&#xff08;如 .ttf 或 .otf 文件&#xff09;导入到 Unity 项目的 Assets 文件夹中。 3、创建 TMP 字体资产 方法一 方法二 选择刚导入的字体文件&#xff0c;在…

Windows Docker 报错: has no HTTPS proxy,换源

pull python 3.7报错&#xff1a; 尝试拉取Docker 测试库hello world也失败 尝试使用临时镜像源&#xff0c;可以成功拉取&#xff1a; sudo docker pull docker.m.daocloud.io/hello-world说明确实是网络问题&#xff0c;需要配置镜像源&#xff0c;为了方便&#xff0c;在d…

Git远程拉取和推送配置

Git进行远程代码拉取和推送时候提示配置user.name 和 user.email 背景&#xff1a;换新电脑后使用Git进行代码拉取和推送过程中&#xff0c;提示“Make sure you configure your “user.name” and “user.email” in git.”。这个配置针对git的正常使用仅需要配置一次&#xf…

详解string类+迭代器

迭代器 概念&#xff1a;在 C 中&#xff0c;迭代器是访问容器&#xff08;如数组、列表、向量、字符串等&#xff09;元素的一种方式。迭代器提供了一种统一的接口&#xff0c;使得你可以使用相同的代码来遍历不同类型的容器。迭代器本质上是一个指针或者指针的封装&#xff0…

小红书不绑定手机号会显示ip吗

小红书作为一个生活方式分享平台&#xff0c;拥有庞大的用户群体。在小红书上&#xff0c;用户可以分享自己的生活点滴、购物心得、美食体验等&#xff0c;与其他用户进行互动交流。最近&#xff0c;不少用户对于小红书是否会在不绑定手机号的情况下显示IP属地产生了疑问&#…

Web-Machine-N7靶机实战攻略

1.安装并开启靶机 下载VirtualBox&#xff1a;https://www.virtualbox.org 导入虚拟机 设置为桥接模式 2.获取靶机IP Kali设为桥接模式 3.访问靶机 4.获取敏感目录文件和端口 gobuster dir -u http://172.16.2.68 -w /usr/share/wordlists/dirbuster/directory-list-2.3-me…

Linux|fork命令及其使用的写时拷贝技术

fork复制进程 fork通过以下步骤来复制进程&#xff1a; 分配新的进程控制块&#xff1a;内核为新进程分配一个新的进程控制块&#xff08;PCB&#xff09;&#xff0c;用于存储进程的相关信息&#xff0c;如进程 ID、状态、寄存器值、内存指针等。复制进程地址空间&#xff1…

TCP、UDP协议的应用、ServerSocket和Socket、DatagramSocket和DatagramPacket

DAY13.1 Java核心基础 TCP协议 TCP 协议是面向连接的运算层协议&#xff0c;比较复杂&#xff0c;应用程序在使用TCP协议之前必须建立连接&#xff0c;才能传输数据&#xff0c;数据传输完毕之后需要释放连接 就好比现实生活中的打电话&#xff0c;首先确保电话打通了才能进…