This commit is contained in:
Florent Kermarrec 2015-01-22 17:44:04 +01:00
parent b299116ace
commit 319a4a7f51
29 changed files with 207 additions and 83 deletions

28
LICENSE Normal file
View file

@ -0,0 +1,28 @@
Unless otherwise noted, LiteSATA is copyright (C) 2015 HKU.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Other authors retain ownership of their contributions. If a submission can
reasonably be considered independently copyrightable, it's yours and we
encourage you to claim it with appropriate copyright notices. This submission
then falls under the "otherwise noted" category. All submissions are strongly
encouraged to use the two-clause BSD license reproduced above.

51
README
View file

@ -9,7 +9,7 @@
developed for HKU by M-Labs Ltd & EnjoyDigital developed for HKU by M-Labs Ltd & EnjoyDigital
[> Intro [> Intro
----------- ---------
LiteSATA provides a small footprint and configurable SATA gen1/2/3 core. LiteSATA provides a small footprint and configurable SATA gen1/2/3 core.
LiteSATA is part of LiteX libraries whose aims is to lower entry level of complex LiteSATA is part of LiteX libraries whose aims is to lower entry level of complex
@ -34,7 +34,7 @@ with the provided setup.py) or can be integrated with your standard design flow
by generating the verilog rtl that you will use as a standard core. by generating the verilog rtl that you will use as a standard core.
[> Features [> Features
------------------ -----------
PHY: PHY:
- OOB, COMWAKE, COMINIT - OOB, COMWAKE, COMINIT
- ALIGN inserter/remover and bytes alignment on K28.5 - ALIGN inserter/remover and bytes alignment on K28.5
@ -61,7 +61,7 @@ Frontend:
- Synthetizable BIST - Synthetizable BIST
[> Possibles improvements [> Possibles improvements
---------------------- -------------------------
- add standardized interfaces (AXI, Avalon-ST) - add standardized interfaces (AXI, Avalon-ST)
- add NCQ support - add NCQ support
- add AES hardware encryption - add AES hardware encryption
@ -71,7 +71,7 @@ Frontend:
- add support for Xilinx 7-Series GTP/GTH (currently only 7-Series GTX are - add support for Xilinx 7-Series GTP/GTH (currently only 7-Series GTX are
supported) supported)
- add Zynq Linux drivers. - add Zynq Linux drivers.
- ... - ... See below Support and Consulting :)
If you want to support these features, please contact us at florent [AT] If you want to support these features, please contact us at florent [AT]
enjoy-digital.fr. You can also contact our partner on the public mailing list enjoy-digital.fr. You can also contact our partner on the public mailing list
@ -82,29 +82,35 @@ devel [AT] lists.m-labs.hk.
1. Install Python3 and Xilinx's Vivado software 1. Install Python3 and Xilinx's Vivado software
2. Obtain Migen and install it: 2. Obtain Migen and install it:
git clone https://github.com/enjoy-digital/migen git clone https://github.com/m-labs/migen
cd migen cd migen
python3 setup.py install python3 setup.py install
cd .. cd ..
3. Obtain Miscope and install it: 3. Obtain Miscope and install it:
git clone https://github.com/enjoy-digital/miscope git clone https://github.com/m-labs/miscope
cd miscope cd miscope
python3 setup.py install python3 setup.py install
cd .. cd ..
4. Obtain MiSoC: 4. Obtain MiSoC:
git clone https://github.com/enjoy-digital/misoc --recursive git clone https://github.com/m-labs/misoc --recursive
XXX add setup.py to MiSoC for external use of misoclib?
5. Copy lite-sata in working directory and move to it. 5. Obtain LiteSATA
git clone https://github.com/enjoy-digital/litesata
6. Build and load design: 6. Build and load BIST design (only for KC705 for now):
python3 make.py all python3 make.py all
7. Test design: 7. Test design (only for KC705 for now):
go to test directory and run: go to ./test directory and run:
python3 bist.py python3 bist.py
8. If you only want to build the core and use it with your
regular design flow:
python3 make.py -t core build-core
[> Simulations: [> Simulations:
Simulations are available in ./lib/sata/test: Simulations are available in ./lib/sata/test:
- crc_tb - crc_tb
@ -124,7 +130,7 @@ devel [AT] lists.m-labs.hk.
the HDD model! the HDD model!
[> License [> License
---------------------- -----------
LiteSATA is released under the very permissive two-clause BSD license. Under the LiteSATA is released under the very permissive two-clause BSD license. Under the
terms of this license, you are authorized to use LiteSATA for closed-source terms of this license, you are authorized to use LiteSATA for closed-source
proprietary designs. proprietary designs.
@ -136,19 +142,18 @@ do them if possible:
- send us bug reports when something goes wrong - send us bug reports when something goes wrong
- send us the modifications and improvements you have done to LiteSATA. - send us the modifications and improvements you have done to LiteSATA.
[> Support [> Support and Consulting
---------------------- --------------------------
We love open-source hardware and like sharing our designs with others. We think We love open-source hardware and like sharing our designs with others.
that providing this core with a BSD license will enable its easy reuse and
customization without the usual restrictions of commercial cores.
We also offer design services and can: LiteSATA is developed and maintained by EnjoyDigital.
- provide you commercial support for our cores.
- customize our cores to fit your needs and help you to integrate it in your design.
- create custom designs for you and provide our already proven cores for free.
- ...
So feel free to contact us, we'd love to work with you! If you would like to know more about LiteSATA or if you are already a happy user
and would like to extend it for your needs, EnjoyDigital can provide standard
commercial support as well as consulting services.
So feel free to contact us, we'd love to work with you! (and eventually shorten
the list of the possible improvements :)
[> Contact [> Contact
E-mail: florent [AT] enjoy-digital.fr E-mail: florent [AT] enjoy-digital.fr

View file

@ -24,7 +24,7 @@
{% set footer_links = [ {% set footer_links = [
('docs/getting_started/bug_reports', 'Report Bug', 'Report Bug'), ('docs/getting_started/bug_reports', 'Report Bug', 'Report Bug'),
('docs/introducing_litesata/litesata_license', 'Licensing', 'Licensing'), ('docs/introducing_litesata/license', 'Licensing', 'Licensing'),
('docs/contributing/contributing', 'Contributing', 'Contributing'), ('docs/contributing/contributing', 'Contributing', 'Contributing'),
('docs/introducing_litesata/release_notes', 'Release notes', 'Release notes'), ('docs/introducing_litesata/release_notes', 'Release notes', 'Release notes'),
('docs/introducing_litesata/community', 'Help', 'Contact'), ('docs/introducing_litesata/community', 'Help', 'Contact'),

View file

@ -3,3 +3,5 @@
======================== ========================
Core Core
======================== ========================
.. note::
Please contribute to this document, or support us financially to write it.

View file

@ -3,3 +3,5 @@
======================== ========================
Frontend Frontend
======================== ========================
.. note::
Please contribute to this document, or support us financially to write it.

View file

@ -3,3 +3,5 @@
=== ===
FAQ FAQ
=== ===
.. note::
Please contribute to this document.

View file

@ -3,3 +3,9 @@
============= =============
Bug Reporting Bug Reporting
============= =============
- send us feedback and suggestions for improvements
- send us bug reports when something goes wrong
- send us the modifications and improvements you have done to LiteSATA.
The use of "git format-patch" is recommended. If your submission is large and
complex and/or you are not sure how to proceed, feel free to discuss with us
about it.

View file

@ -6,25 +6,31 @@ Download and install
1. Install Python3 and Xilinx's Vivado software 1. Install Python3 and Xilinx's Vivado software
2. Obtain Migen and install it: 2. Obtain Migen and install it:
- git clone https://github.com/enjoy-digital/migen - git clone https://github.com/m-labs/migen
- cd migen - cd migen
- python3 setup.py install - python3 setup.py install
- cd .. - cd ..
3. Obtain Miscope and install it: 3. Obtain Miscope and install it:
- git clone https://github.com/enjoy-digital/miscope - git clone https://github.com/m-labs/miscope
- cd miscope - cd miscope
- python3 setup.py install - python3 setup.py install
- cd .. - cd ..
4. Obtain MiSoC: 4. Obtain MiSoC:
- git clone https://github.com/enjoy-digital/misoc --recursive - git clone https://github.com/m-labs/misoc --recursive
XXX add setup.py to MiSoC for external use of misoclib?
5. Copy lite-sata in working directory and move to it. 5. Obtain LiteSATA
- git clone https://github.com/enjoy-digital/litesata
6. Build and load design: 6. Build and load BIST design (only for KC705 for now):
- python3 make.py all - python3 make.py all
7. Test design: 7. Test design (only for KC705 for now):
- go to test directory and run: - go to ./test directory and run:
- python3 bist.py - python3 bist.py
8. If you only want to build the core and use it with your
regular design flow:
- python3 make.py -t core build-core

View file

@ -4,7 +4,7 @@
Getting Started Getting Started
=============== ===============
Now you know why LiteSATA is :ref:`core for you <about-litesata>`, it's time to *get started*. Now you know why LiteSATA is :ref:`core for you <about>`, it's time to *get started*.
This section provides a walk-through of :ref:`downloading and installing the tools`. This section provides a walk-through of :ref:`downloading and installing the tools`.
@ -13,4 +13,5 @@ This section provides a walk-through of :ref:`downloading and installing the too
downloads downloads
FAQ FAQ
bug_reports

View file

@ -8,7 +8,7 @@ This comprehensive documentation set contains everything you need to know to use
**Getting started:** **Getting started:**
- :ref:`introducing-litesata-index` explains what LiteSATA does, why it is needed, its limitations and its licensing. It will help you understand whether LiteSATA is the right core for you. - :ref:`intro-index` explains what LiteSATA does, why it is needed, its limitations and its licensing. It will help you understand whether LiteSATA is the right core for you.
- :ref:`getting-started-index` walks you through downloading, installing and using the LiteSATA core. - :ref:`getting-started-index` walks you through downloading, installing and using the LiteSATA core.
**LiteSATA Internals:** **LiteSATA Internals:**
@ -27,12 +27,10 @@ The full hierarchy of articles, opened to the second level, is shown below.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
introducing_litesata/index intro/index
getting_started/index getting_started/index
sata/index specification/index
phy/index phy/index
core/index core/index
frontend/index frontend/index
simulation/index simulation/index
test/index
site/index

View file

@ -1,4 +1,4 @@
.. _about-litesata: .. _about:
================ ================
About LiteSATA About LiteSATA
@ -27,10 +27,10 @@ LiteSATA can be used as a Migen/MiSoC library (by simply installing it
with the provided setup.py) or can be integrated with your standard design flow with the provided setup.py) or can be integrated with your standard design flow
by generating the verilog rtl that you will use as a standard core. by generating the verilog rtl that you will use as a standard core.
.. _about-litesata-toolchain: .. _about-toolchain:
Features Features
==================== ========
PHY: PHY:
- OOB, COMWAKE, COMINIT - OOB, COMWAKE, COMINIT
- ALIGN inserter/remover and bytes alignment on K28.5 - ALIGN inserter/remover and bytes alignment on K28.5
@ -58,7 +58,7 @@ Frontend:
Possibles improvements Possibles improvements
==================== ======================
- add standardized interfaces (AXI, Avalon-ST) - add standardized interfaces (AXI, Avalon-ST)
- add NCQ support - add NCQ support
- add AES hardware encryption - add AES hardware encryption
@ -68,5 +68,23 @@ Possibles improvements
- add support for Xilinx 7-Series GTP/GTH (currently only 7-Series GTX are - add support for Xilinx 7-Series GTP/GTH (currently only 7-Series GTX are
supported) supported)
- add Zynq Linux drivers. - add Zynq Linux drivers.
- ... - ... See below Support and Consulting :)
Support and Consulting
======================
We love open-source hardware and like sharing our designs with others.
LiteSATA is developed and maintained by EnjoyDigital.
If you would like to know more about LiteSATA or if you are already a happy user
and would like to extend it for your needs, EnjoyDigital can provide standard
commercial support as well as consulting services.
So feel free to contact us, we'd love to work with you! (and eventually shorten
the list of the possible improvements :)
Contact
=======
E-mail: florent [AT] enjoy-digital.fr

View file

@ -1,4 +1,4 @@
.. _introducing-litesata-index: .. _intro-index:
====================== ======================
Introducing LiteSATA Introducing LiteSATA
@ -9,7 +9,7 @@ This section explains what LiteSATA does, why it is needed, its limitations and
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
about_litesata about
litesata_license license
release_notes release_notes
Talks-and-Publications talks_and_publications

View file

@ -0,0 +1,47 @@
.. _license:
===================
Open Source License
===================
LiteSATA is released under the very permissive two-clause BSD license. Under the
terms of this license, you are authorized to use LiteSATA for closed-source
proprietary designs.
Even though we do not require you to do so, those things are awesome, so please
do them if possible:
- tell us that you are using LiteSATA
- cite LiteSATA in publications related to research it has helped
- send us feedback and suggestions for improvements
- send us bug reports when something goes wrong
- send us the modifications and improvements you have done to LiteSATA.
::
Unless otherwise noted, LiteSATA is copyright (C) 2015 HKU.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Other authors retain ownership of their contributions. If a submission can
reasonably be considered independently copyrightable, it's yours and we
encourage you to claim it with appropriate copyright notices. This submission
then falls under the "otherwise noted" category. All submissions are strongly
encouraged to use the two-clause BSD license reproduced above.

View file

@ -8,3 +8,6 @@ Release Notes
ChangeLog ChangeLog
========= =========
0.9.0:
- First release supporting Xilinx Kintex7.

View file

@ -0,0 +1,14 @@
.. _talks-and-publications:
======================
Talks and Publications
======================
- Migen / MiSoC documentation:
- `User guide <http://m-labs.hk/migen.pdf>`_ (`m-labs <https://github.com/m-labs>`_)
- `Tutorial: An introduction to Migen <http://m-labs.hk/migen-tutorial.pdf>`_ (`m-labs <https://github.com/m-labs>`_)
- Migen / MiSoC presentations:
- `Lecture slides <http://m-labs.hk/migen-slides.pdf>`_ (`sbourdeauducq <https://github.com/sbourdeauducq>`_)
- `EHSM 2012 presentation <https://www.youtube.com/watch?v=yxKMsAi_WEA>`_ (`sbourdeauducq <https://github.com/sbourdeauducq>`_)
- `ORCONF2014 <https://www.youtube.com/watch?v=AfEPbw4nREo>`_ (`fallen <https://github.com/fallen>`_)

View file

@ -1,11 +0,0 @@
.. _Talks-and-Publications:
======================
Talks and Publications
======================
Presentations
=============
Papers
======

View file

@ -1,16 +0,0 @@
.. _litesata-license:
===================
Open Source License
===================
LiteSATA is released under the very permissive two-clause BSD license. Under the
terms of this license, you are authorized to use LiteSATA for closed-source
proprietary designs.
Even though we do not require you to do so, those things are awesome, so please
do them if possible:
- tell us that you are using LiteSATA
- cite LiteSATA in publications related to research it has helped
- send us feedback and suggestions for improvements
- send us bug reports when something goes wrong
- send us the modifications and improvements you have done to LiteSATA.

View file

@ -3,3 +3,5 @@
======================== ========================
PHY PHY
======================== ========================
.. note::
Please contribute to this document, or support us financially to write it.

View file

@ -4,6 +4,9 @@
Simulation Simulation
======================== ========================
.. note::
Please contribute to this document, or support us financially to write it.
Simulations are available in ./lib/sata/test: Simulations are available in ./lib/sata/test:
- crc_tb - crc_tb
- scrambler_tb - scrambler_tb

View file

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

@ -1,7 +1,7 @@
.. _sata-index: .. _sata-index:
======================== ========================
SATA SATA Specification
======================== ========================
.. note:: .. note::
@ -14,10 +14,12 @@ and 8b/10b encoding. The link supports full duplex but the protocol only permits
in one direction at a time. The other non-data direction is used for flow control of the in one direction at a time. The other non-data direction is used for flow control of the
data stream data stream
.. image:: sata_layers.png .. figure:: sata_layers.png
:scale: 50 % :scale: 50 %
:align: center :align: center
SATA layers.
SATAs architecture consists of four layers, Application, Transport, Link, and Physical. SATAs 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
@ -34,10 +36,12 @@ into four bytes. Where each pair of bytes represent a word and a pair of words
represent a Dword. In this way its easy to see that odd number of bytes is not represent a Dword. In this way its easy to see that odd number of bytes is not
allowed in SATA communication. allowed in SATA communication.
.. image:: byte_word_dword.png .. figure:: byte_word_dword.png
:scale: 50 % :scale: 50 %
:align: center :align: center
Byte, Word, Dword definitions.
The Dwords can be represented by either a data Dword or a so called primitive. A The Dwords can be represented by either a data Dword or a so called primitive. A
primitive is a predefined Dword like for example start of frame (SOF) and end primitive is a predefined Dword like for example start of frame (SOF) and end
of frame (EOF). of frame (EOF).
@ -78,10 +82,12 @@ drive their output pins to the same voltage, resulting in a reduced difference a
when a preset threshold limit is reached the receiver can recognize the signal as when a preset threshold limit is reached the receiver can recognize the signal as
OOB. OOB.
.. image:: oob_signals.png .. figure:: oob_signals.png
:scale: 50 % :scale: 50 %
:align: center :align: center
OOB signals.
As can be seen in the figure there are three types of (actually two As can be seen in the figure there are three types of (actually two
since COMINIT and COMRESET are equal) valid OOB signals where bursts of since COMINIT and COMRESET are equal) valid OOB signals where bursts of
six ALIGN are sent with different timing. The importance in the signaling lies six ALIGN are sent with different timing. The importance in the signaling lies
@ -95,10 +101,12 @@ COMWAKE back. If this procedure is finished within a correct time the OOB signal
ends and the differential communication can proceed with determining the link speed ends and the differential communication can proceed with determining the link speed
(right part of the figure). (right part of the figure).
.. image:: oob_sequence.png .. figure:: oob_sequence.png
:scale: 50 % :scale: 50 %
:align: center :align: center
OOB init sequence.
Physical Layer Physical Layer
============== ==============
This section describes the physical interface towards the actual SATA link. This section describes the physical interface towards the actual SATA link.
@ -136,10 +144,12 @@ by applying the 32-bits generator polynomial G(x) in Equation on every bit in
every non-primitive Dword in a FIS and then summarize (modulo 2) all these terms every non-primitive Dword in a FIS and then summarize (modulo 2) all these terms
together with the Initial Value. The CRC is fixed to value of 0x52325032. together with the Initial Value. The CRC is fixed to value of 0x52325032.
.. image:: crc.png .. figure:: crc.png
:scale: 50 % :scale: 50 %
:align: center :align: center
CRC polynom.
Scrambling a FIS reduces EMI by spreading the noise over a broader frequency Scrambling a FIS reduces EMI by spreading the noise over a broader frequency
spectrum. The scrambling algorithm can be expressed as a polynomial or as a linear spectrum. The scrambling algorithm can be expressed as a polynomial or as a linear
feedback shift register. The scrambling creates a pseudorandom bit pattern of the feedback shift register. The scrambling creates a pseudorandom bit pattern of the
@ -147,10 +157,12 @@ data that reduces EMI. The algorithm resets to a of value of 0xFFFF every time a
is encountered at the scrambler. The de-scrambler uses the same algorithm on scrambled is encountered at the scrambler. The de-scrambler uses the same algorithm on scrambled
data so it retakes its original form. data so it retakes its original form.
.. image:: scrambler.png .. figure:: scrambler.png
:scale: 50 % :scale: 50 %
:align: center :align: center
Scrambler LFSR polynom.
It is important that the CRC calculations are made at original data and that It is important that the CRC calculations are made at original data and that
the scrambling/de-scrambling are made between the CRC and the 8b/10b encoding/decoding. the scrambling/de-scrambling are made between the CRC and the 8b/10b encoding/decoding.
The flow control between host and device is managed by sending The flow control between host and device is managed by sending
@ -193,7 +205,6 @@ 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 summerization found in Chapter 2 of Erik Landström's Thesis_.

View file

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View file

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

View file

@ -4,6 +4,9 @@
Test Test
======================== ========================
.. note::
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 Miscope and the provided ./test/test_link.py example you are able to By using Miscope 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 in

View file

@ -16,9 +16,9 @@ News
.. toctree:: .. toctree::
:hidden: :hidden:
docs/introducing_litesata/index docs/intro/index
docs/getting_started/index docs/getting_started/index
docs/sata/index docs/specification/index
docs/phy/index docs/phy/index
docs/core/index docs/core/index
docs/frontend/index docs/frontend/index