前言
行業發展
芯片行業作為高科技設計和制造業,是人纔、資本齊聚集的行業,既是科技信息行業的基礎,也是大國博弈的必爭之地。然而,芯片行業的發展無法一蹴而就,需要長期投入和積累,需要一代一代的人去努力。近年來,我國的芯片行業正在快速發展,需要更多的人纔進入該行業,對於未來計劃從事數字芯片設計與驗證相關崗位的初學者來講,希望本書可以起到一定的幫助作用。
本書內容
本書分為兩篇共7章,數字電路及Verilog篇(第1~5章),SystemVerilog篇(第6章和第7章),兩篇都包括了基礎語法及對應的實例分析,並且上述內容根據實際工程項目的經驗,做了內容的精簡和重點、難點的分析和補充。
第1章介紹數字芯片設計的基礎概念和常識,從而為學習後面的內容做鋪墊。
第2章講述數字邏輯電路基礎,包括數制表示、門電路及分析、組合邏輯和時序邏輯電路。
第3章講述Verilog硬件描述語言的基礎語法並提供了實例代碼以幫助讀者理解。
第4章將第2章和第3章的內容串聯在一起,講述如何分析並使用Verilog硬件描述語言實現組合邏輯電路,並講述如何基於Verilog硬件描述語言搭建測試平臺,從而對組合邏輯電路設計做簡單的功能驗證。
第5章將第2章和第3章的內容串聯在一起,講述如何分析並使用Verilog硬件描述語言實現時序邏輯電路,然後講述如何基於Verilog硬件描述語言搭建測試平臺,從而對時序邏輯電路設計做簡單的功能驗證。
第6章講述SystemVerilog這種兼顧硬件設計和驗證的編程語言的基礎語法並提供實例代碼以幫助讀者理解。
第7章以一個對初學者難度適中的運算器設計為例,講述整個設計和驗證的過程,從而將之前章節的內容都串聯起來,對讀者的學習效果進行鞏固提升。
本書特色
(1) 不同於以往數字電路和Verilog的相關書籍,本書在提供基礎語法的同時還提供了可以練習的案例和源代碼,並且通過實例講解,將設計和驗證的概念串聯在一起,使讀者學習起來更加有針對性,更有效率。
(2) 本書側重描述實際工程中的語法使用,而不隻是簡單地介紹基礎的語法而脫離實際,因為事實上,有不少語法在實際工程中並不推薦去使用,因此在實際工程項目中幾乎不會用到的內容本書將不進行講解。
(3) 市面上相對缺乏對於SystemVerilog這種兼顧硬件設計和驗證編程語言的圖書,本書旨在引導廣大讀者更輕松、更容易且更貼近實際工程項目地學習相關語法知識,並教給讀者如何去應用。
讀者對像
(1) 相關專業的在校大學生。
(2) 相關領域的技術工程人員。
學習建議
(1) 本書內容由易到難,建議讀者按照章節順序進行學習,也可根據自身掌握情況適當跳過部分基礎章節的內容進行學習。
(2) 本書語法基礎及實例章節都提供了代碼以供下載,建議讀者下載後導入推薦的仿真環境中進行仿真運行,從而加深理解,提升學習效果。
(3) 本書作為數字電路設計和驗證的入門書籍,較為詳盡地講述了常用於硬件設計的Verilog硬件描述語言,兼顧硬件設計和驗證的SystemVerilog編程語言,並且提供了較為豐富的實例供讀者練手,但依然難以窮盡所有細節。讀者在閱讀本書後,應根據在實際工作中的項目,參考相關語法標準,進一步學習Verilog、SystemVerilog及涉及的UVM驗證方法學和腳本等內容。
資源下載提示
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
視頻等資源: 掃描封底的文泉雲盤防盜碼,再掃描書中相應章節的二維碼,可以在線學習。
本書所有的代碼都在Synopsys VCS上經過了仿真驗證(仿真運行的腳本在各個章節代碼目錄下,名稱為run.do),並且提供了標注所在路徑位置的代碼供讀者下載,未標注所在路徑位置的代碼都為說明性代碼,相對比較簡單,因此不提供下載。
仿真環境
建議使用Synopsys VCS I2014.03以上版本運行本書提供的實例代碼。
致謝
寫書時可愛的女兒纔九個月,需要照顧和陪伴,而工作和寫作占用了我大部分的時間,感謝家人,尤其是妻子的理解和支持。
本書一定還存在一些不足之處,懇請讀者給予批評指正。
作者
2023年6月