相關主題
商品描述
FPGA時序分析是FPGA設計中至關重要的一環節,很多初學者由於對時序沒一個系統的概念,不會正確的約束時序,最終導致設計不穩定甚至不能正常工作。本書基於Vivado,以及Xilinx FPGA,從數字邏輯工作基本原理說起,深入淺出一步一步推導建立時間裕量公式和保持時間裕量公式,根據不同的時序路徑類型,結合具體實例來講述FPGA時序約束技巧。
目錄大綱
目 錄
第1章 Vivado時序分析綜述 1
1.1 引言 1
1.2 靜態時序分析 2
1.3 Vivado時序約束流程 6
1.3.1 使用GUI界面進行約束 7
1.3.2 通過XDC文件添加約束 11
1.4 Vivado XDC語言 12
1.5 XDC文件管理 13
1.6 時序約束命令分類 15
第2章 FPGA內部時序路徑分析 18
2.1 時序路徑分類 18
2.2 建立時間和保持時間 19
2.3 建立關系和保持關系 23
2.3.1 建立關系和保持關系定義 23
2.3.2 時鐘同源時的建立關系和保持關系 24
2.3.3 時鐘不同源時的建立關系和保持關系 25
2.4 網表中的目標路徑定位 28
2.4.1 網表中的目標分類 28
2.4.2 get_cells命令詳解 29
2.4.3 get_cells命令使用示例 30
2.4.4 網表中定位目標命令的參數對比 34
2.5 reg2reg路徑時序分析 34
2.5.1 reg2reg路徑時序模型 34
2.5.2 reg2reg路徑建立時序裕量公式 36
2.5.3 reg2reg路徑保持時序裕量公式 38
2.5.4 reg2reg路徑建立時序裕量和保持時序裕量總結 40
2.6 復位路徑時序檢查 41
2.7 reg2reg路徑時序報告解讀 42
2.7.1 reg2reg路徑分段 42
2.7.2 reg2reg路徑報告實例環境 43
2.7.3 reg2reg路徑建立時序報告解讀 44
2.7.4 reg2reg路徑保持時序報告解讀 52
第3章 主時鐘約束 55
3.1 時鐘特性約束 55
3.1.1 時鐘周期/占空比/相位約束 56
3.1.2 時鐘抖動約束 60
3.1.3 時鐘不確定性約束 62
3.1.4 時鐘延時約束 64
3.1.5 時鐘轉換時間 65
3.2 虛擬時鐘約束 65
3.2.1 pin2reg時序路徑中的虛擬時鐘約束 66
3.2.2 reg2pin時序路徑中的虛擬時鐘約束 68
第4章 衍生時鐘約束 70
4.1 引言 70
4.2 衍生時鐘約束語法 71
4.3 基本衍生時鐘約束實例分析 72
4.4 -edges參數約束實例分析 74
4.4.1 下降沿二分頻約束實例 74
4.4.2 -edge_shift參數約束用法 75
4.4.3 三分頻非標準波形約束實例 76
4.5 -combinational參數約束實例分析 77
4.6 -invert參數約束實例分析 78
4.7 時鐘MUX約束實例分析 80
4.8 時鐘分組約束 82
4.8.1 時鐘分組使用場景 83
4.8.2 set_clock_groups語法詳解 84
4.8.3 異步時鐘組 85
4.8.4 獨占時鐘組 89
4.9 PLL/MMCM時鐘約束 90
4.10 時鐘檢查 92
第5章 輸入信號接口約束 96
5.1 引言 96
5.2 接口通信時序模型 96
5.2.1 系統同步模型 97
5.2.2 源同步模型 100
5.2.3 異步模型 101
5.2.4 自同步模型 102
5.3 源同步輸入信號分析 103
5.3.1 源同步輸入信號建立時序裕量 103
5.3.2 源同步輸入信號保持時序裕量 105
5.4 輸入延時命令詳解 106
5.5 源同步SDR輸入延時約束模板 108
5.5.1 源同步輸入信號時序類型 108
5.5.2 源同步SDR時鐘邊沿對齊 109
5.5.3 源同步SDR時鐘中央對齊 113
5.6 源同步DDR輸入延時約束模板 115
5.6.1 源同步DDR時鐘邊沿對齊 116
5.6.2 源同步DDR時鐘中央對齊 119
5.7 pin2reg路徑時序報告解讀 120
5.7.1 pin2reg路徑分段 120
5.7.2 pin2reg路徑約束實例分析 121
5.7.3 pin2reg路徑建立時序報告分析 123
5.7.4 pin2reg路徑保持時序報告分析 124
第6章 輸出信號接口約束 126
6.1 引言 126
6.2 源同步輸出信號分析 126
6.2.1 源同步輸出信號建立時序裕量 127
6.2.2 源同步輸出信號保持時序裕量 129
6.3 輸出延時命令詳解 130
6.4 源同步SDR輸出延時約束模板 132
6.4.1 源同步SDR時鐘邊沿對齊 133
6.4.2 源同步SDR時鐘中央對齊 135
6.5 源同步DDR輸出延時約束模板 137
6.5.1 源同步DDR時鐘邊沿對齊 137
6.5.2 源同步DDR時鐘中央對齊 138
6.6 reg2pin路徑時序報告解讀 139
6.6.1 reg2pin路徑分段 139
6.6.2 reg2pin路徑約束實例分析 140
6.6.3 reg2pin路徑建立時序報告分析 141
6.6.4 reg2pin路徑保持時序報告分析 143
第7章 時序例外約束 146
7.1 引言 146
7.2 虛假路徑約束 147
7.2.1 虛假路徑約束應用場景 147
7.2.2 虛假路徑約束命令詳解 149
7.2.3 虛假路徑約束實例 149
7.2.4 虛假路徑約束時序報告解讀 150
7.3 最大/最小延時約束 152
7.3.1 最大/最小延時約束語法 152
7.3.2 最大/最小延時約束實際意義 153
7.3.3 最大延時-datapath_only參數約束 154
7.3.4 組合邏輯路徑約束實例 156
7.4 多周期路徑約束 158
7.4.1 多周期路徑約束語法 160
7.4.2 同頻同相多周期路徑約束 161
7.4.3 同頻異相多周期路徑約束 162
7.4.4 不同頻多周期路徑約束 163
7.5 時序例外約束優先級 168
7.5.1 同類型約束優先級 168
7.5.2 不同類型約束優先級 169
7.6 時序例外約束中的等價約束 171
第8章 異步路徑時序約束 174
8.1 引言 174
8.2 異步路徑亞穩態處理 174
8.3 總線偏斜約束 178
8.3.1 總線偏斜約束簡介 178
8.3.2 總線偏斜約束命令詳解 179
8.3.3 總線偏斜約束報告解讀 180
8.4 單比特總線跨時鐘域路徑約束 181
8.5 多比特總線跨時鐘域路徑約束 185
8.5.1 握手同步 186
8.5.2 異步FIFO同步 188
8.5.3 使能同步 192
8.6 Xilinx參數化宏在跨時鐘域中的應用 194
第9章 物理約束 197
9.1 引言 197
9.2 進行佈局布線約束的原因 197
9.3 佈局約束 200
9.3.1 Pblock約束步驟 200
9.3.2 Pblock約束命令 204
9.3.3 Fix Cells約束 205
9.4 固定路由約束 207
第10章 時序約束實戰 210
10.1 引言 210
10.2 時鐘約束 211
10.3 接口約束 212
10.3.1 時鐘和復位信號接口 213
10.3.2 I2C配置接口 214
10.3.3 攝像頭傳感器輸入數據接口 217
10.3.4 DDR內存顆粒接口 218
10.3.5 HDMI視頻顯示接口 219
10.4 跨時鐘域約束 220