Skip to content

Commit 989d8a7

Browse files
committedMay 26, 2015
liteata: fix spelling & mistakes in doc
1 parent eb922f6 commit 989d8a7

File tree

1 file changed

+30
-28
lines changed
  • misoclib/mem/litesata/doc/source/docs/frontend

1 file changed

+30
-28
lines changed
 

‎misoclib/mem/litesata/doc/source/docs/frontend/index.rst

+30-28
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ Packets and user commands/responses are described in the next sections.
1515
Packets description
1616
===================
1717

18-
Sink and Source are packets with additional parameters. A packet has the following signals:
18+
Sink and Source endpoints use packets with additional parameters. A packet has the following signals:
1919

20-
- :code:`stb`: Strobe signal indicates that command or data is valid.
21-
- :code:`sop`: Start Of Packet signal indicates that current command or data is the first of the packet.
22-
- :code:`eop`: End Of Packet signal indicates that current command or data is the last of the packet.
23-
- :code:`ack`: Response from the endpoint indicates that core is able to accept our command or data.
24-
- :code:`data`: Current data of the packet.
20+
- :code:`stb`: Strobe signal, indicates that command or data is valid.
21+
- :code:`sop`: Start Of Packet signal, indicates that current command or data is the first of the packet.
22+
- :code:`eop`: End Of Packet signal, indicates that current command or data is the last of the packet.
23+
- :code:`ack`: Acknowledge signal, indicates the destination is able to accept current data.
24+
- :code:`data`: Data signal.
2525

2626
.. figure:: packets.png
2727
:width: 50%
@@ -31,20 +31,20 @@ Sink and Source are packets with additional parameters. A packet has the followi
3131

3232
.. tip::
3333

34-
- When a packet only has a command or :code:`data`, :code:`sop` and :code:`eop` must be set to 1 on the same clock cycle.
34+
- When a packet only has a :code:`data`, :code:`sop` and :code:`eop` must be set to 1 on the same clock cycle.
3535
- A :code:`data` is accepted when :code:`stb` =1 and :code:`ack` =1.
3636

3737
User Commands
3838
=============
3939

40-
All transfers are initiated using the Sink endpoint which has the following signals:
40+
All transfers are initiated using the Sink endpoint of the interface which has the following signals:
4141

42-
- :code:`write`: 1 bit signal indicates if we want to write data to the HDD.
43-
- :code:`read`: 1 bit signal indicaties if we want to read data from the HDD.
44-
- :code:`identify`: 1 bit signal indicates if command is an identify device command (use to get HDD informations).
45-
- :code:`sector`: 48 bits signal, the sector number we are going to write or read.
46-
- :code:`count`: 16 bits signal, the number of sectors we are going to write or read.
47-
- :code:`data`: n x 32 bits signal, the write data. (n depends of the frontend module)
42+
- :code:`write`: 1 bit signal, indicates a write command.
43+
- :code:`read`: 1 bit signal, indicaties a aread command.
44+
- :code:`identify`: 1 bit signal, indicates an identify command. (used to get HDD informations).
45+
- :code:`sector`: 48 bits signal, sector number for the write or read.
46+
- :code:`count`: 16 bits signal, number of sectors for the write or read.
47+
- :code:`data`: n x 32 bits signal, write data. (n depends of the frontend module)
4848

4949
.. tip::
5050

@@ -57,12 +57,12 @@ User Responses
5757

5858
Responses are obtained from the Source endpoint which has the following signals:
5959

60-
- :code:`write`: 1 bit signal indicates if command was a write.
61-
- :code:`read`: 1 bit signal indicaties if command was a read.
62-
- :code:`identify`: 1 bit signal indicates if command was an identify device command.
63-
- :code:`last`: 1 bit signal indicates if this is the last packet of the response. (A response can be return in several packets)
64-
- :code:`failed`: 1 bit signal identicates if an error was detected in the response (CRC, FIS...)
65-
- :code:`data`: n x 32 bits signal, the read data. (n depends of the frontend module)
60+
- :code:`write`: 1 bit signal, indicates a write response.
61+
- :code:`read`: 1 bit signal, indicaties a read response.
62+
- :code:`identify`: 1 bit signal, indicates an identify response.
63+
- :code:`last`: 1 bit signal, indicates it's the last packet of the response. (A response can be return in several packets)
64+
- :code:`failed`: 1 bit signal, indicates that an error was detected in the response (CRC, FIS...)
65+
- :code:`data`: n x 32 bits signal, read data. (n depends of the frontend module)
6666

