litesata: more doc fixes
This commit is contained in:
parent
1e47cfce2b
commit
d50bb8c55e
|
@ -84,7 +84,7 @@
|
||||||
{% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
|
{% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
|
||||||
{%- else %}
|
{%- else %}
|
||||||
<!-- {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} -->
|
<!-- {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} -->
|
||||||
© Copyright {{ copyright }} <a href="{{ pathto("docs\contributing\AUTHORS") }}">EnjoyDigital and M-Labs Contributors</a>.
|
© Copyright {{ copyright }} <a href="{{ pathto("docs\contributing\AUTHORS") }}">HKU</a>.
|
||||||
<!-- update theme to remove the translation stuff here - it was breaking due to link to AUTHORS file. This is a cludge to allow specific link to my authors file -->
|
<!-- update theme to remove the translation stuff here - it was breaking due to link to AUTHORS file. This is a cludge to allow specific link to my authors file -->
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
|
@ -6,7 +6,7 @@ Getting Started
|
||||||
|
|
||||||
Now that you know why LiteSATA is the :ref:`core for you <about>`, it's time to *get started*.
|
Now that you know why LiteSATA is the :ref:`core for you <about>`, it's time to *get started*.
|
||||||
|
|
||||||
This section explains the procedure for :ref:`downloading and installing the tools`.
|
This section explains the procedure for downloading and installing the tools.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
|
@ -51,7 +51,7 @@ Core:
|
||||||
Frontend:
|
Frontend:
|
||||||
- Configurable crossbar (simply declare your crossbar and use core.crossbar.get_port() to add a new port!)
|
- Configurable crossbar (simply declare your crossbar and use core.crossbar.get_port() to add a new port!)
|
||||||
- Ports arbitration transparent to the user
|
- Ports arbitration transparent to the user
|
||||||
- Synthetizable BIST
|
- Synthesizable BIST
|
||||||
- Striping module to segment data on multiple HDDs and increase write/read speed and capacity. (RAID0 equivalent)
|
- Striping module to segment data on multiple HDDs and increase write/read speed and capacity. (RAID0 equivalent)
|
||||||
- Mirroring module for data redundancy and increase read speeds. (RAID1 equivalent)
|
- Mirroring module for data redundancy and increase read speeds. (RAID1 equivalent)
|
||||||
|
|
||||||
|
@ -85,5 +85,3 @@ the list of the possible improvements :)
|
||||||
Contact
|
Contact
|
||||||
=======
|
=======
|
||||||
E-mail: florent [AT] enjoy-digital.fr
|
E-mail: florent [AT] enjoy-digital.fr
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ terms of this license, you are authorized to use LiteSATA for closed-source
|
||||||
proprietary designs.
|
proprietary designs.
|
||||||
Even though we do not require you to do so, those things are awesome, so please
|
Even though we do not require you to do so, those things are awesome, so please
|
||||||
do them if possible:
|
do them if possible:
|
||||||
|
|
||||||
- tell us that you are using LiteSATA
|
- tell us that you are using LiteSATA
|
||||||
- cite LiteSATA in publications related to research it has helped
|
- cite LiteSATA in publications related to research it has helped
|
||||||
- send us feedback and suggestions for improvements
|
- send us feedback and suggestions for improvements
|
||||||
|
@ -17,7 +18,7 @@ do them if possible:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
Unless otherwise noted, LiteSATA is copyright (C) 2015 HKU.
|
Unless otherwise noted, LiteSATA is copyright (C) 2014-2015 HKU.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification,
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
are permitted provided that the following conditions are met:
|
are permitted provided that the following conditions are met:
|
||||||
|
|
|
@ -10,4 +10,3 @@ ChangeLog
|
||||||
=========
|
=========
|
||||||
0.9.0:
|
0.9.0:
|
||||||
- First release supporting Xilinx Kintex7.
|
- First release supporting Xilinx Kintex7.
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
.. _phy-index:
|
.. _phy-index:
|
||||||
|
|
||||||
========================
|
===
|
||||||
PHY
|
PHY
|
||||||
========================
|
===
|
||||||
.. note::
|
.. note::
|
||||||
Please contribute to this document, or support us financially to write it.
|
Please contribute to this document, or support us financially to write it.
|
|
@ -1,13 +1,14 @@
|
||||||
.. _simulation-index:
|
.. _simulation-index:
|
||||||
|
|
||||||
========================
|
==========
|
||||||
Simulation
|
Simulation
|
||||||
========================
|
==========
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Please contribute to this document, or support us financially to write it.
|
Please contribute to this document, or support us financially to write it.
|
||||||
|
|
||||||
Simulations are available in ./test:
|
Simulations are available in ./test:
|
||||||
|
|
||||||
- :code:`crc_tb`
|
- :code:`crc_tb`
|
||||||
- :code:`scrambler_tb`
|
- :code:`scrambler_tb`
|
||||||
- :code:`phy_datapath_tb`
|
- :code:`phy_datapath_tb`
|
||||||
|
@ -19,4 +20,5 @@ Simulations are available in ./test:
|
||||||
|
|
||||||
Models for all the layers of SATA and a simplified HDD model are provided.
|
Models for all the layers of SATA and a simplified HDD model are provided.
|
||||||
To run a simulation, go to ./test and run:
|
To run a simulation, go to ./test and run:
|
||||||
|
|
||||||
- :code:`make <simulation_name>`
|
- :code:`make <simulation_name>`
|
|
@ -5,7 +5,7 @@ SATA Specification
|
||||||
========================
|
========================
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This chapter is a lightly modified version of the excellent SATA summerization found in Chapter 2 of Erik Landström's Thesis_.
|
This chapter is a lightly modified version of the excellent SATA summary found in Chapter 2 of Erik Landström's Thesis_.
|
||||||
|
|
||||||
Serial Advanced Technology Attachment (SATA) is a serial link replacement of
|
Serial Advanced Technology Attachment (SATA) is a serial link replacement of
|
||||||
Parallel ATA (PATA), both standards for communication with mass storage devices.
|
Parallel ATA (PATA), both standards for communication with mass storage devices.
|
||||||
|
@ -20,7 +20,7 @@ data stream
|
||||||
|
|
||||||
SATA layers.
|
SATA layers.
|
||||||
|
|
||||||
SATA’s architecture consists of four layers, Application, Transport, Link, and Physical.
|
SATA's architecture consists of four layers, Application, Transport, Link, and Physical.
|
||||||
The Application layer is responsible for overall ATA commands and of controlling SATA
|
The Application layer is responsible for overall ATA commands and of controlling SATA
|
||||||
register accesses. The transport layer places control information and data to be transferred between
|
register accesses. The transport layer places control information and data to be transferred between
|
||||||
the host and corresponding SATA device in a data packets. One such packet is called a frame
|
the host and corresponding SATA device in a data packets. One such packet is called a frame
|
||||||
|
@ -111,6 +111,7 @@ Physical Layer
|
||||||
==============
|
==============
|
||||||
This section describes the physical interface towards the actual SATA link.
|
This section describes the physical interface towards the actual SATA link.
|
||||||
The features of the phy can be summarized to:
|
The features of the phy can be summarized to:
|
||||||
|
|
||||||
- Transmit/Receive a 1.5 Gbps, 3.0 or 6.0 Gbps differential signal
|
- Transmit/Receive a 1.5 Gbps, 3.0 or 6.0 Gbps differential signal
|
||||||
- Speed negotiation
|
- Speed negotiation
|
||||||
- OOB detection and transmission
|
- OOB detection and transmission
|
||||||
|
@ -132,6 +133,7 @@ Link Layer
|
||||||
==========
|
==========
|
||||||
This section describes the SATA link layer.
|
This section describes the SATA link layer.
|
||||||
The link layer’s major tasks are:
|
The link layer’s major tasks are:
|
||||||
|
|
||||||
- Flow control
|
- Flow control
|
||||||
- Encapsulate FISes received from transport layer
|
- Encapsulate FISes received from transport layer
|
||||||
- CRC generation and CRC check
|
- CRC generation and CRC check
|
||||||
|
@ -175,6 +177,7 @@ Transport Layer
|
||||||
===============
|
===============
|
||||||
The main task for the SATA transport layer is to handle FISes and a brief description
|
The main task for the SATA transport layer is to handle FISes and a brief description
|
||||||
of the layer’s features follows:
|
of the layer’s features follows:
|
||||||
|
|
||||||
- Flow control
|
- Flow control
|
||||||
- Error control
|
- Error control
|
||||||
- Error reporting
|
- Error reporting
|
||||||
|
@ -189,6 +192,7 @@ there are bytes or bits missing for an entire Dword.
|
||||||
The flow control in this case is only to report to the link layer that the data buffers
|
The flow control in this case is only to report to the link layer that the data buffers
|
||||||
are close to over- or underflow. Errors detected are supposed to be reported to
|
are close to over- or underflow. Errors detected are supposed to be reported to
|
||||||
the application layer and the detectable errors are:
|
the application layer and the detectable errors are:
|
||||||
|
|
||||||
- Errors from lower layers like 8b/10b disparity error or CRC errors.
|
- Errors from lower layers like 8b/10b disparity error or CRC errors.
|
||||||
- SATA state or protocol errors caused by standard violation.
|
- SATA state or protocol errors caused by standard violation.
|
||||||
- Frame errors like malformed header.
|
- Frame errors like malformed header.
|
||||||
|
@ -201,11 +205,11 @@ bytes (maximum supported FIS size). The max sized non-data FIS is 28 bytes so
|
||||||
the costs of a large buffer can be spared.
|
the costs of a large buffer can be spared.
|
||||||
|
|
||||||
Command Layer
|
Command Layer
|
||||||
=================
|
=============
|
||||||
The command layer tells the transport layer what kind of FISes to send and receive
|
The command layer tells the transport layer what kind of FISes to send and receive
|
||||||
for each specific command and in which order those FISes are expexted to be delivered.
|
for each specific command and in which order those FISes are expexted to be delivered.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
This chapter is a lightly modified version of the excellent SATA summerization found in Chapter 2 of Erik Landström's Thesis_.
|
This chapter is a lightly modified version of the excellent SATA summary found in Chapter 2 of Erik Landström's Thesis_.
|
||||||
|
|
||||||
.. _Thesis: http://www.diva-portal.org/smash/get/diva2:207798/FULLTEXT01.pdf
|
.. _Thesis: http://www.diva-portal.org/smash/get/diva2:207798/FULLTEXT01.pdf
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
.. _test-index:
|
.. _test-index:
|
||||||
|
|
||||||
========================
|
====
|
||||||
Test
|
Test
|
||||||
========================
|
====
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Please contribute to this document, or support us financially to write it.
|
Please contribute to this document, or support us financially to write it.
|
||||||
|
|
||||||
A synthetizable BIST is provided and can be controlled with ./test/bist.py.
|
A synthetizable BIST is provided and can be controlled with ./test/bist.py.
|
||||||
By using LiteScope and the provided ./test/test_link.py example you are able to
|
By using LiteScope and the provided ./test/test_link.py example you are able to
|
||||||
visualize the internal logic of the design and even inject the captured data in
|
visualize the internal logic of the design and even inject the captured data into
|
||||||
the HDD model!
|
the HDD model!
|
|
@ -1,27 +1,26 @@
|
||||||
<img alt="./_static/LiteSATA_logo_full.png" src="_static/LiteSATA_logo_full.png">
|
<img alt="./_static/LiteSATA_logo_full.png" src="_static/LiteSATA_logo_full.png">
|
||||||
|
|
||||||
<h3>LiteSATA provides a <b>small footprint and configurable FPGA SATA gen1/2/3 core</b>.</h3>
|
<h3>LiteSATA provides a <b>small footprint and configurable FPGA SATA gen1/2 core</b>.</h3>
|
||||||
|
|
||||||
<div class="container" style="width:100%;margin-bottom:10px;">
|
<div class="container" style="width:100%;margin-bottom:10px;">
|
||||||
|
|
||||||
<div class="one-third-container" style="width:32%; display:inline-block;">
|
<div class="one-third-container" style="width:32%; display:inline-block;">
|
||||||
<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px;margin-right:5px;">
|
<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px;margin-right:5px;">
|
||||||
<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Small footprint</div>
|
<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Small footprint</div>
|
||||||
<div class="signpost-body" style=""><p>Thanks to simple and efficient Migen's building blocks and the KISS principe used to develop this core, LiteSATA footprint is really small!</p></div>
|
<div class="signpost-body" style=""><p>Thanks to simple and efficient Migen building blocks and the KISS principe used to develop this core, LiteSATA footprint is really small!</p></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="one-third-container" style="width:32%; display:inline-block; font-style:bold;">
|
<div class="one-third-container" style="width:32%; display:inline-block; font-style:bold;">
|
||||||
<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px;margin-right:5px;">
|
<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px;margin-right:5px;">
|
||||||
<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Configurable</div>
|
<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Configurable</div>
|
||||||
<div class="signpost-body" style=""><p>LiteSATA generates HDL using Migen as a Python meta-language. The core is then easily configurable to fit
|
<div class="signpost-body" style=""><p>LiteSATA generates HDL using Migen, a Python-based logic design system. The core is easily configurable to fit
|
||||||
user's needs! (Number of crossbar ports, included BIST and so on...)</p></div>
|
user's needs! (number of crossbar ports, RAID configuration, included BIST and so on...)</p></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="one-third-container" style="width:32%; display:inline-block; font-style:bold;">
|
<div class="one-third-container" style="width:32%; display:inline-block; font-style:bold;">
|
||||||
<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px; margin-right:5px;">
|
<div class="signpost" style="display:inline-block; vertical-align:text-top; margin-left:5px; margin-right:5px;">
|
||||||
<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Portable</div>
|
<div class="signpost-heading" style="font-size:2em; font-style:bold; margin-bottom:10px;">Portable</div>
|
||||||
<div class="signpost-body" style=""><p>Porting the core to another vendor or family only require adapting or adding a new PHY. All others building blocks of the core are generic.</p></div>
|
<div class="signpost-body" style=""><p>Porting the core to another vendor or family only requires adapting or adding a new PHY. All others building blocks of the core are generic.</p></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -24,5 +24,3 @@ News
|
||||||
docs/frontend/index
|
docs/frontend/index
|
||||||
docs/simulation/index
|
docs/simulation/index
|
||||||
docs/test/index
|
docs/test/index
|
||||||
docs/site/about
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue