FPGA時序分析與約束(0)——目錄與傳送門

一、簡介

????????關于時序分析和約束的學習似乎是學習FPGA的一道分水嶺,似乎只有理解了時序約束才能算是真正入門了FPGA,對于FPGA從業者或者未來想要從事FPGA開發的工程師來說,時序約束可以說是一道躲不過去的坎,所以這個系列我們會詳細介紹FPGA時序分析與約束的相關內容。

? ? ? ? 我們在設計FPGA的時候往往是進行多方面性能的權衡來實現設計的最優化,在可實現的情況下,我們一般會期望處理速率越快越好,但是與理論不同,在實際的硬件設計的時候,一個邏輯上正確的設計仍然會因為現實世界中的實現問題而失敗!

二、基礎知識

? ? ? ? 你總得知道點什么,我們才能繼續聊下去。

2.1 組合電路時序

FPGA時序分析與約束(1)——組合電路時序-CSDN博客文章瀏覽閱讀773次,點贊11次,收藏12次。在可實現的情況下,我們一般會期望fpga處理速率越快越好,但是與理論不同,在實際的硬件設計的時候,一個邏輯上正確的設計仍然會因為現實世界中的實現問題而失敗!本文中我們介紹了組合電路的時序問題,定義了tcd和tpd兩個重要參數,明確了如何尋找一個組合邏輯電路的最短路徑Shortest Path和最長路徑LongestPath(更常規的叫法是關鍵路徑Critical Path),然后我們分析了組合邏輯毛刺產生的原因及影響https://blog.csdn.net/apple_53311083/article/details/132368941

2.2?時序電路時序

FPGA時序分析與約束(2)——時序電路時序-CSDN博客文章瀏覽閱讀3.5k次,點贊41次,收藏44次。本文我們介紹了時序電路中的時序問題,這是我們進行進一步時序分析內容學習的重要理論基礎,首先我們介紹了D觸發器相關內容,著重說明了建立時間和保持時間的含義和產生原因,然后引入了觸發器的輸出時序,最后介紹了時序電路系統的設計約束。https://blog.csdn.net/apple_53311083/article/details/132626131

2.3 時鐘不確定性

FPGA時序分析與約束(3)——時鐘不確定性_clock uncertainty包括什么-CSDN博客文章瀏覽閱讀1.2k次,點贊12次,收藏13次。本文主要介紹了FPGA中時鐘的不確定性問題,FPGA中的時鐘不確定性由2部分組成,時鐘抖動和時鐘偏移,時鐘抖動由時鐘內部產生,是時鐘的固有參數,時鐘偏移是由于時鐘到達不同部分的時間不一致導致的,與FPGA的設計結構,布局布線等有關。_clock uncertainty包括什么https://blog.csdn.net/apple_53311083/article/details/132631389

2.4?時序分析,時序約束,時序收斂

FPGA時序分析與約束(4)——時序分析,時序約束,時序收斂-CSDN博客文章瀏覽閱讀361次,點贊10次,收藏10次。本文中我們學習了時序分析,時序約束,時序收斂的含義,我們主要采用的時序分析方法是靜態時序分析法,在后文中,我們將正式開始介紹如何進行時序分析。https://blog.csdn.net/apple_53311083/article/details/132629963

2.5 時序路徑

FPGA時序分析與約束(5)——時序路徑-CSDN博客文章瀏覽閱讀3.6k次,點贊49次,收藏55次。介紹了時序分析過程中時序路徑的基本概念,分別介紹了FPGA中常見的4種時序路徑:(1)引腳到寄存器(從FPGA的輸入端口到目的寄存器的數據輸入端口)(2)寄存器到寄存器(從源寄存器的時鐘端口到目的寄存器的數據輸入端口)(3)寄存器到引腳(從源寄存器的時鐘端口到FPGA的輸出端口)(4)引腳到引腳(從FPGA的輸入端口到FPGA的輸出端口)。這部分的內容是我們進行后續時序分析及時序約束的重要基礎。https://blog.csdn.net/apple_53311083/article/details/132641522

