124 research outputs found
A Machine Learning Approach Towards SKILL Code Autocompletion
As Moore's Law continues to increase the complexity of electronic systems,
Electronic Design Automation (EDA) must advance to meet global demand. An
important example of an EDA technology is SKILL, a scripting language used to
customize and extend EDA software. Recently, code generation models using the
transformer architecture have achieved impressive results in academic settings
and have even been used in commercial developer tools to improve developer
productivity. To the best of our knowledge, this study is the first to apply
transformers to SKILL code autocompletion towards improving the productivity of
hardware design engineers. In this study, a novel, data-efficient methodology
for generating SKILL code is proposed and experimentally validated. More
specifically, we propose a novel methodology for (i) creating a high-quality
SKILL dataset with both unlabeled and labeled data, (ii) a training strategy
where T5 models pre-trained on general programming language code are fine-tuned
on our custom SKILL dataset using unsupervised and supervised learning, and
(iii) evaluating synthesized SKILL code. We show that models trained using the
proposed methodology outperform baselines in terms of human-judgment score and
BLEU score. A major challenge faced was the extremely small amount of available
SKILL code data that can be used to train a transformer model to generate SKILL
code. Despite our validated improvements, the extremely small dataset available
to us was still not enough to train a model that can reliably autocomplete
SKILL code. We discuss this and other limitations as well as future work that
could address these limitations.Comment: Accepted for SPIE Advanced Lithography + Patterning, 202
- …