Robotic Registers

Robotic Registers

Robotic Registers is a Graph Generative Adversarial Network (GAN) model to develop viable logic circuits to be stored in the form of graphs.

The problem Robotic Registers solves

Our GraphGAN model can have several potential applications and solve various problems:

Training Data Augmentation:

Generated logic circuit graphs can be used to augment training datasets for machine learning models in fields like electronic design automation (EDA). This can help in improving the robustness and diversity of the dataset, which can lead to better-trained models.

Anomaly Detection:

Generated logic circuit graphs can be used to train anomaly detection models. By learning the distribution of normal logic circuits, anomalies or unusual patterns in real circuits can be identified more effectively.

Benchmarking and Testing:

Synthetic logic circuit graphs can be used to create benchmark datasets for testing the performance of various algorithms and techniques in EDA and related fields. This can help in evaluating the effectiveness and efficiency of different approaches.

Exploratory Data Analysis:

Generated logic circuit graphs can be used for exploratory data analysis to gain insights into the structure and characteristics of logic circuits. This can help in identifying common patterns, trends, and anomalies in the data.

Privacy-Preserving Data Sharing:

In scenarios where real logic circuit data cannot be shared due to privacy or proprietary concerns, synthetic logic circuit graphs can be used as a substitute for sharing and collaborating on research and development projects.

Optimization and Synthesis:

Generated logic circuit graphs can be used as input to optimization and synthesis algorithms to automatically improve the performance, power consumption, and area utilization of logic circuits in the fields of FPGA and ASIC development.

Hardware Emulation and Simulation:

Synthetic logic circuit graphs can be used to emulate and simulate the behavior of complex logic circuits before actual implementation in hardware. This can help in identifying potential design flaws and optimizing the circuit layout before fabrication.

Challenges we ran into

During our project, we encountered several significant challenges:

Dataset Complexity:

Our dataset consisted of graphical data structures representing logic circuits, utilizing dictionaries of Node objects. With over 50,000 graphs and numerous features, the dataset posed complexities during data cleaning and customization to align with our project requirements.

Evolution of Approach:

Given the novelty of our project, we continually refined our approach to develop a machine-learning model capable of generating logic circuit graphs closely resembling real circuits. Initially, we explored the Geometric Graph-Generative Adversarial Network (GG-GAN), but as our understanding evolved, we experimented with different ML models. Each change impacted dataset format and features, posing challenges with tensor dimensions and generation processes.

Model Diversity:

Our architecture comprised four distinct models, each requiring meticulous testing and training. Managing the interdependence and orientation of these models presented additional complexities, requiring careful consideration during the debugging and optimization phases.

Technical Hurdles:

Throughout the project, some team members encountered challenges with internet connectivity, while others faced difficulties with Intel Developer Cloud's Jupyter notebook environment. These technical obstacles temporarily hindered our development progress but were eventually overcome through collaboration and resourcefulness.

Navigating through these challenges demanded adaptability, collaboration, and perseverance from our team. Despite the hurdles, our collective efforts enabled us to make significant progress and achieve our project objectives.

Discussion