本書從實踐的角度對從FPGA軟件開發(fā)到FPGA軟件測試各階段的測試思想、方法、活動、案例進行詳細描述,并系統(tǒng)介紹FPGA軟件測試的各種方法,從不同的角度分析FPGA軟件測試的內(nèi)容及具體要求,通過在各個測試階段應用不同的測試方法來滿足不同的FPGA軟件測試需求。本書首先對FPGA器件及軟件進行概述,然后介紹FPGA軟件開發(fā)工具與流程,最后著重論述FPGA軟件測試技術(包括FPGA軟件測試相關標準和方法、FPGA軟件測試工具及使用方法、FPGA軟件測試案例與分析)。本書可供FPGA軟件測試工程師、對FPGA軟件測試技術感興趣的大學生及電子愛好者等作為學習參考用書。
羅文兵,男,漢族,1977年10月生,湖北仙桃人,中共黨員,高級工程師,現(xiàn)任北京賽迪軟件測評工程技術中心有限公司執(zhí)行總經(jīng)理。主要研究方向為軟件測試、FPGA測試及軟件工程管理等,曾承擔多項863課題、工信部工業(yè)轉(zhuǎn)型升級資金、產(chǎn)業(yè)基礎公共服務平臺等重大科研專項實施工作,以及數(shù)十項國家和軍隊重點工程軟件測試任務,參與編寫3部專著,發(fā)表論文20余篇。
第1章 FPGA器件及軟件概述 .................................................................................001
1.1 FPGA器件典型內(nèi)部結(jié)構(gòu) ...........................................................................003
1.2 FPGA軟件設計特點 ...................................................................................006
1.3 FPGA工藝技術原理 ...................................................................................009
1.3.1 基于SRAM工藝技術原理 ...............................................................009
1.3.2 基于反熔絲工藝技術原理 ..............................................................010
1.3.3 基于FLASH工藝技術原理 .............................................................012
1.4 FPGA生產(chǎn)廠家及其產(chǎn)品 ...........................................................................013
1.4.1 Xilinx公司及產(chǎn)品介紹 ....................................................................013
1.4.2 Altera(Intel)公司及產(chǎn)品介紹 .....................................................045
1.4.3 Lattice公司及產(chǎn)品介紹 ...................................................................048
1.4.4 Microchip公司及產(chǎn)品介紹 .............................................................050
1.5 FPGA在各領域的應用 ...............................................................................051
1.5.1 人工智能 ..........................................................................................053
1.5.2 航空航天 ..........................................................................................054
1.5.3 無線通信 ..........................................................................................055
1.5.4 有線通信 ..........................................................................................057
1.5.5 消費電子 ..........................................................................................058
1.5.6 汽車電子 ..........................................................................................058
1.5.7 醫(yī)療電子 ..........................................................................................059
1.6 本章小結(jié)......................................................................................................060
第2章 FPGA軟件開發(fā)工具與流程 ......................................................................... 061
2.1 FPGA軟件開發(fā)工具 ................................................................................... 061
2.1.1 ISE軟件 ............................................................................................ 062
2.1.2 Vivado軟件 ....................................................................................... 068
2.1.3 Quartus Prime軟件 ........................................................................... 072
2.1.4 Lattice Diamond軟件 ....................................................................... 074
2.2 FPGA軟件開發(fā)流程 ................................................................................... 075
2.2.1 FPGA軟件需求分析 ........................................................................ 075
2.2.2 功能定義與器件選型 ...................................................................... 076
2.2.3 設計輸入 .......................................................................................... 080
2.2.4 設計約束 .......................................................................................... 082
2.2.5 功能仿真 .......................................................................................... 088
2.2.6 邏輯綜合 .......................................................................................... 088
2.2.7 布局布線 .......................................................................................... 093
2.2.8 時序仿真 .......................................................................................... 093
2.2.9 配置及固化 ...................................................................................... 094
2.3 本章小結(jié)...................................................................................................... 098
第3章 FPGA軟件測試相關標準和方法 ................................................................ 099
3.1 FPGA軟件測試相關標準 ........................................................................... 099
3.1.1 GJB 9433—2018標準 ..................................................................... 099
3.1.2 GJB 9432—2018標準 ..................................................................... 100
3.1.3 GB/T 37691—2019標準.................................................................. 100
3.1.4 GB/T 37979—2019標準.................................................................. 100
3.2 FPGA軟件測試方法 ................................................................................... 101
3.2.1 編碼規(guī)則檢查.................................................................................. 101
3.2.2 跨時鐘域分析.................................................................................. 110
3.2.3 靜態(tài)時序分析.................................................................................. 116
3.2.4 仿真測試.......................................................................................... 135
3.3 本章小結(jié)...................................................................................................... 152
第4章 FPGA軟件測試工具及使用方法 ................................................................ 153
4.1 編碼規(guī)則檢查工具及使用方法.................................................................. 154
4.1.1 HDL Designer .................................................................................. 156
4.1.2 vLinter .............................................................................................. 158
4.2 靜態(tài)時序分析工具及使用方法.................................................................. 161
4.2.1 PrimeTime簡介 ................................................................................ 161
4.2.2 PrimeTime使用流程 ........................................................................ 163
4.3 跨時鐘域分析工具及使用方法.................................................................. 173
4.3.1 跨時鐘域分析中的3種問題............................................................ 175
4.3.2 vChecker工具的特點及使用方法 .................................................. 179
4.4 仿真工具及使用方法.................................................................................. 187
4.4.1 Modelsim ......................................................................................... 187
4.4.2 VCS .................................................................................................. 195
4.5 邏輯等效性檢查工具及使用方法.............................................................. 198
4.5.1 360 EC-FPGA工具的功能和優(yōu)點 .................................................. 198
4.5.2 360 EC-FPGA工具的使用方法 ...................................................... 199
4.6 本章小結(jié)...................................................................................................... 205
第5章 FPGA軟件測試案例與分析 ......................................................................... 207
5.1 代碼審查...................................................................................................... 207
5.1.1 代碼審查內(nèi)容.................................................................................. 207
5.1.2 代碼審查案例.................................................................................. 213
5.2 代碼走查...................................................................................................... 230
5.2.1 代碼走查內(nèi)容.................................................................................. 231
5.2.2 代碼走查案例.................................................................................. 231
5.3 邏輯測試...................................................................................................... 237
5.3.1 邏輯測試內(nèi)容.................................................................................. 237
5.3.2 邏輯測試案例.................................................................................. 238
5.4 靜態(tài)時序分析.............................................................................................. 252
5.4.1 靜態(tài)時序分析內(nèi)容.......................................................................... 252
5.4.2 靜態(tài)時序分析案例.......................................................................... 252
5.5 跨時鐘域分析.............................................................................................. 263
5.5.1 跨時鐘域分析內(nèi)容.......................................................................... 263
5.5.2 跨時鐘域分析案例.......................................................................... 263
5.6 功能仿真...................................................................................................... 269
5.6.1 功能仿真內(nèi)容.................................................................................. 269
5.6.2 功能仿真案例.................................................................................. 270
5.7 邏輯等效性檢查.......................................................................................... 302
5.7.1 邏輯等效性檢查內(nèi)容...................................................................... 302
5.7.2 邏輯等效性檢查案例...................................................................... 302
5.8 本章小結(jié)...................................................................................................... 303
參考文獻................................................................................................................................ 305