計時分析器頻率啟用多週期

author-image

作者

透過 Synopsys® 設計限制 (SDC) set_multicycle_path和get_fanouts指令,您可以根據啟用的收款器建立多週期例外。

圖 1 顯示一個簡單的 enable_reg電路,用於為註冊 din_a_reg[7.0]、din_b_reg[7.0]、din_x_reg[7.0]、din_y_reg[7.0]、a_times_b和x_times_y建立已註冊的啟用訊號。

圖 1。簡單的註冊啟用設計。

使能寄 存器enable_reg 產生一個使能脈衝,該脈衝是寄存器時鐘週期的兩倍,因此,必須應用多周期異常才能進行正確的分析。多週期設定為 2 和多週期保持為 1 必須套用於寄存器enable_reg饋送的使能驅動 寄存器。多週期異常僅適用於目標寄存器由 enable_reg 控制的寄存器到寄存 路徑。

為此,您可以將 set_multicycle_path 異常應用於所有使能驅動的寄存器。此方法通常很繁瑣,因為必須指定所有使能驅動寄存器。或者 ,set_multicycle_pathget_fanouts 的組合可以按如下方式使用:

#Setup 2 個多週期到啟用的驅動目標寄存器

set_multicycle_path 2 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end -setup

#Hold 1 個多週期到啟用的目的地收銀台

set_multicycle_path 1 -to [get_fanouts [get_pins enable_reg|q*] \

-through [get_pins -hierarchical *|*ena*]] -end –hold

set_multicycle_path異常的目標僅限於寄存器reg_en的所有扇出,這些寄存器寄存器的啟用埠供電,這可以通過以下選項完成:

[get_fanouts [get_pins enable_reg|q*] -through [get_pins -hierarchical *|*ena*]]

表 1 顯示了應用多周期異常后,設計中所有使能驅動的寄存器到寄存器路徑的新設置和保持關係。

從表 1 中,請注意,從寄存器 開始enable_reg 和在任何使能驅動寄存器處結束的建立和保持關係分別為 2 和 1。如果這些路徑不需要修改設置和保持關係,則可以應用以下多週期例外來應用原始關係:

set_multicycle_path 1 -from [get_pins enable_reg|q*] –end -setup

set_multicycle_path 0 -from [get_pins enable_reg|q*] –end –hold

下載範例電路 clock_enable_multicycle.qar

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。