2.6?綜合基礎知識

FPGA時序分析與約束(6)——綜合的基礎知識-CSDN博客文章瀏覽閱讀1.9k次,點贊62次,收藏46次。與綜合相關的一些問題的性質和約束的必要性。隨著設計復雜性的不斷提高,為了能夠正確地表示的要求和關系,約束自身也變得越來越復雜https://blog.csdn.net/apple_53311083/article/details/133965507

2.7?通過Tcl擴展SDC

FPGA時序分析與約束(7)——通過Tcl擴展SDC-CSDN博客文章瀏覽閱讀879次,點贊13次,收藏8次。通過使SDC 擴展到Tcl,特定于工具的命令可以與原生的Tcl結構,如變量、表達式、語句和子程序相混合,使其成為實現工具非常強大的語言。術語“Synopsys公司設計約束”(又名SDC,Synopsys Design Constraints)用于描述對時序、功率和面積的設計要求,是EDA工具中用于綜合、STA和布局布線最常用的格式。該類別包括幫助設計人員放寬要求地命令,此命令是由其他命令所規定的,從而提供了約束放寬的適用范圍,下表給出了此類約束,表格中標有星號的命令也可提供額外的收緊(而不是放寬)。https://blog.csdn.net/apple_53311083/article/details/133979334

2.8 時序引擎

??????FPGA時序分析與約束(8)——時序引擎-CSDN博客文章瀏覽閱讀2.4k次,點贊60次,收藏31次。FPGA時序分析,時序引擎如何實現建立分析(setup),保持分析(hold),恢復時間分析(recovery)和移除時間分析(removal)。https://blog.csdn.net/apple_53311083/article/details/134095643

三、時鐘約束

? ? ? ? 對于時序分析和時序約束來說,最重要的就是時鐘,這是一切的開始。

3.1 主時鐘約束

FPGA時序分析與約束(9)——主時鐘約束-CSDN博客文章瀏覽閱讀590次,點贊18次,收藏12次。fpga時鐘約束,create_clock詳細解讀,主時鐘約束https://blog.csdn.net/apple_53311083/article/details/134102984

3.2?生成時鐘

FPGA時序分析與約束(10)——生成時鐘-CSDN博客文章瀏覽閱讀1.3k次,點贊29次,收藏15次。如今的Soc在同一個芯片內包含多種異構設備。同一個芯片內可能包含高速的處理器和低速的存儲器。這些工作在不同頻率下的器件通常由不同的時鐘觸發。每個部分的運行是基于各自時鐘的,這些會帶來異步性的設計問題。這可能導致幾個時鐘都源于同一個主時鐘,這些時鐘稱為生成時鐘(衍生時鐘、派生時鐘)。https://blog.csdn.net/apple_53311083/article/details/134129986

3.3 時鐘組

? ? ? ? 還沒寫呢,有空一定

3.4 其他時鐘特性

? ? ? ? 別急

四、端口約束

FPGA時序分析與約束(13)——I/O接口約束-CSDN博客文章瀏覽閱讀2.5k次,點贊68次,收藏29次。在應用了時鐘約束后,所有寄存器到寄存器的路徑都能定時。為了獲得更加精準的FPGA外部時序信息,設計者需要為FPGA的I/O接口指定時序信息,一般時序工具只能獲取FPGA器件內部的時序信息,對于FPGA器件引腳之外的時序信息,必須由設計者約束定義。如果沒有指定的輸入輸出的,時序分析工具會假設在接口上使用最優時序要求并假設電路單元的組合邏輯本身具有整個周期,電路單元外部沒有信號https://blog.csdn.net/apple_53311083/article/details/134335666

五、時序異常

5.1 虛擬路徑

