Skip to content

Commit

Permalink
added circt logo (llvm#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
drom committed Jul 28, 2020
1 parent 6060a96 commit 9057aba
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 8 deletions.
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<p align="center"><img src="docs/circt-logo.svg"/></p>

[![](https://github.com/circt/circt/workflows/Build%20and%20Test/badge.svg?event=push)](https://github.com/circt/circt/actions)

# ⚡️ "CIRCT" / Circuit IR Compilers and Tools

"CIRCT" stands for "Circuit IR Compilers and Tools". One might also interpret
it as the recursively as "CIRCT IR Compiler and Tools". The T can be
it as the recursively as "CIRCT IR Compiler and Tools". The T can be
selectively expanded as Tool, Translator, Team, Technology, Target, Tree, Type,
... we're ok with the ambiguity.

Expand All @@ -16,15 +18,15 @@ for more information.
The EDA industry has well-known and widely used proprietary and open source
tools. However, these tools are inconsistent, have usability concerns, and were
not designed together into a common platform. Furthermore
these tools are generally built with
[Verilog](https://en.wikipedia.org/wiki/Verilog) (also
these tools are generally built with
[Verilog](https://en.wikipedia.org/wiki/Verilog) (also
[VHDL](https://en.wikipedia.org/wiki/VHDL)) as the IRs that they
interchange. Verilog has well known design issues, and limitations, e.g.
suffering from poor location tracking support.

The CIRCT project is an (experimental!) effort looking to apply MLIR and
the LLVM development methodology to the domain of hardware design tools. Many
of us dream of having reusable infrastructure that is modular, uses
of us dream of having reusable infrastructure that is modular, uses
library-based design techniques, is more consistent, and builds on the best
practices in compiler infrastructure and compiler design techniques.

Expand All @@ -41,7 +43,7 @@ For more information, please see our longer [charter document](docs/Charter.md).
These commands can be used to set this up on a Mac:

1) **Install Dependencies** of LLVM/MLIR according to [the
instructions](https://mlir.llvm.org/getting_started/), including cmake and ninja.
instructions](https://mlir.llvm.org/getting_started/), including cmake and ninja.

2) **Check out LLVM and CIRCT repos.** CIRCT contains LLVM as a git
submodule. The LLVM repo here includes staged changes to MLIR which
Expand Down Expand Up @@ -115,8 +117,8 @@ GitHub issues. Here are some high-level guidelines:
* Please use clang-format in the LLVM style. There are good plugins
for common editors like VSCode, Atom, etc, or you can run it
manually. This makes code easier to read and understand.
* Beyond mechanical formatting issues, please follow the [LLVM Coding

* Beyond mechanical formatting issues, please follow the [LLVM Coding
Standards](https://llvm.org/docs/CodingStandards.html).

* Please practice "[incremental development](https://llvm.org/docs/DeveloperPolicy.html#incremental-development)", preferring to send a small
Expand Down Expand Up @@ -146,7 +148,7 @@ The patch flow goes like this:
1) Check out the LLVM mono repo (as described above).
2) Make changes to your codebase.
3) Stage your changes with `git add`.
4) Run clang-format to tidy up the details of the patch with `git clang-format origin/master`
4) Run clang-format to tidy up the details of the patch with `git clang-format origin/master`
5) Create a [patch in Phabricator](https://llvm.org/docs/Phabricator.html) with `arc diff`.
6) Iterate on review, changing your code and sending another patch with `arc diff`.

Expand Down
9 changes: 9 additions & 0 deletions docs/circt-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9057aba

Please sign in to comment.