Logic optimization is a key step during the process of designing digit circuits, whose purpose is to reduce the area and delay of digital circuits. Several logic optimization
algorithms have been proposed in the past decades, which have been developed as the basic logic optimization operators (LOO). Designers apply these LOOs iteratively and hybridly to reduce
the area and delay of digital circuits continually. However, the order of applying these LOOs has a significant impact on the reward of logic optimization, which is designed by experience. In this project, we are aimed at determining the order of LOOs automatically with the aid of deep reinforcement learning (DRL).

- Logic Optimization tools: yosys.exe, yosys-abc.exe, abc.rc
- set up an conda virtual environment: conda create --name LODRL python=3.6;
- enter the env: conda activate LODRL;
- install the required packages: pip install -r requirement.txt;
- git clone https://github.com/lsils/benchmarks.git
- Edit parameters.py;
- Run python LODRL_Stable_Baselines3
- VE693_Project.pdf: project report;
- Course-Syllabus-VE693-Fall2021.pdf: course syllabus of course ve693 (Deep Reinforcement Learning).