在路上-正出发
自勉:故余虽愚,卒获有所闻
热爱:ASIC以及FPGA数字设计
学历:NJUST EI 本/硕
语言:Verilog HDL、Matlab、Tcl、Python、SystemVerilog、Perl
闲暇:
-1- 翻译书籍《Static Timing Analysis for Nanometer Designs》(关于静态时序分析),已4万字
-2- 翻译书籍《Low Power Methodology Manual》(关于低功耗设计方法学),已完结
展开
-
【tcl脚本实践Demo 1】文本生成、匹配、修改、读写
在芯片设计的流程中,各种EDA工具在设计、综合、布局布线、验证、时序分析等等环节都会产出大量的文件信息。这些信息是海量的,如果单纯靠程序员自己查看信息效率很低并且很容易纰漏。所以脚本语言可以很好的解决这个问题,可以利用脚本语言匹配到敏感的信息,完成对信息的匹提取、修改、写入等一系列操作。从信息类型来看,经典的包括ERROR、INFO、WARNING、CRITICAL WARNING等。我们最关心的是ERROR和CRITICAL WARNING。所以我们需要在众多信息中提取出ERROR和CRITICAL WA原创 2024-04-30 11:04:21 · 1601 阅读 · 0 评论 -
【vscode】 与 【tclsh】 联合搭建tcl开发环境
介绍了tclsh的安装与使用。但是大家有没有发现,这个环境下只能在命令行运行。这个对于初学者而言足够了,熟悉简单的语法,在命令行就可以实践操作。但是如果是要实现某个具体功能,要开发一个tcl小的脚本程序,那么在tclsh软件里面就不太好操作了。只能将已经写好的tcl文件,放在终端窗口运行。这样一来,很不方便的地方就是如果程序出错需要打开源文件继续debug,修完bug还要以命令输入的方式在终端执行tcl文件。这个过程就显得很繁琐。主要就是代码编辑器与程序输出结果不在一个界面,没有一个相对集成的开发环境。原创 2024-04-29 09:51:36 · 766 阅读 · 0 评论 -
【数字 IC / FPGA】 有关建立/保持时间计算的思考
最近准备一些数字IC的机试,刷到了一些有关静态时序分析的题目。有一些比较经典的题目,在这里整理分享一下。有什么疑问可以在评论区交流~互相进步。原创 2023-04-18 22:58:57 · 1467 阅读 · 2 评论 -
时序分析及约束实操(VIVADO IDE)——IO时序分析
前言IO时序分析主要分析,FPGA芯片和外围电路(寄存器)通信的时序问题。本节主要学习基本模型。1、源同步FPGA输入时序模型源同步在现在的高速数据传输中应用更多。路径分解:时序图:(需要仔细分析)输入延时关系:1.1 问题背景2、系统同步FPGA输入时序模型系统同步不是很利于高速的数据传输。参考说明【1】尤老师学习视频。...原创 2022-04-13 13:01:24 · 2124 阅读 · 1 评论 -
时序分析及约束实操(VIVADO IDE)——保持时间检查
前言上篇:时序分析及约束实操(VIVADO IDE)——建立时间检查https://blog.csdn.net/qq_43045275/article/details/124076201?spm=1001.2014.3001.5502工程还是上篇的工程,此处主要是学习保持时间的时序检查。务必先看上篇。1、知识回顾保持时间:时钟上升沿到达以后,数据必须稳定存在的最小时间。保持时间裕量:数据实际结束时间和数据需求结束时间的差值。数据实际结束时间:需要的数据结束...原创 2022-04-12 22:32:36 · 1417 阅读 · 2 评论 -
时序分析及约束实操(VIVADO IDE)——建立时间检查
时序分析和约束实际操作。以Vivado IDE 为平台。原创 2022-04-12 20:30:00 · 3085 阅读 · 3 评论 -
静态时序分析(STA)——跨时钟域时序、多时钟
1、跨时钟域时序1、慢时钟域到快时钟域如下图的示例,需要注意的是,作用在D触发器时钟引脚的两个时钟,都是由CLKP时钟继承而来的,即时钟同源。这种情况可以进行约束。但是如果两个时钟域完全没有任何关系,即时钟不同源,那么就应该设置伪路径,不让STA进行分析。#时钟定义:create_clock -name CLKM \-period 20 -waveform {0 10} [get_ports CLKM]create_clock -name CLKP \-pe...原创 2022-04-10 12:06:30 · 3931 阅读 · 0 评论 -
静态时序分析(STA) —— 时序检查
目录1、建立时间检查1、触发器之间路径2、输入到触发器的路径3、触发器到输出的路径4、输入到输出的路径2、保持时间检查1、触发器之间的路径2、输入端到触发器的路径3、触发器到输出端的路径4、输入到输出路径3、多周期路径4、半周期路径5、去除时间检查6、恢复时间检查7、伪路径参考说明上篇一起学习了STA环境的建立,本篇就接着上篇,开始学习时序验证的核心知识,真正开始时序的验证……1、建立时间检查满...原创 2022-04-05 21:04:14 · 5650 阅读 · 1 评论 -
静态时序分析(STA)——建立约束
本篇就主要学习 STA约束的建立。参考说明【1】B站 邸老师学习视频。【2】Static Timing Analysis for Nanometer DesignsA Practical Approach .J. Bhasker • Rakesh Chadha原创 2022-04-04 20:01:13 · 6900 阅读 · 3 评论 -
静态时序分析(STA)—— 标准单元库
目录1、时序库 概览2、时序模型1、基本概念2、影响因素3、线性延时模型4、非线性延时模型5、单元时序弧1、组合逻辑单元2、时序逻辑单元6、线负载模型参考说明上一篇,学习了 STA相关的基本概念,本篇继续学习 STA相关的 标准单元库。1、时序库 概览库文件概览:2、时序模型1、基本概念2、影响因素对于组合逻辑的时序弧而言,其延时的大小取决于:1、输出负载,即,输出端的电容负载的大小。容性负载越大,...原创 2022-03-29 21:13:49 · 2442 阅读 · 2 评论 -
静态时序分析(STA)—— 基本概念
目录1、时序弧1.1、单元延时1、电平转换延时2、逻辑门延时2、建立、保持时间2.1、建立时间2.2、保持时间3、时序路径4、时钟域(CD)5、操作条件参考说明前面几篇讲述了 Tcl 语言相关的学习内容,为STA的学习做了基础性的准备。从本篇开始,就学习与STA相关的知识。一起加油!1、时序弧时序弧用来描述,两个节点延时信息的参数。通常分为,连线延时和单元延时。连线延时:单元输出端口到扇出网络负载的延时信息。单元延时:单元...原创 2022-03-29 14:54:55 · 8813 阅读 · 0 评论 -
Tcl 语言——Synopsys Tcl篇
目录1、Tcl 在EDA Tool 中的扩展与应用1、获取端口相关信息2、获取单元信息3、获取网表信息4、获取管脚信息5、属性获取6、属性过滤7、对象连接参考说明继续学习 Tcl … …Synopsys (美国半导体公司,新思科技)公司的大多数工具的命令窗口都是基于Tcl命令。可以比较方便的对各环节的输出文档进行操作。1、Tcl 在EDA Tool 中的扩展与应用下图是数字电路设计模块中各部分的含义:1、获取端口相关信息语法:get_原创 2022-03-28 21:18:14 · 3337 阅读 · 0 评论 -
Tcl 语言—— 文本操作篇
目录1、文件访问2、文件写入3、综合示例参考说明续上篇,继续学习 Tcl 语言……1、文件访问文件打开:语法:open 文件 打开方式功能:打开指定的文件以上是文件访问的方式。内容读取:语法:gets 文件ID 变量名功能:读取文件ID标识的下一行,并且将该行内容赋给变量,返回该行的字符数。 如果到文件尾部 返回-1文件关闭:语法:close 文件ID功能:关闭已打开的文件示例:源文件:..原创 2022-03-28 19:12:41 · 7272 阅读 · 2 评论 -
Tcl 语言——过程与字符串匹配篇
目录1、过程1、proc2、全局变量、局部变量2、字符串匹配1、通配符匹配2、正则匹配2.1、基本知识2.2、匹配命令参考说明续上篇,继续学习 Tcl 语言 ……1、过程1、proc语法:proc 函数名 {参数列表} {函数主体}示例:2、全局变量、局部变量全局变量:所有过程外定义的变量;局部变量:过程中定义的变量,仅在过程中访问,过程退出时,自动删除。global 指令,可以在过程内部引用全局变量。示.原创 2022-03-28 16:25:12 · 4713 阅读 · 0 评论 -
Tcl 语言——流程控制篇
续上篇,继续学习 Tcl ……参考说明【1】Ousterhout等 美 John K. Tcl/Tk入门经典[M]. 清华大学出版社, 2010. 第Ⅰ部分 第8章。原创 2022-03-27 11:30:08 · 2012 阅读 · 0 评论 -
Tcl 语言 ——列表篇
目录1、列表定义2、列表操作命令2.1、concat2.2、lrepeat2.3、llength2.4、lindex2.5、lrange2.6、linsert2.7、lreplace2.8、lset2.9、lappend2.10、lsearch2.11、lsort参考说明续上篇,继续学习 Tcl……1、列表定义语法:set 列表名 {元素1 元素2 元素3 ……}取用:$列表名示例:2、...原创 2022-03-26 17:54:41 · 4392 阅读 · 0 评论 -
Tcl 语言 ——表达式篇
目录1、数值操作数2、操作符及优先级2.1、算数操作符2.2、关系操作符2.3、逻辑操作符2.4、按位操作符2.5、选择操作符3、数学函数参考说明续上篇,继续学习 Tcl ……1、数值操作数操作数可以是整数、实数、字符串。格式:整数:十进制、八进制(0o开头,Tcl 8.5后可以直接用 0开头)、十六进制(0x开头)、二进制(0b开头)实数:例子,3.5 、7.9e+10、8.2E2、.3字符串:“auibubc”、“12s”示..原创 2022-03-26 14:34:20 · 3003 阅读 · 0 评论 -
Tcl 语言 ——变量篇
目录1、简单变量2、数组3、“多维”数组4、获取数组信息5、incr、append命令6、移除变量参考说明续上篇,继续学习 Tcl 语言……1、简单变量简单变量一般就是用 set 命令;语法: set 变量名 变量值取用:$变量名删除:unset 变量名变量名和变量值都可以是任意的字符串示例:2、数组语法:set 数组名(元素名) 元素取值取用:$数组名(元素名)删除:unset 数组名 ...原创 2022-03-25 19:16:58 · 5213 阅读 · 0 评论 -
Tcl 语言 ——语法篇
目录1、脚本组成2、处理过程1、set 命令2、expr 命令3、lindex 命令4、整合式命令(集合命令)3、替换1、变量替换2、命令替换3、反斜杠替换4、引用1、双引号引用2、大括号引用5、注释参考说明上一篇简单介绍了 Tcl 语言和Windows系统下学习环境的搭建过程,那么从这一篇开始,就开始学习 Tcl 脚本相关的语言知识。就本篇而言,主要介绍 Tcl 语言的语法。学习语言,更重要的还是在环境中不断练习。...原创 2022-03-25 00:14:10 · 13555 阅读 · 0 评论 -
Tcl 简介以及环境搭建篇
目录1、Tcl 简介2、环境搭建2.1下载 active tcl2.2 安装2.3 打开1、Tcl 简介Tcl语言的全称ToolCommandLanguage,即工具命令语言。这种需要在EDA工具中使用的相当之多,或者说几乎每个EDA工具都支持Tcl语言。所以对于IC专业的来说,学习Tcl也是很重要很必要的。我打算用博客的方式记录一下学习的过程,做一下系统的学习。FPGA设计中,对时序约束或者静态时序分析时会频...原创 2022-03-24 21:13:27 · 5178 阅读 · 0 评论