第1章 綜合階段\t1
1.1 綜合設置分析\t1
1.1.1 ?flatten_hierarchy\t1
1.1.2 ?control_set_opt_threshold\t2
1.1.3 ?no_lc\t4
1.1.4 ?keep_equivalent_registers\t4
1.1.5 ?resource_sharing\t6
1.1.6 ?gated_clock_conversion\t7
1.1.7 ?fanout_limit\t9
1.1.8 ?shreg_min_size和?no_srlextract\t10
1.1.9 ?fsm_extraction\t13
1.2 綜合屬性分析\t14
1.2.1 ASYNC_REG\t14
1.2.2 MAX_FANOUT\t16
1.2.3 SRL_STYLE和SHREG_EXTRACT\t18
1.2.4 USE_DSP\t21
1.2.5 RAM_STYLE和ROM_STYLE\t23
1.2.6 EXTRACT_ENABLE和EXTRACT_RESET\t24
1.2.7 MARK_DEBUG\t26
1.3 模塊化綜合技術\t27
1.3.1 模塊化綜合技術概述\t27
1.3.2 模塊化綜合技術的應用場景\t29
1.4 OOC綜合方式\t30
第2章 實現(xiàn)階段\t33
2.1 實現(xiàn)階段的子步驟\t33
2.2 關于邏輯優(yōu)化\t33
2.2.1 基本優(yōu)化\t33
2.2.2 優(yōu)化MUX\t34
2.2.3 優(yōu)化LUT\t34
2.2.4 優(yōu)化移位寄存器\t35
2.2.5 優(yōu)化進位鏈\t36
2.2.6 優(yōu)化控制集\t37
2.2.7 優(yōu)化扇出\t38
2.3 關于布局\t38
2.4 關于物理優(yōu)化\t39
2.4.1 基本優(yōu)化\t39
2.4.2 交互式物理優(yōu)化\t39
2.5 關于布線\t41
2.5.1 優(yōu)先對關鍵路徑布線\t41
2.5.2 查看布線報告\t42
2.6 關于增量實現(xiàn)\t43
2.7 關于ECO\t44
2.7.1 什么是ECO\t44
2.7.2 ECO流程\t45
2.7.3 ECO應用案例:替換ILA待測信號\t46
第3章 高效設計\t51
3.1 高效使用觸發(fā)器\t51
3.1.1 同步復位與異步復位\t51
3.1.2 觸發(fā)器的初始值\t53
3.1.3 鎖存器\t54
3.2 高效使用LUT\t55
3.2.1 LUT用作邏輯函數發(fā)生器\t55
3.2.2 LUT用作移位寄存器\t59
3.2.3 LUT用作分布式RAM\t61
3.3 高效使用Block RAM\t63
3.3.1 Block RAM的基本結構\t63
3.3.2 Block RAM的性能與功耗\t65
3.4 高效使用UltraRAM\t67
3.4.1 UltraRAM的基本結構\t67
3.4.2 UltraRAM的讀寫操作方式\t70
3.4.3 UltraRAM的實例化方式\t70
3.5 高效使用DSP48E2\t73
3.5.1 DSP48E2的基本結構\t73
3.5.2 DSP48E2的性能與功耗\t74
3.6 高效使用MMCM\t76
3.6.1 MMCM的基本功能\t76
3.6.2 MMCM的功耗與輸出時鐘的抖動\t78
3.7 高效設計異步跨時鐘域電路\t80
3.7.1 單bit異步跨時鐘域電路\t80
3.7.2 多bit異步跨時鐘域電路\t82
第4章 時序約束\t83
4.1 管理約束\t83
4.1.1 約束文件\t83
4.1.2 4種時序路徑\t85
4.1.3 4個步驟完成時序約束\t85
4.2 時鐘周期約束\t87
4.2.1 主時鐘周期約束\t87
4.2.2 生成時鐘周期約束\t89
4.2.3 對同一時鐘源添加多個時鐘周期約束\t91
4.2.4 調整時鐘特性約束\t93
4.3 I/O延遲約束\t93
4.4 時序例外路徑約束\t95
4.4.1 多周期路徑約束\t95
4.4.2 偽路徑約束\t99
4.4.3 最大/最小延遲約束\t101
4.4.4 時序例外路徑約束的指導原則\t102
4.5 使用create_generated_clock\t103
4.6 使用set_clock_groups\t105
4.7 調試約束\t108
4.7.1 了解約束的優(yōu)先級\t108
4.7.2 了解約束文件的屬性和編譯順序\t110
4.7.3 借助TCE調試約束\t112
4.7.4 借助Tcl命令調試約束\t113
4.8 案例分析\t114
第5章 時序收斂\t116
5.1 時序收斂的標準\t116
5.1.1 檢查約束\t116
5.1.2 檢查建立時間裕量\t117
5.2 基線設計\t117
5.3 分析時序違例\t121
5.3.1 分析時序違例的可能原因\t121
5.3.2 確定時序違例的根本原因\t125
5.3.3 分析邏輯級數\t128
5.3.4 分析數據路徑延遲\t128
5.3.5 分析時鐘歪斜\t129
5.4 解決時序違例\t129
5.4.1 降低邏輯延遲\t129
5.4.2 降低布線延遲\t131
5.4.3 降低時鐘歪斜\t134
5.4.4 降低時鐘不確定性\t136
5.5 時序收斂技術\t137
5.5.1 面向模塊的綜合技術\t137
5.5.2 邏輯級數\t138
5.5.3 控制集\t138
5.5.4 高扇出網線\t141
5.5.5 路徑優(yōu)先級\t142
5.5.6 保持時間違例\t143
5.5.7 實現(xiàn)策略\t144
5.5.8 多次迭代\t145
5.5.9 過約束\t145
5.5.10 增量編譯\t146
5.5.11 手工布局\t146
5.5.12 復用布局\t147
第6章 SSI器件設計\t148
6.1 SSI器件設計面臨的挑戰(zhàn)\t148
6.2 SSI器件的基本結構\t150
6.2.1 SLR架構\t150
6.2.2 跨die資源\t152
6.3 SSI器件的設計規(guī)劃\t154
6.3.1 數據流\t154
6.3.2 設計層次\t155
6.3.3 跨die路徑\t160
6.4 SSI器件的設計分析\t163
6.4.1 資源分析\t163
6.4.2 時序分析\t165
第7章 應用技巧\t168
7.1 界面操作\t168
7.1.1 快捷鍵\t168
7.1.2 Dashboard按鈕\t173
7.1.3 各類報告\t175
7.1.4 Schematic視圖\t176
7.1.5 Device視圖\t179
7.2 工程管理\t181
7.2.1 揭秘DCP\t181
7.2.2 復制工程\t183
7.2.3 復制IP\t185
7.3 資源利用率報告分析\t185
7.3.1 Block RAM的利用率\t185
7.3.2 LUT和LUTRAM的區(qū)別\t186
7.3.3 LUT的個數\t187
7.3.4 report_utilization命令的功能\t190
7.4 時序報告分析\t192
7.4.1 生成時序報告\t192
7.4.2 閱讀時序報告\t194
7.5 Tcl命令應用\t197
7.5.1 report_high_fanout_nets\t197
7.5.2 report_design_analysis\t200
7.5.3 report_qor_suggestions\t203
7.5.4 report_failfast\t206
7.6 其他技巧\t207
7.6.1 設置多線程\t207
7.6.2 復用Block的位置信息\t208
7.6.3 獲取Package Delay\t209
7.6.4 快速生成IBIS模型\t210
7.6.5 使用MAX_FANOUT\t211
后記\t213