{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/drills-deep-reinforcement-learning-for-logic","title":"DRiLLS: Deep Reinforcement Learning for Logic Synthesis","arxiv_id":"1911.04021","date":"2019-11-11","proceeding":null,"authors":["Abdelrahman Hosny","Soheil Hashemi","Mohamed Shalan","Sherief Reda"],"abstract":"Logic synthesis requires extensive tuning of the synthesis optimization flow where the quality of results (QoR) depends on the sequence of optimizations used. Efficient design space exploration is challenging due to the exponential number of possible optimization permutations. Therefore, automating the optimization process is necessary. In this work, we propose a novel reinforcement learning-based methodology that navigates the optimization space without human intervention. We demonstrate the training of an Advantage Actor Critic (A2C) agent that seeks to minimize area subject to a timing constraint. Using the proposed methodology, designs can be optimized autonomously with no-humans in-loop. Evaluation on the comprehensive EPFL benchmark suite shows that the agent outperforms existing exploration methodologies and improves QoRs by an average of 13%.","url_abs":"https://arxiv.org/abs/1911.04021v2","url_pdf":"https://arxiv.org/pdf/1911.04021v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"drills-deep-reinforcement-learning-for-logic","repo_url":"https://github.com/scale-lab/DRiLLS","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.04021","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.04021"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/scale-lab/DRiLLS","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"4008681fcd07400b","entry":"abc_stats","repo":"scale-lab/DRiLLS","repo_kind":"official","path":"drills/features.py","file_url":"https://github.com/scale-lab/DRiLLS/blob/HEAD/drills/features.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4008681fcd07400b"}},{"code_sha256_prefix":"21569e2076b23235","entry":"extract_features","repo":"scale-lab/DRiLLS","repo_kind":"official","path":"drills/features.py","file_url":"https://github.com/scale-lab/DRiLLS/blob/HEAD/drills/features.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"21569e2076b23235"}},{"code_sha256_prefix":"f18632f6814b41d7","entry":"extract_results","repo":"scale-lab/DRiLLS","repo_kind":"official","path":"baseline/greedy/greedy.py","file_url":"https://github.com/scale-lab/DRiLLS/blob/HEAD/baseline/greedy/greedy.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f18632f6814b41d7"}},{"code_sha256_prefix":"96d109597b419197","entry":"optimize_with_fixed_script","repo":"scale-lab/DRiLLS","repo_kind":"official","path":"drills/fixed_optimization.py","file_url":"https://github.com/scale-lab/DRiLLS/blob/HEAD/drills/fixed_optimization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"96d109597b419197"}},{"code_sha256_prefix":"a05dd6b83f4a6b4d","entry":"yosys_stats","repo":"scale-lab/DRiLLS","repo_kind":"official","path":"drills/features.py","file_url":"https://github.com/scale-lab/DRiLLS/blob/HEAD/drills/features.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"a05dd6b83f4a6b4d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}