DC学习(时序分析和命令)

关于objects
1、分类
在这里插入图片描述
2、包括六类:Design、clock、port、net(模块与模块之间的互连线)、cell(例化的模块)、pin(cell里面的引脚)
在这里插入图片描述
3、design可以转换为cell
4、当objects名字相同时:
在这里插入图片描述
加在net上,5个单位的电容会覆盖原电容值;加在port上,5个单位电容与原电容值x并联,总电容值为(5+x)个单元
set_load 5 [get_net sum]:加载在net上

相关命令:
1、get_:返回一组objects;使用echo返回objects的句柄
set_load 5 [get_ports addr_bus * ] * 是模式匹配里多个的意思,以addr_bus开头的n个port
set_load 6 [get_ports "Y??M Z
"] ?是模式匹配里匹配前面字符0个或者1个的意思
如果不存在,返回empty_collection
2、all_*:
all_inputs

all_outputs

all_clocks

all_registers
3、 remove_from_collection
remove_from_collection [all_inputs] [get_ports CLK] #从所有inputs里去除CLK

add_to_collection $pci_ports [get_ports CTRL] #在pci_ports里添加CTRL
4、query_objects $pci_ports

query_objects $foo #得到集合的具体objects  
5、sizeof_collection $pci_ports(大小)
6、echo
set foo [get_ports p*]
echo $foo #返回集合的句柄值
7、过滤器
filter_collection [get_cells ] "ref_name = ~AN "

get_cells *-filter “don’t_touch == true”
8、index_collection $pci_ports number
相当于求数组的某个number值

objects的属性:
在这里插入图片描述
基本时序约束:
1、分类:时钟的约束(寄存器与寄存器之间)、输入延时的约束、输出延时的约束
在这里插入图片描述
2、时序约束对电路的要求:

  • 综合工具现在不能很好地支持异步电路,甚至不支持异步电路;
  • single clock,single cycle,单个时钟,单延触发,不要一会posedge,一会negdege

3、路径:

  • 起点:输入端口(input port)、触发器或寄存器的时钟引脚
  • 输出端口:输出端口、时序器件的除时钟引脚外的所有输入引脚
    在这里插入图片描述
    具有四条路径:
  • 从输入端口A到FF1的D端口
  • 从时钟clk到FF2的D端口
  • 从时钟clk到FF2的输出端口
  • 从输入端口A到FF2的输出端口

路径的特性是存在延时,也就是说,路径1、2、3、4都存在有延时,延时最长的一条路径称为关键路径。
满足建立时间的约束:为了满足FF2建立时间的要求,数据从FF1的clk端口到达FF2的D端口+FF2的建立时间不能超过时钟周期,也就是说(触发器的翻转时间/转换延时、寄存器与寄存器之间的组合逻辑延时、连

  • 8
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值