FPGA設計時序約束十一、others類約束之Set_Maximum_Time_Borrow

目錄

一、序言

二、Set Maximum Time Borrow

2.1 基本概念

2.2?設置界面

2.3?命令語法

2.4?命令示例

三、參考資料

一、序言

????在Vivado的時序約束窗口中,存在一類特殊的約束,劃分在others目錄下,可用于設置忽略或修改默認的時序路徑分析,以Vivado2022.1版本為例,主要包括以下4類,本文將介紹其中的最后一個Set_Maxium_Time_Borrow,示例的為Vivado2022.1

?

二、Set Maximum Time Borrow

2.1 基本概念

????Set_maximum_time_borrow約束是指當分析鎖存器Latch的時序時,設置可以從線nets中獲取的最大時間值(納秒即)。存儲電路設計有兩種類型:觸發器(Flip Flop)和鎖存器(Latch)。

????a)使用觸發器的設計

????數據從時鐘的上升沿啟動,必須在下一個時鐘上升沿到達前的set up時間內到達目的觸發器,如果兩個觸發器的組合邏輯時延太大,那么數據將沒法被捕獲觸發器所捕獲,捕獲的數據將不穩定,如果數據到達的時間太早,造成時間資源浪費

????b)使用鎖存器的設計

????當鎖存器是傳輸狀態時將透傳數據,如果鎖存器前的組合邏輯時延較大時,將借用下一個周期的時間,所以當需要設計有較高的性能時,會使用鎖存器

????時間借用的場景:從設計中的鎖存器借用,借用的時間用于設計中的觸發器。

?

時鐘波形如下,周期為10ns,占空比為50%。

?

????當數據從觸發器FF1出發,理想情況下(setup、hold和時鐘延遲,時鐘偏斜都為0)在下一個時鐘周期10ns后到達觸發器FF2,如果數據到達FF2的時間大于10ns,則無法被FF2捕獲,同樣的在20ns后到達FF3被捕獲。

????將路徑圖中的FF2換成鎖存器Latch,如下圖

?

????如果數據從FF1出發到達Latch的輸入端口D早于10ns,此時鎖存器由于CLK為低電平不工作,不會影響數據的獲取,和使用FF的場景相同。

????如果數據從FF1出發到達Latch的輸入端口D大于10ns,如12ns時到達,如果Latch為FF2時數據將無法被捕獲,此時為鎖存器,只有數據在10ns-15ns時到達,數據依舊傳輸到了FF3,這時通過借用下一個周期的時間,12ns到達時相比使用寄存器FF2,鎖存器提供了2ns的優勢。

????在這個例子中鎖存器所能借用的最大時間為5ns(一個周期中高電平的有效時間),但從鎖存器到寄存器FF3的時間減少了,原先是10ns,借用后必須8ns內到達,以便FF3在20ns時能獲取到數據,因為從FF1到FF3總的20ns時間關系是不變的。

????因此,在使用寄存器的設計中,組合邏輯的延時不能超過一個時鐘周期,除非一些特殊設置,如多周期約束路徑和false路徑。在使用鎖存器的設計中,大的組合邏輯延時可以通過下一級更短的組合邏輯延時來補償。

2.2?設置界面

進入Timing Constraints界面,在左側Others欄中選中Set Maximum Time Borrow,右側即顯示Set Maximum Time Borrow

?

設置界面中需設置對象objects和借用的時延值delay value

?

約束設置子界面需設置Objects,可為clocks或cells

?

2.3?命令語法

命令格式

set_max_time_borrow [?quiet] [?verbose] <delay> <objects>

參數含義

?

2.4?命令示例

1、約束所有時鐘相關的鎖存器允許借用的時間為0,這等于阻止了整個設計的時間借用

set_max_time_borrow 0.0 [all_clocks]

2、約束了頂層net允許借用20個時間單元

