Thanks to visit codestin.com
Credit goes to github.com

Skip to content

koiiujika/utopia-eda

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

### About

Utopia EDA is an open-source tool for digital hardware design.

### Coding Style

See `CODE_STYLE`.

### Requirements

The list of tools required to build the project:

* `cmake` 3.13+
* `autoconf`
* `automake`
* `flex`
* `bison`
* `clang-tidy`
* `zlib1g-dev`
* C++17-compatible compiler (e.g, `gcc` or `clang`)
* CMake-supported "build" system (e.g., `make` or `ninja`)
* `CUDD` library (see installation guide below)

### CUDD installation

1. Get `CUDD` from here: https://github.com/ivmai/cudd
2. Configure and build `CUDD` using following commands in the `CUDD`
source directory:

```
touch aclocal.m4 Makefile.am Makefile.in configure
./configure --enable-obj
make
sudo make install
```

If you want to install `CUDD` not in default directory by using
`--prefix` option of configure script, then building `Utopia EDA`
will require environment variable `CUDD_DIR` that contains the path
to the `CUDD` actual installation directory.

### Configuring with `Yosys`

1. Get `Yosys` source code from the [^yosys] into `<yosys-dir>`
2. Make sure your system meets the requirements listed in `<yosys-dir>/README.md`
3. Edit `<yosys-dir>/Makefile`
    - set `ENABLE_LIBYOSYS` to 1
4. Build and install `Yosys` as described in the `<yosys-dir>/README.md`
5. Configure `Utopia` to find `Yosys`
    - add `-DYosys_ROOT=<yosys-dir>` to the `cmake` invocation
    - e.g. `cmake -S <utopia-source-dir> -B <utopia-build-dir> -DYosys_ROOT=<yosys-dir>`

[^yosys]: https://github.com/YosysHQ/yosys

### Compiling from Command Line

```
cmake -S . -B build -DYosys_ROOT=<yosys-dir># -G Ninja etc., see section above
cd build
make # ninja, etc.
```

### Running from Command Line

To list all options for the Utopia EDA do the following:
```
<build-dir>/src/umain -h
```

To run Utopia EDA as a logic synthesis tool for the specified RIL description,
do the following:
```
<build-dir>/src/umain rtl <path-to-input-RIL-file>
```

### Running Tests

Running applications and tests based on `libueda` requires environment variable
`UTOPIA_HOME` to contain the path to the source code directory.

```
export UTOPIA_HOME=<utopia-source-dir>
<build-dir>/test/utest
```
To keep `UTOPIA_HOME` variable persistently at your system,
add the following line to your `.bashrc` (or `profile`) file:
```
export UTOPIA_HOME=<utopia-source-dir>
```
and, if needed, reinitialize the environment:
```
source ~/.bashrc
```

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 56.4%
  • C++ 28.5%
  • Verilog 14.8%
  • CMake 0.1%
  • Python 0.1%
  • Makefile 0.1%