<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于SystemC的系統級芯片設計方法研究

基于SystemC的系統級芯片設計方法研究

作者:劉強 時(shí)間:2008-05-27 來(lái)源:微處理機 收藏

  隨著(zhù)制造技術(shù)的迅速發(fā)展,設計已經(jīng)成為當今設計的發(fā)展方向。SO C設計的復雜性對設計的各個(gè)層次,特別是對系統級芯片設計層次,帶來(lái)了新挑戰,原有的HDL難以滿(mǎn)足新的設計要求。

本文引用地址:http://dyxdggzs.com/article/83115.htm

  硬件設計領(lǐng)域有2種主要的設計語(yǔ)言:。而兩種語(yǔ)言的標準不統一,導致軟硬件設計工程師之間工作交流出現障礙,工作效率較低。因此,集成電路設計界一直在尋找一種能同時(shí)實(shí)現較高層次的軟件和硬件描述的系統級設計語(yǔ)言。Synopsys公司與Coware公司針對各方對系統級設計語(yǔ)言的需求,合作開(kāi)發(fā)了,他可以較好地實(shí)現軟硬件的協(xié)同設計,是系統級芯片設計語(yǔ)言的發(fā)展趨勢[1]。

  1 傳統的系統級設計方法[1]

  在傳統設計方法中,設計的系統級往往使用UML,SDL,C,C++等進(jìn)行描述以實(shí)現各功能模塊的算法,而在寄存器傳輸級使用硬件描述語(yǔ)言進(jìn)行描述。最廣泛使用的2種硬件描述語(yǔ)言是,傳統的系統設計方法流程如圖1所示。從圖中不難看出,傳統的設計方法會(huì )出現如下弊端:

  首先,設計人員需要使用C/C++語(yǔ)言來(lái)建立系統級模型,并驗證模型的正確性,在設計細化階段,原始的C和C++描述必須手工轉換為使用。在這個(gè)轉換過(guò)程中會(huì )花費大量的時(shí)間,并產(chǎn)生一些錯誤。

                                                            

  其次,當使用C語(yǔ)言描述的模塊轉換成HDL描述的模塊之后,后者將會(huì )成為今后設計的焦點(diǎn),而設計人員花費大量時(shí)間建立起來(lái)的C模型將再沒(méi)有什么用處。

  再次,需要使用多個(gè)測試平臺。因為在系統級建立起來(lái)的針對C語(yǔ)言描述的模塊測試平臺無(wú)法直接轉換成針對HDL語(yǔ)言描述的模塊所需要的測試平臺。

  2 使用的必要性

  無(wú)論采用什么樣的設計方法學(xué),人們都需要對時(shí)代的復雜電子系統進(jìn)行描述,以選擇合 適的系統架構,進(jìn)行軟硬件劃分,算法仿真等等。描述的級別越低,細節問(wèn)題就越突出,對實(shí)際系統的模仿就越精確,完成建模消耗的時(shí)間、仿真和驗證時(shí)間就越長(cháng)。相反,描述的抽象級別越高,完成建模需要的時(shí)間就越短,但對目標系統的描述也就越不精確。作為設計人員必須在速度和精確性之間做出選擇。

  人們對系統級描述語(yǔ)言的要求是:高仿真速度以及建模效率、時(shí)序和行為可以分開(kāi)建模、支持基于接口的設計、支持軟硬件混合建模、支持從系統級到門(mén)級的無(wú)縫過(guò)渡、支持系統級調試和系統性能分析等。人們迫切需要一種語(yǔ)言單一地完成全部設計。這種語(yǔ)言必須能夠用于描述各種不同的抽象級別(如系統級、寄存器傳輸級等),能夠勝任軟硬件的協(xié)同設計和驗證,并且仿真速度要快。這就是所謂的系統級描述語(yǔ)言SLDL,而傳統的硬件描述語(yǔ)言如VHDL和Verilog HDL都不能滿(mǎn)足這些要求。

  就是目前這方面研究的最新、最好的成果,他擴展傳統的軟件語(yǔ)言C和C++并使他們支持硬件描述,所以可以很好地實(shí)現軟硬件的協(xié)同設計,是系統級芯片設計語(yǔ)言的發(fā)展趨勢。

  3 SystemC簡(jiǎn)介

  1999年9月,微電子業(yè)內的一些一流的EDA公司、IP提供商、半導體制造商及系統和內嵌式軟件設計公司聯(lián)合創(chuàng )建了開(kāi)放SystemC創(chuàng )始會(huì )組織(Open SystemC Intitiative,OSCI),并推出了基于C++的系統級設計語(yǔ)言SystemC。OSCI是一個(gè)非盈利性組織,他負責維護和發(fā)展SystemC。SystemC是完全免費的,這使得EDA供應商能夠充分自由地了解SystemC庫的源代碼以?xún)?yōu)化他們的各種解釋工具;包括Synopsys,Cadence,Frontier Design,ARM,Eri ssion,Lucent,Sony,TI等核心成員。目前已經(jīng)有50多個(gè)著(zhù)名的微電子公司支持該標準[2]。

  SystemC本質(zhì)上是在C++的基礎上添加的硬件擴展庫和仿真核,這使得SystemC可以建模不同抽象級別的(包括軟件和硬件的)復雜電子系統。他既可以描述純功能模型和系統體系結構,也可以描述軟硬件的具體實(shí)現。SystemC源代碼可以使用任何標準C++編譯環(huán)境進(jìn)行編譯,生成可執行文件;可以使用綜合工具(如Synopsys SystemC Compiler)將SystemC的寄存器傳輸級描述綜合為Verilog HDL或者VHDL的代碼用于FPGA設計,也可以綜合為EDIF網(wǎng)表用于A(yíng) SIC設計[3]。

  SystemC具有所有硬件描述語(yǔ)言所共有的基本特征,包括模塊、進(jìn)程、端口和信號等。不同的是,在SystemC中時(shí)鐘被單獨定義為一個(gè)特殊的信號,這大大簡(jiǎn)化了時(shí)鐘信號的定義,SystemC還支持具有任意相位關(guān)系的多個(gè)時(shí)鐘。在SystemC中使用了sc_set_tim e_resoluti on()和sc_set_default_time_unit()來(lái)定義時(shí)間分辨率和時(shí)間單位,這與Ve rilog HDL的timescale語(yǔ)法在功能上是等效的。

pic相關(guān)文章:pic是什么


c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


c++相關(guān)文章:c++教程



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: SOC SystemC 集成電路 VHDL Verilog HDL

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>