跳到主要內容

臺灣博碩士論文加值系統

(18.97.9.173) 您好!臺灣時間:2024/12/10 11:14
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:廖彧宏
研究生(外文):Yuh-Hung Liaw
論文名稱:以Verilog轉換SystemC完成多核心嵌入式處理器之效能模型
論文名稱(外文):Performance Modeling for Multicore Embedded Processors based on Verilog-to-SystemC Conversion
指導教授:洪士灝洪士灝引用關係
指導教授(外文):Shih-Hao Hung
學位類別:碩士
校院名稱:國立臺灣大學
系所名稱:電機工程學研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2009
畢業學年度:97
語文別:中文
論文頁數:43
中文關鍵詞:VerilogSystemC電腦語言轉換OpenSPARC
外文關鍵詞:VerilogSystemCComputer Language TranslationOpenSPARC
相關次數:
  • 被引用被引用:0
  • 點閱點閱:490
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
近年來,因為消費性店商品生命週期大幅縮短,為了更快速地開發出新產品,軟硬體共同設計(hardware/software co-design)的重要性越來越受到重視。使用傳統Verilog或是VHDL開發硬體,要和系統層級整合時,介面往往不易操作,有很多的限制,而且相當依賴工具的能力。SystemC,除了可以描述硬體的細節,也可以很方便的和軟體整合,系統介面的設計也具有相當的彈性,能適應軟硬體共同設計的複雜度。為了讓傳統大量Verilog撰寫的矽智財可以轉移到SystemC的開發環境,Verilog轉換SystemC的研究成為一個重要的議題。
在本論文中,我們介紹一套Verilog-to-SystemC的轉譯工具,稱為V2X。針對傳統轉譯工具制式化的設計哲學,V2X採取新的設計概念。傳統的轉換工具為了完成特定的轉換結果,犧牲一些Verilog語法的支援,致使無法產生正確的轉譯結果。為了克服這樣的問題,我們的V2X工具採用兩階段轉換的架構,區分為Verilog語意的萃取和後續彈性轉換兩個部分。本文最後,我們將使用OpenSPARC T1做為案例討論,轉譯出一個和原本Verilog版本相符的SystemC OpenSPARC T1。我們轉換過的SystemC模型相較原本Verilog的模型,進行模擬時,獲得效能上相當的改善。
With the life-cycle of consumer electronics getting short in recent years, to shorten development time, hardware/software co-design has become an important issue. Traditionally, hardware description languages, e.g. Verilog and VHDL, are commonly used to describe and model the hardware. Unfortunately, the usage of language is hard to be integrated with the development of software. SystemC solves this problem by describing the hardware with C++ language and C++ language library functions.
However, converting an existing Verilog design can be very challenging. Existing tools failed to produce correct translation for sophisticated Verilog code, such as OpenSPARC T1. They cannot support certain Verilog constructs because it is hard to translate these constructs directly into SystemC to maintain correct semantics. Thus, we designed an innovative Verilog-to-SystemC translation tool, called V2X, with techniques developed to overcome those problems. We took a two-stage approach to make the translation flexible and extendible. In this thesis, we describe how performance modeling can be done for multicore embedded processors based on Verilog-to-SystemC conversion, with OpenSPARC T1 as a case study. Using V2X, we successfully translated OpenSPARC T1 design into SystemC, and we show that the SystemC version improved the simulation speed by ~40 times.
第 1 章 緒論 1
第 2 章 相關研究與背景知識 4
2.1 多核心處理器與SUN OPENSPARC T1 4
2.2 OPENSPARC T1原始碼大致的結構 6
2.3 傳統OPENSPARC的驗證方法 7
2.4 開放原始碼的系統設計與驗證函式庫 - SYSTEMC 8
2.5 轉譯VERILOG到SYSTEMC 11
第 3 章 VERILOG-TO-SYSTEMC轉換工具:V2X 13
3.1 兩階段架構的V2X 13
3.2 V2X 內部架構 14
3.3 V2X所使用的MMF中間碼格式 18
3.3.1 根節點<V2X> 21
3.3.2 標籤<MODULE> 的子節點 21
3.3.3 標籤<PROCESS> 22
3.3.4 標籤<PROCESS_GROUP> 23
3.3.5 標籤<INSTANCE> 24
3.3.6 標籤<TOKEN>、標籤<TOKEN_PARAM>、標籤<NUM>、標籤<ARRAY> 24
3.3.7 標籤<LAZY_XXX> 25
3.3.8 判斷式、迴圈 26
3.3.9 覆值、一元運算、二元運算、三元運算 27
第 4 章 OPENSPARC T1的轉譯與驗證 28
4.1 OPENSPARC T1 的轉譯 28
4.1.1 VIRTUAL SCOPE 28
4.1.2 VIRTUAL BINDING 28
4.1.3 LOCAL 變數之使用 30
4.1.4 SC_METHOD導向 30
4.2 SYSTEMC版本OPENSPARC的驗證 30
第 5 章 實驗結果與分析 33
5.1 比較V2X、V2SC和VERILATOR以M68K的轉譯為例 33
5.1.1 轉譯的速度 33
5.1.2 轉譯的正確性 35
5.1.3 轉譯後的SYSTEMC碼的執行速度 35
5.2 VERILOG 與SYSTEMC的模擬速度:以OPENSPARC T1為例 36
第 6 章 總結與未來研究方向 39
參考文獻 41
[1]SystemC, http://www.systemc.org/
[2]Black, D.C., Donovan, J., Bunton, B., and Keist, A., SystemC: From the Ground Up, Springer, 2004.
[3]Sciuto, D., Martin, G., Rosenstiel, W., Swan, S., Ghenassia, F., Flake, P., and Srouji, J., "SystemC and SystemVerilog: Where Do They Fit? Where Are They Going?", in Proceedings of the Conference on Design, Automation and Test in Europe, 2004
[4]SystemC and ESL in 2007: Everyone''s Talking the Same Language, http://www.systemc.org/news/membernews/
[5]The Institute of Electrical and Electronics Engineers, I., "IEEE Standard Verilog Hardware Description Language", IEEE Std 1364-2001, 2001.
[6]Thomas, D.E., and Moorby, P.R., The VerilogR Hardware Description Language, Springer, 2002.
[7]The Institute of Electrical and Electronics Engineers, I., "IEEE Standard VHDL Language Reference Manual", IEEE Std 1076-2002 (Revision of IEEE Std 1076, 2002 Edn), 2002.
[8]Dawson, C., Pattanam, S.K., and Roberts, D., "The Verilog Procedural Interface for the Verilog Hardware Description Language", in Verilog HDL Conference, 1996. Proceedings., 1996 IEEE International, 1996, pp. 17-23.
[9]Berner, D., Patel, H.D., Mathaikutty, D.A., and Shukla, S.K., "Automated Extraction of Structural Information from SystemC-Based IP for Validation", in Proceedings of the Sixth International Workshop on Microprocessor Test and Verification, 2005
[10]verilator, http://www.veripool.org/wiki/verilator
[11]Ayough, L.M., Abutalebi, A.H., Iranmanesh, A., and Atarodi, M., "Reusing Verilog IP Cores in SystemC Environment by V2SC", in Proceedings of the 14th Conference on IP Based Electronic System, 2005
[12]OpenSPARC T1, http://www.opensparc.net/opensparc-t1/index.html
[13]Synopsys, http://www.synopsys.com/
[14]Chunag, F.-H., Power Estimation for Embedded Processors Based on Verilog-to-SystemC Conversion, Master Thesis, Graduate Institute of Networking and MultimediaCollege of Electrical Engineering and Computer Science, National Taiwan University, Taiwan, 2008
[15]Ultrasparc T1, http://www.sun.com/processors/UltraSPARC-T1/
[16]"OpenSPARC™ T1 Microarchitecture Specification", Sun Microsystems, Inc., 2008
[17]OpenSPARC, http://www.opensparc.net
[18]Wu, K.-H., A Scalable Multi-Threaded Processor Analysis and Research, Master Thesis, Department of Electrical Engineering, National Cheng Kung University, Taiwan, 2008
[19]"OpenSPARC™ T1 Processor Design and Verification User’s Guide", Sun Microsystems, Inc, 2008
[20]Ruf, J., Hoffmann, D., Gerlach, J., Kropf, T., Rosenstiehl, W., and Mueller, W., "The Simulation Semantics of SystemC", in Proceedings of the conference on Design, Automation and Test in Europe, 2001
[21]Cheng, S.-T., York, G., and Brayton, R.K., vl2ml: A Compiler from Verilog to BLIF-MV, Master Thesis, HSIS Distribution, University of California, Berkeley, USA, 1993
[22]Srivastava, A.V., Verilog-to-C-Compiler: Simulator Generator, Master Thesis, Department of Computer Science and Engineering, Indian Institute of Technology Kanpur, Indian, 2007
[23]Meredith, M., High-Level SystemC Synthesis with Forte''s Cynthesizer: ‘High-Level Synthesis from Algorithm to Digital Circuit ’ (Springer Netherlands, 2008)
[24]XML, http://www.w3.org/XML/
[25]XSLT, http://www.w3.org/TR/xslt
[26]Eckr, W., and Schonberg, L., "Impact of SystemC Data Types on Execution Speed", 2007.
[27]Cheng, T., Sieve: An XML-Based Structural Verilog Rules Check Tool, Master Thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, USA, 2003
[28]Berner, D., Talpin, J.-P., Patel, H., Mathaikutty, D.A., and Shukla, S., "SystemCXML: An Extensible SystemC Front End Using XML", 2005.
[29]Mueller, W., Rosti, A., Bocchio, S., Riccobene, E., Scandurra, P., Dehaene, W., and Vanderperren, Y., "UML for ESL Design: Basic Principles, Tools, and Applications", in Proceedings of the 2006 IEEE/ACM international Conference on Computer-Aided Design, 2006
[30]Mellor, S.J., and Balcer, M.J., Executable UML: A Foundation for Model-Driven Architecture, Addison-Wesley Professional, 2002.
[31]Verilog 2005 Parser, http://sourceforge.net/projects/v2kparse/
[32]antlr v2, http://www.antlr2.org/
[33]Icarus Verilog, http://www.icarus.com/eda/verilog/
[34]XPath, http://www.w3.org/TR/xpath
[35]Bonanome, G., "Hardware Description Languages Compared: Verilog and SystemC", 2001
[36]da Silva, K.R.G., Melcher, E.U.K., and Araujo, G., "An Automatic Testbench Generation Tool for a SystemC Functional Verification Methodology", in Proceedings of the 17th Annual Symposium on Integrated Circuits and Systems Design, 2004, pp. 66-70.
[37]saxon, http://saxon.sourceforge.net/
[38]Simics, http://www.virtutech.com/
[39]OpenSPARC T2 http://www.opensparc.net/opensparc-t2/index.html
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top