Automated Generation of Basic Custom Sensor-Based Embedded Computing Systems Guided by End-User Optimization Criteria

We describe a set of fixed-function and programmable blocks, eBlocks, previously developed to provide non-programming, non-electronics experts the ability to construct and customize basic embedded computing systems. We present a novel and powerful tool that, combined with these building blocks, enables end-users to automatically generate an optimized physical implementation derived from a virtual system function description. Furthermore, the tool allows the end-user to specify optimization criteria and constraint libraries that guide the tool in generating a suitable physical implementation, without requiring the end-user to have prior programming or electronics experience. We summarize experiments illustrating the ability of the tool to generate physical implementations corresponding to various end-user defined goals. The tool enables end-users having little or no electronics or programming experience to build useful customized basic sensor-based computing systems from existing low-cost building blocks.

[1]  Frank Vahid,et al.  A logic block enabling logic configuration by non-experts in sensor networks , 2005, CHI Extended Abstracts.

[2]  Jonathan Rose,et al.  Technology mapping of lookup table-based FPGAs for performance , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[3]  Frank Vahid,et al.  Power Estimator Development for Embedded System Memory Tuning , 2002, J. Circuits Syst. Comput..

[4]  Frank Vahid,et al.  Automated Application-Specific Tuning of Parameterized Sensor-Based Embedded System Building Blocks , 2006, UbiComp.

[5]  Frank Vahid,et al.  Tiny instruction caches for low power embedded systems , 2003, TECS.

[6]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[7]  Tim McNerney,et al.  Tangible programming bricks : an approach to making programming accessible to everyone , 1999 .

[8]  Frank Vahid,et al.  Tuning of loop cache architectures to programs in embedded system design , 2002, 15th International Symposium on System Synthesis, 2002..

[9]  Frank Vahid,et al.  Synthesis of customized loop caches for core-based embedded systems , 2002, ICCAD 2002.

[10]  Frank Vahid,et al.  First results with eBlocks: embedded systems building blocks , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[11]  Jason Cong,et al.  FlowMap: an optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Frank Vahid,et al.  Exploiting Fixed Programs in Embedded Systems: A Loop Cache Example , 2002, IEEE Computer Architecture Letters.

[13]  Yuzheng Ding Technology mapping of lookup table based field programmable gate arrays , 1995 .

[14]  Susan Cotterell,et al.  Usability of State Based Boolean eBlocks , 2005 .

[15]  Jonathan Rose,et al.  Chortle: a technology mapping program for lookup table-based field programmable gate arrays , 1990, 27th ACM/IEEE Design Automation Conference.

[16]  Frank Vahid,et al.  Applications and experiments with eBlocks - electronic blocks for basic sensor-based systems , 2004, 2004 First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2004. IEEE SECON 2004..

[17]  Kurt Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, DAC.

[18]  Wyeth Peta,et al.  Tangible programming elements for young children , 2002, CHI Extended Abstracts.

[19]  Jason Cong,et al.  On Area/Depth Trade-off in LUT-Based FPGA Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[20]  C. Robert Morgan,et al.  Building an Optimizing Compiler , 1998 .

[21]  D. Brand,et al.  Technology Adaptation in Logic Synthesis , 1986, 23rd ACM/IEEE Design Automation Conference.

[22]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[23]  D. Gregory,et al.  SOCRATES: A System for Automatically Synthesizing and Optimizing Combinational Logic , 1986, 23rd ACM/IEEE Design Automation Conference.

[24]  Susan Lysecky,et al.  A First Step Towards Dynamic Profiling of Sensor-Based Systems , 2008, 2008 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks.

[25]  Frank Vahid,et al.  eBlocks - an enabling technology for basic sensor based systems , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[26]  Jason Cong,et al.  DAG-Map: graph-based FPGA technology mapping for delay optimization , 1992, IEEE Design & Test of Computers.

[27]  Frank Vahid,et al.  System synthesis for networks of programmable blocks , 2005, Design, Automation and Test in Europe.

[28]  Frank Vahid,et al.  A fast on-chip profiler memory using a pipelined binary tree , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[29]  Paul Dourish,et al.  UbiComp 2006: Ubiquitous Computing, 8th International Conference, UbiComp 2006, Orange County, CA, USA, September 17-21, 2006 , 2006, UbiComp.

[30]  Alan F. Blackwell,et al.  AutoHAN: an architecture for programming the home , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[31]  Louise Trevillyan,et al.  Technology adaption in logic synthesis , 1986, DAC.

[32]  Frank Vahid,et al.  A fast on-chip profiler memory , 2002, DAC '02.

[33]  B. Hamber Publications , 1998, Weed Technology.