Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exploder #84

Open
wants to merge 36 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
be9570e
Add pragma once everywhere.
yashton Mar 10, 2022
d9fbb47
Initial cleanup
yashton Mar 17, 2022
deb3cdd
Update benchmarks.
yashton Mar 21, 2022
92f881d
Fix mapping verilog
yashton Mar 21, 2022
7569488
Add missing abc techmapping scripts and update github workflow.
yashton Mar 22, 2022
a15923f
Fix variable substitution in graph makefile target.
yashton Mar 22, 2022
287e5e4
Update build flags in github actions
yashton Mar 22, 2022
3e699cf
Update build image and github action usage.
yashton Mar 22, 2022
323fa07
Update to even newer ubuntu docker.
yashton Mar 22, 2022
7826bb1
Don't run cmake concurrently to check where the failure is
yashton Mar 22, 2022
524c6cd
Fix path to yosys in github build.
yashton Mar 22, 2022
3681209
Fix environment variables for matrix build and fix a test value.
yashton Mar 23, 2022
6217a99
Copy yosys plugin during actions.
yashton Mar 23, 2022
0901c4a
fix path to artifacts in benchmark run.
yashton Mar 23, 2022
ffe1303
Add a direct resynthesis run in benchmarks
yashton Mar 25, 2022
01a9dfb
Implement exploder and split optimizers to individual files.
yashton Mar 30, 2022
846e505
Fix signal connections
yashton Mar 30, 2022
becd6ad
WIP
yashton Apr 7, 2022
f20717b
Working exploder
yashton Apr 19, 2022
169a608
Update SDC files.
yashton May 2, 2022
6990c81
Update sdc and clock for opdb and ibex benchmarks
yashton May 11, 2022
64a7587
New critical path calculation for resynthesis
yashton May 16, 2022
9da624a
Add missing output and signal names in exploder
yashton May 16, 2022
e4bfe5b
Add an ABC only partition optimization
yashton May 16, 2022
511d231
Cleanup benchmark names and recipes
yashton May 16, 2022
5770f15
Merge remote-tracking branch 'origin/master' into exploder
yashton May 16, 2022
ca98029
Add tigfet db.
yashton May 16, 2022
85a61eb
Update mockturtle with fix to register info.
yashton May 16, 2022
7368723
Refactor for new partition manager (Normand reopti (#85) )
NormandAlexandre Jun 14, 2022
febd152
Handle newlines in external partition file (#87)
NormandAlexandre Jul 7, 2022
d922aa0
Set temporary filename prefix.
yashton Sep 12, 2022
b2ec2c3
Updated benchmark makefile
yashton Sep 12, 2022
61f091f
Fix indentation in plot script.
yashton Sep 12, 2022
7ef1078
Ignore dirty commits for libraries except alice, mockturtle, and kahy…
yashton Nov 7, 2024
88c2739
Preemptively migrate optimizers to subfiles before merge.
yashton Nov 7, 2024
b06fb81
Merge branch 'timing'
yashton Nov 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ examples/abc/scala/project
examples/abc/scala/target

tests/**/*.v
*.pdf
*.dot
46 changes: 46 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,144 +7,190 @@
[submodule "lib/pybind11"]
path = lib/pybind11
url = https://github.com/pybind/pybind11.git
ignore = dirty
[submodule "lib/boost/any"]
path = lib/boost/any
url = https://github.com/boostorg/any.git
ignore = dirty
[submodule "lib/boost/bind"]
path = lib/boost/bind
url = https://github.com/boostorg/bind.git
ignore = dirty
[submodule "lib/boost/config"]
path = lib/boost/config
url = https://github.com/boostorg/config.git
ignore = dirty
[submodule "lib/boost/core"]
path = lib/boost/core
url = https://github.com/boostorg/core.git
ignore = dirty
[submodule "lib/boost/detail"]
path = lib/boost/detail
url = https://github.com/boostorg/detail.git
ignore = dirty
[submodule "lib/boost/function"]
path = lib/boost/function
url = https://github.com/boostorg/function.git
ignore = dirty
[submodule "lib/boost/iterator"]
path = lib/boost/iterator
url = https://github.com/boostorg/iterator.git
ignore = dirty
[submodule "lib/boost/lexical_cast"]
path = lib/boost/lexical_cast
url = https://github.com/boostorg/lexical_cast.git
ignore = dirty
[submodule "lib/boost/program_options"]
path = lib/boost/program_options
url = https://github.com/boostorg/program_options.git
ignore = dirty
[submodule "lib/boost/smart_ptr"]
path = lib/boost/smart_ptr
url = https://github.com/boostorg/smart_ptr.git
ignore = dirty
[submodule "lib/boost/static_assert"]
path = lib/boost/static_assert
url = https://github.com/boostorg/static_assert.git
ignore = dirty
[submodule "lib/boost/throw_exception"]
path = lib/boost/throw_exception
url = https://github.com/boostorg/throw_exception.git
ignore = dirty
[submodule "lib/boost/tokenizer"]
path = lib/boost/tokenizer
url = https://github.com/boostorg/tokenizer.git
ignore = dirty
[submodule "lib/boost/type_traits"]
path = lib/boost/type_traits
url = https://github.com/boostorg/type_traits.git
ignore = dirty
[submodule "lib/kahypar"]
path = lib/kahypar
url = https://github.com/lnis-uofu/kahypar.git
[submodule "lib/boost/assert"]
path = lib/boost/assert
url = https://github.com/boostorg/assert.git
ignore = dirty
[submodule "lib/boost/type_index"]
path = lib/boost/type_index
url = https://github.com/boostorg/type_index.git
ignore = dirty
[submodule "lib/boost/preprocessor"]
path = lib/boost/preprocessor
url = https://github.com/boostorg/preprocessor.git
ignore = dirty
[submodule "lib/boost/integer"]
path = lib/boost/integer
url = https://github.com/boostorg/integer.git
ignore = dirty
[submodule "lib/boost/range"]
path = lib/boost/range
url = https://github.com/boostorg/range.git
ignore = dirty
[submodule "lib/boost/mpl"]
path = lib/boost/mpl
url = https://github.com/boostorg/mpl.git
ignore = dirty
[submodule "lib/boost/array"]
path = lib/boost/array
url = https://github.com/boostorg/array.git
ignore = dirty
[submodule "lib/boost/move"]
path = lib/boost/move
url = https://github.com/boostorg/move.git
ignore = dirty
[submodule "lib/boost/utility"]
path = lib/boost/utility
url = https://github.com/boostorg/utility.git
ignore = dirty
[submodule "lib/boost/io"]
path = lib/boost/io
url = https://github.com/boostorg/io.git
ignore = dirty
[submodule "lib/boost/numeric_conversion"]
path = lib/boost/numeric_conversion
url = https://github.com/boostorg/numeric_conversion.git
ignore = dirty
[submodule "lib/boost/container"]
path = lib/boost/container
url = https://github.com/boostorg/container.git
ignore = dirty
[submodule "lib/boost/concept_check"]
path = lib/boost/concept_check
url = https://github.com/boostorg/concept_check.git
ignore = dirty
[submodule "lib/boost/container_hash"]
path = lib/boost/container_hash
url = https://github.com/boostorg/container_hash.git
ignore = dirty
[submodule "lib/boost/regex"]
path = lib/boost/regex
url = https://github.com/boostorg/regex.git
ignore = dirty
[submodule "lib/boost/optional"]
path = lib/boost/optional
url = https://github.com/boostorg/optional.git
ignore = dirty
[submodule "lib/boost/tuple"]
path = lib/boost/tuple
url = https://github.com/boostorg/tuple.git
ignore = dirty
[submodule "lib/boost/intrusive"]
path = lib/boost/intrusive
url = https://github.com/boostorg/intrusive.git
ignore = dirty
[submodule "lib/boost/predef"]
path = lib/boost/predef
url = https://github.com/boostorg/predef.git
ignore = dirty
[submodule "lib/boost/winapi"]
path = lib/boost/winapi
url = https://github.com/boostorg/winapi.git
ignore = dirty
[submodule "lib/boost/conversion"]
path = lib/boost/conversion
url = https://github.com/boostorg/conversion.git
ignore = dirty
[submodule "lib/boost/typeof"]
path = lib/boost/typeof
url = https://github.com/boostorg/typeof.git
ignore = dirty
[submodule "lib/boost/fusion"]
path = lib/boost/fusion
url = https://github.com/boostorg/fusion.git
ignore = dirty
[submodule "lib/boost/function_types"]
path = lib/boost/function_types
url = https://github.com/boostorg/function_types.git
ignore = dirty
[submodule "lib/boost/dynamic_bitset"]
path = lib/boost/dynamic_bitset
url = https://github.com/boostorg/dynamic_bitset.git
ignore = dirty
[submodule "lib/boost/algorithm"]
path = lib/boost/algorithm
url = https://github.com/boostorg/algorithm.git
ignore = dirty
[submodule "lib/boost/unordered"]
path = lib/boost/unordered
url = https://github.com/boostorg/unordered.git
ignore = dirty
[submodule "lib/boost/exception"]
path = lib/boost/exception
url = https://github.com/boostorg/exception.git
ignore = dirty
[submodule "lib/googletest"]
path = lib/googletest
url = https://github.com/google/googletest.git
ignore = dirty
[submodule "lib/OpenSTA"]
path = lib/OpenSTA
url = https://github.com/The-OpenROAD-Project/OpenSTA.git
ignore = dirty
[submodule "lib/json"]
path = lib/json
url = https://github.com/nlohmann/json.git
ignore = dirty
[submodule "benchmarks/techmapping/tigfet/sclib"]
path = benchmarks/techmapping/tigfet/sclib
url = https://github.com/lnis-uofu/TIGFET-10nm-SCLIB.git
5 changes: 3 additions & 2 deletions benchmarks/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
*.migscript.*
*.abc.*

*.direct_*.*
*.mixed_*.*
*.unoptimized.*
*.exploded.*
*.xmgscript.*
*.lsoracle_old.*
*.*_plugin.*
*.*_direct.*
*.timing_direct*.*
*.timing_yosys*.*
*.mapped.v
Expand Down
6 changes: 3 additions & 3 deletions benchmarks/EPFL/adder.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/arbiter.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/bar.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/i2c.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/log2.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/max.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/mem_ctrl.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
6 changes: 3 additions & 3 deletions benchmarks/EPFL/multiplier.sdc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
create_clock -period 0 -name virtual_io_clock
set_input_delay -clock virtual_io_clock -max 0 [get_ports {*}]
set_output_delay -clock virtual_io_clock -max 0 [get_ports {*}]
create_clock -name clk -period 0
set_input_delay -clock clk -max 0 [all_inputs]
set_output_delay -clock clk -max 0 [all_outputs]
Loading
Loading