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

Specify different switch type to drive wires with different directions #2647

Merged
merged 18 commits into from
Aug 26, 2024
Merged
Changes from 1 commit
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
b4be0a5
changed the architecture parser to allow definition of mux_inc and mu…
saaramahmoudi Jul 16, 2024
5ea2e53
changed the RR graph switch selection for wires with different direct…
saaramahmoudi Jul 16, 2024
4610a9d
added the extra missing condition for bidir segments
saaramahmoudi Jul 16, 2024
1d3946b
Merge branch 'master' into diff_switches_for_inc_dec_wires
saaramahmoudi Jul 17, 2024
f11aaea
update documentation for segment definition in the architecture file
saaramahmoudi Jul 18, 2024
762ac7c
added a simple architecture to test different mux for inc and dec wires
saaramahmoudi Jul 18, 2024
bada3f4
added a single task to compare diff mux for inc/dec with normal archi…
saaramahmoudi Jul 18, 2024
87ad1b9
added a similar task for odin
saaramahmoudi Jul 18, 2024
b8ef971
update task list for both strong and strong_odin
saaramahmoudi Jul 18, 2024
4cea89f
update the <mux> tag within wire segments
saaramahmoudi Jul 18, 2024
443c2c8
Merge branch 'master' into diff_switches_for_inc_dec_wires
saaramahmoudi Jul 18, 2024
4d2affa
initialize the dec muxes to -1 to avoid any random values if not spec…
saaramahmoudi Jul 18, 2024
7948773
Merge branch 'master' into diff_switches_for_inc_dec_wires
saaramahmoudi Jul 22, 2024
ba408fd
Fixed a typo in task list
saaramahmoudi Jul 22, 2024
a48ed5f
Merge branch 'master' into diff_switches_for_inc_dec_wires
saaramahmoudi Jul 25, 2024
f520da9
Merge branch 'master' into diff_switches_for_inc_dec_wires
saaramahmoudi Aug 9, 2024
cc7cdbf
Merge branch 'master' into diff_switches_for_inc_dec_wires
saaramahmoudi Aug 26, 2024
30f61a8
changed documentation, VB suggestions applied
saaramahmoudi Aug 26, 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
20 changes: 20 additions & 0 deletions doc/src/arch/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2036,6 +2036,26 @@ The ``<segment>`` tag and its contents are described below.

Tag must be included and ``name`` must be the same as the name you give in ``<switch type="mux" name="...``

.. arch:tag:: <mux_inc name="string"/>
saaramahmoudi marked this conversation as resolved.
Show resolved Hide resolved

:req_param name:
Name of the mux switch type used to drive the incremental wires in this segment from both block outputs and other wires.
Incremental wires are tracks within this segment that are heading in the "right" direction on the x-axis and the "top" direction on the y-axis.
This information is used during rr-graph construction, and a custom switch block can override this switch type for specific connections if desired.

.. note:: For UNIDIRECTIONAL only.

.. arch:tag:: <mux_dec name="string">

:req_param name:
Name of the mux switch type used to drive the decremental wires in this segment from both block outputs and other wires.
Incremental wires are tracks within this segment that are heading in the "left" direction on the x-axis and the "bottom" direction on the y-axis.
This information is used during rr-graph construction, and a custom switch block can override this switch type for specific connections if desired.

.. note:: For UNIDIRECTIONAL only.

.. note:: For unidirectional segments, either <mux> tag or both <mux_inc> and <mux_dec> should be defined in the architecture file. If only the <mux> tag is defined, we assume that the same mux drives both incremental and decremental wires within this segment.

.. arch:tag:: <wire_switch name="string"/>

:req_param name: Name of the switch type used by other wires to drive this type of segment by default. This information is used during rr-graph construction, and a custom switch block can override this switch type for specific connections if desired.
Expand Down
Loading