logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

静态时序分析:SDC约束命令set_clock_uncertainty详解

set_clock_uncertainty是用来指定设计中时钟周期的不确定性,不确定性指的是对那些会对时钟周期造成的负面影响。这些不确定性可能来源于时钟抖动(clock jitter)或时钟偏差(clock skew)等一切想要在时序分析中考虑的悲观因素。

文章图片
#fpga开发
静态时序分析:SDC约束命令set_input_delay详解

静态时序分析本章将讨论使用set_input_delay命令对输入端口的约束。首先需要说明的是,在进行静态时序分析时,任何一条时序路径都需要有约束,约束指的是时序路径的起点(发射触发器)和终点(捕获触发器)都有时钟信号的控制。但是对于起点是输入端口、终点是输出端口的时序路径而言,没有显然的发射触发器、捕获触发器,因此需要使用set_input_delay命令进行约束。

文章图片
静态时序分析:SDC约束命令set_case_analysis详解

set_case_analysis命令用于对电路进行特定模式的设定,例如对于一个工作在正常模式下的芯片,其扫描触发器的测试引脚应该设定为0;对于一个时钟选择器的选择引脚,在特定模式工作时应该为确定值。这个命令很有用,因为它可以帮助减少很多不必要的时序路径分析。

文章图片
#fpga开发
Verilog基础:仿真时x信号的产生和x信号对于各运算符的特性

Verilog基础信号爆x也许是所有IC人的噩梦,满屏的红色波形常让人头疼不已,但x信号的产生原因却常常只有几种,只要遵循一定的代码规范,就可以避免产生信号中出现x的问题。最常见问题就是使用了未初始化的reg型变量,因为reg型变量在被创建后使用默认值x。如果在初始化变量之前在其他地方提前使用了,便有可能造成x态的传播。为了避免,可以给所有时序逻辑中用到的reg型变量赋初值(不可综合),但更为推荐

文章图片
#fpga开发#硬件工程
Visual Studio Code基础:打开一个编辑器(文件)时,覆盖了原编辑器

在使用vscode时,偶尔会出现这样的问题:打开了某个编辑器(文件,下面统称文件)后,再打开其他文件会出现文件替换的问题,本文将对其进行解释并给出解决方法。

文章图片
#vscode#windows#ide
静态时序分析:SDC约束命令create_generated_clock详解(上)

Tcl语言有时候,复杂的设计需要多个时钟来完成相应的操作,当设计中有多个时钟存在时,它们需要相互协作或各司其职。有几种时钟可能由其他时钟而派生或者说生成,在定义这些时钟时需要使用创建生成时钟命令create_generated_clock。这类时钟可能是时钟分频器,时钟倍频器和时钟门控。

文章图片
#硬件工程#fpga开发
静态时序分析:SDC约束命令create_generated_clock详解(上)

Tcl语言有时候,复杂的设计需要多个时钟来完成相应的操作,当设计中有多个时钟存在时,它们需要相互协作或各司其职。有几种时钟可能由其他时钟而派生或者说生成,在定义这些时钟时需要使用创建生成时钟命令create_generated_clock。这类时钟可能是时钟分频器,时钟倍频器和时钟门控。

文章图片
#硬件工程#fpga开发
静态时序分析:SDC约束命令create_clock详解

period选项用于定义时钟对象的周期,周期的单位由工艺库给出。下面的所有实例,默认是以纳秒(ns)为单位,且时钟周期的值必须有意义即大于0。虽然有set_units命令可以用来指定单位,但它不应该被主动使用,因为指定的单位不能与工艺库冲突。

文章图片
#fpga开发#硬件工程
Linux:执行命令的命令eval与Bash解析命令的方式

eval命令用于接收参数,并将这些参数作为一行命令执行,这也许会使人困惑,为什么我不能直接执行命令而需要使用eval命令间接执行呢?本文将解开这些疑惑。

文章图片
#linux#运维#服务器
暂无文章信息