任何系統(tǒng)級建模語言,都需要具備在較高層次的抽象能力和對不同來源的IP的集成能力。建模方法的選擇通常基于語言熟悉程度、建模支持、模型可用性和簡單性。
在各種軟硬件描述語言中,Verilog和VHDL是RTL級建模的最佳語言,有足夠的精度如比特精確和周期精確,但缺乏高層次抽象的能力,而且對軟件部分的描述無能為力。
而C/C++、Java等都是軟件的優(yōu)秀描述語言,也具有高層次的抽象能力,一些設(shè)計(jì)師就是用它們來進(jìn)行系統(tǒng)建模的。但他們沒有精確到比特的能力,也沒有并發(fā)描述能力和時(shí)鐘的概念。
通過對上述語言進(jìn)行擴(kuò)展可以提高描述系統(tǒng)的能力。在這些語言中,有些是在C語言基礎(chǔ)上進(jìn)行擴(kuò)展的HardwareC和SpecC,它們分別由斯坦福大學(xué)和加州大學(xué)研究小組開發(fā)。
還有在Java上擴(kuò)展的語言如JHDL,在Verilog上擴(kuò)展的SystemVerilog,以及在C++上擴(kuò)展的SystemC。這些語言通過增加系統(tǒng)描述的關(guān)鍵詞,可以實(shí)現(xiàn)硬件和軟件的描述,具有描述系統(tǒng)的能力。業(yè)界獲得較多支持和應(yīng)用較為廣泛的語言是SystemVerilog和SystemC。
SystemVerilog是在Verilog上的擴(kuò)展,吸收了C/C++語言中的一些變量,可以實(shí)現(xiàn)和C語言一起仿真。由于是在Verilog上的擴(kuò)展,SystemVerilog的優(yōu)勢在于基于時(shí)鐘的建模能力和驗(yàn)證能力,但在TLM的抽象上還存在一些不足,如缺少抽象的數(shù)據(jù)類型等。更為成功的系統(tǒng)建模語言無疑是SystemC。
SystemC是OSCI推出的基于C++語言擴(kuò)展的描述語言,是一種可以完成電子系統(tǒng)從軟件到硬件的全部建模過程的語言。在目前的設(shè)計(jì)中,軟件開發(fā)占到設(shè)計(jì)任務(wù)的60%~90%,基于C++語言擴(kuò)展的語言SystemC比從HDL擴(kuò)展的語言有更加有利的發(fā)展趨勢。SystemC完全支持TLM建模,而且OSCI已經(jīng)提出了TLM建模的標(biāo)準(zhǔn),而其他語言目前還沒有完全支持TLM建模。
SystemC簡介
SytemC最初的開發(fā)是在Synopsys、Coware和UC Irvine等公司和研究機(jī)構(gòu)中進(jìn)行的,在1999年SystemC被正式推出。SytemC由Open SystemC Initiative (OSCI) 負(fù)責(zé)支持、維護(hù)和發(fā)展。
SystemC是一種基于C++的系統(tǒng)設(shè)計(jì)語言。在SystemC以前,C和C++是芯片結(jié)構(gòu)設(shè)計(jì)的主要語言。而在SoC設(shè)計(jì)中需要集成各種IP和嵌入式軟件,C++具有面向?qū)ο蟮脑O(shè)計(jì)觀念,很適合作為SoC系統(tǒng)的開發(fā)語言。
SystemC在C++語言的基礎(chǔ)上增加了信號、事件等概念用來描述硬件,而且還可以支持定時(shí)、并發(fā)等概念。
SystemC可以讓系統(tǒng)、硬件和軟件工程師使用相同的語言完成整個(gè)電子系統(tǒng)的全部建模過程,這樣做能夠?yàn)檐浻布澐趾涂s短產(chǎn)品的上市時(shí)間帶來幫助。SystemC通過定義新的C++類庫和仿真核,用以支持硬件的建模和仿真。
-
硬件
+關(guān)注
關(guān)注
11文章
3380瀏覽量
66386 -
ESL
+關(guān)注
關(guān)注
1文章
74瀏覽量
21387 -
模型
+關(guān)注
關(guān)注
1文章
3298瀏覽量
49074
發(fā)布評論請先 登錄
相關(guān)推薦
評論