References#
The following sections provides details on the functions, modules and objects included in SiliconCompiler. To learn how to use SiliconCompiler, see the User Guide.
Building Blocks
API References
- 1. Schema
- 1.1. Keywords
- 1.2. Parameter Fields
- 1.3. Per-node Parameter Fields
- 1.4. Parameters
- 1.4.1. arg
- 1.4.2. asic
- 1.4.3. checklist
- 1.4.4. constraint
- 1.4.5. datasheet
- 1.4.5.1. analog
- 1.4.5.2. description
- 1.4.5.3. doc
- 1.4.5.4. features
- 1.4.5.5. fmax
- 1.4.5.6. fpga
- 1.4.5.7. grade
- 1.4.5.8. io
- 1.4.5.9. iobw
- 1.4.5.10. iocount
- 1.4.5.11. limit
- 1.4.5.12. manufacturer
- 1.4.5.13. memory
- 1.4.5.14. ops
- 1.4.5.15. package
- 1.4.5.16. peakpower
- 1.4.5.17. pin
- 1.4.5.18. proc
- 1.4.5.19. qual
- 1.4.5.20. ram
- 1.4.5.21. series
- 1.4.5.22. status
- 1.4.5.23. thermal
- 1.4.5.24. trl
- 1.4.5.25. type
- 1.4.6. design
- 1.4.7. flowgraph
- 1.4.8. fpga
- 1.4.9. input
- 1.4.10. metric
- 1.4.10.1. averagepower
- 1.4.10.2. brams
- 1.4.10.3. buffers
- 1.4.10.4. cellarea
- 1.4.10.5. cells
- 1.4.10.6. coverage
- 1.4.10.7. drcs
- 1.4.10.8. drvs
- 1.4.10.9. dsps
- 1.4.10.10. errors
- 1.4.10.11. exetime
- 1.4.10.12. fmax
- 1.4.10.13. holdpaths
- 1.4.10.14. holdskew
- 1.4.10.15. holdslack
- 1.4.10.16. holdtns
- 1.4.10.17. holdwns
- 1.4.10.18. inverters
- 1.4.10.19. irdrop
- 1.4.10.20. leakagepower
- 1.4.10.21. logicdepth
- 1.4.10.22. luts
- 1.4.10.23. macroarea
- 1.4.10.24. macros
- 1.4.10.25. memory
- 1.4.10.26. nets
- 1.4.10.27. overflow
- 1.4.10.28. padcellarea
- 1.4.10.29. peakpower
- 1.4.10.30. pins
- 1.4.10.31. registers
- 1.4.10.32. security
- 1.4.10.33. setuppaths
- 1.4.10.34. setupskew
- 1.4.10.35. setupslack
- 1.4.10.36. setuptns
- 1.4.10.37. setupwns
- 1.4.10.38. stdcellarea
- 1.4.10.39. tasktime
- 1.4.10.40. totalarea
- 1.4.10.41. totaltime
- 1.4.10.42. transistors
- 1.4.10.43. unconstrained
- 1.4.10.44. utilization
- 1.4.10.45. vias
- 1.4.10.46. warnings
- 1.4.10.47. wirelength
- 1.4.11. option
- 1.4.11.1. breakpoint
- 1.4.11.2. builddir
- 1.4.11.3. cachedir
- 1.4.11.4. cfg
- 1.4.11.5. clean
- 1.4.11.6. continue
- 1.4.11.7. credentials
- 1.4.11.8. define
- 1.4.11.9. dir
- 1.4.11.10. entrypoint
- 1.4.11.11. env
- 1.4.11.12. file
- 1.4.11.13. flow
- 1.4.11.14. from
- 1.4.11.15. hash
- 1.4.11.16. idir
- 1.4.11.17. jobincr
- 1.4.11.18. jobname
- 1.4.11.19. libext
- 1.4.11.20. library
- 1.4.11.21. loglevel
- 1.4.11.22. nice
- 1.4.11.23. nodisplay
- 1.4.11.24. novercheck
- 1.4.11.25. optmode
- 1.4.11.26. param
- 1.4.11.27. pdk
- 1.4.11.28. prune
- 1.4.11.29. quiet
- 1.4.11.30. remote
- 1.4.11.31. scheduler
- 1.4.11.32. stackup
- 1.4.11.33. strict
- 1.4.11.34. timeout
- 1.4.11.35. to
- 1.4.11.36. track
- 1.4.11.37. var
- 1.4.11.38. vlib
- 1.4.11.39. ydir
- 1.4.12. output
- 1.4.13. package
- 1.4.14. pdk
- 1.4.14.1. aprtech
- 1.4.14.2. d0
- 1.4.14.3. devmodel
- 1.4.14.4. dir
- 1.4.14.5. display
- 1.4.14.6. doc
- 1.4.14.7. drc
- 1.4.14.8. edgemargin
- 1.4.14.9. erc
- 1.4.14.10. file
- 1.4.14.11. fill
- 1.4.14.12. foundry
- 1.4.14.13. layermap
- 1.4.14.14. lvs
- 1.4.14.15. maxlayer
- 1.4.14.16. minlayer
- 1.4.14.17. node
- 1.4.14.18. panelsize
- 1.4.14.19. pexmodel
- 1.4.14.20. scribe
- 1.4.14.21. stackup
- 1.4.14.22. unitcost
- 1.4.14.23. var
- 1.4.14.24. version
- 1.4.14.25. wafersize
- 1.4.15. record
- 1.4.15.1. arch
- 1.4.15.2. distro
- 1.4.15.3. endtime
- 1.4.15.4. inputnode
- 1.4.15.5. ipaddr
- 1.4.15.6. kernelversion
- 1.4.15.7. macaddr
- 1.4.15.8. machine
- 1.4.15.9. osversion
- 1.4.15.10. platform
- 1.4.15.11. publickey
- 1.4.15.12. pythonpackage
- 1.4.15.13. pythonversion
- 1.4.15.14. region
- 1.4.15.15. remoteid
- 1.4.15.16. scversion
- 1.4.15.17. starttime
- 1.4.15.18. status
- 1.4.15.19. toolargs
- 1.4.15.20. toolexitcode
- 1.4.15.21. toolpath
- 1.4.15.22. toolversion
- 1.4.15.23. userid
- 1.4.16. schematic
- 1.4.17. schemaversion
- 1.4.18. tool
- 1.5. Nested Schemas
- 2. Core API
ASICSchemaChecklistChecklistSchemaChipChip.add()Chip.allkeys()Chip.archive()Chip.check_checklist()Chip.check_filepaths()Chip.check_manifest()Chip.clock()Chip.collect()Chip.create_cmdline()Chip.dashboard()Chip.designChip.edge()Chip.error()Chip.find_files()Chip.find_node_file()Chip.find_result()Chip.get()Chip.getbuilddir()Chip.getdict()Chip.getkeys()Chip.getworkdir()Chip.graph()Chip.hash_files()Chip.help()Chip.import_flist()Chip.input()Chip.load_target()Chip.node()Chip.output()Chip.read_manifest()Chip.register_showtool()Chip.register_source()Chip.remove()Chip.remove_node()Chip.run()Chip.set()Chip.show()Chip.snapshot()Chip.summary()Chip.swap_library()Chip.top()Chip.unset()Chip.use()Chip.valid()Chip.write_dependencygraph()Chip.write_flowgraph()Chip.write_manifest()
FPGAFPGASchemaFlowFlowgraphSchemaLibraryMetricSchemaPDKPDKSchemaRecordSchemaRecordSchema.clear()RecordSchema.get_cloud_information()RecordSchema.get_ip_information()RecordSchema.get_machine_information()RecordSchema.get_recorded_time()RecordSchema.get_user_information()RecordSchema.record_python_packages()RecordSchema.record_time()RecordSchema.record_tool()RecordSchema.record_userinformation()RecordSchema.record_version()
SchemaSiliconCompilerErrorToolSchemaToolSchema.check_exe_version()ToolSchema.generate_replay_script()ToolSchema.get_exe()ToolSchema.get_exe_version()ToolSchema.get_runtime_arguments()ToolSchema.get_runtime_environmental_variables()ToolSchema.logger()ToolSchema.node()ToolSchema.run_task()ToolSchema.schema()ToolSchema.set_runtime()ToolSchema.setup_work_directory()ToolSchema.task()ToolSchema.write_task_manifest()
add_frontend_requires()add_require_input()get_frontend_options()get_input_files()get_libraries()get_tool_task()has_input_files()record_metric()format_fileset_type_table()get_cores()get_default_iomap()get_env_vars()get_file_ext()get_hashed_filename()get_plugins()grep()terminate_process()calc_area()calc_dpw()calc_yield()
- 3. Schema API
- 3.1. Useful APIs
- 3.2. Metrics Classes
RecordSchemaRecordSchema.add()RecordSchema.allkeys()RecordSchema.clear()RecordSchema.copy()RecordSchema.from_manifest()RecordSchema.get()RecordSchema.get_cloud_information()RecordSchema.get_ip_information()RecordSchema.get_machine_information()RecordSchema.get_recorded_time()RecordSchema.get_user_information()RecordSchema.getdict()RecordSchema.getkeys()RecordSchema.read_manifest()RecordSchema.record_python_packages()RecordSchema.record_time()RecordSchema.record_tool()RecordSchema.record_userinformation()RecordSchema.record_version()RecordSchema.remove()RecordSchema.set()RecordSchema.unset()RecordSchema.valid()RecordSchema.write_manifest()
MetricSchemaMetricSchema.add()MetricSchema.allkeys()MetricSchema.clear()MetricSchema.copy()MetricSchema.from_manifest()MetricSchema.get()MetricSchema.getdict()MetricSchema.getkeys()MetricSchema.read_manifest()MetricSchema.record()MetricSchema.remove()MetricSchema.set()MetricSchema.unset()MetricSchema.valid()MetricSchema.write_manifest()
PDKSchemaFlowgraphSchemaFlowgraphSchema.add()FlowgraphSchema.allkeys()FlowgraphSchema.copy()FlowgraphSchema.edge()FlowgraphSchema.from_manifest()FlowgraphSchema.get()FlowgraphSchema.get_entry_nodes()FlowgraphSchema.get_execution_order()FlowgraphSchema.get_exit_nodes()FlowgraphSchema.get_node_outputs()FlowgraphSchema.get_nodes()FlowgraphSchema.getdict()FlowgraphSchema.getkeys()FlowgraphSchema.graph()FlowgraphSchema.name()FlowgraphSchema.node()FlowgraphSchema.read_manifest()FlowgraphSchema.remove()FlowgraphSchema.remove_node()FlowgraphSchema.set()FlowgraphSchema.unset()FlowgraphSchema.valid()FlowgraphSchema.validate()FlowgraphSchema.write_manifest()
ChecklistSchemaChecklistSchema.add()ChecklistSchema.allkeys()ChecklistSchema.copy()ChecklistSchema.from_manifest()ChecklistSchema.get()ChecklistSchema.getdict()ChecklistSchema.getkeys()ChecklistSchema.name()ChecklistSchema.read_manifest()ChecklistSchema.remove()ChecklistSchema.set()ChecklistSchema.unset()ChecklistSchema.valid()ChecklistSchema.write_manifest()
ToolSchemaToolSchema.add()ToolSchema.allkeys()ToolSchema.check_exe_version()ToolSchema.copy()ToolSchema.from_manifest()ToolSchema.generate_replay_script()ToolSchema.get()ToolSchema.get_exe()ToolSchema.get_exe_version()ToolSchema.get_runtime_arguments()ToolSchema.get_runtime_environmental_variables()ToolSchema.getdict()ToolSchema.getkeys()ToolSchema.logger()ToolSchema.name()ToolSchema.node()ToolSchema.read_manifest()ToolSchema.remove()ToolSchema.run_task()ToolSchema.schema()ToolSchema.set()ToolSchema.set_runtime()ToolSchema.setup_work_directory()ToolSchema.task()ToolSchema.unset()ToolSchema.valid()ToolSchema.write_manifest()ToolSchema.write_task_manifest()
ASICSchemaFPGASchema
- 3.3. Full API
BaseSchemaEditableSchemaSafeSchemaCommandLineSchemaJournalingSchemaJournalingSchema.add()JournalingSchema.add_journaling_type()JournalingSchema.allkeys()JournalingSchema.copy()JournalingSchema.from_manifest()JournalingSchema.get()JournalingSchema.get_base_schema()JournalingSchema.get_journal()JournalingSchema.get_journaling_types()JournalingSchema.getdict()JournalingSchema.getkeys()JournalingSchema.import_journal()JournalingSchema.is_journaling()JournalingSchema.read_journal()JournalingSchema.read_manifest()JournalingSchema.remove()JournalingSchema.remove_journaling_type()JournalingSchema.set()JournalingSchema.start_journal()JournalingSchema.stop_journal()JournalingSchema.unset()JournalingSchema.valid()JournalingSchema.write_manifest()
NamedSchemaNamedSchema.add()NamedSchema.allkeys()NamedSchema.copy()NamedSchema.from_manifest()NamedSchema.get()NamedSchema.getdict()NamedSchema.getkeys()NamedSchema.name()NamedSchema.read_manifest()NamedSchema.remove()NamedSchema.set()NamedSchema.unset()NamedSchema.valid()NamedSchema.write_manifest()
PackageSchemaPackageSchema.add()PackageSchema.allkeys()PackageSchema.copy()PackageSchema.from_manifest()PackageSchema.get()PackageSchema.getdict()PackageSchema.getkeys()PackageSchema.read_manifest()PackageSchema.remove()PackageSchema.set()PackageSchema.unset()PackageSchema.valid()PackageSchema.write_manifest()
ParameterParameter.add()Parameter.add_commandline_arguments()Parameter.copy()Parameter.defaultParameter.from_dict()Parameter.get()Parameter.getdict()Parameter.gettcl()Parameter.getvalues()Parameter.is_empty()Parameter.is_list()Parameter.is_set()Parameter.parse_commandline_arguments()Parameter.set()Parameter.unset()
NodeListValueNodeValuePathNodeValuePathNodeValue.add()PathNodeValue.copy()PathNodeValue.fieldsPathNodeValue.from_dict()PathNodeValue.generate_hashed_path()PathNodeValue.get()PathNodeValue.get_hashed_filename()PathNodeValue.getdict()PathNodeValue.hash()PathNodeValue.hash_directory()PathNodeValue.hash_file()PathNodeValue.resolve_env_vars()PathNodeValue.resolve_path()PathNodeValue.set()PathNodeValue.sign()PathNodeValue.typePathNodeValue.verify_signature()
DirectoryNodeValueDirectoryNodeValue.add()DirectoryNodeValue.copy()DirectoryNodeValue.fieldsDirectoryNodeValue.from_dict()DirectoryNodeValue.generate_hashed_path()DirectoryNodeValue.get()DirectoryNodeValue.get_hashed_filename()DirectoryNodeValue.getdict()DirectoryNodeValue.hash()DirectoryNodeValue.hash_directory()DirectoryNodeValue.hash_file()DirectoryNodeValue.resolve_env_vars()DirectoryNodeValue.resolve_path()DirectoryNodeValue.set()DirectoryNodeValue.sign()DirectoryNodeValue.typeDirectoryNodeValue.verify_signature()
FileNodeValueFileNodeValue.add()FileNodeValue.copy()FileNodeValue.fieldsFileNodeValue.from_dict()FileNodeValue.generate_hashed_path()FileNodeValue.get()FileNodeValue.get_hashed_filename()FileNodeValue.getdict()FileNodeValue.hash()FileNodeValue.hash_directory()FileNodeValue.hash_file()FileNodeValue.resolve_env_vars()FileNodeValue.resolve_path()FileNodeValue.set()FileNodeValue.sign()FileNodeValue.typeFileNodeValue.verify_signature()
NodeTypeNodeEnumTypeScopePerNodeFlowgraphNodeSchemaFlowgraphNodeSchema.add()FlowgraphNodeSchema.allkeys()FlowgraphNodeSchema.copy()FlowgraphNodeSchema.from_manifest()FlowgraphNodeSchema.get()FlowgraphNodeSchema.getdict()FlowgraphNodeSchema.getkeys()FlowgraphNodeSchema.read_manifest()FlowgraphNodeSchema.remove()FlowgraphNodeSchema.set()FlowgraphNodeSchema.unset()FlowgraphNodeSchema.valid()FlowgraphNodeSchema.write_manifest()
RuntimeFlowgraphTaskSchemaTaskErrorTaskTimeoutTaskExecutableNotFound
- 4. CLI apps
- 5. Server API
- 6. Leflib API
Appendix
- 1. Design Glossary
- 2. Slurm setup
- 3. Licenses
- 4. Revision History and Change Log
- 4.1. SiliconCompiler 0.33.0 (2025-05-19)
- 4.2. SiliconCompiler 0.32.3 (2025-04-11)
- 4.3. SiliconCompiler 0.32.2 (2025-03-31)
- 4.4. SiliconCompiler 0.32.1 (2025-03-13)
- 4.5. SiliconCompiler 0.32.0 (2025-03-11)
- 4.6. SiliconCompiler 0.31.1 (2025-03-06)
- 4.7. SiliconCompiler 0.31.0 (2025-03-03)
- 4.8. SiliconCompiler 0.30.0 (2025-02-18)
- 4.9. SiliconCompiler 0.29.4 (2025-02-06)
- 4.10. SiliconCompiler 0.29.3 (2025-01-28)
- 4.11. SiliconCompiler 0.29.2 (2025-01-16)
- 4.12. SiliconCompiler 0.29.1 (2025-01-09)
- 4.13. SiliconCompiler 0.29.0 (2024-12-12)
- 4.14. SiliconCompiler 0.28.9 (2024-11-27)
- 4.15. SiliconCompiler 0.28.8 (2024-11-20)
- 4.16. SiliconCompiler 0.28.7 (2024-11-12)
- 4.17. SiliconCompiler 0.28.6 (2024-11-12)
- 4.18. SiliconCompiler 0.28.5 (2024-11-06)
- 4.19. SiliconCompiler 0.28.4 (2024-10-28)
- 4.20. SiliconCompiler 0.28.3 (2024-10-14)
- 4.21. SiliconCompiler 0.28.2 (2024-10-02)
- 4.22. SiliconCompiler 0.28.1 (2024-09-20)
- 4.23. SiliconCompiler 0.28.0 (2024-09-18)
- 4.24. SiliconCompiler 0.27.1 (2024-08-28)
- 4.25. SiliconCompiler 0.27.0 (2024-08-28)
- 4.26. SiliconCompiler 0.26.5 (2024-08-26)
- 4.27. SiliconCompiler 0.26.4 (2024-08-22)
- 4.28. SiliconCompiler 0.26.3 (2024-08-20)
- 4.29. SiliconCompiler 0.26.2 (2024-08-15)
- 4.30. SiliconCompiler 0.26.1 (2024-08-02)
- 4.31. SiliconCompiler 0.26.0 (2024-07-30)
- 4.32. SiliconCompiler 0.25.0 (2024-07-26)
- 4.33. SiliconCompiler 0.24.1 (2024-07-11)
- 4.34. SiliconCompiler 0.24.0 (2024-07-09)
- 4.35. SiliconCompiler 0.23.4 (2024-07-02)
- 4.36. SiliconCompiler 0.23.3 (2024-06-25)
- 4.37. SiliconCompiler 0.23.2 (2024-06-20)
- 4.38. SiliconCompiler 0.23.1 (2024-06-18)
- 4.39. SiliconCompiler 0.23.0 (2024-06-13)
- 4.40. SiliconCompiler 0.22.0 (2024-05-23)
- 4.41. SiliconCompiler 0.21.13 (2024-05-15)
- 4.42. SiliconCompiler 0.21.12 (2024-05-13)
- 4.43. SiliconCompiler 0.21.11 (2024-04-26)
- 4.44. SiliconCompiler 0.21.10 (2024-04-22)
- 4.45. SiliconCompiler 0.21.9 (2024-04-12)
- 4.46. SiliconCompiler 0.21.8 (2024-04-11)
- 4.47. SiliconCompiler 0.21.7 (2024-04-02)
- 4.48. SiliconCompiler 0.21.6 (2024-03-28)
- 4.49. SiliconCompiler 0.21.5 (2024-03-21)
- 4.50. SiliconCompiler 0.21.4 (2024-03-15)
- 4.51. SiliconCompiler 0.21.3 (2024-03-13)
- 4.52. SiliconCompiler 0.21.2 (2024-03-08)
- 4.53. SiliconCompiler 0.21.1 (2024-03-07)
- 4.54. SiliconCompiler 0.21.0 (2024-03-07)
- 4.55. SiliconCompiler 0.20.3 (2024-03-06)
- 4.56. SiliconCompiler 0.20.2 (2024-02-20)
- 4.57. SiliconCompiler 0.20.1 (2024-02-12)
- 4.58. SiliconCompiler 0.20.0 (2024-02-01)
- 4.59. SiliconCompiler 0.19.1 (2024-01-24)
- 4.60. SiliconCompiler 0.19.0 (2024-01-05)
- 4.61. SiliconCompiler 0.18.2 (2023-12-18)
- 4.62. SiliconCompiler 0.18.1 (2023-12-13)
- 4.63. SiliconCompiler 0.18.0 (2023-12-04)
- 4.64. SiliconCompiler 0.17.0 (2023-11-16)
- 4.65. SiliconCompiler 0.16.3 (2023-11-02)
- 4.66. SiliconCompiler 0.16.2 (2023-10-13)
- 4.67. SiliconCompiler 0.16.1 (2023-10-11)
- 4.68. SiliconCompiler 0.16.0 (2023-10-09)
- 4.69. SiliconCompiler 0.15.4 (2023-09-25)
- 4.70. SiliconCompiler 0.15.3 (2023-09-21)
- 4.71. SiliconCompiler 0.15.2 (2023-09-18)
- 4.72. SiliconCompiler 0.15.1 (2023-09-08)
- 4.73. SiliconCompiler 0.15.0 (2023-08-31)
- 4.74. SiliconCompiler 0.14.0 (2023-08-21)
- 4.75. SiliconCompiler 0.13.2 (2023-08-10)
- 4.76. SiliconCompiler 0.13.1 (2023-07-21)
- 4.77. SiliconCompiler 0.13.0 (2023-07-07)
- 4.78. SiliconCompiler 0.12.3 (2023-06-23)
- 4.79. SiliconCompiler 0.12.2 (2023-06-14)
- 4.80. SiliconCompiler 0.12.1 (2023-06-07)
- 4.81. SiliconCompiler 0.12.0 (2023-05-24)
- 4.82. SiliconCompiler 0.11.2 (2023-05-15)
- 4.83. SiliconCompiler 0.11.1 (2023-05-03)
- 4.84. SiliconCompiler 0.11.0 (2023-04-17)
- 4.85. SiliconCompiler 0.10.2 (2023-04-04)
- 4.86. SiliconCompiler 0.10.1 (2023-03-11)
- 4.87. SiliconCompiler 0.10.0 (2023-03-08)
- 4.88. SiliconCompiler 0.9.6 (2022-10-03)
- 4.89. SiliconCompiler 0.9.5 (2022-09-12)
- 4.90. SiliconCompiler 0.9.4 (2022-08-25)
- 4.91. SiliconCompiler 0.9.3 (2022-08-01)
- 4.92. SiliconCompiler 0.9.2 (2022-07-08)
- 4.93. SiliconCompiler 0.9.1 (2022-06-21)
- 4.94. SiliconCompiler 0.9.0 (2022-05-19)
- 4.95. SiliconCompiler 0.7.0 (2022-03-02)
- 4.96. SiliconCompiler 0.6.0 (2022-02-11)
- 4.97. SiliconCompiler 0.4.1 (2022-01-06)
- 4.98. SiliconCompiler 0.4.0 (2022-01-05)
- 4.99. SiliconCompiler 0.3.1 (2021-12-21)
- 4.100. SiliconCompiler 0.3.0 (2021-12-21)
- 4.101. SiliconCompiler 0.1.1 (2021-12-08)
- 4.102. SiliconCompiler 0.1.0 (2021-12-03)
- 5. Dashboard