MCP电路实现方法及命令优先级实例

sdc中的各式各样的exception,大体上可以分为“加严”和“放松”两种类型,如下面几个命令:
##更严格##set_max_delayset_min_delayset_data_check...##更放松##set_false_pathset_multicycle_pathset_case_analysisset_disable_timing...需要强调的是需要加严的部分,对于异步路径,往往需要通过set_max_delay来约束,防止路径过长。而且有些跨时钟域(cdc)的路径,为了保证握手时的数据一致性,需要用到格雷码(gray code),约束时更加需要注意。
多周期路径
之前的文章有提到多半周期路径,是为了加快数据的处理速度。这里的多周期路径则是针对那些不需要太快的处理速度,一定程度上节省面积和功耗。多周期路径常常发生在memory读写路径,某些复位路径,从慢时钟域到快时钟域的路径等等。
当然,多周期路径是需要电路结构配合实现的,但总体思路有两个:
(1)通过enable信号控制clock的采样时刻
(2)通过enable信号控制data的变化时刻
下面举一个通过方法(2)实现n-1个周期路径的例子:
上图主体上是从d1寄存器到d2寄存器的一条路径,中间经过了很长的组合逻辑。特殊之处在于d1/d2的数据变化是受fsm状态机控制的,其中d1数据变化发生在第1个时钟周期后(ff1的输出信号使能),d2数据变化发生在第n的时钟周期后(ffn的输出信号使能)。从下面的波形图可以看出,d1_out到d2_out经过了n-1个周期。
优先级顺序
对于几个常见的exception命令,使用时要特别注意优先级顺序,避免出现想要的约束不起作用的情况。
假设有一条从uff1(clka)到uff2(clkb)的路径,想通过以下命令进行约束,最终的效果是怎样的呢?
# cmd1set_multicycle_path 2 -from clka -to clkb# cmd2, 优先级比cmd1高,覆盖set_multicycle_path 3 -from uff1/cp# cmd3,优先级更高,覆盖set_max_delay 6.6 -from uff1/cp -to uff2/d# cmd4,优先级比cmd3低,忽略set_max_delay 5 -from clka -to clkb# cmd5,优先级最高,覆盖set_false_path -to uff2/d可以看出,最终的效果还是false path,设置的max_delay不起作用。

移远通信如何推动配电系统的智慧升级
加密数字货币交易平台INCX介绍
广西移动采用华为5G网络打通了首个跨国越洋5G电话
小功率充电器适配器电源管理ic方案SM7022易过CE/UL国际认证
最新黑科技, 小米6华为P10与三星苹果你会选谁
MCP电路实现方法及命令优先级实例
浅谈新型石墨烯生物传感器种新作用
TOSCA Structure拓扑优化从入门到精通
火星快车探测器拍摄到火卫一最清晰照片 让你大饱眼福
从源码来看isinstance的检测过程
关于国产工控机的简介,它的种类有哪些
电动汽车充电应用测试解决方案
魏少军:推动半导体产业实现再全球化
CEBus标准,什么是CEBus标准
华勤技术公布2023年预期经营数据:营收851亿元,净利润26.8亿元
湖南驰众成功入选2018年中国机器人十大科技进展
成都市与华为将加快推进“人工智能大数据中心”项目在蓉城落地
亚马逊请求禁令,阻止微软国防部100亿美元云合同
KUKA CWRITE:对单一提交模式的更改方法
iPhone发布时间越来越近,传闻新一代iPhone可能要更换名称