出版時(shí)間:2008-9 出版社:北京航空航天大學(xué) 作者:巴斯克 頁數(shù):239
Tag標(biāo)簽:無
前言
J.Bhasker在數(shù)字集成電路設(shè)計(jì)界具有很好的聲譽(yù)。包括美國(guó)和中國(guó)在內(nèi)的各國(guó)數(shù)字電路和系統(tǒng)設(shè)計(jì)者,無論是新手,還是從VHDL轉(zhuǎn)到Verilog的老手,其中很多人都閱讀過J.Bhasker編寫的A Verilog HDL Primer。J.Bhasker的教材以簡(jiǎn)明扼要、清晰易懂著名。A SystemC Primer一書是介紹SystemC基礎(chǔ)知識(shí)的教科書,符合他編書的一貫風(fēng)格,特別適合作為入門教材。SystemC對(duì)許多中國(guó)讀者來說,還是一種新的硬件描述語言。近年來,由于基于平臺(tái)設(shè)計(jì)方法學(xué)的推廣,系統(tǒng)驗(yàn)證已成為設(shè)計(jì)工作中的瓶頸。而SystemC由于是一種基于C++的語言,具有學(xué)習(xí)方便的優(yōu)點(diǎn),更重要的是其高速的仿真性能已得到多家設(shè)計(jì)公司的認(rèn)可,因此被廣泛用做SoC系統(tǒng)驗(yàn)證語言。由OSCI組織的推薦.2004年SystemC 2.0被正式批準(zhǔn)為IEEE標(biāo)準(zhǔn),與SystemVerilog并列成為最主要的系統(tǒng)驗(yàn)證語言之一。本書是根據(jù)J.Bhasker編寫的A SystemC Primer第2版翻譯的。2004年起原書在數(shù)字集成電路驗(yàn)證界逐漸走紅并非偶然。在世界各地的大學(xué)中,教師和學(xué)生們所熟悉的主要編程語言和環(huán)境是C++。而SystemC是C++的一個(gè)子集合,不存在編程環(huán)境和學(xué)習(xí)基礎(chǔ)的問題,所以比SystemVerilog更便于推廣和應(yīng)用。本書的翻譯工作安排如下:第2版序言、序言、前言、第1~6章及附錄A、B和索引等由夏字聞負(fù)責(zé),第7~9章由神州龍芯IC設(shè)計(jì)公司的甘偉工程師負(fù)責(zé)。全書最后的審校與定稿由夏宇聞負(fù)責(zé)。在神州龍芯IC設(shè)計(jì)公司工作的工程師和實(shí)習(xí)研究生樊榮、洪雷、周鵬飛、劉家正、陳巖、李鵬、宋成偉、邢志成、管麗、徐偉俊、楊鑫、蘇宇、張?jiān)品?、邢小地、李鵬、李琪、陳巖等認(rèn)真閱讀了最后完成的翻譯稿,并提出了許多改進(jìn)意見,使翻譯工作的質(zhì)量有了顯著提高。在翻譯稿最后完成之際,謹(jǐn)向他們表示誠(chéng)摯的感謝。
內(nèi)容概要
SystemC既是系統(tǒng)級(jí)語言,也是硬件描述語言。本書介紹的是systemC 2.O標(biāo)準(zhǔn),主要介紹systemC有關(guān)硬件建模方面的語法特性,換言之,是介紹systemC的RTL可綜合子集。其主要內(nèi)容包括:SystemC數(shù)據(jù)類型、組合邏輯建模、同步邏輯建模、三態(tài)驅(qū)動(dòng)器建模、常用的設(shè)計(jì)函數(shù)模型、測(cè)試平臺(tái)的編寫及系統(tǒng)級(jí)建模的功能等。隨書附帶1張光盤,內(nèi)含本書所有例子的代碼。本書所有例子都經(jīng)過Systemc 2.0.1的驗(yàn)證。 本書可作為想要了解和學(xué)習(xí)SystemC的設(shè)計(jì)工程師和系統(tǒng)工程師的參考書,也可用做大學(xué)講授體系結(jié)構(gòu)、數(shù)字設(shè)計(jì)或系統(tǒng)設(shè)計(jì)課程的教材。
作者簡(jiǎn)介
Bhasker,Bhasker是eSilicon公司的體系結(jié)構(gòu)設(shè)計(jì)師。他曾是朗訊技術(shù)公司和貝爾實(shí)驗(yàn)室技術(shù)部門的杰出成員,并在朗訊科技公司教授VHDL和Verilog HDL課程四年多。他還編寫了四本其他有關(guān)硬件描述語言和綜合的書籍,其中包括最暢銷的書A VHDL Primer和Verilog HDL Synthesis,A Practical Primer。Bhasker擁有美國(guó)明尼蘇達(dá)大學(xué)計(jì)算機(jī)科學(xué)系的博士學(xué)位和計(jì)算機(jī)技術(shù)學(xué)院的技術(shù)碩士學(xué)位,以及新德里印度技術(shù)學(xué)院電子工程系的學(xué)士學(xué)位。
書籍目錄
第1章 緒論 1.1 什么是SystemC? 1.2 為什么使用SystemC? 1.3 設(shè)計(jì)方法學(xué) 1.4 SystemC的功能 1.5 SystemCRTL 1.6 本書的組織 1.7 練習(xí)題第2章 起步 2.1 基礎(chǔ)知識(shí) 2.2 再舉一個(gè)例子 2.3 描述的層次 2.4 功能的驗(yàn)證 2.5 練習(xí)題第3章 數(shù)據(jù)類型 3.1 值保持器 3.2 類型的總結(jié) 3.3 位類型 3.4 任意位寬類型 3.5 邏輯類型 3.6 任意位寬的邏輯類型 3.7 有符號(hào)的整數(shù)類型 3.8 無符號(hào)的整數(shù)類型 3.9 任意精度有符號(hào)的整數(shù)類型 3.1 0任意精度無符號(hào)的整數(shù)類型 3.1 1判斷類型 3.1 2用戶定義的數(shù)據(jù)類型 3.1 3推薦的數(shù)據(jù)類型 3.1 4練習(xí)題第4章 組合邏輯建模 4.1 SC—MODULE 4.2 一個(gè)例子 4.3 端口和信號(hào)的讀/寫 4.4 邏輯操作符 4.5 算術(shù)操作符 4.5.1 無符號(hào)的算術(shù)運(yùn)算 4.5.2 有符號(hào)的算術(shù)運(yùn)算 4.6 關(guān)系操作符 4.7 向量和范圍 4.7.1 常數(shù)索引 4.7.2 非常數(shù)索引 4.8 條件語句 4.9 開關(guān)語句 4.1 0循環(huán) 4.1 1方法 4.1 2結(jié)構(gòu) 4.1 3多進(jìn)程和△延遲 4.1 4小結(jié) 4.1 5練習(xí)題第5章 同步邏輯建模 5.1 觸發(fā)器建模 5.2 多進(jìn)程 5.3 帶異步置位和清零端的觸發(fā)器 5.4 帶同步置位和清零端的觸發(fā)器 5.5 多時(shí)鐘和多相位時(shí)鐘 5.6 鎖存器建模 5.6.1 條件語句 5.6.2 開關(guān)語句 5.6.3 避免生成鎖存器 5.7 小結(jié) 5.8 練習(xí)題第6章 各色各樣的邏輯 6.1 三態(tài)驅(qū)動(dòng)器 6.2 多個(gè)驅(qū)動(dòng)源 6.3 無關(guān)項(xiàng)的處理 6.4 層次 6.5 模塊的參數(shù)化 6.6 變量和信號(hào)的賦值 6.7 練習(xí)題第7章 建模示例 7.1 具有三態(tài)輸出的參數(shù)化寄存器 7.2 存儲(chǔ)器模型 7.3 有限狀態(tài)機(jī)的建模 7.3.1 摩爾型有限狀態(tài)機(jī) 7.3.2 米利型有限狀態(tài)機(jī) 7.4 通用移位寄存器 7.5 計(jì)數(shù)器 7.5.1 模N計(jì)數(shù)器 7.5.2 Johnson計(jì)數(shù)器 7.5.3 格雷碼雙向計(jì)數(shù)器 7.6 Johnson譯碼器 7.7 階乘的模型 7.8 只讀存儲(chǔ)器(ROM)的建模 7.9 練習(xí)題第8章 測(cè)試平臺(tái)的編寫 8.1 編寫測(cè)試平臺(tái) 8.2 仿真控制 8.2.1 scclock 8.2.2 sctrace 8.2.3 scstart 8.2.4 scstop 8.2.5 sctime—stamp 8.2.6 scsimulaLion_time 8.2.7 sccycle和scinitialize 8.2.8 sctime 8.3 波形 8.3.1 任意類型的波形 8.3.2 復(fù)雜的重復(fù)波形 8.3.3 生成一個(gè)衍生的時(shí)鐘 8.3.4 從文件中讀取激勵(lì) 8.3.5 響應(yīng)性激勵(lì) 8.4 監(jiān)視行為 8.4.1 判斷仿真結(jié)果是否正確 8.4.2 把結(jié)果保存到文本文件中 8.5 更多示例 8.5.1 觸發(fā)器 8.5.2 帶同步輸出的多路選擇器 8.5.3 全加器 8.5.4 周期節(jié)拍級(jí)仿真 8.6 在sc—main內(nèi)的語句順序 8.7 跟蹤記錄集合類型 8.8 跟蹤記錄枚舉類型 8.9 練習(xí)題第9章 系統(tǒng)級(jí)建模 9.1 SC—THREAD進(jìn)程 9.2 動(dòng)態(tài)敏感性 9.3 構(gòu)造函數(shù)的參數(shù) 9.4 更多示例 9.4.1 求最大公約數(shù) 9.4.2 濾波器 9.5 端口、接口和通道 9.6 高級(jí)話題 9.6.1 共享的數(shù)據(jù)成員 9.6.2 定點(diǎn)類型 9.6.3 模塊 9.6.4 其他方法 9.7 仿真算法 9.8 練習(xí)題附錄A 運(yùn)行環(huán)境 A.1 軟件的安裝 A.2 設(shè)計(jì)的編譯 A.3 設(shè)計(jì)的仿真 A.4 設(shè)計(jì)的調(diào)試附錄B SystemCRTL:SystemC的可綜合子集 B.1 SystemC的特性 B.2 C++的特性參考文獻(xiàn)索引
章節(jié)摘錄
本章描述了什么是SystemC,為什么要用SystemC,并且敘述了使用SystemC的方法學(xué)。本章還提供了從高層次角度觀察到的SystemC能力。1.1 什么是SystemC?SystemC是基于C++的編程語言。C++是一種應(yīng)用廣泛的面向?qū)ο蟮慕UZ言。由于添加了硬件建模功能,SystemC擴(kuò)展了C++的能力。SystemC在C++的基礎(chǔ)上增加了一些重要概念,如并發(fā)(多個(gè)處理器同時(shí)執(zhí)行)、定時(shí)事件和數(shù)據(jù)類型等概念。SystemC還增加了一個(gè)類庫(kù),擴(kuò)展了C++的能力。該類庫(kù)并不是C++的修改,而是一個(gè)由使用合法C++代碼編寫的函數(shù)、數(shù)據(jù)類型和其他語言結(jié)構(gòu)函數(shù)所組成的庫(kù)。該類庫(kù)提供了功能強(qiáng)大的新機(jī)制,這種機(jī)制可以為具有硬件時(shí)序、并發(fā)和響應(yīng)行為的系統(tǒng)結(jié)構(gòu)建模。該機(jī)制只不過是在C++編程語言的類構(gòu)造的高級(jí)層面上對(duì)該語言進(jìn)行擴(kuò)展而已。該SystemC庫(kù)提供許多構(gòu)造函數(shù),描述了硬件工程師們經(jīng)常用到的概念,諸如信號(hào)、模塊和端口等。此外,該庫(kù)還提供了像進(jìn)程以及等待時(shí)鐘負(fù)跳變沿到來等常見的能力。SystemC并沒有在C++編程語言上增加新的語法。它只是定義了一個(gè)新的類庫(kù),因此仍舊是C++。借助于類庫(kù)中的這些類,用戶便可以定義模塊、進(jìn)程以及通過端口的通信和信號(hào)。這些信號(hào)可以處理范圍寬廣的數(shù)據(jù)類型,從位、位向量和標(biāo)準(zhǔn)的C++類型一直到用戶定義的數(shù)據(jù)類型,諸如枚舉類型和結(jié)構(gòu)類型。
編輯推薦
《SystemC入門(第2版)》為國(guó)外數(shù)字系統(tǒng)設(shè)計(jì)經(jīng)典教材系列之一,由北京航空航天大學(xué)出版社出版。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載