0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MCP電路實(shí)現(xiàn)方法及命令優(yōu)先級實(shí)例

冬至子 ? 來源:RTL2GDS ? 作者:老本 Benjamin ? 2023-06-27 15:10 ? 次閱讀

SDC中的各式各樣的Exception,大體上可以分為“加嚴(yán)”和“放松”兩種類型,如下面幾個(gè)命令:

##更嚴(yán)格##
set_max_delay
set_min_delay
set_data_check
...
##更放松##
set_false_path
set_multicycle_path
set_case_analysis
set_disable_timing
...

需要強(qiáng)調(diào)的是需要加嚴(yán)的部分,對于異步路徑,往往需要通過set_max_delay來約束,防止路徑過長。而且有些跨時(shí)鐘域(CDC)的路徑,為了保證握手時(shí)的數(shù)據(jù)一致性,需要用到格雷碼(Gray Code),約束時(shí)更加需要注意。

多周期路徑

之前的文章有提到多半周期路徑,是為了加快數(shù)據(jù)的處理速度。這里的多周期路徑則是針對那些不需要太快的處理速度,一定程度上節(jié)省面積和功耗。多周期路徑常常發(fā)生在memory讀寫路徑,某些復(fù)位路徑,從慢時(shí)鐘域到快時(shí)鐘域的路徑等等。

當(dāng)然,多周期路徑是需要電路結(jié)構(gòu)配合實(shí)現(xiàn)的,但總體思路有兩個(gè):

(1)通過Enable信號控制Clock的采樣時(shí)刻

(2)通過Enable信號控制Data的變化時(shí)刻

下面舉一個(gè)通過方法(2)實(shí)現(xiàn)n-1個(gè)周期路徑的例子:

圖片

上圖主體上是從D1寄存器到D2寄存器的一條路徑,中間經(jīng)過了很長的組合邏輯。特殊之處在于D1/D2的數(shù)據(jù)變化是受FSM狀態(tài)機(jī)控制的,其中D1數(shù)據(jù)變化發(fā)生在第1個(gè)時(shí)鐘周期后(FF1的輸出信號使能),D2數(shù)據(jù)變化發(fā)生在第n的時(shí)鐘周期后(FFn的輸出信號使能)。從下面的波形圖可以看出,D1_OUT到D2_OUT經(jīng)過了n-1個(gè)周期。

圖片

優(yōu)先級順序

對于幾個(gè)常見的exception命令,使用時(shí)要特別注意優(yōu)先級順序,避免出現(xiàn)想要的約束不起作用的情況。

圖片

假設(shè)有一條從UFF1(CLKA)到UFF2(CLKB)的路徑,想通過以下命令進(jìn)行約束,最終的效果是怎樣的呢?

# CMD1
set_multicycle_path 2 -from CLKA -to CLKB
# CMD2, 優(yōu)先級比CMD1高,覆蓋
set_multicycle_path 3 -from UFF1/CP
# CMD3,優(yōu)先級更高,覆蓋
set_max_delay 6.6 -from UFF1/CP -to UFF2/D
# CMD4,優(yōu)先級比CMD3低,忽略
set_max_delay 5 -from CLKA -to CLKB
# CMD5,優(yōu)先級最高,覆蓋
set_false_path -to UFF2/D

