|
ABSTRACT
SystemC allows description of a digital system using traditional programming features as well as spatial connectivity features common in hardware description languages. We describe an approach for in-system emulation of circuits described in SystemC. SystemC emulation provides a number of benefits over synthesis, including fast compilation, faster design time, and lower tool cost. The approach involves a new SystemC bytecode format that executes on an emulation engine running on the microprocessor and/or FPGA of a development platform. Portability is enhanced via a USB flash-drive approach to loading the bytecode format onto the platform. Performance is improved using emulation accelerators on an FPGA. We describe our SystemC-to-bytecode compiler, bytecode format, emulation engine, and emulation accelerators. We illustrate use of the approach on a variety of examples, showing easy porting of a single application across various platforms, and showing emulation speed on an FPGA that is comparable to SystemC execution on a PC.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ANDERSON, E., AGRON, J., PECK, W., STEVENS, J., BAIJOT, F., KOMP, E., SASS, R., AND ANDREWS, D. 2006. Enabling a Uniform Programming Model Across the Software/Hardware Boundary. In Proceedings of the 14th Annual IEEE Symposium on Field--Programmable Custom Computing Machines (April 24 -- 26, 2006). FCCM
|
| |
2
|
ANDREWS, D., SASS, R., ANDERSON, E., AGRON, J., PECK, W., STEVENS, J., BAIJOT, F., AND KOMP, E. 2008. Achieving programming model abstractions for reconfigurable computing. IEEE Trans. Very Large Scale Integr. Syst. 16, 1 (Jan. 2008), 34--44.
|
| |
3
|
BENINI, L., BRUNI, D., DRAGO, N., FUMMI, F., AND PONCINO, M. "Virtual in-circuit emulation for timing accurate system prototyping," in Proc. IEEE Int. Conf. ASIC/- SoC, 2002
|
| |
4
|
BROWN, J.C Parallel Architectures for Computer Systems. IEEE Computer vol 37, no. 5. pp83--87 1989.
|
| |
5
|
CADENCE DESIGN SYSTEMS. http://www.cadence.com/us/pages/default.aspx
|
| |
6
|
CHANG, C., KUUSILINNA, K., RICHARDS, B., AND BRODERSEN, R. W. 2003. Implementation of BEE: a real-time large-scale hardware emulation engine. In Proceedings of the 2003 ACM/SIGDA Eleventh international Symposium on Field Programmable Gate Arrays (Monterey, California, USA, February 23 -- 25, 2003). FPGA '03. ACM, New York, NY, 91--99
|
| |
7
|
COWARE. http://www.coware.com/
|
| |
8
|
DAVIS, B., BEATTY, A., CASEY, K., GREGG, D., AND WALDRON, J. 2003. The case for virtual register machines. In Proceedings of the 2003 Workshop on interpreters, Virtual Machines and Emulators (San Diego, California, June 12 -- 12, 2003). IVME '03. ACM, New York, NY, 41--49
|
| |
9
|
FRENCH, R. S., LAM, M. S., LEVITT, J. R., AND OLUKOTUN, K. 1995. A general method for compiling event-driven simulations. In Proceedings of the 32nd ACM/IEEE Conference on Design Automation (San Francisco, California, United States, June 12 -- 16, 1995). DAC '95. ACM, New York, NY, 151--156
|
| |
10
|
FORNACIARI, W. AND PIURI, V. Virtual FPGAs: Some Steps Behind the Physical Barriers. In Parallel and Distributed Processing (IPPS/SPDP'98 Workshop Proceedings), LNCS. 1998.
|
| |
11
|
GENKO, N., ATIENZA, D., MICHELI, G. D., MENDIAS, J. M., HERMIDA, R., AND CATTHOOR, F. 2005. A Complete Network-On-Chip Emulation Framework. In Proceedings of the Conference on Design, Automation and Test in Europe -- Volume 1 (March 07 -- 11, 2005). Design, Automation, and Test in Europe. IEEE Computer Society, Washington, DC, 246--251
|
| |
12
|
GRUIAN, F. AND WESTMIJZE, M. 2007. BlueJEP: a flexible and high-performance Java embedded processor. In Proceedings of the 5th international Workshop on Java Technologies For Real-Time and Embedded Systems (Vienna, Austria, September 26 -- 28, 2007). JTRES '07, vol. 231. ACM, New York, NY, 222--229
|
| |
13
|
HENNESSY, J. AND PATTERSON, D. Computer Architecture -- A Quantitative Approach. Morgan Kaufman Publishers. 3rd edition. 1996
|
| |
14
|
LEVINE, B. A. AND SCHMIT, H. H. 2003. Efficient Application Representation for HASTE: Hybrid Architectures with a Single, Transformable Executable. In Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (April 09 -- 11, 2003). FCCM. IEEE Computer Society, Washington, DC, 101
|
| |
15
|
LEVIS, P. AND CULLER, D. 2002. Maté: a tiny virtual machine for sensor networks. SIGOPS Oper. Syst. Rev. 36, 5 (Dec. 2002), 85--95
|
| |
16
|
MOORE, N., CONTI, A., LEESER, M., AND KING, L. S. 2007. Writing Portable Applications that Dynamically Bind at Run Time to Reconfigurable Hardware. In Proceedings of the 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (April 23 -- 25, 2007). FCCM. IEEE Computer Society, Washington, DC, 229--238
|
| |
17
|
MOY, M., MARANINCHI, F., AND MAILLET-CONTOZ, L. 2005. Pinapa: an extraction tool for SystemC descriptions of systems-on-a-chip. In Proceedings of the 5th ACM international Conference on Embedded Software (Jersey City, NJ, USA, September 18 -- 22, 2005). EMSOFT '05. ACM, New York, NY, 317--324
|
| |
18
|
NAKAMURA, Y., HOSOKAWA, K., KURODA, I., YOSHIKAWA, K., AND YOSHIMURA, T. 2004. A fast hardware/software co-verification method for system-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication. In Proceedings of the 41st Annual Conference on Design Automation (San Diego, CA, USA, June 07 -- 11, 2004). DAC '04
|
| |
19
|
PARNIS, J. AND LEE, G. 2004. Exploiting FPGA concurrency to enhance JVM performance. In Proceedings of the 27th Australasian Conference on Computer Science -- Volume 26 (Dunedin, New Zealand). Estivill-Castro, Ed. ACSC, vol. 56. Australian Computer Society, Darlinghurst, Australia, 223--232
|
| |
20
|
POLETTO, M. AND SARKAR, V. 1999. Linear scan register allocation. ACM Trans. Program. Lang. Syst. 21, 5 (Sep. 1999), 895--913.
|
| |
21
|
RISSA, T., DONLIN, A., AND LUK, W. 2005. Evaluation of SystemC Modelling of Reconfigurable Embedded Systems. In Proceedings of the Conference on Design, Automation and Test in Europe -- Volume 3 (March 07 -- 11, 2005). Design, Automation, and Test in Europe. IEEE Computer Society, Washington, DC, 253--258
|
| |
22
|
SIROWY, S. SHELDON, D., GIVARGIS, T. AND VAHID. F. Virtual Microcontrollers. Workshop on Embedded System Education. June 2009.
|
| |
23
|
SIROWY, S., STITT, G., AND VAHID, F. 2008. C is for circuits: capturing FPGA circuits as sequential code for portability. In Proceedings of the 16th international ACM/SIGDA Symposium on Field Programmable Gate Arrays (Monterey, California, USA, February 24 -- 26, 2008). FPGA '08
|
| |
24
|
SMITH, J. AND NAIR, R. VIRTUAL MACHINES: Versatile Platforms for Systems and Processes. Morgan-Kaufman Publishers. 2005
|
| |
25
|
STARK, R., SCHMID, J, AND BORGER, E. Java and the Virtual Machine- Definition, Verification, and Validation. 2001
|
| |
26
|
SYSTEMC. http://www.systemc.org
|
| |
27
|
SYSTEMC SYNTHESIZABLE SUBSET. http://www.systemc.org
|
| |
28
|
VERILOG SPECIFICATION. http://www.verilog.com/VerilogBNF.html
|
| |
29
|
VHDL SPECIFICATION STANDARD. http://www.vhdl.org/
|
| |
30
|
VMWARE. http://www.vmware.com
|
| |
31
|
VULETIC, M., POZZI, L., AND IENNE, P. 2005. Seamless Hardware-Software Integration in Reconfigurable Computing Systems. IEEE Des. Test 22, 2 (Mar. 2005), 102--113
|
| |
32
|
XEN. http://www.xen.org
|
|