FPGA時序分析與約束(14)——虛擬路徑-CSDN博客文章瀏覽閱讀319次。到目前為止,我們已經看到了如何約束時鐘和端口來指定設計中的時序要求,我們可以通過這些基礎的約束命令來進行時序約束,但是時序分析工具默認的時序檢查方式可能和我們實際工程實現的情況不同,通常來說是約束過緊,可能導致時序失敗。此時,設計者就需要額外增加一下啊約束命令,用于調整既有的時序檢查方式,以保證達到我們的設計預期。設計者額外增加的這部分約束,我們稱之為時序異常(也有地方稱之為時序例外約束)。本文中,我們重點關注虛擬路徑。https://blog.csdn.net/apple_53311083/article/details/134365891

5.2 多周期路徑

? ? ? ? 會寫的

5.3?最小延遲和最大延遲

? ? ? ? 未完待續

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

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

相關文章

Python的sort()與sorted()排序函數的區別

文章目錄 一、工具二、需求三、簡單的使用例子四、原理分析Timsort算法主要特點:Timsort算法的工作原理:sort() 方法和 sorted() 函數的差異: 五、Python中的單例實現簡單示例 一、工具 Python 3.10.0 pycharm 2022 二、需求 最近做項目的…

微服務學習:RestTemplateWebClient發起的http請求實現遠程調用

http請求做遠程調用是與語言無關的調用,只要知道對方的ip,端口,接口路徑,請求參數即可 啟動類中配置: Beanpublic RestTemplate restTemplate(){return new RestTemplate();} Sevice中書寫方法 get Autowiredprivate RestTemp…

2023-2024 年重慶市職業院校技能大賽 高職組“軟件測試”賽項樣題

2023-2024 年重慶市職業院校技能大賽 高職組“軟件測試”賽項樣題 單元測試要求分析、代碼設計、設計測試數據、編寫測試腳本和 測試執行等;測試計劃、測試報告文檔設計與編寫;Web 端測試用例 設計、測試執行和 Bug 記錄; 自動化測試要求分析…

點擊按住說話按鈕事件有延遲

問題原因: 該問題原因是由于系統的某些手勢 delaysTouchesBegan 屬性為 YES,當按鈕處在某些特定位置時觸摸事件會先被這些系統的手勢攔截,系統不響應才會繼續分發,而按鈕的 UIControlEventTouchDown 事件是需要立即響應的&#xf…

Python數據處理的六種方式總結,Python零基礎學習

文章目錄 前言1、dedup()去重并排序2、traverse()拆分嵌套數組3、filter()數據篩選4、groupby()分組運算5、select()遍歷結果集6、sort()數據排序 總結 前言 在 Python 的數據處理方面經常會用到一些比較常用的數據處理方式,比如pandas、numpy等等。 今天介紹的這…

vue圖片預覽 90度旋轉

要在 Vue 3 中實現點擊按鈕讓圖片旋轉 90 度&#xff0c;你可以使用 CSS 轉換和 Vue 的事件處理來完成。這里是一個基本的示例&#xff1a; 首先&#xff0c;在你的組件的模板中&#xff0c;添加一個按鈕和一個應用轉換的圖像&#xff1a; <template> <div> <…

使用粗糙貼圖制作粗紋皮革手提包3D模型

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

UniGui使用CSS優化PageControl

