├── .ciignore ├── .circleci ├── README.md ├── build-extra-tests.sh ├── build-toolchains.sh ├── check-commit.sh ├── clean-old-files.sh ├── config.yml ├── create-hash.sh ├── defaults.sh ├── do-firesim-build.sh ├── do-rtl-build.sh ├── images │ ├── Dockerfile │ └── README.md ├── install-verilator.sh ├── run-firesim-tests.sh ├── run-midasexamples-tests.sh └── run-tests.sh ├── .ctags ├── .ctagsignore ├── .githooks └── ignore-certain-dirs-commit-msg ├── .github ├── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── feature-request.md │ ├── other.md │ └── question.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .gitmodules ├── .readthedocs.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── common.mk ├── docs ├── .gitignore ├── Advanced-Concepts │ ├── CDEs.rst │ ├── Chip-Communication.rst │ ├── Debugging-RTL.rst │ ├── Resources.rst │ ├── Top-Testharness.rst │ └── index.rst ├── Chipyard-Basics │ ├── Chipyard-Components.rst │ ├── Configs-Parameters-Mixins.rst │ ├── Development-Ecosystem.rst │ ├── Initial-Repo-Setup.rst │ └── index.rst ├── Customization │ ├── Boot-Process.rst │ ├── Custom-Chisel.rst │ ├── DMA-Devices.rst │ ├── Firrtl-Transforms.rst │ ├── Heterogeneous-SoCs.rst │ ├── IOBinders.rst │ ├── Incorporating-Verilog-Blocks.rst │ ├── Keys-Traits-Configs.rst │ ├── MMIO-Peripherals.rst │ ├── Memory-Hierarchy.rst │ ├── RoCC-Accelerators.rst │ ├── RoCC-or-MMIO.rst │ └── index.rst ├── Generators │ ├── Ariane.rst │ ├── BOOM.rst │ ├── Gemmini.rst │ ├── Hwacha.rst │ ├── IceNet.rst │ ├── Rocket-Chip.rst │ ├── Rocket.rst │ ├── SHA3.rst │ ├── SiFive-Generators.rst │ ├── TestChipIP.rst │ └── index.rst ├── Makefile ├── Simulation │ ├── FPGA-Accelerated-Simulation.rst │ ├── Software-RTL-Simulation.rst │ └── index.rst ├── Software │ ├── FireMarshal.rst │ ├── Spike.rst │ └── index.rst ├── TileLink-Diplomacy-Reference │ ├── Diplomacy-Connectors.rst │ ├── EdgeFunctions.rst │ ├── NodeTypes.rst │ ├── Register-Router.rst │ ├── Widgets.rst │ └── index.rst ├── Tools │ ├── Barstools.rst │ ├── Chisel-Testers.rst │ ├── Chisel.rst │ ├── Dsptools.rst │ ├── FIRRTL.rst │ ├── Treadle.rst │ └── index.rst ├── VLSI │ ├── Advanced-Usage.rst │ ├── Building-A-Chip.rst │ ├── Hammer.rst │ ├── Tutorial.rst │ └── index.rst ├── _static │ └── images │ │ ├── boom-pipeline-detailed.png │ │ ├── chip-bringup.png │ │ ├── chip-communication.png │ │ ├── chipyard-logo-full.png │ │ ├── chipyard-logo.png │ │ ├── chipyard-logo.svg │ │ ├── gemmini-system.png │ │ ├── gemmini-systolic-array.png │ │ ├── nic-design.png │ │ ├── rocketchip-diagram.png │ │ └── sha3.png ├── conf.py ├── index.rst └── requirements.txt ├── generators ├── chipyard │ └── src │ │ └── main │ │ ├── resources │ │ └── vsrc │ │ │ └── GCDMMIOBlackBox.v │ │ └── scala │ │ ├── ArianeConfigs.scala │ │ ├── ConfigFragments.scala │ │ ├── Generator.scala │ │ ├── IOBinders.scala │ │ ├── Subsystem.scala │ │ ├── System.scala │ │ ├── TestHarness.scala │ │ ├── TestSuites.scala │ │ ├── Top.scala │ │ ├── config │ │ ├── BoomConfigs.scala │ │ ├── HeteroConfigs.scala │ │ ├── RocketConfigs.scala │ │ ├── TracegenConfigs.scala │ │ └── TutorialConfigs.scala │ │ └── example │ │ ├── GCD.scala │ │ ├── InitZero.scala │ │ ├── NodeTypes.scala │ │ └── RegisterNodeExample.scala ├── firechip │ └── src │ │ ├── main │ │ └── scala │ │ │ ├── BridgeBinders.scala │ │ │ ├── FireSim.scala │ │ │ ├── Generator.scala │ │ │ ├── TargetConfigs.scala │ │ │ └── TargetLandTestSuites.scala │ │ └── test │ │ └── scala │ │ └── ScalaTestSuite.scala ├── tracegen │ └── src │ │ └── main │ │ └── scala │ │ ├── Configs.scala │ │ ├── System.scala │ │ └── Tile.scala └── utilities │ └── src │ └── main │ ├── resources │ ├── bootrom │ └── csrc │ │ └── emulator.cc │ └── scala │ └── Simulator.scala ├── project ├── build.properties └── plugins.sbt ├── scripts ├── add-githooks.sh ├── build-openocd.sh ├── build-toolchains.sh ├── build-util.sh ├── centos-req.sh ├── check-tracegen.sh ├── firesim-setup.sh ├── gen-tags.sh ├── init-submodules-no-riscv-tools-nolog.sh ├── init-submodules-no-riscv-tools.sh ├── init-vlsi.sh ├── tutorial-patches │ ├── RocketConfigs.scala.patch │ └── build.sbt.patch ├── tutorial-setup.sh └── ubuntu-req.sh ├── sims ├── vcs │ ├── .gitignore │ ├── Makefile │ └── dramsim2_ini └── verilator │ ├── .gitignore │ ├── Makefile │ └── dramsim2_ini ├── tests ├── .gitignore ├── Makefile ├── accum.c ├── big-blkdev.c ├── blkdev.c ├── blkdev.h ├── charcount.c ├── gcd.c ├── htif.ld ├── libgloss.mk ├── mmio.h ├── nic-loopback.c ├── nic.h ├── pingd.c ├── pwm.c └── rocc.h ├── variables.mk └── vlsi ├── .gitignore ├── Makefile ├── env.yml ├── example-vlsi ├── example.v ├── example.yml ├── extra_libraries └── example │ ├── ExampleDCO.gds │ ├── ExampleDCO.lef │ ├── ExampleDCO_PVT_0P63V_100C.lib │ └── ExampleDCO_PVT_0P77V_0C.lib └── view_gds.py /.ciignore: -------------------------------------------------------------------------------- 1 | docs/* 2 | -------------------------------------------------------------------------------- /.circleci/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/README.md -------------------------------------------------------------------------------- /.circleci/build-extra-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/build-extra-tests.sh -------------------------------------------------------------------------------- /.circleci/build-toolchains.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/build-toolchains.sh -------------------------------------------------------------------------------- /.circleci/check-commit.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/check-commit.sh -------------------------------------------------------------------------------- /.circleci/clean-old-files.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/clean-old-files.sh -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.circleci/create-hash.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/create-hash.sh -------------------------------------------------------------------------------- /.circleci/defaults.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/defaults.sh -------------------------------------------------------------------------------- /.circleci/do-firesim-build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/do-firesim-build.sh -------------------------------------------------------------------------------- /.circleci/do-rtl-build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/do-rtl-build.sh -------------------------------------------------------------------------------- /.circleci/images/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/images/Dockerfile -------------------------------------------------------------------------------- /.circleci/images/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/images/README.md -------------------------------------------------------------------------------- /.circleci/install-verilator.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/install-verilator.sh -------------------------------------------------------------------------------- /.circleci/run-firesim-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/run-firesim-tests.sh -------------------------------------------------------------------------------- /.circleci/run-midasexamples-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/run-midasexamples-tests.sh -------------------------------------------------------------------------------- /.circleci/run-tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.circleci/run-tests.sh -------------------------------------------------------------------------------- /.ctags: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.ctags -------------------------------------------------------------------------------- /.ctagsignore: -------------------------------------------------------------------------------- 1 | */target 2 | sims 3 | toolchains 4 | -------------------------------------------------------------------------------- /.githooks/ignore-certain-dirs-commit-msg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.githooks/ignore-certain-dirs-commit-msg -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.github/ISSUE_TEMPLATE/bug-report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.github/ISSUE_TEMPLATE/feature-request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/other.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Other 3 | about: Something else! 4 | 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.github/ISSUE_TEMPLATE/question.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.gitmodules -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/.readthedocs.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/README.md -------------------------------------------------------------------------------- /common.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/common.mk -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | -------------------------------------------------------------------------------- /docs/Advanced-Concepts/CDEs.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Advanced-Concepts/CDEs.rst -------------------------------------------------------------------------------- /docs/Advanced-Concepts/Chip-Communication.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Advanced-Concepts/Chip-Communication.rst -------------------------------------------------------------------------------- /docs/Advanced-Concepts/Debugging-RTL.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Advanced-Concepts/Debugging-RTL.rst -------------------------------------------------------------------------------- /docs/Advanced-Concepts/Resources.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Advanced-Concepts/Resources.rst -------------------------------------------------------------------------------- /docs/Advanced-Concepts/Top-Testharness.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Advanced-Concepts/Top-Testharness.rst -------------------------------------------------------------------------------- /docs/Advanced-Concepts/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Advanced-Concepts/index.rst -------------------------------------------------------------------------------- /docs/Chipyard-Basics/Chipyard-Components.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Chipyard-Basics/Chipyard-Components.rst -------------------------------------------------------------------------------- /docs/Chipyard-Basics/Configs-Parameters-Mixins.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Chipyard-Basics/Configs-Parameters-Mixins.rst -------------------------------------------------------------------------------- /docs/Chipyard-Basics/Development-Ecosystem.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Chipyard-Basics/Development-Ecosystem.rst -------------------------------------------------------------------------------- /docs/Chipyard-Basics/Initial-Repo-Setup.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Chipyard-Basics/Initial-Repo-Setup.rst -------------------------------------------------------------------------------- /docs/Chipyard-Basics/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Chipyard-Basics/index.rst -------------------------------------------------------------------------------- /docs/Customization/Boot-Process.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Boot-Process.rst -------------------------------------------------------------------------------- /docs/Customization/Custom-Chisel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Custom-Chisel.rst -------------------------------------------------------------------------------- /docs/Customization/DMA-Devices.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/DMA-Devices.rst -------------------------------------------------------------------------------- /docs/Customization/Firrtl-Transforms.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Firrtl-Transforms.rst -------------------------------------------------------------------------------- /docs/Customization/Heterogeneous-SoCs.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Heterogeneous-SoCs.rst -------------------------------------------------------------------------------- /docs/Customization/IOBinders.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/IOBinders.rst -------------------------------------------------------------------------------- /docs/Customization/Incorporating-Verilog-Blocks.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Incorporating-Verilog-Blocks.rst -------------------------------------------------------------------------------- /docs/Customization/Keys-Traits-Configs.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Keys-Traits-Configs.rst -------------------------------------------------------------------------------- /docs/Customization/MMIO-Peripherals.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/MMIO-Peripherals.rst -------------------------------------------------------------------------------- /docs/Customization/Memory-Hierarchy.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/Memory-Hierarchy.rst -------------------------------------------------------------------------------- /docs/Customization/RoCC-Accelerators.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/RoCC-Accelerators.rst -------------------------------------------------------------------------------- /docs/Customization/RoCC-or-MMIO.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/RoCC-or-MMIO.rst -------------------------------------------------------------------------------- /docs/Customization/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Customization/index.rst -------------------------------------------------------------------------------- /docs/Generators/Ariane.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/Ariane.rst -------------------------------------------------------------------------------- /docs/Generators/BOOM.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/BOOM.rst -------------------------------------------------------------------------------- /docs/Generators/Gemmini.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/Gemmini.rst -------------------------------------------------------------------------------- /docs/Generators/Hwacha.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/Hwacha.rst -------------------------------------------------------------------------------- /docs/Generators/IceNet.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/IceNet.rst -------------------------------------------------------------------------------- /docs/Generators/Rocket-Chip.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/Rocket-Chip.rst -------------------------------------------------------------------------------- /docs/Generators/Rocket.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/Rocket.rst -------------------------------------------------------------------------------- /docs/Generators/SHA3.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/SHA3.rst -------------------------------------------------------------------------------- /docs/Generators/SiFive-Generators.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/SiFive-Generators.rst -------------------------------------------------------------------------------- /docs/Generators/TestChipIP.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/TestChipIP.rst -------------------------------------------------------------------------------- /docs/Generators/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Generators/index.rst -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/Simulation/FPGA-Accelerated-Simulation.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Simulation/FPGA-Accelerated-Simulation.rst -------------------------------------------------------------------------------- /docs/Simulation/Software-RTL-Simulation.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Simulation/Software-RTL-Simulation.rst -------------------------------------------------------------------------------- /docs/Simulation/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Simulation/index.rst -------------------------------------------------------------------------------- /docs/Software/FireMarshal.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Software/FireMarshal.rst -------------------------------------------------------------------------------- /docs/Software/Spike.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Software/Spike.rst -------------------------------------------------------------------------------- /docs/Software/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Software/index.rst -------------------------------------------------------------------------------- /docs/TileLink-Diplomacy-Reference/Diplomacy-Connectors.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/TileLink-Diplomacy-Reference/Diplomacy-Connectors.rst -------------------------------------------------------------------------------- /docs/TileLink-Diplomacy-Reference/EdgeFunctions.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/TileLink-Diplomacy-Reference/EdgeFunctions.rst -------------------------------------------------------------------------------- /docs/TileLink-Diplomacy-Reference/NodeTypes.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/TileLink-Diplomacy-Reference/NodeTypes.rst -------------------------------------------------------------------------------- /docs/TileLink-Diplomacy-Reference/Register-Router.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/TileLink-Diplomacy-Reference/Register-Router.rst -------------------------------------------------------------------------------- /docs/TileLink-Diplomacy-Reference/Widgets.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/TileLink-Diplomacy-Reference/Widgets.rst -------------------------------------------------------------------------------- /docs/TileLink-Diplomacy-Reference/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/TileLink-Diplomacy-Reference/index.rst -------------------------------------------------------------------------------- /docs/Tools/Barstools.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/Barstools.rst -------------------------------------------------------------------------------- /docs/Tools/Chisel-Testers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/Chisel-Testers.rst -------------------------------------------------------------------------------- /docs/Tools/Chisel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/Chisel.rst -------------------------------------------------------------------------------- /docs/Tools/Dsptools.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/Dsptools.rst -------------------------------------------------------------------------------- /docs/Tools/FIRRTL.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/FIRRTL.rst -------------------------------------------------------------------------------- /docs/Tools/Treadle.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/Treadle.rst -------------------------------------------------------------------------------- /docs/Tools/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/Tools/index.rst -------------------------------------------------------------------------------- /docs/VLSI/Advanced-Usage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/VLSI/Advanced-Usage.rst -------------------------------------------------------------------------------- /docs/VLSI/Building-A-Chip.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/VLSI/Building-A-Chip.rst -------------------------------------------------------------------------------- /docs/VLSI/Hammer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/VLSI/Hammer.rst -------------------------------------------------------------------------------- /docs/VLSI/Tutorial.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/VLSI/Tutorial.rst -------------------------------------------------------------------------------- /docs/VLSI/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/VLSI/index.rst -------------------------------------------------------------------------------- /docs/_static/images/boom-pipeline-detailed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/boom-pipeline-detailed.png -------------------------------------------------------------------------------- /docs/_static/images/chip-bringup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/chip-bringup.png -------------------------------------------------------------------------------- /docs/_static/images/chip-communication.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/chip-communication.png -------------------------------------------------------------------------------- /docs/_static/images/chipyard-logo-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/chipyard-logo-full.png -------------------------------------------------------------------------------- /docs/_static/images/chipyard-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/chipyard-logo.png -------------------------------------------------------------------------------- /docs/_static/images/chipyard-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/chipyard-logo.svg -------------------------------------------------------------------------------- /docs/_static/images/gemmini-system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/gemmini-system.png -------------------------------------------------------------------------------- /docs/_static/images/gemmini-systolic-array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/gemmini-systolic-array.png -------------------------------------------------------------------------------- /docs/_static/images/nic-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/nic-design.png -------------------------------------------------------------------------------- /docs/_static/images/rocketchip-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/rocketchip-diagram.png -------------------------------------------------------------------------------- /docs/_static/images/sha3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/_static/images/sha3.png -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /generators/chipyard/src/main/resources/vsrc/GCDMMIOBlackBox.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/resources/vsrc/GCDMMIOBlackBox.v -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/ArianeConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/ArianeConfigs.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/ConfigFragments.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/ConfigFragments.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/Generator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/Generator.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/IOBinders.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/IOBinders.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/Subsystem.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/Subsystem.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/System.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/System.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/TestHarness.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/TestHarness.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/TestSuites.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/TestSuites.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/Top.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/Top.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/config/BoomConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/config/BoomConfigs.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/config/HeteroConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/config/HeteroConfigs.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/config/RocketConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/config/RocketConfigs.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/config/TracegenConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/config/TracegenConfigs.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/config/TutorialConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/config/TutorialConfigs.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/example/GCD.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/example/GCD.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/example/InitZero.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/example/InitZero.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/example/NodeTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/example/NodeTypes.scala -------------------------------------------------------------------------------- /generators/chipyard/src/main/scala/example/RegisterNodeExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/chipyard/src/main/scala/example/RegisterNodeExample.scala -------------------------------------------------------------------------------- /generators/firechip/src/main/scala/BridgeBinders.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/firechip/src/main/scala/BridgeBinders.scala -------------------------------------------------------------------------------- /generators/firechip/src/main/scala/FireSim.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/firechip/src/main/scala/FireSim.scala -------------------------------------------------------------------------------- /generators/firechip/src/main/scala/Generator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/firechip/src/main/scala/Generator.scala -------------------------------------------------------------------------------- /generators/firechip/src/main/scala/TargetConfigs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/firechip/src/main/scala/TargetConfigs.scala -------------------------------------------------------------------------------- /generators/firechip/src/main/scala/TargetLandTestSuites.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/firechip/src/main/scala/TargetLandTestSuites.scala -------------------------------------------------------------------------------- /generators/firechip/src/test/scala/ScalaTestSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/firechip/src/test/scala/ScalaTestSuite.scala -------------------------------------------------------------------------------- /generators/tracegen/src/main/scala/Configs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/tracegen/src/main/scala/Configs.scala -------------------------------------------------------------------------------- /generators/tracegen/src/main/scala/System.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/tracegen/src/main/scala/System.scala -------------------------------------------------------------------------------- /generators/tracegen/src/main/scala/Tile.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/tracegen/src/main/scala/Tile.scala -------------------------------------------------------------------------------- /generators/utilities/src/main/resources/bootrom: -------------------------------------------------------------------------------- 1 | ../../../../rocket-chip/bootrom -------------------------------------------------------------------------------- /generators/utilities/src/main/resources/csrc/emulator.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/utilities/src/main/resources/csrc/emulator.cc -------------------------------------------------------------------------------- /generators/utilities/src/main/scala/Simulator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/generators/utilities/src/main/scala/Simulator.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.2.8 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /scripts/add-githooks.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/add-githooks.sh -------------------------------------------------------------------------------- /scripts/build-openocd.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/build-openocd.sh -------------------------------------------------------------------------------- /scripts/build-toolchains.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/build-toolchains.sh -------------------------------------------------------------------------------- /scripts/build-util.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/build-util.sh -------------------------------------------------------------------------------- /scripts/centos-req.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/centos-req.sh -------------------------------------------------------------------------------- /scripts/check-tracegen.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/check-tracegen.sh -------------------------------------------------------------------------------- /scripts/firesim-setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/firesim-setup.sh -------------------------------------------------------------------------------- /scripts/gen-tags.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/gen-tags.sh -------------------------------------------------------------------------------- /scripts/init-submodules-no-riscv-tools-nolog.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/init-submodules-no-riscv-tools-nolog.sh -------------------------------------------------------------------------------- /scripts/init-submodules-no-riscv-tools.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/init-submodules-no-riscv-tools.sh -------------------------------------------------------------------------------- /scripts/init-vlsi.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/init-vlsi.sh -------------------------------------------------------------------------------- /scripts/tutorial-patches/RocketConfigs.scala.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/tutorial-patches/RocketConfigs.scala.patch -------------------------------------------------------------------------------- /scripts/tutorial-patches/build.sbt.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/tutorial-patches/build.sbt.patch -------------------------------------------------------------------------------- /scripts/tutorial-setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/tutorial-setup.sh -------------------------------------------------------------------------------- /scripts/ubuntu-req.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/scripts/ubuntu-req.sh -------------------------------------------------------------------------------- /sims/vcs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !Makefile 4 | !dramsim2_ini 5 | -------------------------------------------------------------------------------- /sims/vcs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/sims/vcs/Makefile -------------------------------------------------------------------------------- /sims/vcs/dramsim2_ini: -------------------------------------------------------------------------------- 1 | ../../generators/testchipip/src/main/resources/dramsim2_ini -------------------------------------------------------------------------------- /sims/verilator/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !Makefile 4 | !verilator.mk 5 | !dramsim2_ini 6 | -------------------------------------------------------------------------------- /sims/verilator/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/sims/verilator/Makefile -------------------------------------------------------------------------------- /sims/verilator/dramsim2_ini: -------------------------------------------------------------------------------- 1 | ../../generators/testchipip/src/main/resources/dramsim2_ini -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.riscv 3 | *.dump 4 | libgloss/ 5 | -------------------------------------------------------------------------------- /tests/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/Makefile -------------------------------------------------------------------------------- /tests/accum.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/accum.c -------------------------------------------------------------------------------- /tests/big-blkdev.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/big-blkdev.c -------------------------------------------------------------------------------- /tests/blkdev.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/blkdev.c -------------------------------------------------------------------------------- /tests/blkdev.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/blkdev.h -------------------------------------------------------------------------------- /tests/charcount.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/charcount.c -------------------------------------------------------------------------------- /tests/gcd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/gcd.c -------------------------------------------------------------------------------- /tests/htif.ld: -------------------------------------------------------------------------------- 1 | ../toolchains/libgloss/util/htif.ld -------------------------------------------------------------------------------- /tests/libgloss.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/libgloss.mk -------------------------------------------------------------------------------- /tests/mmio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/mmio.h -------------------------------------------------------------------------------- /tests/nic-loopback.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/nic-loopback.c -------------------------------------------------------------------------------- /tests/nic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/nic.h -------------------------------------------------------------------------------- /tests/pingd.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/pingd.c -------------------------------------------------------------------------------- /tests/pwm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/pwm.c -------------------------------------------------------------------------------- /tests/rocc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/tests/rocc.h -------------------------------------------------------------------------------- /variables.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/variables.mk -------------------------------------------------------------------------------- /vlsi/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/.gitignore -------------------------------------------------------------------------------- /vlsi/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/Makefile -------------------------------------------------------------------------------- /vlsi/env.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/env.yml -------------------------------------------------------------------------------- /vlsi/example-vlsi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/example-vlsi -------------------------------------------------------------------------------- /vlsi/example.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/example.v -------------------------------------------------------------------------------- /vlsi/example.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/example.yml -------------------------------------------------------------------------------- /vlsi/extra_libraries/example/ExampleDCO.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/extra_libraries/example/ExampleDCO.gds -------------------------------------------------------------------------------- /vlsi/extra_libraries/example/ExampleDCO.lef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/extra_libraries/example/ExampleDCO.lef -------------------------------------------------------------------------------- /vlsi/extra_libraries/example/ExampleDCO_PVT_0P63V_100C.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/extra_libraries/example/ExampleDCO_PVT_0P63V_100C.lib -------------------------------------------------------------------------------- /vlsi/extra_libraries/example/ExampleDCO_PVT_0P77V_0C.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/extra_libraries/example/ExampleDCO_PVT_0P77V_0C.lib -------------------------------------------------------------------------------- /vlsi/view_gds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/l-nic/chipyard/HEAD/vlsi/view_gds.py --------------------------------------------------------------------------------