The Challenge

We are happy to anounce that the download is now available for registered users.

Introduction

The power consumption of processors and embedded systems is one of the most crucial aspects of modern computing. High power consumption limits the computing performance and complicates packaging and cooling, particularly in 3D-integrated systems where processors and memory are stacked. This is even more critical for embedded, mobile, or battery-powered systems.

Developing power- and energy-aware systems necessitates optimizing firmware, software, and hardware to minimize power consumption. Ideally, models that report and estimate power consumption early in the development process allow for optimization of system architecture and firmware. In this context, we present the DVCon Europe 2024 SystemC Modeling Challenge.

This year’s challenge focuses on the power consumption of a door sign system designed for university researchers. The door sign indicates the availability of the researcher and operates in three distinct states: Available, Not Available, and At University. Participants are required to create a model that predicts the power consumption of this system, taking into account state changes and various input methods.

Challenge

The challenge involves predicting the power consumption of a given circuit. For evaluation and comparison purposes, a test bench is provided in which the device under test (your model) is instantiated and connected with:

  • Inputs representing changes of states as described below.
  • An output that estimates the energy consumption (power consumption integrated over time) in milliwatts (mW).
  • For extra points, the instantaneous power consumption should be presented as a sequence of tuples <time, power>.

Participants are provided with a SystemC template, which they can use as a starting point. This template includes the basic structure and necessary connections, allowing participants to focus on implementing their power consumption estimation algorithms.

Use Case

The circuit (Fig. 1) monitors and displays the availability of a researcher at a university office door. It differentiates between three states: Available, Not Available, and At University. The states are defined as follows:

  • Available: The user is in their office.
  • Not Available: The user is not at the university.
  • At University: The user is at the university but not in their office.

SystemC Template

The SystemC template provided includes:

  • A skeleton model with input and output ports.
  • Basic setup for state changes and initial state definitions.
  • Placeholders for implementing power consumption estimation algorithms.

Participants should fill in the provided template with their own code to create a functioning model that accurately predicts power consumption based on the described states and their transitions.

Circuit Description

The circuit includes a central processing unit, the ESP32-WROOM-32D, connected to four addressable RGB LEDs (PL9823 model) and an LCD display (204B BL model) via I2C. User inputs include a button and a potentiometer. The potentiometer, built into the door lock, changes the status when the door knob is turned. The button serves as an alternative input, allowing status changes based on the time recording system. The ESP32 also connects to any Bluetooth device and an MQTT server via WiFi for centralized status checking.

  • Available:
    Input: The button is pressed, and the door knob is turned to open the door if the state is Not Available. Alternatively, the door can be opened, or a Bluetooth message “Available” can be sent.
    Output: The status „Available“ is sent to the MQTT server, and a Bluetooth message “User is Available” is transmitted if connected. The LEDs turn green, and the display shows that the person is available.
  • Not Available:
    Input: The button is pressed, and the door knob is turned to close the door if the state is Available. The Bluetooth command to switch to this state is “Left”.
    Output: The LEDs turn red, and the display shows that the user is not available. A message is sent to the MQTT server, and a Bluetooth message “User not Available” is sent if connected.
  • At University:
    Input: The door is closed if the system is in the Available state.
    Output: The LEDs turn blue, and the display shows that the user is at the university. A message is sent to the MQTT server, and a Bluetooth message is sent if connected.

Instructions for Participants

Getting Started

  • Download the SystemC Template: The template provided contains the basic structure for the model. Download and review the template to understand the initial setup and placeholders.
  • Understand the Circuit and States: Familiarize yourself with the circuit components, state definitions, and the required inputs and outputs.

Implementing the Model

  • Fill in the Template: Using the provided SystemC template, implement the necessary code to handle state transitions and estimate power consumption.
  • Power Consumption Estimation: Develop algorithms to predict power consumption based on state changes. Your model should output the estimated energy consumption over time and, optionally, the instantaneous power consumption.
  • Testing and Validation: Use the provided test bench to validate your model. Ensure that your predictions are accurate and that the model responds correctly to state changes.

Submission

  • Code Submission: Submit your completed SystemC model code.
  • Documentation: Provide documentation detailing your approach, algorithms used, and any assumptions made.
  • Evaluation Criteria: Models will be evaluated based on accuracy of power consumption prediction, efficiency of the implementation, and completeness of the documentation.

For submission send your code to: info@dvconchallenge.de