Skip to content

Commit a63e5d8

Browse files
committed
Merge branch 'master' of https://github.com/verilog-to-routing/vtr-verilog-to-routing into placement_search_range
2 parents f8a002d + d504b0a commit a63e5d8

File tree

359 files changed

+1104
-1789
lines changed

Some content is hidden

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

359 files changed

+1104
-1789
lines changed

.github/workflows/test.yml

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -125,38 +125,6 @@ jobs:
125125
run: ./.github/scripts/unittest.sh
126126

127127

128-
Warnings:
129-
name: 'W: Check Compilation Warnings'
130-
runs-on: ubuntu-24.04
131-
steps:
132-
133-
- uses: actions/setup-python@v5
134-
with:
135-
python-version: 3.12.3
136-
- uses: actions/checkout@v4
137-
with:
138-
submodules: 'true'
139-
140-
- name: Get number of CPU cores
141-
uses: SimenB/github-actions-cpu-cores@v2
142-
id: cpu-cores
143-
144-
- name: Install dependencies
145-
run: ./.github/scripts/install_dependencies.sh
146-
147-
- uses: hendrikmuhs/[email protected]
148-
149-
- name: Test
150-
env:
151-
#In order to get compilation warnings produced per source file, we must do a non-IPO build
152-
#We also turn warnings into errors for this target by doing a strict compile
153-
CMAKE_PARAMS: "-DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_STRICT_COMPILE=on -DVTR_IPO_BUILD=off"
154-
NUM_PROC: ${{ steps.cpu-cores.outputs.count }}
155-
run: |
156-
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
157-
./.github/scripts/build.sh
158-
159-
160128
Regression:
161129
runs-on: ubuntu-24.04
162130
strategy:
@@ -199,6 +167,12 @@ jobs:
199167
suite: 'vtr_reg_basic',
200168
extra_pkgs: ""
201169
},
170+
{
171+
name: 'Basic with serial VPR_EXECUTION_ENGINE',
172+
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVPR_EXECUTION_ENGINE=serial -DTATUM_EXECUTION_ENGINE=serial',
173+
suite: 'vtr_reg_basic',
174+
extra_pkgs: ""
175+
},
202176
{
203177
name: 'Basic with VTR_ENABLE_DEBUG_LOGGING',
204178
params: '-DCMAKE_COMPILE_WARNING_AS_ERROR=on -DVTR_IPO_BUILD=off -DVTR_ASSERT_LEVEL=3 -DWITH_BLIFEXPLORER=on -DVTR_ENABLE_DEBUG_LOGGING=on',
@@ -511,7 +485,6 @@ jobs:
511485
- Build
512486
- Format
513487
- UniTests
514-
- Warnings
515488
- Regression
516489
- Sanitized
517490
- Parmys

.readthedocs.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ build:
2222
python:
2323
install:
2424
- requirements: doc/requirements.txt
25+
- requirements: requirements.txt

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ set_property(CACHE VTR_IPO_BUILD PROPERTY STRINGS auto on off)
2626
set(VTR_ASSERT_LEVEL "2" CACHE STRING "VTR assertion checking level. 0: no assertions, 1: fast assertions, 2: regular assertions, 3: additional assertions with noticeable run-time overhead, 4: all assertions (including those with significant run-time cost)")
2727
set_property(CACHE VTR_ASSERT_LEVEL PROPERTY STRINGS 0 1 2 3 4)
2828

29-
option(VTR_ENABLE_STRICT_COMPILE "Specifies whether compiler warnings should be treated as errors (e.g. -Werror)" OFF)
3029
option(VTR_ENABLE_SANITIZE "Enable address/leak/undefined-behaviour sanitizers (i.e. run-time error checking)" OFF)
3130
option(VTR_ENABLE_PROFILING "Enable performance profiler (gprof)" OFF)
3231
option(VTR_ENABLE_COVERAGE "Enable code coverage tracking (gcov)" OFF)

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ override CMAKE_PARAMS := -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) -G 'Unix Makefil
4040
#Are we doing a strict (i.e. warnings as errors) build?
4141
ifneq (,$(findstring strict,$(BUILD_TYPE)))
4242
#Configure for strict build with VPR warning treated as errors
43-
override CMAKE_PARAMS := -DVTR_ENABLE_STRICT_COMPILE=on ${CMAKE_PARAMS}
43+
override CMAKE_PARAMS := -DCMAKE_COMPILE_WARNING_AS_ERROR=on ${CMAKE_PARAMS}
4444
endif #Strict build type
4545

4646
#Enable verbosity

