Logo
latest

User Guide

  • 1. Introduction
    • 1.1. Motivation
    • 1.2. Our Approach
    • 1.3. Authors
  • 2. Installation
    • 2.1. Python
      • 2.1.1. Ubuntu (>=18.04)
      • 2.1.2. RHEL (>=RHEL 7)
      • 2.1.3. macOS (>=10.15)
      • 2.1.4. Windows (>= Windows 10)
    • 2.2. SiliconCompiler
      • 2.2.1. Offline Install (Linux only)
    • 2.3. Cloud Access
    • 2.4. Layout Viewer
    • 2.5. External Tools
  • 3. Quickstart guide
    • 3.1. Design
    • 3.2. Setup
    • 3.3. Compilation
    • 3.4. View layout
  • 4. Glossary
  • 5. Data model
  • 6. Programming model
    • 6.1. Object Creation
    • 6.2. Setup
    • 6.3. Run
    • 6.4. Inspection
  • 7. Execution model
  • 8. Remote processing
  • 9. Package Management
  • 10. Tools
    • 10.1. setup(chip)
    • 10.2. parse_version(stdout)
    • 10.3. normalize_version(version)
    • 10.4. pre_process(chip)
    • 10.5. post_process(chip)
    • 10.6. runtime_options(chip)
    • 10.7. make_docs()
    • 10.8. run(chip)
    • 10.9. TCL interface
  • 11. PDKs
    • 11.1. setup(chip)
    • 11.2. make_docs()
  • 12. Flows
    • 12.1. setup(chip)
    • 12.2. make_docs()
  • 13. Targets
  • 14. Metrics
  • 15. Records
  • 16. Libraries
    • 16.1. Library Modules
  • 17. Packages
  • 18. FAQ
    • 18.1. How do I…
  • 19. Licenses
    • 19.1. Software License
    • 19.2. Documentation License
    • 19.3. Dependency Licenses

Tutorials

  • 1. Floorplanning
    • 1.1. Floorplanning methodology
    • 1.2. Getting Started
    • 1.3. Minimal chip configuration
    • 1.4. Chip dimensions
    • 1.5. Specifying die area
    • 1.6. Placing RAM
    • 1.7. Placing Pins
    • 1.8. PDN
    • 1.9. Top-level padring
    • 1.10. Building ZeroSoC
  • 2. Contributing targets
  • 3. Parallel Programming
  • 4. Slurm setup
    • 4.1. Initial Slurm Configuration
      • 4.1.1. User and Group Configuration
      • 4.1.2. Slurm Daemon Installation
      • 4.1.3. Slurm Configuration Files
        • 4.1.3.1. cgroup.conf
        • 4.1.3.2. cgroup_allowed_devices.conf
        • 4.1.3.3. slurm.conf
      • 4.1.4. Slurm Startup
      • 4.1.5. Running SiliconCompiler on a Cluster
      • 4.1.6. Troubleshooting
  • 5. Python-based frontends
  • 6. Chisel frontend
  • 7. C HLS frontend
  • 8. Bluespec frontend

