Skip to content

Commit

Permalink
Reordered intro section and added description on build runtime to REA…
Browse files Browse the repository at this point in the history
…DME.md.

PiperOrigin-RevId: 476474167
  • Loading branch information
hongted authored and copybara-github committed Sep 23, 2022
1 parent 03696c3 commit fac99ea
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
## What is XLS?

XLS implements a High Level Synthesis (HLS) toolchain which produces
synthesizable designs (Verilog and SystemVerilog) from flexible, high-level
descriptions of functionality. It is fully Open Source: Apache 2 licensed and
synthesizable designs (Verilog and SystemVerilog) from flexible, high-level
descriptions of functionality. It is fully Open Source: Apache 2 licensed and
developed via GitHub.

XLS (Accelerated HW Synthesis) aims to be the Software Development Kit (SDK) for
Expand Down
22 changes: 16 additions & 6 deletions docs_src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@

## What is XLS?

XLS implements a High Level Synthesis (HLS) toolchain which produces
synthesizable designs (Verilog and SystemVerilog) from flexible, high-level
descriptions of functionality. It is fully Open Source: Apache 2 licensed and
developed via GitHub.

XLS (Accelerated HW Synthesis) aims to be the Software Development Kit (SDK) for
the End of Moore's Law (EoML) era. In this "age of specialization", software and
hardware engineers must do more co-design across their domain boundaries --
Expand All @@ -22,10 +27,6 @@ source can also be used to generate hardware block output -- the XLS tools'
correctness ensures (and provides tools to help formally verify) that they are
functionally identical.

XLS implements a High Level Synthesis (HLS) toolchain which produces
synthesizable designs from flexible, high-level descriptions of functionality.
It is fully Open Source: Apache 2 licensed and developed via GitHub.

XLS is used inside of Google for generating feed-forward pipelines from
"building block" routines / libraries that can be easily retargeted, reused, and
composed in a latency-insensitive manner.
Expand Down Expand Up @@ -55,6 +56,9 @@ The following instructions are for the Ubuntu 20.04 (Focal Fossa) and Ubuntu

We start by assuming
[Bazel has been installed](https://bazel.build/install/ubuntu).
On an average 8-core VM, a full initial build (including the C++ frontend) may take up to 6 hours.
A build without the C++ frontend may take about 2 hours. Please see the two corresponding
command lines below:

```console
~$ git clone https://github.com/google/xls.git
Expand All @@ -68,10 +72,16 @@ bazel 5.2.0

~/xls$ # Note we're going to tell Ubuntu that `/usr/bin/env python` is actually python3
~/xls$ # here, since that is not the case by default on Ubuntu 20.04.
~/xls$ # This is important. Without this step, you may experience cryptic error messages:
~/xls$ sudo apt install python3-distutils python3-dev libtinfo5 python-is-python3

~/xls$ # Now build/test everything in optimized build mode.
~/xls$ bazel test -c opt //...
~/xls$ # Now build/test in optimized build mode.
~/xls$ # If you don't plan on using the C++ frontend, which is not needed to get started,
~/xls$ # use this command line:
~/xls$ bazel test -c opt -- //xls/... -//xls/contrib/xlscc/...

~/xls$ # To build everything, including the C++ frontend:
~/xls$ bazel test -c opt -- //xls/...
```

Reference build/test environment setups are also provided via `Dockerfile`s:
Expand Down

0 comments on commit fac99ea

Please sign in to comment.