可以看出,最終的效果還是false path,設(shè)置的max_delay不起作用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5254

    瀏覽量

    119284
  • CDC
    CDC
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    17718
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    489

    瀏覽量

    27401
  • SDC
    SDC
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    15487
收藏 人收藏

    評論

    相關(guān)推薦

    RTOS應(yīng)用中的優(yōu)先級反轉(zhuǎn)問題

    在嵌入式系統(tǒng)中,如果使用基于優(yōu)先級調(diào)度算法的RTOS,系統(tǒng)中可能發(fā)生優(yōu)先級反轉(zhuǎn)現(xiàn)象。優(yōu)先級反轉(zhuǎn)用來描述系統(tǒng)中高優(yōu)先級任務(wù)由于等待低優(yōu)先級任務(wù)
    發(fā)表于 12-14 11:00 ?1084次閱讀

    在μC OS-II中實(shí)現(xiàn)優(yōu)先級調(diào)度的方法

    在μC/OS-II中實(shí)現(xiàn)優(yōu)先級調(diào)度的方法
    發(fā)表于 05-16 15:05 ?23次下載

    在μCOS-II中實(shí)現(xiàn)優(yōu)先級調(diào)度的方法

    在μC/OS-II中實(shí)現(xiàn)優(yōu)先級調(diào)度的方法
    發(fā)表于 11-01 11:49 ?24次下載

    STM32F10X的中斷優(yōu)先級

    STM32(Cortex-M3)中有兩個(gè)優(yōu)先級的概念搶占式優(yōu)先級和響應(yīng)優(yōu)先級,有人把響應(yīng)優(yōu)先級稱作亞優(yōu)先級或副
    發(fā)表于 11-04 15:02 ?41次下載

    DSP中斷如何設(shè)置優(yōu)先級

    原以為2812中斷不能設(shè)置優(yōu)先級。實(shí)際上硬件上優(yōu)先級是做好的。但軟件上有辦法來設(shè)置優(yōu)先級。
    發(fā)表于 04-08 17:20 ?20次下載

    STM32單片機(jī)優(yōu)先級的定義

    先占優(yōu)先級也就是搶占優(yōu)先級,概念等同于51單片機(jī)中的中斷。假設(shè)有兩中斷先后觸發(fā),已經(jīng)在執(zhí)行的中斷先占優(yōu)先級如果沒有后觸發(fā)的中斷 先占優(yōu)先級更高,就會(huì)先處理先占
    發(fā)表于 12-07 15:09 ?9221次閱讀
    STM32單片機(jī)<b class='flag-5'>優(yōu)先級</b>的定義

    STM32實(shí)例:中斷和優(yōu)先級概念資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32實(shí)例:中斷和優(yōu)先級概念資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 03-29 16:53 ?2次下載
    STM32<b class='flag-5'>實(shí)例</b>:中斷和<b class='flag-5'>優(yōu)先級</b>概念資料下載

    cortex M內(nèi)核優(yōu)先級設(shè)置

    Cortex M內(nèi)核中每個(gè)中斷都有一個(gè)8位的優(yōu)先級設(shè)置寄存器這個(gè)8位的寄存器可以分為搶占優(yōu)先級和子優(yōu)先級兩個(gè)部分(通過設(shè)置優(yōu)先級組設(shè)置)搶占優(yōu)先級
    發(fā)表于 12-01 11:51 ?4次下載
    cortex M內(nèi)核<b class='flag-5'>優(yōu)先級</b>設(shè)置

    2.FreeRTOS中斷優(yōu)先級和任務(wù)優(yōu)先級

    FreeRTOS中斷優(yōu)先級和任務(wù)優(yōu)先級架構(gòu):Cortex-M3版本:FreeRTOS V9.0.0前言:最開始,我并沒有搞清楚什么是中斷優(yōu)先級和任務(wù)優(yōu)先級,但看了部分資料后發(fā)現(xiàn)這兩個(gè)并
    發(fā)表于 12-04 20:21 ?8次下載
    2.FreeRTOS中斷<b class='flag-5'>優(yōu)先級</b>和任務(wù)<b class='flag-5'>優(yōu)先級</b>

    STM32F103芯片中斷優(yōu)先級以及FreeRTOS優(yōu)先級設(shè)置

    STM32F103只用了4個(gè)位來表達(dá)優(yōu)先級,因此最多支持16的可編程優(yōu)先級(0~15),15為最低優(yōu)先級。
    發(fā)表于 01-25 18:59 ?1次下載
    STM32F103芯片中斷<b class='flag-5'>優(yōu)先級</b>以及FreeRTOS<b class='flag-5'>優(yōu)先級</b>設(shè)置

    uC/OS-II學(xué)習(xí)筆記——優(yōu)先級反轉(zhuǎn)與優(yōu)先級繼承機(jī)制

    優(yōu)先級反轉(zhuǎn),是指某同步資源被較低優(yōu)先級的進(jìn)程/線程所擁有,較高優(yōu)先級的進(jìn)程/線程競爭該同步資源未獲得該資源,而使得較高優(yōu)先級進(jìn)程/線程反而推遲被調(diào)度執(zhí)行的現(xiàn)象。
    發(fā)表于 02-09 10:33 ?2次下載
    uC/OS-II學(xué)習(xí)筆記——<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)與<b class='flag-5'>優(yōu)先級</b>繼承機(jī)制

    中斷優(yōu)先級處理的原則及配置 搶占優(yōu)先級和響應(yīng)優(yōu)先級的區(qū)別

    首先我們需要知道什么是中斷優(yōu)先級:中斷優(yōu)先級是CPU響應(yīng)中斷的先后順序
    的頭像 發(fā)表于 05-18 15:10 ?2.6w次閱讀
    中斷<b class='flag-5'>優(yōu)先級</b>處理的原則及配置 搶占<b class='flag-5'>優(yōu)先級</b>和響應(yīng)<b class='flag-5'>優(yōu)先級</b>的區(qū)別

    FreeRTOS任務(wù)的優(yōu)先級示例

    任務(wù)的優(yōu)先級:0~24之間。數(shù)字越大,任務(wù)優(yōu)先等級越高。高優(yōu)先級的任務(wù)優(yōu)先執(zhí)行。
    的頭像 發(fā)表于 09-15 11:13 ?2648次閱讀

    Free RTOS的優(yōu)先級翻轉(zhuǎn)

    優(yōu)先級翻轉(zhuǎn)簡介:就是高優(yōu)先級的任務(wù)運(yùn)行起來的效果好像成了低優(yōu)先級,而低優(yōu)先級比高優(yōu)先級先運(yùn)行;
    的頭像 發(fā)表于 02-10 15:31 ?1135次閱讀
    Free RTOS的<b class='flag-5'>優(yōu)先級</b>翻轉(zhuǎn)

    什么是優(yōu)先級反轉(zhuǎn)

    假設(shè)現(xiàn)在有三個(gè)任務(wù)TaskA(優(yōu)先級高)、TaskB(優(yōu)先級中)、TaskC(優(yōu)先級低),一個(gè)信號量(Semaphore),此信號量用于任務(wù)之間爭奪某個(gè)資源。在某一時(shí)刻,高優(yōu)先級的Ta
    的頭像 發(fā)表于 04-24 13:01 ?2091次閱讀
    什么是<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)