summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README61
1 files changed, 53 insertions, 8 deletions
diff --git a/README b/README
index 5c649a4e..32e9ba24 100644
--- a/README
+++ b/README
@@ -3,7 +3,7 @@
| |
| yosys -- Yosys Open SYnthesis Suite |
| |
- | Copyright (C) 2012 - 2015 Clifford Wolf <clifford@clifford.at> |
+ | Copyright (C) 2012 - 2016 Clifford Wolf <clifford@clifford.at> |
| |
| Permission to use, copy, modify, and/or distribute this software for any |
| purpose with or without fee is hereby granted, provided that the above |
@@ -52,12 +52,12 @@ You need a C++ compiler with C++11 support (up-to-date CLANG or GCC is
recommended) and some standard tools such as GNU Flex, GNU Bison, and GNU Make.
TCL, readline and libffi are optional (see ENABLE_* settings in Makefile).
Xdot (graphviz) is used by the "show" command in yosys to display schematics.
-For example on Ubuntu Linux 14.04 LTS the following commands will install all
+For example on Ubuntu Linux 16.04 LTS the following commands will install all
prerequisites for building yosys:
- $ yosys_deps="build-essential clang bison flex libreadline-dev gawk
- tcl-dev libffi-dev git mercurial graphviz xdot pkg-config python3"
- $ sudo apt-get install $yosys_deps
+ $ sudo apt-get install build-essential clang bison flex \
+ libreadline-dev gawk tcl-dev libffi-dev git mercurial \
+ graphviz xdot pkg-config python3
There are also pre-compiled Yosys binary packages for Ubuntu and Win32 as well
as a source distribution for Visual Studio. Visit the Yosys download page for
@@ -308,6 +308,10 @@ Verilog Attributes and non-standard features
for everything that comes after the {* ... *} statement. (Reset
by adding an empty {* *} statement.)
+- In module parameter and port declarations, and cell port and parameter
+ lists, a trailing comma is ignored. This simplifies writing verilog code
+ generators a bit in some cases.
+
- Modules can be declared with "module mod_name(...);" (with three dots
instead of a list of module ports). With this syntax it is sufficient
to simply declare a module port as 'input' or 'output' in the module
@@ -350,8 +354,8 @@ Verilog Attributes and non-standard features
endmodule
- A limited subset of DPI-C functions is supported. The plugin mechanism
- (see "help plugin") can be used load .so files with implementations of
- DPI-C routines. As a non-standard extension it is possible to specify
+ (see "help plugin") can be used to load .so files with implementations
+ of DPI-C routines. As a non-standard extension it is possible to specify
a plugin alias using the "<alias>:" syntax. for example:
module dpitest;
@@ -366,7 +370,7 @@ Verilog Attributes and non-standard features
must be put in parentheses. Examples: WIDTH'd42, (4+2)'b101010
- The system tasks $finish and $display are supported in initial blocks
- in and unconditional context (only if/case statements on parameters
+ in an unconditional context (only if/case statements on parameters
and constant values). The intended use for this is synthesis-time DRC.
@@ -380,6 +384,47 @@ from SystemVerilog:
form. In module context: "assert property (<expression>);" and within an
always block: "assert(<expression>);". It is transformed to a $assert cell.
+- The "assume" statements from SystemVerilog are also supported. The same
+ limitations as with the "assert" statement apply.
+
- The keywords "always_comb", "always_ff" and "always_latch", "logic" and
"bit" are supported.
+- SystemVerilog packages are supported. Once a SystemVerilog file is read
+ into a design with "read_verilog", all its packages are available to
+ SystemVerilog files being read into the same design afterwards.
+
+
+Building the documentation
+==========================
+
+Note that there is no need to build the manual if you just want to read it.
+Simply download the PDF from http://www.clifford.at/yosys/documentation.html
+instead.
+
+On Ubuntu, texlive needs these packages to be able to build the manual:
+
+ sudo apt-get install texlive-binaries
+ sudo apt-get install texlive-science # install algorithm2e.sty
+ sudo apt-get install texlive-bibtex-extra # gets multibib.sty
+ sudo apt-get install texlive-fonts-extra # gets skull.sty and dsfont.sty
+ sudo apt-get install texlive-publishers # IEEEtran.cls
+
+Also the non-free font luximono should be installed, there is unfortunately
+no Ubuntu package for this so it should be installed separately using
+`getnonfreefonts`:
+
+ wget https://tug.org/fonts/getnonfreefonts/install-getnonfreefonts
+ sudo texlua install-getnonfreefonts # will install to /usr/local by default, can be changed by editing BINDIR at MANDIR at the top of the script
+ getnonfreefonts luximono # installs to /home/user/texmf
+
+Then execute, from the root of the repository:
+
+ make manual
+
+Notes:
+
+- To run `make manual` you need to have installed yosys with `make install`,
+ otherwise it will fail on finding `kernel/yosys.h` while building
+ `PRESENTATION_Prog`.
+