作者: tyw 于 2006/8/11 19:56:00 發(fā)布:
拜托哦,此"延"非那"沿",暈哉 2.3 建模語言選擇SystemC
在建模語言的選擇上業(yè)界一直存在爭論,我們這里采用的是SystemC語言。在最早開始設(shè)計的時候,由于涉及到HASH算法和查找表的算法的選擇,我們用C語言做了一些仿真。后來在確定緩存容量的時候,由于沒有算法可套,只能建模仿真硬件實現(xiàn),我們在原來的仿真環(huán)境加上調(diào)度程序,初步實現(xiàn)了緩存申請釋放仿真過程,形成了一個系統(tǒng)建模的雛形。當(dāng)仿真要繼續(xù)深入下去時,對調(diào)度程序要求越來越高,調(diào)度程序逐漸成為一個瓶頸。其實,有了SystemC,調(diào)度程序根本不必要自己編寫。SystemC內(nèi)核包含了一個功能完善的調(diào)度機(jī)制,我們只要在自己的C函數(shù)里指明觸發(fā)條件,剩下的就交由SystemC去實現(xiàn)。這一點和verilog仿真的原理一樣,SystemC這里扮演了VCS的角色。 圖7演示了一個簡單的SystemC描述的硬件模塊,

其中sc_uint是SystemC定義的一個類,用于描述任意寬度的數(shù)據(jù)類型,sensitive_pos << clk 這一句指明clk時鐘上升沿是PROCESS的觸發(fā)條件,對應(yīng)verilog里面敏感表的概念,除此之外都是C++里的東西。可以看出,有了SystemC的幫助,C++語言也可以方便地描述硬件,用戶只用把注意力集中到過程的描述。
* - 本貼最后修改時間:2006-8-12 6:36:23 修改者:tyw http://www.synopsys.com.cn/synopsys/synopsys_zq/2003/asic.html
|