Skip to content

Commit fc52187

Browse files
authored
Parmys doc (#46)
* cleaned * make format-py * write arch cleaned * yosys -> parmys * doc update started * ODIN_II -> odin_ii * odin_ii refactored
1 parent 6721ced commit fc52187

File tree

2,761 files changed

+273
-2385
lines changed

Some content is hidden

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

2,761 files changed

+273
-2385
lines changed

.gitattributes

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ libs/EXTERNAL/** linguist-vendored
3838
# External benchmarks imported into vtr_flow benchmark suite.
3939
vtr_flow/benchmarks/** linguist-vendored
4040
vtr_flow/scripts/perl_libs/** linguist-vendored
41-
# External benchmarks imported into ODIN_II benchmark suite.
42-
ODIN_II/regression_test/benchmark/verilog/large/** linguist-vendored
43-
ODIN_II/regression_test/benchmark/verilog/full/** linguist-vendored
44-
ODIN_II/regression_test/benchmark/verilog/FIR/** linguist-vendored
41+
# External benchmarks imported into odin_ii benchmark suite.
42+
odin_ii/regression_test/benchmark/verilog/large/** linguist-vendored
43+
odin_ii/regression_test/benchmark/verilog/full/** linguist-vendored
44+
odin_ii/regression_test/benchmark/verilog/FIR/** linguist-vendored
4545

4646
# Documentation
4747
doc/** linguist-documentation

.github/labeler.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ blifexplorer:
1717
- blifexplorer/*
1818
- blifexplorer/**/*
1919
Odin:
20-
- ODIN_II/*
21-
- ODIN_II/**/*
20+
- odin_ii/*
21+
- odin_ii/**/*
2222
- odin2_helper/*
2323
- odin2_helper/**/*
2424
VPR:

.github/scripts/run-vtr.sh

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ export VTR_DIR=$(pwd)
99
source $SCRIPT_DIR/hostsetup.sh
1010

1111
if ! { [ $VTR_TEST == "vtr_reg_strong" ] || [ $VTR_TEST == "odin_reg_strong" ] \
12-
|| [ $VTR_TEST == "vtr_reg_yosys" ] \
13-
|| [ $VTR_TEST == "vtr_reg_yosys_parmys" ]; }; then
12+
|| [ $VTR_TEST == "vtr_reg_parmys" ]; }; then
1413
source $SCRIPT_DIR/vtr-full-setup.sh
1514
fi
1615

