Abstract
Wepresent the Serra Run-Time Scheduler Synthesis and AnalysisTool which automatically generates a run-time scheduler froma heterogeneous system-level specification in both Verilog HDLand C. Part of the run-time scheduler is implemented in hardware,which allows the scheduler to be predictable in being able tomeet hard real-time constraints, while part is implemented insoftware, thus supporting features typical of software schedulers. Serra's real-time analysis generates a priority assignment forthe software tasks in the mixed hardware-software system. Thetasks in hardware and software have precedence constraints, resourceconstraints, relative timing constraints, and a rate constraint.A heuristic scheduling algorithm assigns the static prioritiessuch that a hard real-time rate constraint can be predictablymet. Serra supports the specification of critical regions insoftware, thus providing the same functionality as semaphores.We describe the task control/data-flow extraction,synthesis of the control portion of the run-time scheduler inhardware, real-time analysis and priority scheduler template.We also show how our approach fits into an overall tool flowand target architecture. Finally, we conclude with a sample applicationof the novel run-time scheduler synthesis and analysis tool toa robotics design example.
Similar content being viewed by others
References
M. Abid, A. Changuel and A. Jerraya, “Exploration of Hardware/Software Design Space through a Codesign of Robot Arm Controller,” European Design Automation Conference, pp. 42–47, September 1996.
J. K. Adams and D. E. Thomas, “Multiple-Process Behavioral Synthesis for Mixed Hardware-Software Systems,” International Symposium on System Synthesis, pp. 10–15, September 1995.
N. Audsley, A. Burns, M. Richardson, K. Tindell and A. J. Wellings, “Applying new scheduling theory to static priority pre-emptive scheduling,” Software Engineering Journal, pp. 284–292, September 1993.
N. Audsley, A. Burns, R. Davis, K. Tindell and A. J. Wellings, “Fixed Priority Pre-emptive scheduling: A Historical Perspective,” Real-Time Systems, (8):173–198, 1995.
F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, C. Passerone, A. Sangiovanni-Vincentelli, E. Sentovich, K. Suzuki and B. Tabbara, Hardware-Software Co-Design of Embedded Systems The Polis Approach, Kluwer Academic Publishers, Norwell, MA, 1997.
F. Balarin, K. Petty, A. Sangiovanni-Vincentelli and P. Varaiya, “Formal Verification of the PATHO Real-Time Operating System,” '94, December 1994.
F. Balarin, H. Hsieh, A. Jurecska, L. Lavagno and A. Sangiovanni-Vincentelli, “Formal Verification of Embedded Systems based on CFSM Networks,” Proceedings of the 33 nd Design Automation Conference, pp. 568–571, June 1996.
P. H. Chou and G. Borriello, “Software Scheduling in the Co-Synthesis of Reactive Real-Time Systems,” Proceedings of the 31 st Design Automation Conference, pp. 1–4, June 1994.
P. H. Chou, R. B. Ortega, and G. Borriello, “The Chinook Hardware/Software Co-Synthesis System,” International Symposium on System Synthesis, pp. 22–27, September 1995.
C. N. Coelho Jr. and G. De Micheli, “Analysis and Synthesis of Concurrent Digital Circuits Using Control-Flow Expressions,” IEEE Transactions on CAD=ICAS, Vol. 15, No. 8, pp. 854–876. August 1996, and Technical Report CSL-TR-96-694, http://elib.stanford.edu/Dienst/UI/2.0/Describe/stanford.cs%2fCSL-TR-96- 694, Stanford, CA, April, 1996.
C. N. Coelho Jr., Analysis and Synthesis of Concurrent Digital Systems Using Control-Flow Expressions, Ph.D. Thesis, Technical Report CSL-TR-96-690, http://elib.stanford.edu/Dienst/UI/2.0/Describe/ stanford.cs%2fCSL-TR-96-690, Stanford, CA, March, 1996.
T. Cormen, C. Leiserson and R. Rivest, Introduction to Algorithms, The MIT Press, Cambridge, 1990, pg. 35.
B. Dave, G. Lakshminarayana and N. Jha, “COSYN: Hardware-Software Co-synthesis of Embedded Systems”, Proceedings of the 34 th Design Automation Conference, pp. 703–708, June 1997.
G. De Micheli and M. Sami, editors, Hardware/Software Co-Design, Kluwer Academic Publishers, Norwell, MA, 1996.
G. De Micheli, Synthesis and Optimization of Digital Circuits, McGraw Hill, Inc., New York, NY, 1994, pp. 208–211.
R. Ernst, J. Henkel, Th. Benner, W. Ye, U. Holtmann, D. Herrmann and M. Trawny, “the COSYMA environment for hardware/software cosynthesis of small embedded systems,” Microprocessors and Microsystems, 20, pp. 159–166, 1996.
M. Garey and D. Johnson, Computers and Intractability AGuide to the Theory of NP-Completeness, W. H. Freeman and Company, N.Y., 1979, pg. 239.
R. K. Gupta, Co-Synthesis of Hardware and Software for Digital Embedded Systems, Kluwer Academic Publishers, Boston, MA, 1995.
J. Henkel, R. Ernst, “The Interplay of Run-Time Estimation and Granularity in HW/SW Partitioning,” 4th International Workshop on Hardware/Software Co-Design, Pittsburgh, 1996.
J. Henkel, Th. Benner, R. Ernst, W. Ye, N. Serafimov and G. Glawe, “COSYMA: A Software-Oriented Approach to Hardware/Software Co-Design,” The Journal of Computer and Software Engineering, Vol. 2, No. 3, pp. 293–314, 1994.
F. Hillier and G. Lieberman, Introduction to Operations Research, 6th edition, McGraw-Hill, Inc., New York, 1995, pp. 424–469.
M. Humphrey, G. Wallace and J. Stankovic, “Kernel-Level Threads for Dynamic, Hard Real-Time Environment,” 16th IEEE Real Time Systems Symposium, pp. 38–48, 1995.
D. Knapp, Behavioral Synthesis: Digital System Design Using the Synopsys Behavioral Compiler, Prentice Hall, Upper Saddle River, NJ, 1996.
D. C. Ku and G. De Micheli, High Level Synthesis of ASICs Under Timing and Synchronization Constraints, Kluwer Academic Publishers, Norwell, MA, 1992.
A. W. Leigh, Real Time Software For Small Systems, Sigma Press, Wilmslow, U.K., 1988.
C. Liu and J. Layland, “Scheduling algorithms for multiprogramming in a hard-real time environment,” Journal of the ACM, 20(1):46-61, January 1973.
Y. Li, S. Malik and A. Wolf, “Performance Estimation of Embedded Software with Instruction Cache Modeling”, Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pp. 380–387, November, 1995.
S. Malik, W. Wolf, A. Wolf, Y. Li and T. Yen, “Performance Analysis of Embedded Systems,” in G. De Micheli and M. Sami, editors, Hardware/Software Co-Design, pp. 45–74, Kluwer Academic Publishers, Norwell, MA, 1996.
V. Mooney, C. Coelho, T. Sakamoto and G. De Micheli, “Synthesis From Mixed Specifications,” European Design Automation Conference, pp. 114–119, September 1996.
V. Mooney, T. Sakamoto and G. De Micheli, “Run-Time Scheduler Synthesis For Hardware-Software Systems and Application to Robot Control Design,” 5th Int'l Workshop on Hardware/Software Co-Design,, pp. 95–99, Braunschweig, Germany, March 1997.
V. Mooney and G. De Micheli, “Real-Time Analysis and Priority Scheduler Generation For Hardware-Software Systems with a Synthesized Run-Time System,” Proceedings of the IEEE/ACM International Conference on Computer-Aided Design, pp. 605–612, November, 1997.
V. Mooney G. De Micheli, Hardware/Software Co-Design of Run-Time Schedulers for Real-Time Systems, Technical Report CSL-TR-97-739, http://elib.stanford.edu/Dienst/UI/2.0/Describe/stanford.cs%2fCSLTR-97-739, Stanford, CA, November 1997. (This technical report is an early version of this journal paper.)
V. Mooney, Hardware/Software Co-Design of Run-Time Systems, Ph.D. Thesis, Technical Report CSLTR-98-762, http://elib.stanford.edu/Dienst/UI/2.0/Describe/stanford.cs%2fCSL-TR-98-762, Stanford, CA, June 1998.
S. Narayan, F. Vahid and D. Gajski, “System Specification with the SpecCharts Language,” IEEE Design & Test of Computers, pp. 6–13, December 1992.
S. Prakash and A. C. Parker, “SOS: Synthesis of Application-Specific Heterogeneous Multiprocessor Systems,” Journal of Parallel and Distributed Computing, Vol. 16, pp. 338–351, December, 1992.
K. Ramamritham, “Allocation and Scheduling of Precedence-Related Periodic Tasks,” IEEE Proceedings on Parallel and Distributed Systems, 6(4):412–420, April 1995.
L. Sha, R. Rajkumar and S. Sathaye, “Generalized rate monotonic scheduling theory: a framework for developing real-time systems,” Proceedings of the IEEE, 82(1):68-82, January 1994.
D. Verkest, K. Van Rompaey, I. Bolsens & H. De Man, “CoWare- A Design Environment for Heterogeneous Hardware/Software Systems,” Design Automation for Embedded Systems, Vol. 1, No. 4, pp. 357–386, October 1996.
T. Yen and W. Wolf, “Performance Estimation for Real-Time Distributed Embedded Systems,” Proceedings of International Conference on Computer Design, pp. 64–69, 1995.
P. Altenbernd, “Deadline-Monotonic Software Scheduling for the Co-Synthesis of Parallel Hard Real-Time Systems,” Proceedings of the European Design and Test Conference, pp. 190–195, 1995.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Mooney, V.J., Micheli, G.D. Hardware/Software Co-Design of Run-Time Schedulers for Real-Time Systems. Design Automation for Embedded Systems 6, 89–144 (2000). https://doi.org/10.1023/A:1008941525972
Issue Date:
DOI: https://doi.org/10.1023/A:1008941525972