2020-04-11 13:19:03 -04:00
|
|
|
```
|
|
|
|
__ _ __ ______ __
|
|
|
|
/ / (_) /____ / __/ /_/ /
|
|
|
|
/ /__/ / __/ -_) _// __/ _ \
|
|
|
|
/____/_/\__/\__/___/\__/_//_/
|
2015-09-07 07:28:02 -04:00
|
|
|
|
2020-04-11 13:19:03 -04:00
|
|
|
Copyright 2012-2020 / EnjoyDigital
|
|
|
|
|
|
|
|
A small footprint and configurable Ethernet core
|
|
|
|
powered by Migen & LiteX
|
|
|
|
```
|
|
|
|
|
2020-11-24 07:33:40 -05:00
|
|
|
[![](https://github.com/enjoy-digital/liteeth/workflows/ci/badge.svg)](https://github.com/enjoy-digital/liteeth/actions) ![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)
|
2015-09-07 07:28:02 -04:00
|
|
|
|
|
|
|
|
|
|
|
[> Intro
|
2018-02-22 04:12:33 -05:00
|
|
|
--------
|
2015-09-07 07:28:02 -04:00
|
|
|
LiteEth provides a small footprint and configurable Ethernet core.
|
|
|
|
|
2015-11-13 17:51:23 -05:00
|
|
|
LiteEth is part of LiteX libraries whose aims are to lower entry level of
|
2015-09-07 07:28:02 -04:00
|
|
|
complex FPGA cores by providing simple, elegant and efficient implementations
|
2018-02-22 04:12:33 -05:00
|
|
|
of components used in today's SoC such as Ethernet, SATA, PCIe, SDRAM Controller...
|
2015-09-07 07:28:02 -04:00
|
|
|
|
2018-08-31 02:26:37 -04:00
|
|
|
Using Migen to describe the HDL allows the core to be highly and easily configurable.
|
2015-09-07 07:28:02 -04:00
|
|
|
|
2015-11-13 17:51:23 -05:00
|
|
|
LiteEth can be used as LiteX library or can be integrated with your standard
|
2015-09-07 07:28:02 -04:00
|
|
|
design flow by generating the verilog rtl that you will use as a standard core.
|
|
|
|
|
|
|
|
[> Features
|
2018-02-22 04:12:33 -05:00
|
|
|
-----------
|
|
|
|
PHY:
|
2018-08-31 02:26:37 -04:00
|
|
|
- MII, RMII 100Mbps PHYs.
|
|
|
|
- GMII / RGMII /1000BaseX 1Gbps PHYs.
|
2020-04-11 13:19:03 -04:00
|
|
|
|
2018-02-22 04:12:33 -05:00
|
|
|
Core:
|
2018-08-31 02:26:37 -04:00
|
|
|
- Configurable MAC (HW or SW interface)
|
|
|
|
- ARP / ICMP / UDP (HW or SW)
|
2020-04-11 13:19:03 -04:00
|
|
|
|
2018-02-22 04:12:33 -05:00
|
|
|
Frontend:
|
2018-08-31 02:26:37 -04:00
|
|
|
- Etherbone (Wishbone over UDP: Slave or Master support)
|
2015-10-24 06:56:14 -04:00
|
|
|
|
2015-10-24 08:33:26 -04:00
|
|
|
[> FPGA Proven
|
|
|
|
---------------
|
2015-10-24 08:00:33 -04:00
|
|
|
LiteEth is already used in commercial and open-source designs:
|
2015-10-24 06:56:14 -04:00
|
|
|
- MiSoC: http://m-labs.hk/gateware.html
|
|
|
|
- ARTIQ: http://m-labs.hk/artiq/index.html
|
|
|
|
- HDMI2USB: http://hdmi2usb.tv/home/
|
|
|
|
- and others commercial designs...
|
2015-09-07 07:28:02 -04:00
|
|
|
|
|
|
|
[> Possible improvements
|
2018-02-22 04:12:33 -05:00
|
|
|
------------------------
|
2015-09-07 07:28:02 -04:00
|
|
|
- add standardized interfaces (AXI, Avalon-ST)
|
|
|
|
- add DMA interface to MAC
|
2015-10-24 06:56:14 -04:00
|
|
|
- add more documentation
|
2015-09-07 07:28:02 -04:00
|
|
|
- ... See below Support and consulting :)
|
|
|
|
|
|
|
|
If you want to support these features, please contact us at florent [AT]
|
2018-02-22 04:12:33 -05:00
|
|
|
enjoy-digital.fr.
|
2015-09-07 07:28:02 -04:00
|
|
|
|
|
|
|
[> Getting started
|
2018-02-22 04:12:33 -05:00
|
|
|
------------------
|
2020-04-11 13:19:03 -04:00
|
|
|
1. Install Python 3.6+ and FPGA vendor's development tools.
|
2020-11-23 06:53:28 -05:00
|
|
|
2. Install LiteX and the cores by following the LiteX's wiki [installation guide](https://github.com/enjoy-digital/litex/wiki/Installation).
|
|
|
|
3. You can find examples of integration of the core with LiteX in LiteX-Boards and in the examples directory.
|
2015-09-07 07:28:02 -04:00
|
|
|
|
2015-10-24 06:56:14 -04:00
|
|
|
[> Tests
|
2018-02-22 04:12:33 -05:00
|
|
|
--------
|
|
|
|
Unit tests are available in ./test/.
|
|
|
|
To run all the unit tests:
|
2020-04-11 13:19:03 -04:00
|
|
|
```sh
|
|
|
|
$ ./setup.py test
|
|
|
|
```
|
|
|
|
|
2018-02-22 04:12:33 -05:00
|
|
|
Tests can also be run individually:
|
2020-04-11 13:19:03 -04:00
|
|
|
```sh
|
|
|
|
$ python3 -m unittest test.test_name
|
|
|
|
```
|
2015-09-07 07:28:02 -04:00
|
|
|
|
|
|
|
[> License
|
2018-02-22 04:12:33 -05:00
|
|
|
----------
|
2015-09-07 07:28:02 -04:00
|
|
|
LiteEth is released under the very permissive two-clause BSD license. Under
|
|
|
|
the terms of this license, you are authorized to use LiteEth 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 LiteEth
|
|
|
|
- cite LiteEth 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 LiteEth.
|
|
|
|
|
|
|
|
[> Support and consulting
|
2018-02-22 04:12:33 -05:00
|
|
|
-------------------------
|
2015-09-07 07:28:02 -04:00
|
|
|
We love open-source hardware and like sharing our designs with others.
|
|
|
|
|
2018-02-22 04:12:33 -05:00
|
|
|
LiteEth is developed and maintained by EnjoyDigital.
|
2015-09-07 07:28:02 -04:00
|
|
|
|
|
|
|
If you would like to know more about LiteEth 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
|
2018-02-22 04:12:33 -05:00
|
|
|
----------
|
2015-09-07 07:28:02 -04:00
|
|
|
E-mail: florent [AT] enjoy-digital.fr
|