.github/workflows/test.yml

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ jobs:
3939
- {test: "vtr_reg_strong", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3", extra_pkgs: "libeigen3-dev"}
4040
- {test: "vtr_reg_strong_odin", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3 -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
4141
- {test: "vtr_reg_strong_odin", cores: "16", options: "-skip_qor", cmake: "-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=ON -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
42-
- {test: "vtr_reg_yosys", cores: "16", options: "", cmake: "", extra_pkgs: ""}
4342
- {test: "vtr_reg_parmys", cores: "16", options: "", cmake: "-DYOSYS_SV_UHDM_PLUGIN=ON", extra_pkgs: ""}
4443
- {test: "odin_reg_strong", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
4544

.gitignore

+5-16
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ bin/
1212
CMakeCache.txt
1313
CMakeFiles
1414
build
15-
Yosys
1615

1716
#
1817
#VTR Flow/Tasks
@@ -89,28 +88,18 @@ vgcore*
8988
#
9089
#Odin test outputs
9190
#
92-
ODIN_II/log
93-
ODIN_II/regression_test/run[0-9]*
94-
ODIN_II/temp/*
95-
ODIN_II/usefull_tools/**/run[0-9]*
96-
ODIN_II/usefull_tools/**/track_completed
91+
odin_ii/log
92+
odin_ii/regression_test/run[0-9]*
93+
odin_ii/temp/*
94+
odin_ii/usefull_tools/**/run[0-9]*
95+
odin_ii/usefull_tools/**/track_completed
9796
#
9897
#C/C++
9998
#
10099
*.d
101100
*.o
102101
*.a
103102

104-
#
105-
#Yosys exec dir
106-
#
107-
Yosys
108-
109-
#
110-
#ArchFPGA exec dir
111-
#
112-
ArchFPGA
113-
114103
#
115104
#Python
116105
#

CMakeLists.txt

+9-16
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,8 @@ option(ODIN_TIDY "Enable building odin with clang tidy" OFF)
5454
option(ODIN_SANITIZE "Enable building odin with sanitize flags" OFF)
5555

5656
# Allow the user to enable building Yosys
57-
option(WITH_YOSYS "Enable building Yosys" ON)
57+
option(WITH_PARMYS "Enable Yosys as elaborator and parmys-plugin as partial mapper" ON)
5858
option(YOSYS_SV_UHDM_PLUGIN "Enable building and installing Yosys SystemVerilog and UHDM plugins" OFF)
59-
option(YOSYS_PARMYS_PLUGIN "Enable building and installing Parmys (Partial Mapper for Yosys) plugin" ON)
6059

6160
set(VTR_VERSION_MAJOR 8)
6261
set(VTR_VERSION_MINOR 1)
@@ -392,7 +391,7 @@ if(${WITH_ABC})
392391
add_subdirectory(abc)
393392
endif()
394393

395-
if(${WITH_YOSYS}) # define cmake params to compile Yosys
394+
if(${WITH_PARMYS}) # define cmake params to compile Yosys
396395
add_definitions("-D_YOSYS_")
397396

398397
set(MAKE_PROGRAM "$(MAKE)")
@@ -410,14 +409,8 @@ endif()
410409

411410
add_subdirectory(libs) #libs/CMakeLists.txt handles adding warnings flags to non-external libraries
412411

413-
# check YOSYS_PARMYS_PLUGIN flag
414-
if(${YOSYS_PARMYS_PLUGIN})
415-
if(NOT ${WITH_YOSYS})
416-
message(SEND_ERROR "Using YOSYS_PARMYS_PLUGIN requires activating Yosys frontend. Please set WITH_YOSYS.")
417-
endif()
418-
# if (${YOSYS_PARMYS_PLUGIN})
412+
if(${WITH_PARMYS})
419413
add_subdirectory(parmys)
420-
# endif ()
421414
endif()
422415

423416
#Add the various tools
@@ -431,7 +424,7 @@ endif()
431424
add_subdirectory(utils)
432425

433426
if(${WITH_ODIN})
434-
add_subdirectory(ODIN_II)
427+
add_subdirectory(odin_ii)
435428
# blifexplorer depends on odin
436429
if(${WITH_BLIFEXPLORER})
437430
add_subdirectory(blifexplorer)
@@ -440,9 +433,9 @@ endif()
440433

441434
# handle cmake params to compile Yosys SystemVerilog/UHDM plugins
442435
if(${YOSYS_SV_UHDM_PLUGIN})
443-
# avoid compiling plugins in case the Yosys frontend is not active
444-
if(NOT ${WITH_YOSYS})
445-
message(SEND_ERROR "Utilizing SystemVerilog/UHDM plugins requires activating Yosys frontend. Please set WITH_YOSYS.")
436+
# avoid compiling plugins in case the Parmys frontend is not active
437+
if(NOT ${WITH_PARMYS})
438+
message(SEND_ERROR "Utilizing SystemVerilog/UHDM plugins requires activating Parmys frontend. Please set WITH_PARMYS.")
446439
endif()
447440
endif()
448441

@@ -487,11 +480,11 @@ list(APPEND DIRS_TO_FORMAT_CPP "${CMAKE_CURRENT_SOURCE_DIR}/libs/libvtrutil")
487480
list(APPEND DIRS_TO_FORMAT_CPP "${CMAKE_CURRENT_SOURCE_DIR}/libs/libpugiutil")
488481
list(APPEND DIRS_TO_FORMAT_CPP "${CMAKE_CURRENT_SOURCE_DIR}/libs/liblog")
489482
list(APPEND DIRS_TO_FORMAT_CPP "${CMAKE_CURRENT_SOURCE_DIR}/libs/librtlnumber")
490-
list(APPEND DIRS_TO_FORMAT_CPP "${CMAKE_CURRENT_SOURCE_DIR}/ODIN_II")
483+
list(APPEND DIRS_TO_FORMAT_CPP "${CMAKE_CURRENT_SOURCE_DIR}/odin_ii")
491484

492485
include(AutoClangFormat)
493486

494-
list(APPEND DIRS_TO_FORMAT_PY "${CMAKE_CURRENT_SOURCE_DIR}/ODIN_II")
487+
list(APPEND DIRS_TO_FORMAT_PY "${CMAKE_CURRENT_SOURCE_DIR}/odin_ii")
495488
list(APPEND DIRS_TO_FORMAT_PY "${CMAKE_CURRENT_SOURCE_DIR}/ace2")
496489
list(APPEND DIRS_TO_FORMAT_PY "${CMAKE_CURRENT_SOURCE_DIR}/dev")
497490
list(APPEND DIRS_TO_FORMAT_PY "${CMAKE_CURRENT_SOURCE_DIR}/doc")

ODIN_II/odin_II

-1
This file was deleted.

README.developers.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,7 @@ remote repository, or a PR is created, the [Test Workflow](https://github.com/ve
309309
will be triggered. The following tests are included in the workflow:
310310
* [vtr_reg_nightly_test1-3](#vtr_reg_nightly_test1-3)
311311
* [vtr_reg_strong](#vtr_reg_strong)
312-
* vtr_reg_yosys
313-
* vtr_reg_yosys_parmys
312+
* vtr_reg_parmys
314313
* odin_reg_strong
315314

316315
instructions on how to gather QoR results of CI runs can be found [here](#example-extracting-qor-data-from-ci-runs).

blifexplorer/src/odininterface.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ int OdinInterface::startOdin()
5151
/* pass arguments here to odin */
5252
std::vector<std::string> arguments =
5353
{
54-
"../ODIN_II/odin_ii", // pass the odin location relative to blifexplorer
54+
"../odin_ii/odin_ii", // pass the odin location relative to blifexplorer
5555
"--interractive_simulation", // prevent odin from freeing valuable information
5656
"-r", "7", // set simulation seed
5757
"-sim_dir", std::string(simulation_directory + "/"), // set simulation directory

dev/odin2_helper/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ODIN=~/Code/vtr-repo/svn/ODIN_II/odin_II.exe
1+
ODIN=~/Code/vtr-repo/svn/odin_ii/odin_ii.exe
22

33
EXE=verilog_preprocessor
44

dev/pylint_check.py

+14-14
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
paths_to_lint = [
2424
(repo_path, False),
2525
(repo_path / "dev", True),
26-
(repo_path / "ODIN_II", True),
26+
(repo_path / "odin_ii", True),
2727
(repo_path / "ace2", True),
2828
(repo_path / "doc", True),
2929
(repo_path / "vpr", True),
@@ -41,19 +41,19 @@
4141
repo_path / "dev/autoformat.py",
4242
repo_path / "dev/vpr_animate.py",
4343
repo_path / "dev/external_subtrees.py",
44-
repo_path / "ODIN_II/usefull_tools/restore_blackboxed_latches_from_blif_file.py",
45-
repo_path / "ODIN_II/regression_test/parse_result/parse_result.py",
46-
repo_path / "ODIN_II/regression_test/parse_result/conf/hooks.py",
47-
repo_path / "ODIN_II/regression_test/tools/parse_odin_result.py",
48-
repo_path / "ODIN_II/regression_test/tools/odin_script_util.py",
49-
repo_path / "ODIN_II/regression_test/tools/ODIN_CONFIG.py",
50-
repo_path / "ODIN_II/regression_test/tools/synth_using_quartus.py",
51-
repo_path / "ODIN_II/regression_test/tools/odin_config_maker.py",
52-
repo_path / "ODIN_II/regression_test/tools/synth_using_vl2mv.py",
53-
repo_path / "ODIN_II/regression_test/tools/synth_using_odin.py",
54-
repo_path / "ODIN_II/regression_test/tools/asr_vector_maker.py",
55-
repo_path / "ODIN_II/regression_test/tools/8_bit_arithmetic_power_output.py",
56-
repo_path / "ODIN_II/regression_test/tools/8_bit_input.py",
44+
repo_path / "odin_ii/usefull_tools/restore_blackboxed_latches_from_blif_file.py",
45+
repo_path / "odin_ii/regression_test/parse_result/parse_result.py",
46+
repo_path / "odin_ii/regression_test/parse_result/conf/hooks.py",
47+
repo_path / "odin_ii/regression_test/tools/parse_odin_result.py",
48+
repo_path / "odin_ii/regression_test/tools/odin_script_util.py",
49+
repo_path / "odin_ii/regression_test/tools/ODIN_CONFIG.py",
50+
repo_path / "odin_ii/regression_test/tools/synth_using_quartus.py",
51+
repo_path / "odin_ii/regression_test/tools/odin_config_maker.py",
52+
repo_path / "odin_ii/regression_test/tools/synth_using_vl2mv.py",
53+
repo_path / "odin_ii/regression_test/tools/synth_using_odin.py",
54+
repo_path / "odin_ii/regression_test/tools/asr_vector_maker.py",
55+
repo_path / "odin_ii/regression_test/tools/8_bit_arithmetic_power_output.py",
56+
repo_path / "odin_ii/regression_test/tools/8_bit_input.py",
5757
repo_path / "ace2/scripts/extract_clk_from_blif.py",
5858
repo_path / "doc/src/vtr_version.py",
5959
repo_path / "doc/src/conf.py",

dev/test_git_bisect.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
echo "----------------------"
1818
echo $(git describe --always)
1919

20-
make -j8 odin_II >& make.log
20+
make -j8 odin_ii >& make.log
2121

2222
make_res=$?
2323

@@ -33,7 +33,7 @@ fi
3333
pushd test >& /dev/null
3434

3535
#Run the tool
36-
../ODIN_II/odin_II -c odin_config.xml >& odin.log
36+
../odin_ii/odin_ii -c odin_config.xml >& odin.log
3737

3838
#Check for the error
3939
diff ref.blif LU8PEEng.odin.blif >& /dev/null

doc/_doxygen/ODIN_II.dox

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
PROJECT_NAME = "Verilog to Routing - ODIN_II"
2-
OUTPUT_DIRECTORY = ../_build/doxygen/ODIN_II
1+
PROJECT_NAME = "Verilog to Routing - odin_ii"
2+
OUTPUT_DIRECTORY = ../_build/doxygen/odin_ii
33
FULL_PATH_NAMES = NO
44
OPTIMIZE_OUTPUT_FOR_C = YES
55
EXTRACT_ALL = YES
66
EXTRACT_PRIVATE = YES
77
EXTRACT_STATIC = YES
88
WARN_IF_UNDOCUMENTED = NO
9-
INPUT = ../../ODIN_II
9+
INPUT = ../../odin_ii
1010
RECURSIVE = YES
1111
GENERATE_HTML = NO
1212
GENERATE_LATEX = NO

doc/src/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
"vtr": "../_build/doxygen/vtr/xml",
152152
"abc": "../_build/doxygen/abc/xml",
153153
"ace2": "../_build/doxygen/ace2/xml",
154-
"ODIN_II": "../_build/doxygen/ODIN_II/xml",
154+
"odin_ii": "../_build/doxygen/odin_ii/xml",
155155
"blifexplorer": "../_build/doxygen/blifexplorer/xml",
156156
"librrgraph": "../_build/doxygen/librrgraph/xml",
157157
}

doc/src/dev/c_api_doc.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Example of this configuration structure is presented below::
6464
"vpr" : "../_build/doxygen/vpr/xml",
6565
"abc" : "../_build/doxygen/abc/xml",
6666
"ace2" : "../_build/doxygen/ace2/xml",
67-
"ODIN_II" : "../_build/doxygen/ODIN_II/xml",
67+
"odin_ii" : "../_build/doxygen/odin_ii/xml",
6868
"blifexplorer" : "../_build/doxygen/blifexplorer/xml",
6969
}
7070

doc/src/dev/tutorials/new_developer_tutorial.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Open the Black Box
5757

5858
At this stage, you have gotten a taste of how an FPGA architect would go about using VTR. As a developer though, you need a much deeper understanding of how this tool works. The purpose of this section is to have you to learn the details of the VTR CAD flow by having you manually do what the scripts do.
5959

60-
Using the custom Verilog circuit and architecture created in the previous step, directly run Odin II on it to generate a blif netlist. You may need to skim the ``ODIN_II/README.rst`` and the ``vtr_flow/scripts/run_vtr_flow.py``.
60+
Using the custom Verilog circuit and architecture created in the previous step, directly run Odin II on it to generate a blif netlist. You may need to skim the ``odin_ii/README.rst`` and the ``vtr_flow/scripts/run_vtr_flow.py``.
6161

6262
Using the output netlist of Odin II, run ABC to generate a technology-mapped blif file. You may need to skim the ABC homepage (http://www.eecs.berkeley.edu/~alanmi/abc/).
6363

doc/src/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ For more specific documentation about VPR see :ref:`vpr`.
3535
vtr/index
3636
arch/index
3737
vpr/index
38+
parmys/index
3839
odin/index
39-
yosys/index
4040
abc/index
4141
tutorials/index
4242
utils/index

doc/src/odin/dev_guide/contributing.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,14 @@ digraph G {
9494

9595
Odin II uses Bison and Flex to parse a passed Verilog file and produce an Abstract Syntax Tree for each module found in the Verilog File.
9696
The AST is considered the "front-end" of Odin II.
97-
Most of the code for this can be found in verilog_bison.y, verilog_flex.l and parse_making_ast.cpp located in the ODIN_II/SRC directory.
97+
Most of the code for this can be found in verilog_bison.y, verilog_flex.l and parse_making_ast.cpp located in the odin_ii/SRC directory.
9898

9999
### AST Elaboration
100100

101101
In this step, Odin II parses through the ASTs and elaborates specific parts like for loops, function instances, etc.
102102
It also will simplify the tree and rid itself of useless parts, such as an unused if statement.
103103
It then builds one large AST, incorporating each module.
104-
The code for this can mostly be found in ast_elaborate.cpp located in the ODIN_II/SRC directory.
104+
The code for this can mostly be found in ast_elaborate.cpp located in the odin_ii/SRC directory.
105105

106106
> **NOTE**
107107
>
@@ -111,7 +111,7 @@ The code for this can mostly be found in ast_elaborate.cpp located in the ODIN_I
111111

112112
Once again, Odin II parses through the AST assembling a Netlist.
113113
During the Netlist creation, pins are assigned and connected.
114-
The code for this can be found in netlist_create_from_ast.cpp located in the ODIN_II/SRC directory.
114+
The code for this can be found in netlist_create_from_ast.cpp located in the odin_ii/SRC directory.
115115

116116
> **NOTE**
117117
>
@@ -132,7 +132,7 @@ The simulator of Odin II takes an Input Vector file and creates an Output Vector
132132

133133
When making improvements to Odin II, there are some features the developer should be aware of to make their job easier.
134134
For instance, Odin II has a -A and -G command that prints the ASTs and Netlist viewable with GraphViz.
135-
These files can be found in the ODIN_II directory.
135+
These files can be found in the odin_ii directory.
136136
This is very helpful to visualize what is being created and how everything is related to each other in the Netlist and AST.
137137

138138
Another feature to be aware of is ``make test``.

doc/src/odin/dev_guide/regression_test.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ This folder is where the synthesis results and simulation results will be stored
161161
The task diplay name and the verilog file group should share the same title.
162162

163163
```bash
164-
└── ODIN_II
164+
└── odin_ii
165165
└── regression_test
166166
└── benchmark
167167
├── task
@@ -182,7 +182,7 @@ The task cmd_line_args is an example of this.
182182
If that is the case, each configuration file will still need its own folder, however these folders should be placed in a parent folder.
183183

184184
```bash
185-
└── ODIN_II
185+
└── odin_ii
186186
└── regression_test
187187
└── benchmark
188188
├── task
@@ -208,7 +208,7 @@ In the diagram below you can see the structure of the suite.
208208
The suite contains a configuration file that calls upon the different tasks named **task_list.conf**.
209209

210210
```bash
211-
└── ODIN_II
211+
└── odin_ii
212212
└── regression_test
213213
└── benchmark
214214
├── suite

doc/src/odin/dev_guide/verify_script.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The verify_odin.sh script is designed for generating regression test results.
2929

3030
## Examples
3131

32-
The following examples are being performed in the ODIN_II directory:
32+
The following examples are being performed in the odin_ii directory:
3333

3434
### Generating Results for a New Task
3535

0 commit comments

Comments
 (0)