如題直接上代碼 .x-tab-bar-default-top{background-image:none!important;background-color:#FFF !important;border-color:#f0f0f0 !important;border-left:none!important;border-right:none!important}.x-tab-bar-strip-default{border-color:#f0f0f0 !important;backgrou…

Redisson出現問題總結

org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required… channel: 出現此問題的原因為沒有redis權限。解決方案在setAddress()后面加上setPassword()方法。 config.useSingleServer().setAddress("redis://localhost:6379").setPasswo…

Hugging Face 給普通用戶提供了一個 2 vCPU 16GB 的免費空間

Hugging Face 給普通用戶提供了一個 2 vCPU 16GB 的免費空間&#xff0c;并且支持部署 Gradio 構建的應用程序&#xff0c;非常方便&#xff0c;下面我們進入 https://huggingface.co/spaces/ &#xff0c;點擊創建空間。

MySQL一 | SQL語句

目錄 DDL語句 查詢所有數據庫 查詢當前數據庫 切換數據庫 創建數據庫 創建表 刪除表 查詢當前數據庫所有表 查詢表結構 查詢指定表的鍵表語句 添加字段 修改數據類型 修改字段名和字段類型 刪除字段 修改表名 刪除表 刪除指定表&#xff0c;并重新創建該表…

CCF: 202012-2 期末預測之最佳閾值--C++

#include<iostream> #include<bits/stdc.h>using namespace std;int main() {int n;//m位同學的數據int y[100001];//記錄m位同學的安全指數int result[100001];//記錄m位同學最后的掛科情況cin>>n;for(int i1;i<n;i){cin>>y[i]>>result[i];}…

unity 模型生成PNG圖片并導出(可以任意控制方向和大小,本文提供三種方案)

提示&#xff1a;文章有錯誤的地方&#xff0c;還望諸位大神不吝指教&#xff01; 文章目錄 前言一、插件RuntimePreviewGenerator&#xff08;方案一&#xff09;二、unity 官方提供的接口&#xff08;方案二&#xff09;三、方法三&#xff0c;可以處理單個模型&#xff0c;也…

華為OD機試真題-智能成績表-2023年OD統一考試(C卷)

題目描述: 小明來到某學校當老師,需要將學生按考試總分或單科分數進行排名,你能幫幫他嗎? 輸入描述: 第1行輸入兩個整數,學生人數n和科目數量m。0<n<100,0<m<10 第2行輸入m個科目名稱,彼此之間用空格隔開。科目名稱只由英文字母構成,單個長度不超過10個字符…

Linux下C++靜態鏈接庫的生成以及使用

目錄 一.前言二.生成靜態鏈接庫三.使用靜態鏈接庫 一.前言 這篇文章簡單討論一下Linux下如何使用gcc/g生成和使用C靜態鏈接庫&#xff08;.a文件&#xff09;。 二.生成靜態鏈接庫 先看下目錄結構 然后看下代碼 //demo.h#ifndef DEMO_H #define DEMO_H#include<string&g…

線程狀態:深入理解多任務并發編程中的精髓

目錄 引言 1. 線程狀態概述 1.1 定義 1.2 線程狀態圖 2. 線程狀態的轉換 2.1 新建到就緒 2.2 就緒到運行 2.3 運行到阻塞 2.4 運行到等待和超時等待 2.5 運行到終止 3. 實際編程中的線程狀態管理 3.1 合理使用wait()和notify() 3.2 謹慎處理阻塞狀態 3.3 使用線程…

面試題之Docker篇

1、Docker 是什么&#xff1f; Docker一個開源的應用容器引擎&#xff0c;是實現容器技術的一種工具&#xff0c;讓開發者可以打包他們的應用以及環境到一個鏡像中&#xff0c;可以快速的發布到任何流行的操作系統上。 2、Docker的三大核心是什么? 鏡像&#xff1a;Docker的鏡…

Elastic Support Hub 轉向語義搜索

作者&#xff1a;Chris Blaisure 我們很高興與大家分享 Elastic Support Hub 最近的增強功能&#xff1a;它現在由語義搜索提供支持&#xff01; 但在我們更詳細地了解對 Elastic Support Hub 所做的更改及其對客戶的影響之前&#xff0c;我們需要花點時間解釋語義搜索的概念&…

el-form表單校驗值為0提示校驗不通過

el-form表單校驗輸入框值為0時提示校驗不通過 配置validator自定義校驗方法 這里舉例在結構代碼里加入校驗規則 <el-form-item:prop"num":rules"[{required: true,message: 請輸入數量,trigger: change,},{validator,trigger: blur}]" ><el-inpu…

【安卓】安卓xTS之Media模塊 學習筆記(3) VTS測試

1. 背景 接下來進行正式的VTS測試。本章節還是以Media模塊相關進行介紹。 VTS主要測的是內核和HAL層&#xff0c;media的hal層是以openMax&#xff08;即將廢棄&#xff0c;今日2023.12&#xff09; 和 Codec2 (后續主流) 接口為主。 這里我們只看Codec2的要求&#xff0c;CDD…