README.developers.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,11 +1131,17 @@ All tests passed (1 assertion in 1 test case)
11311131
VTR has support for several additional tools/features to aid debugging.
11321132

11331133
## Basic
1134-
To build vpr with make in debug mode, simply add `BUILD_TYPE=debug` at the end of your make command.
1134+
To build a tool with make in debug mode, simply add `BUILD_TYPE=debug` at the end of your make command. For example, to build all tools in debug mode use:
11351135
```shell
1136-
$ make vpr BUILD_TYPE=debug
1136+
$ make BUILD_TYPE=debug
11371137
```
11381138

1139+
You can also enable additional (verbose) output from some tools. To build vpr with both debug information and additional output, use:
1140+
```shell
1141+
$ make vpr BUILD_TYPE=debug VERBOSE=1
1142+
```
1143+
1144+
11391145
## Sanitizers
11401146
VTR can be compiled using *sanitizers* which will detect invalid memory accesses, memory leaks and undefined behaviour (supported by both GCC and LLVM):
11411147
```shell

doc/_doxygen/ezgl.dox

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
PROJECT_NAME = "Verilog to Routing - EZGL"
2+
OUTPUT_DIRECTORY = ../_build/doxygen/ezgl
3+
FULL_PATH_NAMES = NO
4+
OPTIMIZE_OUTPUT_FOR_C = YES
5+
EXTRACT_ALL = YES
6+
EXTRACT_PRIVATE = YES
7+
EXTRACT_STATIC = YES
8+
WARN_IF_UNDOCUMENTED = NO
9+
INPUT = ../../libs/EXTERNAL/libezgl
10+
RECURSIVE = YES
11+
GENERATE_HTML = NO
12+
GENERATE_LATEX = NO
13+
GENERATE_XML = YES

doc/src/api/ezgl/application.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
===========
2+
Application
3+
===========
4+
5+
.. doxygenfile:: application.hpp
6+
:project: ezgl

doc/src/api/ezgl/callback.rst

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
=========
2+
Callbacks
3+
=========
4+
5+
This module provides callback functions for handling keyboard and mouse input, as well as predefined button actions in EZGL applications.
6+
7+
Input Event Callbacks
8+
--------------------
9+
10+
.. doxygenfunction:: press_key
11+
:project: ezgl
12+
13+
.. doxygenfunction:: press_mouse
14+
:project: ezgl
15+
16+
.. doxygenfunction:: release_mouse
17+
:project: ezgl
18+
19+
.. doxygenfunction:: move_mouse
20+
:project: ezgl
21+
22+
.. doxygenfunction:: scroll_mouse
23+
:project: ezgl
24+
25+
Button Action Callbacks
26+
----------------------
27+
28+
.. doxygenfunction:: press_zoom_fit
29+
:project: ezgl
30+
31+
.. doxygenfunction:: press_zoom_in
32+
:project: ezgl
33+
34+
.. doxygenfunction:: press_zoom_out
35+
:project: ezgl
36+
37+
Navigation Callbacks
38+
------------------
39+
40+
.. doxygenfunction:: press_up
41+
:project: ezgl
42+
43+
.. doxygenfunction:: press_down
44+
:project: ezgl
45+
46+
.. doxygenfunction:: press_left
47+
:project: ezgl
48+
49+
.. doxygenfunction:: press_right
50+
:project: ezgl
51+
52+
Other Callbacks
53+
-------------
54+
55+
.. doxygenfunction:: press_proceed
56+
:project: ezgl

doc/src/api/ezgl/camera.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
======
2+
Camera
3+
======
4+
.. doxygenfile:: camera.hpp
5+
:project: ezgl

doc/src/api/ezgl/canvas.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
======
2+
Canvas
3+
======
4+
.. doxygenfile:: canvas.hpp
5+
:project: ezgl

doc/src/api/ezgl/color.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
=====
2+
Color
3+
=====
4+
.. doxygenfile:: color.hpp
5+
:project: ezgl

doc/src/api/ezgl/control.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
=======
2+
Control
3+
=======
4+
5+
Functions to manipulate what is visible on the EZGL canvas. These functions are used by EZGL's predefined buttons, but application code can also call them directly when needed.
6+
7+
Zoom Functions
8+
-------------
9+
10+
.. doxygenfunction:: ezgl::zoom_in(canvas*, double)
11+
:project: ezgl
12+
13+
.. doxygenfunction:: ezgl::zoom_out(canvas*, double)
14+
:project: ezgl
15+
16+
.. doxygenfunction:: ezgl::zoom_in(canvas*, point2d, double)
17+
:project: ezgl
18+
19+
.. doxygenfunction:: ezgl::zoom_out(canvas*, point2d, double)
20+
:project: ezgl
21+
22+
.. doxygenfunction:: ezgl::zoom_fit
23+
:project: ezgl
24+
25+
Translation Functions
26+
--------------------
27+
28+
.. doxygenfunction:: ezgl::translate
29+
:project: ezgl
30+
31+
.. doxygenfunction:: ezgl::translate_up
32+
:project: ezgl
33+
34+
.. doxygenfunction:: ezgl::translate_down
35+
:project: ezgl
36+
37+
.. doxygenfunction:: ezgl::translate_left
38+
:project: ezgl
39+
40+
.. doxygenfunction:: ezgl::translate_right
41+
:project: ezgl

doc/src/api/ezgl/graphics.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
========
2+
Graphics
3+
========
4+
.. doxygenfile:: graphics.hpp
5+
:project: ezgl

doc/src/api/ezgl/index.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.. _ezgl:
2+
3+
====
4+
EZGL
5+
====
6+
7+
EZGL is a graphics layer on top of version 3.x of the GTK graphics library. It allows drawing in an arbitrary 2D world coordinate space (instead of in pixel coordinates), handles panning and zooming automatically, and provides easy-to-use functions for common tasks like setting up a window, setting graphics attributes (like colour and line style) and drawing primitives (like lines and polygons). Most of VPR's drawing is performed in ezgl, and GTK functionality not exposed by ezgl can still be accessed by directly calling the relevant gtk functions.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
application
13+
callback
14+
camera
15+
canvas
16+
color
17+
control
18+
graphics
19+
point
20+
rectangle

doc/src/api/ezgl/point.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
=====
2+
Point
3+
=====
4+
.. doxygenfile:: point.hpp
5+
:project: ezgl
6+

doc/src/api/ezgl/rectangle.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
=========
2+
Rectangle
3+
=========
4+
.. doxygenfile:: rectangle.hpp
5+
:project: ezgl

doc/src/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@
155155
"odin_ii": "../_build/doxygen/odin_ii/xml",
156156
"blifexplorer": "../_build/doxygen/blifexplorer/xml",
157157
"librrgraph": "../_build/doxygen/librrgraph/xml",
158+
"ezgl": "../_build/doxygen/ezgl/xml",
158159
}
159160
breathe_default_project = "vpr"
160161

doc/src/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ For more specific documentation about VPR see :ref:`vpr`.
6262

6363
api/vpr/index
6464
api/vtrutil/index
65+
api/ezgl/index
6566
api/vprinternals/index
6667

6768
Indices and tables

doc/src/vpr/command_line_usage.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2222,6 +2222,16 @@ The following options are used to enable server mode in VPR.
22222222

22232223
.. seealso:: :ref:`interactive_path_analysis_client`
22242224

2225+
2226+
Show Architecture Resources
2227+
^^^^^^^^^^^^^^^^^^^^^^^^
2228+
.. option:: --show_arch_resources
2229+
2230+
Print the architecture resource report for each device layout and exit normally.
2231+
2232+
**Default:** ``off``
2233+
2234+
22252235
Command-line Auto Completion
22262236
----------------------------
22272237

odin_ii/CMakeLists.txt

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -190,22 +190,5 @@ if (ODIN_USES_IPO)
190190
set_property(TARGET odin_ii APPEND PROPERTY LINK_FLAGS ${IPO_LINK_WARN_SUPRESS_FLAGS})
191191
endif()
192192

193-
#add strict odin compiler flags, if set
194-
if(VTR_ENABLE_STRICT_COMPILE)
195-
message(STATUS "odin_ii: building with strict flags")
196-
197-
set(ODIN_STRICT_COMPILE_FLAGS_TO_CHECK
198-
#GCC-like
199-
"-Werror"
200-
)
201-
202-
foreach(flag ${ODIN_STRICT_COMPILE_FLAGS_TO_CHECK})
203-
message(STATUS "\tAdding CXX flag: ${flag}")
204-
target_compile_options(libodin_ii PRIVATE ${flag})
205-
target_compile_options(odin_ii PRIVATE ${flag})
206-
target_link_libraries(odin_ii ${flag})
207-
endforeach()
208-
endif()
209-
210193
install(TARGETS odin_ii libodin_ii DESTINATION bin)
211194
install(FILES ${LIB_HEADERS} DESTINATION include/libodin_ii)

0 commit comments

Comments
 (0)