Skip to content

Commit e2c22fa

Browse files
MahshadJvaughnbetz
authored andcommitted
Update debug_aids.rst
resolved comments
1 parent 1317aae commit e2c22fa

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

doc/src/vpr/debug_aids.rst

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ Placer and Router Debugger
3131
.. image:: https://github.com/verilog-to-routing/verilog-to-routing.github.io/blob/master/img/debuggerWindow.png
3232
:align: center
3333

34+
Overview
35+
~~~~~~~~~~~~~~~~~
36+
37+
It can be very useful to stop the program at a significant point and evaluate the circuit at that stage. This debugger allows setting breakpoints during placement and routing using a variety of variables and operations. For example the user can stop the placer after a certain number of perturbations, temperature changes, or when a specific block is moved. It can also stop after a net is routed in the routing process and other such scenarios. There are multiple ways to set and manipulate breakpoints which are all explained in detail below.
38+
3439
Adding a breakpoint
3540
~~~~~~~~~~~~~~~~~~~
3641

@@ -61,22 +66,22 @@ You can also find the variables’ list in the Advanced Settings Window, on the
6166

6267
**Placer Variables**
6368

64-
* move_num: every placer iteration counts as a move, so the user can stop the program after a certain number of moves. This breakpoint can be enabled through the entry field on the main debugger window or using an expression. It should be noted however, that using the entry field would proceed the specified number of moves. (as in the second example)
69+
* move_num: every placer perturbation counts as a move, so the user can stop the program after a certain number of moves. This breakpoint can be enabled through the entry field on the main debugger window or using an expression. It should be noted however, that using the entry field would proceed the specified number of moves. (as in the second example)
6570
* Ex. move _num == 33
6671
* Ex. move_num += 4
6772
* temp_count: every time the temperature is updated it counts as an increase to temp_count. This breakpoint can be enabled through the entry field on the main debugger window or using an expression. It should be noted however, that using the entry field would proceed the specified number of temperatures. (as in the second example)
6873
* Ex. temp_count == 5
6974
* Ex. temp_count += 5
70-
* from_block: in every placer move one or more blocks are relocated. From_block specifies the first block that is relocated in every move. This breakpoint can be enabled through the entry field on the main debugger window or using an expression.
75+
* from_block: in every placer move one or more blocks are relocated. from_block specifies the first block that is relocated in every move; and a breakpoint of this type stops the program when the first block moved is the one indicated by the user. This breakpoint can be enabled through the entry field on the main debugger window or using an expression.
7176
* Ex. from_block == 83
72-
* in_blocks_affected: this variable allows you to stop whenever your specified block was moved. Unlike from_block which only checks the first block moved in every move, in_blocks_affected looks through all the replicated blocks in that move. This breakpoint can only be enabled through the use of an expression.
77+
* in_blocks_affected: this variable allows you to stop after your specified block was moved. Unlike "from_block" which only checks the first block relocated in every move, in_blocks_affected looks through all the blocks whose locations were changed by that move. This breakpoint can only be enabled through the use of an expression.
7378
* Ex. in_blocks_affected == 1
7479

7580
**Router Variables**
7681

77-
* router_iter: every router iteration, whether failed or succeeded, counts as a router iteration. This breakpoint can be enabled through the entry field on the main debugger window or using an expression.
82+
* router_iter: Every pass through the whole netlist (with each unrouted or poorly routed net being re-routed) counts as a router iteration. This breakpoint can be enabled through the entry field on the main debugger window or using an expression.
7883
* Ex. router_iter == 2
79-
* route_net_id: stops when the specified net is rerouted. This breakpoint can be enabled through the entry field on the main debugger window or using an expression.
84+
* route_net_id: stops after the specified net is rerouted. This breakpoint can be enabled through the entry field on the main debugger window or using an expression.
8085
* route_net_id == 12
8186

8287
Available Operators

0 commit comments

Comments
 (0)