set_max_time_borrow 20 {top/*}

三、參考資料

用戶手冊:ug903-vivado-using-constraints-en-us-2022.2.pdf

鏈接:https://pan.baidu.com/s/17AK_-J4wRXiFLtLTorlrwg?pwd=mylt?

提取碼:mylt? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212599.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212599.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212599.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IntelliJ IDEA開啟git版本控制的簡單教程

這篇文章想要分享一下怎么在IntelliJ IDEA開啟版本控制&#xff0c;博主使用的是gitee&#xff0c;首先需要安裝git&#xff0c;關于git的安裝這里就不介紹了&#xff0c;很簡單。 目錄 創建git倉庫 創建項目 開啟版本控制 拉取項目 創建git倉庫 首先&#xff0c;需要登錄…

《Linux中lsof的神奇探秘:打開文件的魔法與更多相似利器》

前言 在Linux的世界里&#xff0c;lsof&#xff08;List Open Files&#xff09;是一個強大的工具&#xff0c;它能幫助我們輕松查看系統上打開的文件及網絡連接。然而&#xff0c;除了lsof之外&#xff0c;還有一些與它功能相似且同樣強大的命令等待著我們去發現。本文將引領…

MATLAB | 官方舉辦的動圖繪制大賽 | 第四周(收官周)賽情回顧

MATHWORKS官方舉辦的迷你黑客大賽第三期(MATLAB Flipbook Mini Hack)圓滿結束&#xff0c;雖然我的水平和很多大佬還有比較大的差距&#xff0c;但所有獎也算是拿滿了&#xff1a; 專家評選前三名&#xff0c;以及投票榜前十&#xff1a;~ 每周的階段性獲獎者&#xff1a; 下面…

【Python】手把手教你用tkinter設計圖書管理登錄UI界面(三)

上一篇&#xff1a;【Python】手把手教你用tkinter設計圖書管理登錄UI界面&#xff08;二&#xff09;-CSDN博客 下一篇&#xff1a; 緊接上一篇文章&#xff0c;繼續完善項目功能&#xff1a;用戶登錄。由于老王的注冊部分有億點點復雜&#xff0c;還沒完成&#xff0c;但是…

ngixn 準備

確認yum可用&#xff0c;確認防火墻&#xff0c;確認SELinux 一項安裝 yum -y install gcc make automake pcre-devel zlib zlib-devel openssl openssl-devel參數&#xff1a; gcc&#xff1a;編譯依賴gcc環境 pcre&#xff1a;PCRE(Perl Compatible Regular Expressions)是一…

鴻蒙OS應用開發的開發環境

鴻蒙OS應用開發的開發環境 鴻蒙系統發展越來越快&#xff0c;已經開始走進千家萬戶&#xff0c;從手機到電視機&#xff0c;再到汽車&#xff0c;以后各種手表、智能設備等等。這已經是一個廣泛應用的操作系統&#xff0c;也是跟大家生活密切相關的操作系統。要想在這個平臺上…

Git命令---查看遠程倉庫

介紹 使用git命令查看綁定的遠程倉庫。 命令 git remote -v

Kubernetes里的DNS;API資源對象ingress;Kubernetes調度;節點選擇器NodeSelector;節點親和性NodeAffinity

Kubernetes里的DNS K8s集群內有一個DNS服務&#xff1a; kubectl get svc -n kube-system |grep dns測試&#xff1a; 在tang3上安裝bind-utils,目的是安裝dig命令 yum install -y bind-utils apt install dnsutils #ubuntu上 解析外網域名 dig 10.15.0.10 www.baidu.com…

NSSCTF-Crypto靶場練習--第11-20題wp

文章目錄 [SWPUCTF 2021 新生賽]traditional[LitCTF 2023]夢想是紅色的 (初級)[SWPUCTF 2021 新生賽]crypto2[羊城杯 2021]Bigrsa[LitCTF 2023]Hex&#xff1f;Hex&#xff01;(初級)[SWPU 2020]happy[AFCTF 2018]BASE[安洵杯 2019]JustBase[鶴城杯 2021]Crazy_Rsa_Tech[SWPUCT…

順序表的應用

1. 順序表 1.1 寫法1 Linear_Opeartor2.c #include "stdio.h" #include "stdlib.h" #include "stdbool.h" #include "string.h" //順序表//申明順序表的大小 #define MAXSIZE 5 typedef bool status; //創建順序表 int *Linear_Creat…

DockerFile中途執行出錯的解決辦法

DockerFile中途執行出錯的解決辦法 你們是否也曾經因為DockerFile中途執行出錯,而對其束手無策?總是對docker避之不及! 但是當下載的源碼運用到了docker,dockerFile 執行到一半,報錯了怎么辦? 現狀 那么當DockerFile執行一半出錯后,會產生什么結果呢? 如圖可知,生成…

我們常說的流應用到底是什么?

流應用是DCloud公司開發的一種可以讓手機App安裝包實現邊用邊下的技術。基于HTML5規范的即點即用應用&#xff0c;開發者按照HTML5規范開發的應用&#xff0c;可以在支持HTML5流應用的發行渠道實現即點即用的效果。 流應用是基于 HTML5規范的即點即用應用&#xff0c;開發者按照…

Nacos注冊中心客戶端容災

目前Nacos客戶端有一個FailoverReactor來進行容災文件的管理&#xff0c;可以通過在指定磁盤文件里寫入容災數據來進行客戶端使用數據的覆蓋。FailoverReactor目前會攔截Nacos客戶端查詢接口調用&#xff0c;以getAllInstances接口為例&#xff0c;目前FailoverReactor的工作流…

【合集】SpringBoot——Spring,SpringBoot,SpringCloud相關的博客文章合集

前言 本篇博客是spring相關的博客文章合集&#xff0c;內容涵蓋Spring&#xff0c;SpringBoot&#xff0c;SpringCloud相關的知識&#xff0c;包括了基礎的內容&#xff0c;比如核心容器&#xff0c;springMVC&#xff0c;Data Access&#xff1b;也包括Spring進階的相關知識&…

免費的網頁數據抓取工具有哪些?【2024附下載鏈接】

在網絡上&#xff0c;有許多網頁數據抓取工具可供選擇。本文將探討其如何全網采集數據并支持指定網站抓取。我們將比較不同的數據采集工具&#xff0c;幫助您找到最適合您需求的工具。 網頁數據抓取工具種類 在選擇網頁數據抓取工具之前&#xff0c;讓我們先了解一下這些工具…

TC397 EB MCAL開發從0開始系列 之 [21.2] FlsLoader配置實戰 - 擦除讀寫Pflash

一、FlsLoader配置1、配置目標2、目標依賴2.1 硬件使用2.2 軟件使用2.3 新增模塊3、EB配置3.1 配置講解3.2 模塊配置3.2.1 MCU配置3.2.2 PORT配置3.2.3 FlsLoader配置3.2.5 Irq配置3.2.6 ResourceM配置4、ADS代碼編寫及調試<

[ 藍橋杯Web真題 ]-布局切換

目錄 介紹 準備 目標 規定 思路 解法參考 介紹 經常用手機購物的同學或許見過這種功能&#xff0c;在瀏覽商品列表的時候&#xff0c;我們通過點擊一個小小的按鈕圖標&#xff0c;就能快速將數據列表在大圖&#xff08;通常是兩列&#xff09;和列表兩種布局間來回切換。…

電機:有刷直流電機的原理

一、什么是有刷直流電機 直流有刷電機&#xff08;Brushed DC Motor&#xff09;&#xff0c;定子是用永磁鐵或者線圈做成&#xff0c;以形成固定磁場。在定子一端上有固定碳刷&#xff0c;或者銅刷&#xff0c;負責把外部電流引入轉子線圈。而轉子是由線圈構成&#xff0c;線…

郵件營銷軟件:10個創新郵件營銷策略,提升投資回報率(一)

電子商務和電子郵件營銷密不可分。盡管電子商務在蓬勃發展&#xff0c;而很多人對郵件營銷頗有微詞。但是在電子商務中&#xff0c;郵件營銷的確是一種有效營銷方式。在本文中&#xff0c;我們將討論一下郵件營銷在電子商務中的有效運用&#xff0c;幫助您的企業在今年盡可能地…

2023-12-05 Qt學習總結6

點擊 <C 語言編程核心突破> 快速C語言入門 Qt學習總結 前言十八 QMessageBox消息對話框十九 Qt布局管理總結 前言 要解決問題: 學習qt最核心知識, 多一個都不學. 十八 QMessageBox消息對話框 QMessageBox消息對話框是Qt中的一個提供用戶交互界面的對話框窗口。 它通常…