0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

冬至子 来源:RTL2GDS 作者:老本 Benjamin 2023-06-27 15:10 次阅读

SDC中的各式各样的Exception,大体上可以分为“加严”和“放松”两种类型,如下面几个命令:

##更严格##
set_max_delay
set_min_delay
set_data_check
...
##更放松##
set_false_path
set_multicycle_path
set_case_analysis
set_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)的路径,想通过以下命令进行约束,最终的效果是怎样的呢?

# CMD1
set_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不起作用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117731
  • CDC
    CDC
    +关注

    关注

    0

    文章

    55

    浏览量

    17671
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27168
  • SDC
    SDC
    +关注

    关注

    0

    文章

    47

    浏览量

    15302
收藏 人收藏

    评论

    相关推荐

    [转] STN32抢占优先级与副优先级及中断优先级NVIC理解

    首先来说说两个概念,1、NVIC的优先级概念 抢占式优先级 (pre-emption priority): 高占先式优先级的中断事件会打断当前的主程序/中断程序运行— —抢断式优先响应
    发表于 04-15 14:14

    CC1310rtos里面,优先级定义时,是1的优先级高还是2的优先级高?

    CC1310rtos里面,优先级定义时,是1的优先级高还是2的优先级高?
    发表于 06-21 10:12

    stm32中断优先级理解

    吗 ?为什么实例中的中断6 的抢占优先级可以设置为4? 而数值越小所代表的优先级就越高。数值是否就是抢先优先级的数值?刚学stm32,问的问题很小白,大家见谅。
    发表于 06-24 04:35

    任务优先级问题

    优先级的任务可以通过时间片轮转调度来实现任务切换。在不同优先级的任务中,如果高优先级的任务没有延时,没有等待信号量等使用任务调度的内核对象的话,是否高
    发表于 04-02 04:35

    请问按键优先级为什么要低于LED闪烁的优先级

    实验中定义LED灯任务的优先级高于KEY的优先级,灯就会闪烁 。如果KEY的优先级高于LED灯的优先级,灯就不闪烁,求解答。以下优先级设置可
    发表于 06-12 09:00

    干货 | RTOS应用中的优先级反转问题

    反转的影响。互斥信号量是包含优先级继承机制的二值信号量,二值信号量更适合实现任务间或任务与中断服务之间的同步操作,互斥信号量更适用于互斥实现。用作互斥机制时,互斥信号量相当于一个令牌,保护共享资源。当
    发表于 03-09 15:00

    优先级判断STM32

    一:综述STM32 目前支持的中断共为 84 个(16 个内核+68 个外部), 16 可编程中断优先级的设置(仅使用中断优先级设置 8bit 中的高 4 位)和16个抢占优先级(因
    发表于 08-13 06:50

    中断实现控制led灯解析优先级

    中断实现控制led灯解析优先级- M4中断优先级(分三种):抢占优先级:含义是不同等级间的中断可以嵌套,高优先级可以中断低
    发表于 08-16 06:07

    中断优先级的基本规则

    STC12C5A60S2单片机复位后IP、IP2、IPH、IP2H均为00H,各个中断源都是低优先级=》不能被同级中断所中断中断优先控制寄存器IP、IP2、IPH、IP2H例如:想要实现外部中断1被中断0中断,设置外部中断0为最
    发表于 11-25 06:32

    什么是先占优先级和从优先级

    什么是先占优先级和从优先级
    发表于 12-13 07:00

    NVIC中断优先级分组

    一、NVIC 中断优先级分组1、中断管理方法:对stm32分为四组,0~4组,同时每个中断设置一个抢占优先级和一个响应优先级2、区别:3、中断优先级
    发表于 01-11 06:48

    抢占优先级和相应优先级的区别是什么?

    中断优先级管理方法是什么?抢占优先级和相应优先级的区别是什么?
    发表于 02-07 07:48

    请问有什么方法降低WIFI中断的优先级

    因为项目对时序输出要求比较严格,WIFI中断优先级比硬件定时器中断优先级要高,在定时器中断里面对GPIO管脚控制被延长执行,请问有什么方法降低WIFI中断的优先级
    发表于 02-16 08:30

    在μC OS-II中实现优先级调度的方法

    在μC/OS-II中实现优先级调度的方法
    发表于 05-16 15:05 23次下载

    在μCOS-II中实现优先级调度的方法

    在μC/OS-II中实现优先级调度的方法
    发表于 11-01 11:49 24次下载