{"id":21192,"library":"edalize","title":"Edalize","description":"Python library for interfacing EDA tools (simulators, linters, synthesis) with a common interface. Current version 0.6.8, supports Python 3.9+. Active development with moderate release cadence.","status":"active","version":"0.6.8","language":"python","source_language":"en","source_url":"https://github.com/olofk/edalize","tags":["eda","simulation","synthesis","hardware","verilog","vhdl"],"install":[{"cmd":"pip install edalize","lang":"bash","label":"Latest stable"}],"dependencies":[],"imports":[{"note":"Legacy API used deep imports; current API exports from top-level.","wrong":"from edalize.backend import get_edatool","symbol":"get_edatool","correct":"from edalize import get_edatool"},{"note":"Core class moved to top-level in 0.5.0.","wrong":"from edalize.core import Edatool","symbol":"Edatool","correct":"from edalize import Edatool"}],"quickstart":{"code":"from edalize import get_edatool\n\n# Create tool configuration (EDAM)\nedam = {\n    'name': 'my_design',\n    'files': [{'name': 'top.v', 'file_type': 'verilogSource'}],\n    'toplevel': 'top',\n    'tool_options': {\n        'icarus': {\n            'iverilog_options': ['-g2012']\n        }\n    }\n}\n\n# Get tool instance\ntool = get_edatool('icarus', edam=edam)\ntool.configure()\ntool.build()\ntool.run()","lang":"python","description":"Basic simulation with Icarus Verilog."},"warnings":[{"fix":"Use [{'name': 'file.v', 'file_type': 'verilogSource'}] instead of 'file.v'.","message":"Do not pass files as strings; always use a list of dicts with 'name' and 'file_type'.","severity":"gotcha","affected_versions":">=0.5.0"},{"fix":"Use get_edatool('icarus', ...) instead of creating backend objects directly.","message":"Legacy backends (e.g., 'icarus' as a backend) are deprecated in 0.6.x. Use the flow API (e.g., icarus from get_edatool).","severity":"gotcha","affected_versions":">=0.6.0"},{"fix":"Use tool='apicula' instead of 'symbiflow'.","message":"The 'symbiflow' backend was renamed to 'apicula' in 0.6.4.","severity":"deprecated","affected_versions":"0.6.0-0.6.3"},{"fix":"Migrate to using get_edatool() and the Flow API.","message":"Edalize 0.5.0 introduced a new Flow API. Old-style backend classes (e.g., Edatool) may not work with flows.","severity":"breaking","affected_versions":"<0.5.0 vs >=0.5.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"pip install edalize","cause":"Edalize not installed.","error":"ModuleNotFoundError: No module named 'edalize'"},{"fix":"Use correct tool name: 'icarus', 'verilator', 'vivado', etc. See edalize.get_available_tools()","cause":"Tool name misspelled or not registered.","error":"ValueError: Unknown tool 'icarus'"},{"fix":"Use [{'name': 'file.v', 'file_type': 'verilogSource'}].","cause":"Files passed as a plain list of strings instead of list of dicts.","error":"TypeError: string indices must be integers"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}