2020-04-11 13:52:08 -04:00
|
|
|
```
|
|
|
|
__ _ __ ____
|
|
|
|
/ / (_) /____ / __/______ ___ ___
|
|
|
|
/ /__/ / __/ -_)\ \/ __/ _ \/ _ \/ -_)
|
|
|
|
/____/_/\__/\__/___/\__/\___/ .__/\__/
|
|
|
|
/_/
|
|
|
|
Copyright 2015-2020 / EnjoyDigital
|
|
|
|
|
|
|
|
A small footprint and configurable Logic Analyzer
|
|
|
|
core powered by Migen & LiteX
|
|
|
|
```
|
|
|
|
|
2020-11-24 07:55:54 -05:00
|
|
|
[![](https://github.com/enjoy-digital/litescope/workflows/ci/badge.svg)](https://github.com/enjoy-digital/litescope/actions) ![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)
|
2015-09-07 05:49:54 -04:00
|
|
|
|
|
|
|
|
|
|
|
[> Intro
|
2017-06-22 11:00:16 -04:00
|
|
|
--------
|
2018-02-22 04:18:17 -05:00
|
|
|
LiteScope provides a small footprint and configurable embedded logic analyzer that you
|
2015-09-07 05:49:54 -04:00
|
|
|
can use in your FPGA and aims to provide a free, portable and flexible
|
|
|
|
alternative to vendor's solutions!
|
|
|
|
|
2015-11-13 17:55:12 -05:00
|
|
|
LiteScope is part of LiteX libraries whose aims are to lower entry level of
|
2015-10-24 08:13:31 -04:00
|
|
|
complex FPGA cores by providing simple, elegant and efficient implementations
|
2015-11-13 17:55:12 -05:00
|
|
|
of components used in today's SoC such as Ethernet, SATA, PCIe, SDRAM Controller...
|
2015-09-07 05:49:54 -04:00
|
|
|
|
2018-08-31 02:34:09 -04:00
|
|
|
Using Migen to describe the HDL allows the core to be highly and easily configurable.
|
2015-11-04 04:10:12 -05:00
|
|
|
|
2015-11-13 17:55:12 -05:00
|
|
|
LiteScope can be used as LiteX library or can be integrated with your standard
|
2015-10-24 08:13:31 -04:00
|
|
|
design flow by generating the verilog rtl that you will use as a standard core.
|
2015-09-07 05:49:54 -04:00
|
|
|
|
|
|
|
[> Features
|
2017-06-22 11:00:16 -04:00
|
|
|
-----------
|
2018-08-31 02:34:09 -04:00
|
|
|
- IO peek and poke with LiteScopeIO.
|
2016-03-31 05:37:00 -04:00
|
|
|
- Logic analyser with LiteScopeAnalyzer:
|
2018-08-31 02:34:09 -04:00
|
|
|
- Subsampling.
|
|
|
|
- Data storage in Block RAM.
|
|
|
|
- Configurable triggers.
|
2015-09-07 05:49:54 -04:00
|
|
|
- Bridges:
|
2018-08-31 02:34:09 -04:00
|
|
|
- UART <--> Wishbone (provided by LiteX)
|
|
|
|
- Ethernet <--> Wishbone ("Etherbone") (provided by LiteEth)
|
|
|
|
- PCIe <--> Wishbone (provided by LitePCIe)
|
2015-10-24 08:13:31 -04:00
|
|
|
- Exports formats: .vcd, .sr(sigrok), .csv, .py, etc...
|
|
|
|
|
|
|
|
[> Proven
|
2017-06-22 11:00:16 -04:00
|
|
|
---------
|
2018-02-22 04:18:17 -05:00
|
|
|
LiteScope has already been used to investigate issues on several commercial or
|
|
|
|
open-source designs.
|
2015-09-07 05:49:54 -04:00
|
|
|
|
|
|
|
[> Possible improvements
|
2017-06-22 11:00:16 -04:00
|
|
|
------------------------
|
2015-09-07 05:49:54 -04:00
|
|
|
- add standardized interfaces (AXI, Avalon-ST)
|
|
|
|
- add protocols analyzers
|
|
|
|
- add signals injection/generation
|
|
|
|
- add storage in DRAM
|
2015-10-24 08:13:31 -04:00
|
|
|
- add storage in HDD with LiteSATA core
|
2015-09-07 05:49:54 -04:00
|
|
|
- ... See below Support and consulting :)
|
|
|
|
|
|
|
|
If you want to support these features, please contact us at florent [AT]
|
2018-02-22 04:18:17 -05:00
|
|
|
enjoy-digital.fr.
|
2015-09-07 05:49:54 -04:00
|
|
|
|
|
|
|
[> Getting started
|
2017-06-22 11:00:16 -04:00
|
|
|
------------------
|
2020-04-11 13:52:08 -04:00
|
|
|
1. Install Python 3.6+ and FPGA vendor's development tools.
|
2020-08-07 17:10:29 -04: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 05:49:54 -04:00
|
|
|
|
2018-02-22 04:18:17 -05:00
|
|
|
[> Tests
|
|
|
|
--------
|
|
|
|
Unit tests are available in ./test/.
|
|
|
|
To run all the unit tests:
|
2020-04-11 13:52:08 -04:00
|
|
|
```sh
|
|
|
|
$ ./setup.py test
|
|
|
|
```
|
|
|
|
|
2018-02-22 04:18:17 -05:00
|
|
|
Tests can also be run individually:
|
2020-04-11 13:52:08 -04:00
|
|
|
```sh
|
|
|
|
$ python3 -m unittest test.test_name
|
|
|
|
```
|
2015-09-07 05:49:54 -04:00
|
|
|
|
|
|
|
[> License
|
2017-06-22 11:00:16 -04:00
|
|
|
----------
|
2015-10-24 08:13:31 -04:00
|
|
|
LiteScope is released under the very permissive two-clause BSD license. Under
|
|
|
|
the terms of this license, you are authorized to use LiteScope for closed-source
|
2015-09-07 05:49:54 -04:00
|
|
|
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 LiteScope
|
|
|
|
- cite LiteScope 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 LiteScope.
|
|
|
|
|
|
|
|
[> Support and consulting
|
2017-06-22 11:00:16 -04:00
|
|
|
-------------------------
|
2015-09-07 05:49:54 -04:00
|
|
|
We love open-source hardware and like sharing our designs with others.
|
|
|
|
|
2018-02-22 04:18:17 -05:00
|
|
|
LiteScope is developed and maintained by EnjoyDigital.
|
2015-09-07 05:49:54 -04:00
|
|
|
|
2018-02-22 04:18:17 -05:00
|
|
|
If you would like to know more about LiteScope or if you are already a happy
|
|
|
|
user and would like to extend it for your needs, EnjoyDigital can provide standard
|
2015-09-07 05:49:54 -04:00
|
|
|
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
|
2017-06-22 11:00:16 -04:00
|
|
|
----------
|
2015-09-07 05:49:54 -04:00
|
|
|
E-mail: florent [AT] enjoy-digital.fr
|