6767
.. tip::
6868

@@ -77,12 +77,12 @@ Frontend modules
7777
LiteSATA provides a configurable and flexible frontend that can be used to:
7878

7979
- Provides any number of user ports.
80-
- Generate any RAID configuration when used with multiple HDDs.
80+
- Generate RAID configurations when used with multiple HDDs.
8181

8282
Crossbar
8383
========
8484

85-
The crossbar let the user request any number of ports. It automatically arbitrate requests and dispatch responses to the corresponding ports.
85+
The crossbar allows the user to request any number of ports for its application. It automatically arbitrates requests and dispatches responses to the corresponding ports.
8686

8787
The following example creates a crossbar and 2 user ports:
8888

@@ -95,7 +95,7 @@ The following example creates a crossbar and 2 user ports:
9595
Striping
9696
========
9797

98-
The striping module segment data so that data is stored on N different controllers. (RAID0 equivalent)
98+
The striping module segments data so that data is stored on N different controllers. (RAID0 equivalent)
9999

100100
.. code-block:: python
101101
@@ -115,7 +115,7 @@ The following example creates a striping with 2 HDDs:
115115
116116
self.submodules.sata_striping = LiteSATAStriping([self.sata_core0, self.sata_core1])
117117
118-
:code:`sata_striping`'s sink and source are the user interface.
118+
:code:`sata_striping`'s Sink and Source are the user interface.
119119

120120
Mirroring
121121
=========
@@ -139,7 +139,7 @@ Writes are mirrored on each controller:
139139
portX (stalled) +----> controllerX | portX (stalled) +-----> controllerX
140140
portN (stalled) +----> controllerN | portN ----------+-----> controllerN
141141
142-
Writes have priority on reads. When a write is presented on one of the port, the module waits for all ongoing reads to finish and commute to write mode. Once all writes are serviced it returns to read mode.
142+
Writes have priority on reads. When a write is presented on one of the ports, the module waits for all ongoing reads to finish and commute to write mode. Once all writes are serviced it returns to read mode.
143143

144144
Characteristics:
145145
- :code:`port`'s visible capacity = :code:`controller`'s visible capacity
@@ -148,11 +148,13 @@ Characteristics:
148148

149149
It can be used for data redundancy and/or to increase total reads speed.
150150

151+
The following example creates a mirroring with 2 HDDs:
152+
151153
.. code-block:: python
152154
153155
self.submodules.sata_mirroring = LiteSATAMirroring([self.sata_core0, self.sata_core1])
154156
155-
:code:`sata_striping`'s ports[0] and ports[1] are the user interfaces.
157+
:code:`sata_striping`'s :code:`ports[0]` and :code:`ports[1]` are the user interfaces.
156158

157159
Modules combinations
158160
====================
@@ -180,9 +182,9 @@ Since it's probably easier to figure out how to use the frontend modules with re
180182

181183
- A BIST_ (Data generator and checker) design that can be used to understand how to connect your logic to the user_port provided by the crossbar.
182184

183-
- A Striping_ design that can be used to understand how to connect couple 4 HDDs together in striping mode and do a BIST it.
185+
- A Striping_ design that can be used to understand how to combine 4 HDDs together in striping mode and do a BIST on it.
184186

185-
- A Mirroring_ design that can be used to understand how to connect couple 4 HDDs together in Mirroring mode and do a BIST it.
187+
- A Mirroring_ design that can be used to understand how to combine 4 HDDs together in mirroring mode and do a BIST on it.
186188

187189
.. _BIST: https://github.com/m-labs/misoc/blob/master/misoclib/mem/litesata/example_designs/targets/bist.py
188190

0 commit comments

Comments
 (0)
Please sign in to comment.