Skip to content

Commit b76815e

Browse files
committed
designs/asap7/minimal: README tweaks
Signed-off-by: Øyvind Harboe <[email protected]>
1 parent 7d60726 commit b76815e

File tree

1 file changed

+35
-36
lines changed

1 file changed

+35
-36
lines changed
Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
Report on a design prior to setting up a configuration
2-
======================================================
1+
# Report on a design prior to setting up a configuration
32

43
This configuration allows running synthesis and floorplan
54
to extract some basic information useful when setting
@@ -14,43 +13,55 @@ the Verilog files do not have to be located in the OpenROAD-flow-scripts
1413
git repository, adjust the VERILOG_FILES argument to point to your Verilog
1514
files:
1615

17-
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_synth synth gui_synth
16+
```
17+
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_synth synth gui_synth
18+
```
1819

1920
Where, the exploratory config.mk file to be replaced
2021
by a design specific config.mk file is:
2122

22-
DESIGN_CONFIG=designs/asap7/minimal/config.mk
23+
```
24+
DESIGN_CONFIG=designs/asap7/minimal/config.mk
25+
```
2326

2427
Verilog files that to be investigated are specified by:
2528

26-
VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)"
29+
```
30+
VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)"
31+
```
2732

2833
The Verilog top module name is specified by:
2934

30-
DESIGN_NAME=aes_cipher_top
35+
```
36+
DESIGN_NAME=aes_cipher_top
37+
```
3138

3239
Synthesis cleaned and re-run by:
3340

34-
clean_synth synth
35-
41+
```
42+
clean_synth synth
43+
```
44+
3645
The GUI is opened by the makefile target:
3746

38-
gui_synth
47+
```
48+
gui_synth
49+
```
3950

40-
`make gui_synth` OpenROAD GUI information
41-
-----------------------------------------
51+
## `make gui_synth` OpenROAD GUI information
4252

4353
![Alt text](gui_synth.png)
4454

4555
The module hierarchy can here be examined to give a sense of
4656
area required for the default placement density.
4757

48-
`make gui_floorplan` OpenROAD GUI information
49-
---------------------------------------------
58+
## `make gui_floorplan` OpenROAD GUI information
5059

5160
Next to iterate on floorplan settings:
5261

53-
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_floorplan floorplan gui_floorplan
62+
```
63+
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_floorplan floorplan gui_floorplan
64+
```
5465

5566
A few more things can be learned from looking at this minimal floorplan:
5667

@@ -62,12 +73,13 @@ A few more things can be learned from looking at this minimal floorplan:
6273

6374
![Alt text](gui_floorplan.png)
6475

65-
`make gui_place` OpenROAD GUI information
66-
-----------------------------------------
76+
## `make gui_place` OpenROAD GUI information
6777

6878
Next to iterate on placement settings:
6979

70-
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_place place gui_place
80+
```
81+
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_place place gui_place
82+
```
7183

7284
![Alt text](gui_place_heatmap.png)
7385

@@ -80,39 +92,26 @@ file can be learned:
8092
is a chance that the design can be routed.
8193
- Get a sense of size and location of modules
8294

83-
CTS(Clock tree Synthesis)
84-
-------------------------
95+
## CTS(Clock tree Synthesis)
8596

8697
After placement, CTS (clock tree synthesis is run). However the minimal design does
8798
not have a clock, so CTS runs quickly, but does nothing.
8899

89-
`make gui_grt` OpenROAD GUI information
90-
-----------------------------------------
100+
## `make gui_grt` OpenROAD GUI information
91101

92102
For non-trivial designs, some more work will need to be done in floorplan and
93103
placement before there is a chance that global routing will complete:
94104

95-
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_place place gui_place
105+
```
106+
make DESIGN_CONFIG=designs/asap7/minimal/config.mk DESIGN_NAME=aes_cipher_top VERILOG_FILES="$(ls designs/src/aes/*.v | xargs)" clean_place place gui_place
107+
```
96108

97109
![Alt text](gui_grt.png)
98110

99111
Global routing congestion heatmap can be examined in the GUI.
100112

101-
Next steps
102-
----------
113+
## Next steps
103114

104115
Start creating a config.mk file for your design, write an .sdc file to
105116
examine timing and find reasonable values for the CORE_UTILIZATION
106117
and PLACE_DENSITY for your design considering routing congestion.
107-
108-
Building from your own git repository
109-
=====================================
110-
111-
ORFS, OpenROAD-flow-scripts, supports setting up a config.mk file
112-
in your own git repository without the need to fork ORFS. It is
113-
also possible to perform some preliminary builds of your Verilog
114-
files to examine the results in the OpenROAD GUI.
115-
116-
To build from your own git repository:
117-
118-
FLOW_HOME=~/OpenROAD-flow-scripts/flow make --file=~/OpenROAD-flow-scripts/flow/Makefile DESIGN_CONFIG=config.mk ...

0 commit comments

Comments
 (0)