| 研究生: |
彭政軒 Peng, Jeng-Shiuan |
|---|---|
| 論文名稱: |
結合SystemC TLM與雙核心之QEMU的異質整合架構之研究 Integration of Heterogeneous Framework for SystemC TLM and Dual Core QEMU |
| 指導教授: |
郭致宏
Kuo, Chih-Hung |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2010 |
| 畢業學年度: | 98 |
| 語文別: | 中文 |
| 論文頁數: | 88 |
| 中文關鍵詞: | 虛擬平台 、TLM 、SystemC 、QEMU 、雙核心系統 |
| 外文關鍵詞: | virtual platform, TLM, SystemC, QEMU, dual-core |
| 相關次數: | 點閱:136 下載:4 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
由於電子電路製程技術的進步,讓單一晶片擁有更多不同的功能。單晶片的系統複雜化,使驗證單晶片系統的時間逐漸增加,更因此拖延產品的上市時間(Time to Market)。如何在系統設計初期即能夠驗證其功能性已成為重要的議題。
為了達到這個目標,本論文利用嵌入式虛擬平台的概念,提供一個驗證系統功能性的環境。相較於低抽象層級的RTL模型,以高抽象層級的TLM來建立系統將會更加快速且有效率。本論文利用SystemC程式語言建立以TLM為基礎的嵌入式虛擬平台,虛擬平台的架構規劃以真實開發版為基礎,建立具有良好的速度、靈活性與功能性的嵌入式虛擬平台。並依據這些基礎以改進虛擬平台的架構,如:提出模擬硬體中斷的機制,使SystemC所模擬的硬體能夠與QEMU使用者模式的CPU進行溝通;並在此CPU中實現大量傳輸資料的模式,以降低整體系統的模擬時間;估計QEMU所模擬之CPU操作頻率,令使用者在系統設計初期即能夠獲知軟體的運算複雜度,最後提出整合QEMU使用者模式之模擬雙核心CPU的方法,建立雙核心的虛擬平台,以提供雙核心系統設計初期時,能夠有快速驗證其功能性的虛擬平台。
With the advance of IC design technology, a single chip can have various functionalities. However, as the system complexity grows, the time for testing and approving a system on chip (SoC) also raises. How to evaluate the performance of a system in the early stages of design becomes an important issue in recent years.
To solve this problem, a virtual platform based verification method can help designers to reduce verification time during the development of a complex System on Chip (SoC) system. The effective way to speed up HW/SW co-simulation is to raise the abstraction levels from RTL to TLM. In this thesis, we use a SystemC based TLM and QEMU to implement a virtual platform that is built with speed, portable, and flexibility. According to these features, we increase the functionalities of the virtual platform with QEMU, including: hardware interrupt, burst mode transfer data, estimate the complexity of software and establish a dual core virtual platform.
[1] Open SystemC Initiative, “SystemC,” Available: http://systemc.org.
[2] M. Caldari, M. Conti, M. Coppola, S. Curaba, L. Pieralisi and C. Turchetti, “Transaction-level models for AMBA bus architecture using SystemC 2.0,” in Proc. Symp. Design Automation, Mar. 2003, pp. 20026-20031.
[3] T. Wiegand, G.J. Sulivan, G. Bjntegaard and A. Luthra, “Overview of the H.264/AVC video coding standard,” IEEE Trans. Circuit Sys. Video Tech., vol. 13, no 7, pp. 560-576, July 2003.
[4] QEMU-open source processor emulator, ”QEMU,” Available: http://wiki.qemu.org.
[5] F. Bellard, “QEMU, a fast and portable dynamic translator,” in Proc. USENIX Annual Technical Conf., Apr. 2005, pp. 41-46.
[6] Android developers, “Android,” Available: http://developer.android.com.
[7] ARM - The Architecture for the Digital World, 2004, ARM webpage, Available: http://www.arm.com/
[8] CoWare: Electronic System Virtualization Solutions, 2005, Available: http://www.coware.com/
[9] Cadence, Available: http://www.cadence.com/
[10] Tang Lei, Yang Yanhui and Wei Shaojun, ”Optimizing SoC platform architecture for multimedia applications,” in Proc. ASIC, 2005. ASICON 2005. 6th Int. Conf., Oct. 2005, pp. 94-97.
[11] 蘇培陞, 陳紀綱, 林士哲, "使用電子系統層級設計方法開發雙核心系統晶片平台", 系統晶片科技中心技術期刊006期, 2007.
[12] S. Brini, D. Benjelloun, and F. Castanier, “A flexible virtual platform for computational and communication architecture exploration of DMT VDLS modems,” in Proc. of Design, Automation and Test in Europe, pp. 164-169, Mar. 2003.
[13] Cadence Design System, Inc., “Cadence Virtual Component Co-Design Modeling Guide,” Mar. 2001
[14] M. Bauer, “VMware workstation 5.5 for Linux hosts,” Linux J., vol. 2006, no. 145, pp. 17, 2006.
[15] P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt and A. Warfield, “Xen and the art of virtualization,” in Proc. ACM Symp. Operating Syst. Principles, pp. 164-177, Oct. 2003.
[16] C. Dalton, D. Plaquin, W. Weidner, D. Kuhlmann, B. Balacheff and R. Brown, “Trusted virtual platforms: a key enabler for converged client devices,” in Proc. ACM SIGOPS Operating Syst. Review, vol. 43, pp. 36-43, Oct. 2009.
[17] Y. Zhang, Y. Gu, H. Wang and D. Wang,”Virtual-Machine-based intrusion detection on file-aware block level storage,” in Proc. Comput. Architecture and High Performance Computing, pp. 185-192, Oct. 2006.
[18] J. Ceng, W. Sheng, J. Castrillon, A. Stulova, R. Leupers, G. Ascheid and H. Meyr, “A High-Level virtual platform for early MPSoC software development,” in Proc. IEEE/ACM Int. Conf. on Hardware/Software Codesign and Syst. Synthesis, pp. 11-20, Oct. 2009.
[19] A. H. Han, Y. S. Hwang, Y. H. An, S. J. Lee and K. S. Chung, “Virtual ARM platform for embedded system developers,” in Proc. Int. Conf. Audio,Language and Image, pp. 586-592. July 2008.
[20] Y. C. Hsu and C. H. Kuo, “Fast co-simulation framework for SystemC TLM and user-mode QEMU,” in Proc. Symp. The 20th VLSI Design/CAD, Hualien, Taiwan, Aug. 2009.
[21] S. Yoo and A. A. Jerraya, “Hardware/software cosimulation from interface perspective,” in Proc. IEE Comput. Digit. Tech., May 2005, pp. 369-379.
[22] A. Haverinen, M. Leclercq, N. Weyrich and D. Wingard, “SystemC based SoC communication modeling for the OCP protocol,” http://www.ocpip.org/, Oct. 2002
[23] R. Siegmund and D. Mu¨ller, “SystemCSV: an extension of SystemC for mixed multi-level communication modeling and interface-based system design,” in Proc. Design, Automation, and Test in Europe, Munich, Germany, pp. 26-32, Mar. 2001.
[24] L. Cai and D. Gajski, “Transaction level modeling: An overview,” in Proc. Int. Conf. HW/SW Codesign and System Synthesis (CODES-ISSS), pp. 19-24, Oct. 2003.
[25] G. Nicolescu, S. Yoo, A. Bouchhima and A. A. Jerraya, “Validation in a component-based design flow formulticore SoCs,” in Proc. Int. Symp. Syst. Synthesis, Oct. 2002, pp. 162-167.
[26] M. Lajolo, M. Lazarescu and A. Sangiovanni-Vincentelli, ”A compilation-based software estimation scheme for hardware/software co-simulation,” in Proc. Int. Conf. on Hardware/Software Codesign, May 1999, pp. 85-89.
[27] R. Klein, “Miami: a hardware software co-simulation environment,” in Proc. Int. Workshop on Rapid System Prototyping, Jun. 1996, pp.173-177.
[28] M. D. Hill and M. R. Marty, “Amdahl’s law in the multicore era,” IEEE Computer, vol.41, pp.33-38, July 2008.
[29] V. Zivojnovic and H. Meyr, “Compiled HW/SW co-simulation,” in Proc. Design Automation Conf., Jun. 1996, pp.690-695.
[30] A. Nohl, G. Braun, O. Schliebusch, R. Leupers, H. Meyr and A. Hoffmann, “A universal technique for fast and flexible instruction-set architecture simulation,” in Proc. Design Automation Conf., Jun. 2002, pp.22-27.
[31] M. Reshadi, P. Mishra and N. Dutt, “Instruction set compiled simulation: a technique for fast and flexible instruction set simulation,” in Proc. 40th Design Automat. Conf., Jun. 2003, pp.758-763.
[32] S. Yoo and K. Choi, “Optimizing timed cosimulation by hybrid synchronization,” Des. Autom. Embedded Syst., vol.5, no.2 pp.129-152, Jun. 2000.
[33] J. Jung, S. Yoo and K. Choi, “Performance improvement of multiprocessor systems cosimulation based on SW analysis,” in Proc. Design Automation and Test in Europe, Mar. 2001, pp.749-753.
[34] S. Yoo, K. Choi and S. H. Dong, “Performance improvement of geographically distributed cosimulation by hierarchically grouped messages,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol.8, no.5, pp. 492-502, Oct. 2000,
[35] L. Benini and G. D. Micheli, “Networks on chips: a new SoC paradigm,” Computer, vol.35, Issue 1, pp. 70-78, Jan. 2002.
[36] A. Simalatsar, D. Densmore and R. Passerone, “A methodology for architecture exploration and performance analysis using system level design languages and rapid architecture profiling,” Industrial Embedded Systems, 2008. SIES 2008. Int. Symp., pp.11-13, Jun. 2008.
[37] G. Nicolescu, H. Boucheneb, L. Gheorghe and F. Bouchhima, “Methodology for efficient design of continuous/discrete-events co-simulation tools,” in J. Anderson, R. Huntsinger, eds., High Level Simulation Languages and Applications - HLSLA. SCS, San Diego, CA, pp.172-179, 2007.
[38] G. Kane and J. Heinrich, “MIPS RISC Architecture,” Prentice Hall, 1992.
[39] J. D. Impson, “VNC, transparently,” vol. 2002, no. 93, pp. 3, 2002.
[40] B. Amstadt and M. K. Johnson, “Wine,” vol. 1994, no. 4, pp. 3, 1994.
[41] D. Oisboid, “Novice to Novice: DOS emulation with dosemu,” vol. 1995, no. 13, pp. 12, 1995.
[42] Solaris Operating System, 1994, Available: http://www.oracle.com/solaris.
[43] Microsoft Developer Network, “MSDN,” Available: http://msdn.microsoft.com/ /library/aa365574
[44] Berkeley Software Distribution (BSD), 2006, Available: http://www.bsd.org/.
[45] W. W. Gay, Linux Socket Programming: By Example: Que Corp., 2000.
[46] I. Richardson, “H.264 and MPEG-4 video compression,” John Wiley & Sons Ltd, 2003.
[47] T. Kogel, A. Haverinen and J. Aldis. “OCP TLM for architectural modeling,” Whitepaper available at: www.ocpip.org, July 2005.
[48] GTK+ toolkit, 2007, Available: http://www.gtk.org/
[49] A. P. Su and R. Chen, “Applying ESL in a dual-core SoC platform designing,” in Proc. IEEE Int. SOC Conf., Sept. 2006, pp. 171-174.
[50] W. Cesario, A. Baghdadi, L. Gauthier, D. Lyonnard, G. Nicolescu, Y. Paviot, S. Yoo, A. A. Jerraya and M. Diaz-Nava, “Component-Based design approach for multicore SoCs,” Design Automat. Conf., pp. 789-794, Jun. 2002.
[51] W. C. Lin, “The memory access pptimization techniques for video decoders on embedded system platforms,” M.S. thesis, Nat. Cheng Kung Univ., Tainan, Taiwan, Jun. 2009.
[52] Texas Instrument, Inc., “TMS320DM6446 Digital Media System-on-Chip,” Literature Number: SPRS283F, Dec. 2005.
[53] C. W. Chang, T. J. Lin, C. J. Wu, J. K. Lee, Y. H. Chu and A. Y. Wu, “Parallel Architecture Core (PAC)—the first multicore application processor SoC in Taiwan part I: Hardware architecture & software development tools,” Journal of Signal Processing Systems. doi:10.1007/s11265-010-0470-0
[54] Texas Instrument, Inc., “TMS320DM644x DMSoC ARM Subsystem Reference Guide,” Literature Number: SPRUE14B, Mar. 2009.
[55] Texas Instrument, Inc., “Codec Engine Algorithm Creator User’s Guide,” Literature Number: SPRUED6C, Sept. 2007.
[56] Texas Instrument, Inc., “Codec Engine Server Integrator User's Guide,” Literature Number: SPRUED5B, Sept. 2007.
[57] Texas Instrument, Inc., “Codec Engine Application Developer User's Guide,” Literature Number: SPRUE67D, Sept. 2007.
[58] Steve Preissig, Technical Traning Organization, Texas Instrument, Inc. “Programming Details of Codec Engine for DaVinciTM Technology,” Whitepaper, Nov. 2006.