Skip to content

Commit 40a8d08

Browse files
authored
Merge branch 'master' into adding_fix_clusters_option
2 parents 4af32fa + b7789e5 commit 40a8d08

File tree

1,101 files changed

+381947
-20147
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,101 files changed

+381947
-20147
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ vgcore*
6666
*.place
6767
*.route
6868
*.out
69+
*.bin
70+
71+
#
72+
# FASM result files
73+
#
74+
*.fasm
6975

7076
#
7177
#Odin test outputs

.readthedocs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ version: 2
77

88
# Build documentation in the docs/ directory with Sphinx
99
sphinx:
10-
builder: htmldir
10+
builder: dirhtml
1111
configuration: doc/src/conf.py
1212

1313
# Optionally build your docs in additional formats such as PDF and ePub
1414
formats: all
1515

1616
# Optionally set the version of Python and requirements required to build your docs
1717
python:
18-
version: 2
18+
version: 3.7
1919
install:
2020
- requirements: doc/requirements.txt

BUILDING.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,24 @@ apt-get install \
9494
ctags
9595
```
9696

97+
#### Using Nix ####
98+
99+
Although the recommended platform is Debian or Ubuntu, Nix can be used to build VTR on other platforms, such as MacOS.
100+
101+
If you don't have [Nix](https://nixos.org/nix/), you can [get it](https://nixos.org/nix/download.html) with:
102+
103+
```shell
104+
$ curl -L https://nixos.org/nix/install | sh
105+
```
106+
107+
These commands will set up dependencies for Linux and MacOS and build VTR:
108+
109+
```shell
110+
#In the VTR root
111+
$ nix-shell dev/nix/shell.nix
112+
$ make
113+
```
114+
97115
### Building using the Makefile wrapper ###
98116
Run `make` from the root of the VTR source tree
99117

ODIN_II/CMakeLists.txt

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ if(ODIN_COVERAGE)
6464
)
6565

6666
set(ODIN_EXTRA_LINK_FLAGS
67-
"-lgcov --coverage"
67+
"-lgcov"
68+
"--coverage"
69+
${ODIN_EXTRA_LINK_FLAGS}
6870
)
6971

7072
endif()
@@ -74,13 +76,23 @@ if(ODIN_SANITIZE)
7476
message("*** Compiling with Odin Coverage flags")
7577

7678
set(ODIN_EXTRA_FLAGS
77-
"-g"
79+
"-O1"
80+
"-fno-omit-frame-pointer"
7881
"-fsanitize=address"
82+
"-fsanitize=leak"
83+
"-fsanitize=undefined"
84+
"-fuse-ld=gold"
7985
${ODIN_EXTRA_FLAGS}
8086
)
8187

8288
set(ODIN_EXTRA_LINK_FLAGS
89+
"-O1"
90+
"-fno-omit-frame-pointer"
8391
"-fsanitize=address"
92+
"-fsanitize=leak"
93+
"-fsanitize=undefined"
94+
"-fuse-ld=gold"
95+
${ODIN_EXTRA_LINK_FLAGS}
8496
)
8597

8698
endif()
@@ -169,10 +181,10 @@ foreach(ODIN_FLAG ${ODIN_EXTRA_FLAGS})
169181
endforeach()
170182

171183
#add extra link flags for odin
172-
if(ODIN_EXTRA_LINK_FLAGS)
173-
set_target_properties(libodin_ii PROPERTIES LINK_FLAGS ${ODIN_EXTRA_LINK_FLAGS})
174-
set_target_properties(odin_II PROPERTIES LINK_FLAGS ${ODIN_EXTRA_LINK_FLAGS})
175-
endif()
184+
foreach(ODIN_LINK_FLAG ${ODIN_EXTRA_LINK_FLAGS})
185+
target_link_libraries(libodin_ii ${ODIN_LINK_FLAG})
186+
target_link_libraries(odin_II ${ODIN_LINK_FLAG})
187+
endforeach()
176188

177189
#Supress IPO link warnings if IPO is enabled
178190
get_target_property(ODIN_USES_IPO odin_II INTERPROCEDURAL_OPTIMIZATION)

ODIN_II/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Odin_II
2+
=======
3+
4+
Odin II is used for logic synthesis and elaboration, converting a subset of the Verilog Hardware Description Language (HDL) into a BLIF netlist.
5+
6+
-----------------
7+
8+
* **[Quick Start](../doc/src/odin/quickstart.md)**
9+
* **[User Guide](../doc/src/odin/user_guide.md)**
10+
* **[Verilog Support](../doc/src/odin/verilog_support.md)**
11+
* **Developper guide**
12+
* [Contributing](../doc/src/odin/dev_guide/contributing)
13+
* [Regression Tests](../doc/src/odin/dev_guide/regression_test)
14+
* [Regression Tool](../doc/src/odin/dev_guide/verify_script)
15+
* [Validating Tests](../doc/src/odin/dev_guide/testing)

ODIN_II/README.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

ODIN_II/SRC/adders.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void declare_hard_adder(nnode_t* node) {
146146

147147
/* See if this size instance of adder exists? */
148148
if (hard_adders == NULL)
149-
warning_message(NETLIST, node->related_ast_node->line_number, node->related_ast_node->file_number, "%s\n", "Instantiating adder where adders do not exist");
149+
warning_message(NETLIST, node->loc, "%s\n", "Instantiating adder where adders do not exist");
150150

151151
tmp = (t_adder*)hard_adders->instances;
152152
width_a = node->input_port_sizes[0];
@@ -629,7 +629,7 @@ void split_adder(nnode_t* nodeo, int a, int b, int sizea, int sizeb, int cin, in
629629
node = (nnode_t**)vtr::malloc(sizeof(nnode_t*) * (count));
630630

631631
for (i = 0; i < count; i++) {
632-
node[i] = allocate_nnode();
632+
node[i] = allocate_nnode(nodeo->loc);
633633
node[i]->name = (char*)vtr::malloc(strlen(nodeo->name) + 20);
634634
odin_sprintf(node[i]->name, "%s-%d", nodeo->name, i);
635635
if (i == count - 1) {
@@ -675,7 +675,7 @@ void split_adder(nnode_t* nodeo, int a, int b, int sizea, int sizeb, int cin, in
675675
// don't add a dummy adder in the beginning of the chain if the first cin will be connected to a global gnd
676676
if ((flag == 0 || count > 1) && !configuration.adder_cin_global) {
677677
//connect the a[0] and b[0] of first adder node to ground
678-
connect_nodes(netlist->gnd_node, 0, node[0], 0);
678+
connect_nodes(netlist->vcc_node, 0, node[0], 0);
679679
connect_nodes(netlist->gnd_node, 0, node[0], sizea);
680680
//hang the first sumout
681681
node[0]->output_pins[1] = allocate_npin();

0 commit comments

Comments
 (0)