Reference Manual

  • 1. Schema
    • 1.1. Keywords
    • 1.2. Parameter Fields
    • 1.3. Parameters
      • 1.3.1. arg
        • 1.3.1.1. index
        • 1.3.1.2. step
      • 1.3.2. asic
        • 1.3.2.1. cells
        • 1.3.2.2. delaymodel
        • 1.3.2.3. libarch
        • 1.3.2.4. logiclib
        • 1.3.2.5. macrolib
        • 1.3.2.6. site
      • 1.3.3. checklist
        • 1.3.3.1. criteria
        • 1.3.3.2. dataformat
        • 1.3.3.3. description
        • 1.3.3.4. ok
        • 1.3.3.5. rationale
        • 1.3.3.6. report
        • 1.3.3.7. requirement
        • 1.3.3.8. task
        • 1.3.3.9. waiver
      • 1.3.4. constraint
        • 1.3.4.1. aspectratio
        • 1.3.4.2. component
        • 1.3.4.3. corearea
        • 1.3.4.4. coremargin
        • 1.3.4.5. density
        • 1.3.4.6. net
        • 1.3.4.7. outline
        • 1.3.4.8. pin
        • 1.3.4.9. timing
      • 1.3.5. datasheet
        • 1.3.5.1. feature
        • 1.3.5.2. footprint
        • 1.3.5.3. limits
        • 1.3.5.4. pin
      • 1.3.6. design
      • 1.3.7. flowgraph
        • 1.3.7.1. args
        • 1.3.7.2. goal
        • 1.3.7.3. input
        • 1.3.7.4. select
        • 1.3.7.5. status
        • 1.3.7.6. task
        • 1.3.7.7. timeout
        • 1.3.7.8. tool
        • 1.3.7.9. valid
        • 1.3.7.10. weight
      • 1.3.8. fpga
        • 1.3.8.1. arch
        • 1.3.8.2. board
        • 1.3.8.3. flash
        • 1.3.8.4. partname
        • 1.3.8.5. program
        • 1.3.8.6. vendor
      • 1.3.9. input
      • 1.3.10. metric
        • 1.3.10.1. averagepower
        • 1.3.10.2. brams
        • 1.3.10.3. buffers
        • 1.3.10.4. cellarea
        • 1.3.10.5. cells
        • 1.3.10.6. coverage
        • 1.3.10.7. dozepower
        • 1.3.10.8. drvs
        • 1.3.10.9. dsps
        • 1.3.10.10. errors
        • 1.3.10.11. exetime
        • 1.3.10.12. holdpaths
        • 1.3.10.13. holdslack
        • 1.3.10.14. holdtns
        • 1.3.10.15. holdwns
        • 1.3.10.16. idlepower
        • 1.3.10.17. irdrop
        • 1.3.10.18. leakagepower
        • 1.3.10.19. luts
        • 1.3.10.20. macros
        • 1.3.10.21. memory
        • 1.3.10.22. nets
        • 1.3.10.23. overflow
        • 1.3.10.24. peakpower
        • 1.3.10.25. pins
        • 1.3.10.26. registers
        • 1.3.10.27. security
        • 1.3.10.28. setuppaths
        • 1.3.10.29. setupslack
        • 1.3.10.30. setuptns
        • 1.3.10.31. setupwns
        • 1.3.10.32. sleeppower
        • 1.3.10.33. tasktime
        • 1.3.10.34. totalarea
        • 1.3.10.35. totaltime
        • 1.3.10.36. transistors
        • 1.3.10.37. unconstrained
        • 1.3.10.38. utilization
        • 1.3.10.39. vias
        • 1.3.10.40. warnings
        • 1.3.10.41. wirelength
      • 1.3.11. option
        • 1.3.11.1. autoinstall
        • 1.3.11.2. breakpoint
        • 1.3.11.3. builddir
        • 1.3.11.4. cfg
        • 1.3.11.5. clean
        • 1.3.11.6. cmdfile
        • 1.3.11.7. continue
        • 1.3.11.8. copyall
        • 1.3.11.9. credentials
        • 1.3.11.10. define
        • 1.3.11.11. entrypoint
        • 1.3.11.12. env
        • 1.3.11.13. file
        • 1.3.11.14. flow
        • 1.3.11.15. flowcontinue
        • 1.3.11.16. frontend
        • 1.3.11.17. hash
        • 1.3.11.18. idir
        • 1.3.11.19. indexlist
        • 1.3.11.20. jobincr
        • 1.3.11.21. jobinput
        • 1.3.11.22. jobname
        • 1.3.11.23. libext
        • 1.3.11.24. loglevel
        • 1.3.11.25. metricoff
        • 1.3.11.26. mode
        • 1.3.11.27. nice
        • 1.3.11.28. nodisplay
        • 1.3.11.29. novercheck
        • 1.3.11.30. optmode
        • 1.3.11.31. param
        • 1.3.11.32. pdk
        • 1.3.11.33. quiet
        • 1.3.11.34. registry
        • 1.3.11.35. relax
        • 1.3.11.36. remote
        • 1.3.11.37. resume
        • 1.3.11.38. scheduler
        • 1.3.11.39. scpath
        • 1.3.11.40. show
        • 1.3.11.41. showtool
        • 1.3.11.42. skipall
        • 1.3.11.43. skipcheck
        • 1.3.11.44. skipstep
        • 1.3.11.45. stackup
        • 1.3.11.46. steplist
        • 1.3.11.47. target
        • 1.3.11.48. timeout
        • 1.3.11.49. trace
        • 1.3.11.50. track
        • 1.3.11.51. uselambda
        • 1.3.11.52. var
        • 1.3.11.53. vlib
        • 1.3.11.54. ydir
      • 1.3.12. output
      • 1.3.13. package
        • 1.3.13.1. author
        • 1.3.13.2. dependency
        • 1.3.13.3. depgraph
        • 1.3.13.4. description
        • 1.3.13.5. doc
        • 1.3.13.6. homepage
        • 1.3.13.7. keyword
        • 1.3.13.8. license
        • 1.3.13.9. licensefile
        • 1.3.13.10. location
        • 1.3.13.11. name
        • 1.3.13.12. organization
        • 1.3.13.13. publickey
        • 1.3.13.14. repo
        • 1.3.13.15. target
        • 1.3.13.16. version
      • 1.3.14. pdk
        • 1.3.14.1. aprtech
        • 1.3.14.2. d0
        • 1.3.14.3. density
        • 1.3.14.4. devmodel
        • 1.3.14.5. directory
        • 1.3.14.6. display
        • 1.3.14.7. doc
        • 1.3.14.8. drc
        • 1.3.14.9. edgemargin
        • 1.3.14.10. erc
        • 1.3.14.11. file
        • 1.3.14.12. fill
        • 1.3.14.13. foundry
        • 1.3.14.14. hscribe
        • 1.3.14.15. lambda
        • 1.3.14.16. layermap
        • 1.3.14.17. lvs
        • 1.3.14.18. maxlayer
        • 1.3.14.19. minlayer
        • 1.3.14.20. node
        • 1.3.14.21. panelsize
        • 1.3.14.22. pexmodel
        • 1.3.14.23. stackup
        • 1.3.14.24. thickness
        • 1.3.14.25. unitcost
        • 1.3.14.26. var
        • 1.3.14.27. version
        • 1.3.14.28. vscribe
        • 1.3.14.29. wafersize
      • 1.3.15. record
        • 1.3.15.1. arch
        • 1.3.15.2. distro
        • 1.3.15.3. endtime
        • 1.3.15.4. ipaddr
        • 1.3.15.5. kernelversion
        • 1.3.15.6. macaddr
        • 1.3.15.7. machine
        • 1.3.15.8. osversion
        • 1.3.15.9. platform
        • 1.3.15.10. publickey
        • 1.3.15.11. region
        • 1.3.15.12. scversion
        • 1.3.15.13. starttime
        • 1.3.15.14. toolargs
        • 1.3.15.15. toolpath
        • 1.3.15.16. toolversion
        • 1.3.15.17. userid
      • 1.3.16. schemaversion
      • 1.3.17. tool
        • 1.3.17.1. exe
        • 1.3.17.2. format
        • 1.3.17.3. licenseserver
        • 1.3.17.4. path
        • 1.3.17.5. task
        • 1.3.17.6. vendor
        • 1.3.17.7. version
        • 1.3.17.8. vswitch
      • 1.3.18. unit
        • 1.3.18.1. capacitance
        • 1.3.18.2. current
        • 1.3.18.3. energy
        • 1.3.18.4. inductance
        • 1.3.18.5. length
        • 1.3.18.6. mass
        • 1.3.18.7. power
        • 1.3.18.8. resistance
        • 1.3.18.9. temperature
        • 1.3.18.10. time
        • 1.3.18.11. voltage
    • 1.4. Nested keypaths
      • 1.4.1. history
      • 1.4.2. library
  • 2. Core API
    • Chip
      • Chip.add()
      • Chip.allkeys()
      • Chip.archive()
      • Chip.audit_manifest()
      • Chip.calc_area()
      • Chip.calc_dpw()
      • Chip.calc_yield()
      • Chip.check_checklist()
      • Chip.check_filepaths()
      • Chip.check_logfile()
      • Chip.check_manifest()
      • Chip.clock()
      • Chip.create_cmdline()
      • Chip.design
      • Chip.edge()
      • Chip.error()
      • Chip.find_files()
      • Chip.find_function()
      • Chip.find_result()
      • Chip.get()
      • Chip.getdict()
      • Chip.getkeys()
      • Chip.graph()
      • Chip.grep()
      • Chip.hash_files()
      • Chip.help()
      • Chip.input()
      • Chip.join()
      • Chip.list_steps()
      • Chip.load_target()
      • Chip.maximum()
      • Chip.minimum()
      • Chip.mux()
      • Chip.node()
      • Chip.nop()
      • Chip.output()
      • Chip.pipe()
      • Chip.read_file()
      • Chip.read_manifest()
      • Chip.run()
      • Chip.set()
      • Chip.show()
      • Chip.summary()
      • Chip.top()
      • Chip.unset()
      • Chip.update()
      • Chip.use()
      • Chip.valid()
      • Chip.verify()
      • Chip.write_depgraph()
      • Chip.write_flowgraph()
      • Chip.write_manifest()
    • SiliconCompilerError
  • 3. Sup API
    • Sup
      • Sup.check()
      • Sup.clear()
      • Sup.info()
      • Sup.install()
      • Sup.publish()
      • Sup.search()
      • Sup.uninstall()
  • 4. Server API
    • 4.1. remote_run
    • 4.2. check_user
    • 4.3. delete_job
    • 4.4. get_results/{job_hash}.tar.gz
    • 4.5. check_progress
  • 5. Floorplan API
    • Floorplan
      • Floorplan.available_cells
      • Floorplan.diearea
      • Floorplan.layers
      • Floorplan.stdcell_width
      • Floorplan.stdcell_height
      • Floorplan.add_net()
      • Floorplan.add_via()
      • Floorplan.create_diearea()
      • Floorplan.fill_io_region()
      • Floorplan.generate_rows()
      • Floorplan.generate_tracks()
      • Floorplan.get_layers()
      • Floorplan.insert_vias()
      • Floorplan.place_blockage()
      • Floorplan.place_macros()
      • Floorplan.place_obstruction()
      • Floorplan.place_pins()
      • Floorplan.place_ring()
      • Floorplan.place_vias()
      • Floorplan.place_wires()
      • Floorplan.snap()
      • Floorplan.snap_to_x_track()
      • Floorplan.snap_to_y_track()
      • Floorplan.write_def()
      • Floorplan.write_lef()
    • render_tuple()
  • 6. Leflib API
    • parse()
  • 7. CLI apps
    • 7.1. sc-ping
    • 7.2. sc-run
    • 7.3. sc-show
    • 7.4. sup
  • 8. Flows directory
    • 8.1. asicflow
      • 8.1.1. Configuration
        • 8.1.1.1. asicflow
    • 8.2. asictopflow
      • 8.2.1. Configuration
        • 8.2.1.1. asictopflow
    • 8.3. dvflow
      • 8.3.1. Configuration
        • 8.3.1.1. dvflow
    • 8.4. fpgaflow
      • 8.4.1. Configuration
        • 8.4.1.1. fpgaflow
    • 8.5. lintflow
      • 8.5.1. Configuration
        • 8.5.1.1. lintflow
    • 8.6. showflow
      • 8.6.1. Configuration
        • 8.6.1.1. showflow
    • 8.7. signoffflow
      • 8.7.1. Configuration
        • 8.7.1.1. signoffflow
  • 9. Tools directory
    • 9.1. bambu
    • 9.2. bluespec
    • 9.3. chisel
    • 9.4. genfasm
    • 9.5. ghdl
    • 9.6. icarus
    • 9.7. icepack
    • 9.8. klayout
    • 9.9. magic
    • 9.10. netgen
    • 9.11. nextpnr
    • 9.12. openfpgaloader
    • 9.13. openroad
    • 9.14. surelog
    • 9.15. sv2v
    • 9.16. template
    • 9.17. verilator
      • 9.17.1. Steps supported
    • 9.18. vivado
    • 9.19. vpr
    • 9.20. xyce
    • 9.21. yosys
  • 10. PDK directory
    • 10.1. asap7
      • 10.1.1. Configuration
        • 10.1.1.1. pdk, asap7
    • 10.2. freepdk45
      • 10.2.1. Configuration
        • 10.2.1.1. pdk, freepdk45
    • 10.3. skywater130
      • 10.3.1. Configuration
        • 10.3.1.1. pdk, skywater130
  • 11. Libraries directory
    • 11.1. asap7sc7p5t
      • 11.1.1. asap7sc7p5t_rvt
        • 11.1.1.1. asic
        • 11.1.1.2. output, typical
        • 11.1.1.3. output, 10M
        • 11.1.1.4. option
      • 11.1.2. asap7sc7p5t_lvt
        • 11.1.2.1. asic
        • 11.1.2.2. output, typical
        • 11.1.2.3. output, 10M
        • 11.1.2.4. option
      • 11.1.3. asap7sc7p5t_slvt
        • 11.1.3.1. asic
        • 11.1.3.2. output, typical
        • 11.1.3.3. output, 10M
        • 11.1.3.4. option
    • 11.2. nangate45
      • 11.2.1. nangate45
        • 11.2.1.1. asic
        • 11.2.1.2. output, typical
        • 11.2.1.3. output, 10M
        • 11.2.1.4. option
    • 11.3. sky130hd
      • 11.3.1. sky130hd
        • 11.3.1.1. asic
        • 11.3.1.2. output, typical
        • 11.3.1.3. output, 5M1LI
        • 11.3.1.4. option
    • 11.4. sky130io
      • 11.4.1. sky130io
        • 11.4.1.1. output, typical
        • 11.4.1.2. output, 5M1LI
        • 11.4.1.3. option
  • 12. Targets directory
    • 12.1. asap7_demo
      • 12.1.1. Flows
      • 12.1.2. PDK
      • 12.1.3. Libraries
      • 12.1.4. Configuration
    • 12.2. fpgaflow_demo
      • 12.2.1. Flows
      • 12.2.2. Configuration
    • 12.3. freepdk45_demo
      • 12.3.1. Flows
      • 12.3.2. PDK
      • 12.3.3. Libraries
      • 12.3.4. Configuration
    • 12.4. skywater130_demo
      • 12.4.1. Flows
      • 12.4.2. PDK
      • 12.4.3. Libraries
      • 12.4.4. Configuration

Resources

  • 1. Design Glossary
    • 1.1. Architecture
    • 1.2. Design
    • 1.3. Manufacturing
    • 1.4. Packaging
    • 1.5. Test
SiliconCompiler
  • Search


© Copyright 2020, Zero ASIC. Revision a1420669.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
stable
noah-examples-cleanup
Downloads
pdf
On Read the Docs
Project Home
Builds