set_multicycle_path
set_multicycle_path在了解set_multicycle_path的用法之前,我们需要了解一下建立时间和保持时间,让我们从单个触发器的数据传输开始。
1.建立时间,保持时间当外面有数据传输到d触发器的门口时,此时我们想用上升沿触发的D触发器采到这个数据,这个时候,对于发来的数据,必须满足一些条件,才能被触发器捕捉到,这个条件就是建立和保持时间。
建立时间(setup time):时钟有效沿到来前,数据必须保持稳定的时间;
保持时间(hold time):时钟有效沿到来后,数据必须保持稳定的时间;
前面所说的捕获这个动作也叫capture,就是能采到数据。我们做sta分析的时候一般认为数据来源于外部的一个触发器,那么对于外部的触发器来说,发射这个数据的动作就叫launch。
那么我们直接拿两个触发器分析一下他们之间的建立和保持时间。这是一个经典的两级触发器的结构,它们由同一个时钟驱动。DFF0作为launch的触发器,发出launch时钟以及数据,第二级触发器DFF1去捕获DFF0发出的数据。
第一级的触发器launch数据后会经过一段组合逻辑到达DFF1的D端。
所以 ...
innovus import design
innovus环境的设置1. 00_common_initial_settings.tcl1234567891011121314151617181920212223242526272829303132333435363738394041#### design information设计的顶层名字set design "leon"### design data directory数据和报告放的位置set data_root "./data"set reports_root "./reports"### gate level netlist files 所需要导入网表的路径set import_netlists ""lappend import_netlists "data/00_input/${design}.vnet.gz"### SDC files### UPF files### tech lefset tech_lef "/foundry/tmic ...
At-Speed Patterns and On-Chip Clock Controllers
At-Speed Patterns and On-Chip Clock Controllers0.Objectives本次学习的目标是可以为at-speed的ATPG创建patterns
(1)可以完成Transition fault pattern的创建
(2)可以完成path delay pattern的创建
描述一下怎么去定义内部的clock去做atpg的
了解IDDQ的pattern
1.What is the at speed test? 在工艺节点在130nm以下的时候,很多情形下的物理缺陷都是由于延时来引起的。因此在对这种类型的chip做dft的时候,需要建立一个新的故障模型,称之为延时故障模型(time delay model)。解决的方法就是全速测试,所谓的全速测试就是让芯片工作在自己的高频时钟频率上,这个频率往往是要高过ATE*[Automatic Test Equipment 自动测试机台]*时钟的。这样对扫描模型的建立就提出了新的要求。即至少要保证芯片的launch clock和capture clock为芯片内部的高频率时钟。synopsys ...
.vimrc config
刚开始接触到数字ic肯定少不了接触vimrc,他是vcs的配置工具,使用指令gvim ~/.vimrc来开启首次配置之旅
分频器
分频器设计
分频:将一个时钟N分频,则分频等到的时钟频率为原时钟的1/N,而周期为原时钟周期的N倍。
3种分频: 偶数分频:如6分频,10分频等; 奇数分频:如3分频,7分频等; 小数分频:如1.5分频、3.22分频等。
分频的方法:通过计数器实现或者使用PLL IP核实现
1.偶数分频概念:偶分频电路指的是分频系数为 2、4、6、8 … 2n 等偶数整数的分频电路,这种是比较简单的分频方式,并且其中的几分频一般指的是占空比50%的分频,比如6分频就是3个高电平,3个低电平。
方法:用D触发器输出取反的方式,就能实现简单的二分频。
MobileNet
推荐一个入门MobileNet的文章
https://zhuanlan.zhihu.com/p/70703846
K最近邻算法
K最近邻算法(K-Nearest Neighbors,KNN)
原理
python各种有用文档总结
1.python的官方文档
3.10.6 Documentation (python.org)
2.python标准库函数(import)
Python 标准库 — Python 3.11.0b5 文档
3.python内置函数
Python 内置函数 | 菜鸟教程 (runoob.com)
4.PYNQ-Z2设置指南
PYNQ-Z2 Setup Guide — Python Productivity for Zynq (Pynq)
5.PYNQ镜像下载
https://github.com/Xilinx/PYNQ/releases
6.Python 扩展包的非官方 Windows
Archived: Python Extension Packages for Windows - Christoph Gohlke (uci.edu)
7.清华大学开源软件镜像站
清华大学开源软件镜像站 | Tsinghua Open Source Mirror
8.python图像处理常用库讲解
numpy库
(52条消息) Python之Numpy详细教程_cs_程序猿的博客-CSDN博客_num ...
LBP
LBP(局部二值模式)LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著优点。首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取。主要应用于人脸识别和目标检测中,OpenCV中有使用LBP特征进行人脸识别的接口,也有用LBP特征训练目标检测分类器的方法,Opencv实现了LBP特征的计算,但没有提供一个单独的计算LBP特征的接口。
原始LBP在3×3的窗口中,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。可以产生8位二进制数,将其转化为十进制数便得到了LBP编码(256种),如下图左上角开始遍历组成2进制数,转化为10进制后为124
具体的,其数学表达可写作:
其中, (xc,yc)为中心像素的坐标, p为邻域的第p个像素,ip为邻域像素的灰度值, ic为中心像素的灰度值, s(x)为符号函数,如下:
MMCM/PLL
CMTXilinx 7 系列器件中具有时钟管理单元 CMT 时钟资源,xc7a35t 芯片内部有5 个CMT,xc7a100t 芯片内部有 6 个CMT,为设备提供强大的系统时钟管理以及高速 I/O 通信的能力。Xilinx 7 系列器件中的时钟资源包含了时钟管理单元 CMT,每个CMT 由一个MMCM 和一个PLL 组成。时钟管理单元 CMT 的总体框图如下图所示。
MMCM/PLL 的参考时钟输入:
IBUFG(CC)即具有时钟能力的 IO 输入、区域时钟 BUFR、全局时钟 BUFG、GT 收发器输出时钟、行时钟 BUFH 以及本地布线。
在最多的情况下,MMCM/PLL 的参考时钟输入都是来自IBUFG(CC)即具有时钟能力的 IO 输入,MMCM/PLL 的输出可以驱动全局时钟BUFG 和行时钟BUFH 等等。BUFG 能够驱动整个器件内部的通用逻辑的所有时序单元的时钟端口。
PLL简介全称:Phase Locked Loop,即锁相环,是一种反馈控制电路。PLL 对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频、分频、相 ...







