Abstract
We present SysPy (System Python) a tool which exploits the strengths of the popular Python scripting language to boost design productivity of embedded System on Chips for FPGAs. SysPy acts as a “glue” software between mature HDLs, ready-to-use VHDL components and programmable processor soft IP cores. SysPy can be used to: (i) automatically translate hardware components described in Python into synthesizable VHDL, (ii) capture top-level structural descriptions of processor-centric SoCs in Python, (iii) implement all the steps necessary to compile the user's C code for an instruction set processor core and generate processor specific Tcl scripts that import to the design project all the necessary HDL files of the processor's description and instantiate/connect the core to other blocks in a synthesizable top-level Python description. Moreover, we have developed a Hardware Abstraction Layer (HAL) in Python which allows user applications running in a host PC to utilize effortlessly the SoC's resources in the FPGA. SysPy's design capabilities, when complemented with the developed HAL software API, provide all the necessary tools for hw/sw partitioning and iterative design for efficient SoC's performance tuning. We demonstrate how SysPy's design flow and functionalities can be used by building a processor-centric embedded SoC for computational systems biology. The designed SoC, implemented using a Xilinx Virtex-5 FPGA, combines the flexibility of a programmable soft processor core (Leon3) with the high performance of an application specific core to simulate flexibly and efficiently the stochastic behavior of large size biomolecular reaction networks. Such networks are essential for studying the dynamics of complex biological systems consisting of multiple interacting pathways.
- Aeroflex Gaisler GRMON. 2012. Debug monitor for Leon. http://www.gaisler.com.Google Scholar
- Aeroflex Gaisler Leon3. 2012. LEON3 Multiprocessing CPU Core. http://www.gaisler.com.Google Scholar
- B. J. Bornstein, S. M. Keating, A. Jouraku, and M. Hucka. 2008. LibSBML: An API library for SBML. Bioinformatics 24, 6, 880--881. Google Scholar
Digital Library
- B. Chapman and J. Chang. 2000. Biopython: Python tools for computational biology. SIGBIO Newsl. 20, 2, 15--19. Google Scholar
Digital Library
- P. Chen, D. Kirkpatrick, and K. Keutzer. 2001. Scripting for EDA tools: a case study. In Proceedings of the International Symposium on Quality Electronic Design. 87--93. Google Scholar
Digital Library
- Ciranova. 2012. PyCell Studio. http://www.ciranova.com.Google Scholar
- Copasi. 2012. Biochemical network simulator. http://www.copasi.org/.Google Scholar
- J. Decaluwe. 2004. MyHDL: A Python-based hardware description language. Linux J, 127, 5--9. Google Scholar
Digital Library
- European Bioinformatics Institute. 2012. Biomodels database - a database of annotated published models. http://www.ebi.ac.uk/biomodels-main/.Google Scholar
- G. Ewing. 2007. Plex: A Lexical Analysis Module for Python. http://www.cosc.canterbury.ac.nz/greg.ewing/python/Plex.Google Scholar
- H. Fangohr. 2004. A comparison of C, MATLAB, and Python as teaching languages in engineering. In Proceedings of the International Conference on Computational Science (ICCS'04). M. Bubak, G. van Albada, P. Sloot, and J. Dongarra, Eds., Lecture Notes in Computer Science, vol. 3039, Springer, 1210--1217.Google Scholar
Cross Ref
- M. A. Gibson and J. Bruck. 2000. Efficient exact stochastic simulation of chemical systems with many species and many channels. J. Phys. Chem. A 104, 9, 1876--1889.Google Scholar
Cross Ref
- D. T. Gillespie. 1976. A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. J. Comput. Phys. 22, 1--40.Google Scholar
Cross Ref
- D. T. Gillespie. 2007. Stochastic simulation of chemical kinetics. Ann. Rev. Phys. Chem. 58, 35--55.Google Scholar
Cross Ref
- P. Haglund, O. Mencer, W. Luk, and B. Tai. 2003. PyHDL: Hardware scripting with Python. In Proceedings of the International Conference on Field Programmable Logic. 1040--1043.Google Scholar
- O. G. Hazapis and E. S. Manolakos. 2011. Scalable FRM-SSA SoC design for the simulation of networks with thousands of biochemical reactions in real time. In Proceedings of the International Conference on Field Programmable Logic and Applications. 459--463. Google Scholar
Digital Library
- M. Hucka, A. Finney, H. M. Sauro, H. Bolouri, J. C. Doyle, and H. Kitano. 2003. The Systems Biology Markup Language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics 19, 4, 524--531.Google Scholar
Cross Ref
- B. Hutchings, B. Nelson, S. West, and R. Curtis. 2009. Comparing fine-grained performance on the Ambric MPPA against an FPGA. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'09). 174--179.Google Scholar
- H. Li, Y. Cao, L. R. Petzold, and D. T. Gillespie. 2008. Algorithms and software for stochastic simulation of biochemical reacting systems. Biotechnol. Progr. 24, 1, 56--61.Google Scholar
Cross Ref
- E. Logaras and E. S. Manolakos. 2010. SysPy: Using Python for processor-centric SoC design. In Proceedings of the IEEE International Conference on Electronics, Circuits and Systems. 762--765.Google Scholar
- A. Mashtizadeh. 2007. PHDL: A Python hardware design framework. M.S. thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of technology.Google Scholar
- O. Mencer, M. Morf, and M. J. Flynn. 1998. PAM-Blox: High performance FPGA design for adaptive computing. In Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines. 167--174. Google Scholar
Digital Library
- K. J. Millman and M. Aivazis. 2011. Python for Scientists and Engineers. Comput. Sci. Eng. 13, 2, 9--12. Google Scholar
Digital Library
- C. J. Myers. 2009. Engineering Genetic Circuits. Chapman and Hall/CRC Mathematical & Computational Biology Series, CRC Press.Google Scholar
- C. J. Myers, N. Barker, K. Jones, H. Kuwahara, C. Madsen, and N.-P. D. Nguyen. 2009. iBioSim. Bioinformatics 25, 21, 2848--2849. Google Scholar
Digital Library
- OpenCores AVR. 2009. Atmel Mega128 processor core. http://opencores.org/project,avrcore.Google Scholar
- OpenCores MinSoC. 2012. Minimal OpenRISC system on chip. http://opencores.org/project,minsoc.Google Scholar
- J. Ou and V. K. Prasanna. 2004. PyGen: A Matlab/Simulink based tool for synthesizing parameterized and energy efficient designs using FPGAs. In Proceedings of the International Symposium on Field-Programmable Custom Computing Machines. 47--56. Google Scholar
Digital Library
- E. Ouzounoglou, K. Vekrellis, and E. S. Manolakos. 2011. In silico modeling of alpha-synuclein oligomerization effects on neuronal homeostasis. In Proceedings of the International Conference on Systems Biology.Google Scholar
- M. Pineda-Krch. 2008. GillespieSSA: Implementing the Gillespie Stochastic Simulation Algorithm in R. J. Stat. Software 25, 12, 1--18.Google Scholar
Cross Ref
- M. Rathinam, L. R. Petzold, Y. Cao, and D. T. Gillespie. 2003. Stiffness in stochastic chemically reacting systems: The implicit tau-leaping method. J. Chem. Phys. 119, 24, 12784--12794.Google Scholar
Cross Ref
- M. Schoeberl, S. Korsholm, T. Kalibera, and A. P. Ravn. 2011. A Hardware Abstraction Layer in Java. ACM Trans. Embed. Comput. Syst. 10, 4, 1--40. Google Scholar
Digital Library
- StochPy. 2012. Stochastic modelling in Python. http://stompy.sourceforge.net/.Google Scholar
- Synopsys Synphony. 2012. High Level Synthesis with Synphony C compiler. http://www.synopsys.com.Google Scholar
- SysPy. 2012. System Python. http://cgi.di.uoa.gr/∼evlog/syspy.html.Google Scholar
- SysPy Gillespie SoC. 2012. http://cgi.di.uoa.gr/∼evlog/Gillespie_SoC.html.Google Scholar
- Xilinx System Generator. 2009. System Generator for DSP, UG640. http://www.xilinx.com.Google Scholar
- Xilinx XST. 2009. Xilinx Synthesis Technology User Guide, UG627. http://www.xilinx.com.Google Scholar
- M. Yoshimi, Y. Iwaoka, Y. Nishikawa, et al. 2007. FPGA implementation of a data-driven stochastic biochemical simulator with the Next Reaction Method. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'07). 254--259.Google Scholar
Cross Ref
- M. Yoshimi, Y. Osana, Y. Iwaoka, et al. 2006. An FPGA implementation of high throughput stochastic simulator for large-scale biochemical systems. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL'06). 1--6.Google Scholar
Cross Ref
- M. Zhang, S. Tu, and Z. Chai. 2008. PDSDL: A dynamic System Description Language. In Proceedings of the International SoC Design Conference. Vol. 1. IEEE, 204--209.Google Scholar
Index Terms
Python to accelerate embedded SoC design: A case study for systems biology
Recommendations
VHDL description of a synthetizable and reconfigurable real-time stereo vision processor
ISPRA'05: Proceedings of the 4th WSEAS International Conference on Signal Processing, Robotics and AutomationThis paper describes a reconfigurable digital architecture to compute dense disparity maps at video-rate for stereo vision. The processor architecture is described in synthetizable VHDL and, by means of the reconfigurability, the hardware requirements ...
Co-simulation framework of SystemC SoC virtual prototype and custom logic (abstract only)
FPGA '13: Proceedings of the ACM/SIGDA international symposium on Field programmable gate arraysTo address the increasing demand of System-on-Chip (SoC) for high performance applications and IP programmability, specialized SoC with custom logic is developed in a single chip or multi-chip system. Like any other SoC platforms, early software ...
PACT HDL: a C compiler targeting ASICs and FPGAs with power and performance optimizations
CASES '02: Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systemsChip fabrication technology continues to plunge deeper into sub-micron levels requiring hardware designers to utilize ever-increasing amounts of logic and shorten design time. Toward that end, high-level languages such as C/C++ are becoming popular for ...






Comments