You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Customization/RoCC-Accelerators.rst
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,4 +112,3 @@ For instance, if we wanted to add the previously defined accelerator and route c
112
112
new RocketConfig)
113
113
114
114
To add RoCC instructions in your program, use the RoCC C macros provided in ``tests/rocc.h``. You can find examples in the files ``tests/accum.c`` and ``charcount.c``.
Copy file name to clipboardExpand all lines: docs/Generators/SiFive-Generators.rst
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Peripheral Devices Overview
16
16
``sifive-blocks`` includes multiple peripheral device generators, such as UART, SPI, PWM, JTAG, GPIO and more.
17
17
18
18
These peripheral devices usually affect the memory map of the SoC, and its top-level IO as well.
19
-
All the peripheral blocks comes with a default memory address that would not collide with each other, but if integrating multiple duplicated blocks in the SoC is needed, you will need to explicitly specify an approriate memory address for that device.
19
+
All the peripheral blocks comes with a default memory address that would not collide with each other, but if integrating multiple duplicated blocks in the SoC is needed, you will need to explicitly specify an approriate memory address for that device.
20
20
21
21
Additionally, if the device requires top-level IOs, you will need to define a config fragment to change the top-level configuration of your SoC.
22
22
When adding a top-level IO, you should also be aware of whether it interacts with the test-harness.
@@ -34,7 +34,7 @@ Finally, you add the relevant config fragment to the SoC config. For example:
34
34
General Purpose I/Os (GPIO) Device
35
35
----------------------------------
36
36
37
-
GPIO device is a periphery device provided by ``sifive-blocks``. Each general-purpose I/O port has five 32-bit configuration registers, two 32-bit data registers controlling pin input and output values, and eight 32-bit interrupt control/status register for signal level and edge triggering. In addition, all GPIOs can have two 32-bit alternate function selection registers.
37
+
GPIO device is a periphery device provided by ``sifive-blocks``. Each general-purpose I/O port has five 32-bit configuration registers, two 32-bit data registers controlling pin input and output values, and eight 32-bit interrupt control/status register for signal level and edge triggering. In addition, all GPIOs can have two 32-bit alternate function selection registers.
38
38
39
39
40
40
GPIO main features
@@ -67,7 +67,7 @@ Including GPIO in the SoC
67
67
// Set up Memory Devices
68
68
// ==================================
69
69
// ...
70
-
70
+
71
71
// Peripheral section
72
72
new chipyard.config.WithGPIO(address = 0x10010000, width = 32) ++
73
73
@@ -115,7 +115,7 @@ Including UART in the SoC
115
115
// Set up Memory Devices
116
116
// ==================================
117
117
// ...
118
-
118
+
119
119
// Peripheral section
120
120
new chipyard.config.WithUART(address = 0x10020000, baudrate = 115200) ++
121
121
@@ -125,7 +125,7 @@ Including UART in the SoC
125
125
Inter-Integrated Circuit (I2C) Interface Device
126
126
-------------------------------------------------
127
127
128
-
I2C device is a periphery device provided by ``sifive-blocks``. The I2C (inter-integrated circuit) bus interface handles communications to the serial I2C bus. It provides multi-master capability, and controls all I2C bus-specific sequencing, protocol, arbitration and timing. It supports Standard-mode (Sm), Fast-mode (Fm) and Fast-mode Plus (Fm+).
128
+
I2C device is a periphery device provided by ``sifive-blocks``. The I2C (inter-integrated circuit) bus interface handles communications to the serial I2C bus. It provides multi-master capability, and controls all I2C bus-specific sequencing, protocol, arbitration and timing. It supports Standard-mode (Sm), Fast-mode (Fm) and Fast-mode Plus (Fm+).
129
129
130
130
131
131
I2C main features
@@ -158,7 +158,7 @@ Including I2C in the SoC
158
158
// Set up Memory Devices
159
159
// ==================================
160
160
// ...
161
-
161
+
162
162
// Peripheral section
163
163
new chipyard.config.WithI2C(address = 0x10040000) ++
164
164
@@ -169,9 +169,9 @@ Including I2C in the SoC
169
169
Serial Peripheral Interface (SPI) Device
170
170
-------------------------------------------------
171
171
172
-
SPI device is a periphery device provided by ``sifive-blocks``. The SPI interface can be used to communicate with external devices using the SPI protocol.
172
+
SPI device is a periphery device provided by ``sifive-blocks``. The SPI interface can be used to communicate with external devices using the SPI protocol.
173
173
174
-
The serial peripheral interface (SPI) protocol supports half-duplex, full-duplex and simplex synchronous, serial communication with external devices. The interface can be configured as master and in this case it provides the communication clock (SCLK) to the external slave device.
174
+
The serial peripheral interface (SPI) protocol supports half-duplex, full-duplex and simplex synchronous, serial communication with external devices. The interface can be configured as master and in this case it provides the communication clock (SCLK) to the external slave device.
175
175
176
176
177
177
SPI main features
@@ -208,7 +208,7 @@ Including SPI in the SoC
208
208
// Set up Memory Devices
209
209
// ==================================
210
210
// ...
211
-
211
+
212
212
// Peripheral section
213
213
new chipyard.config.WithSPI(address = 0x10031000) ++
Copy file name to clipboardExpand all lines: docs/Simulation/Software-RTL-Simulation.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,7 @@ During verilog creation, a graphml file is emitted that will allow you to visual
187
187
188
188
To view the graph, first download a viewer such as `yEd <https://www.yworks.com/products/yed/>`__.
189
189
190
-
The ``*.graphml`` file will be located in ``generated-src/<...>/``. Open the file in the graph viewer.
190
+
The ``*.graphml`` file will be located in ``generated-src/<...>/``. Open the file in the graph viewer.
191
191
To get a clearer view of the SoC, switch to "hierarchical" view. For yEd, this would be done by selecting ``layout`` -> ``hierarchical``, and then choosing "Ok" without changing any settings.
Copy file name to clipboardExpand all lines: docs/VLSI/Advanced-Usage.rst
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Hammer Development and Upgrades
8
8
If you need to develop Hammer within Chipyard or use a version of Hammer beyond the latest PyPI release, clone the `Hammer repository <https://github.com/ucb-bar/hammer>`__ somewhere else on your disk. Then:
9
9
10
10
.. code-block:: shell
11
-
11
+
12
12
pip install -e <path/to/hammer>
13
13
14
14
To bump specific plugins to their latest commits and install them, you can use the upgrade script from the Chipyard root directory, with arguments for match patterns for the plugin names:
@@ -120,7 +120,7 @@ The given example in ``UPFInputs`` corresponds to a dual-core Rocket config with
120
120
To run the flow:
121
121
122
122
.. code-block:: shell
123
-
123
+
124
124
cd chipyard/vlsi
125
125
make verilog ASPECTS=chipyard.upf.ChipTopUPFAspect
* These SRAM macros were generated using the `Sram22 SRAM generator <https://github.com/rahulk29/sram22>`__ (still very heavily under development)
54
54
@@ -75,7 +75,7 @@ In the Chipyard root, ensure that you have the Chipyard conda environment activa
75
75
76
76
to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule must be added in the ``vlsi`` folder first.
77
77
78
-
Now navigate to the ``vlsi`` directory. The remainder of the tutorial will assume you are in this directory.
78
+
Now navigate to the ``vlsi`` directory. The remainder of the tutorial will assume you are in this directory.
79
79
We will summarize a few files in this directory that will be important for the rest of the tutorial.
80
80
81
81
.. code-block:: shell
@@ -123,7 +123,7 @@ The ``buildfile`` make target has dependencies on both (1) the Verilog that is e
123
123
and (2) the mapping of memory instances in the design to SRAM macros;
124
124
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
125
125
Note that the files in ``generated-src`` vary for each tool/technology flow.
126
-
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
126
+
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
127
127
(due to the ``ENABLE_YOSYS_FLOW`` flag present for the OpenROAD flow), so these flows should be run in separate
128
128
chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly.
* These SRAM macros were generated using the `Sram22 SRAM generator <https://github.com/rahulk29/sram22>`__ (still very heavily under development)
61
61
@@ -86,10 +86,10 @@ In the Chipyard root, ensure that you have the Chipyard conda environment activa
86
86
87
87
./scripts/init-vlsi.sh sky130 openroad
88
88
89
-
to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule is cloned in the ``vlsi`` folder,
89
+
to pull and install the plugin submodules. Note that for technologies other than ``sky130`` or ``asap7``, the tech submodule is cloned in the ``vlsi`` folder,
90
90
and for the commercial tool flow (set up by omitting the ``openroad`` argument), the tool plugin submodules are cloned into the ``vlsi`` folder.
91
91
92
-
Now navigate to the ``vlsi`` directory. The remainder of the tutorial will assume you are in this directory.
92
+
Now navigate to the ``vlsi`` directory. The remainder of the tutorial will assume you are in this directory.
93
93
We will summarize a few files in this directory that will be important for the rest of the tutorial.
94
94
95
95
.. code-block:: shell
@@ -151,7 +151,7 @@ The ``buildfile`` make target has dependencies on both (1) the Verilog that is e
151
151
and (2) the mapping of memory instances in the design to SRAM macros;
152
152
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
153
153
Note that the files in ``generated-src`` vary for each tool/technology flow.
154
-
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
154
+
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
155
155
(due to the ``ENABLE_YOSYS_FLOW`` flag, explained below), so these flows should be run in separate
156
156
chipyard installations. If the wrong sources are generated, simply run ``make buildfile -B`` to rebuild all targets correctly.
157
157
@@ -188,7 +188,7 @@ Place-and-Route
188
188
make par tutorial=sky130-openroad
189
189
190
190
Note that sometimes OpenROAD freezes on commands following the ``detailed_route`` step,
191
-
so for now we recomment running place-and-route until the ``extraction`` step,
191
+
so for now we recomment running place-and-route until the ``extraction`` step,
192
192
then re-starting the flow at this step. See the :ref:`VLSI/Sky130-OpenROAD-Tutorial:VLSI Flow Control` documentation
193
193
below for how to break up the flow into these steps.
194
194
@@ -273,7 +273,7 @@ Firt, refer to the :ref:`VLSI/Hammer:VLSI Flow Control` documentation. The below
273
273
make par HAMMER_EXTRA_ARGS="--stop_after_step extraction"
274
274
make redo-par HAMMER_EXTRA_ARGS="--start_before_step extraction"
275
275
276
-
# the following two commands are equivalent because the extraction
276
+
# the following two commands are equivalent because the extraction
277
277
# step immediately precedes the write_design step
278
278
make redo-par HAMMER_EXTRA_ARGS="--start_after_step extraction"
279
279
make redo-par HAMMER_EXTRA_ARGS="--start_before_step write_design"
0 commit comments