Sean Cross [Tue, 24 Sep 2019 06:30:28 +0000 (14:30 +0800)]
integration: add ModuleDoc and AutoDoc
It is important to be able to document modules other than CSRs.
This patch adds ModuleDoc and AutoDoc, both of which can be used
together to document modules.
ModuleDoc can be used to transform the __doc__ string of a class into a
reference-manual section. Alternately, it can be used to add additional
sections to a module.
AutoDoc is used to gather all submodule ModuleDoc objects in order to
traverse the tree of documentation.
Signed-off-by: Sean Cross <sean@xobs.io>
enjoy-digital [Fri, 20 Sep 2019 06:28:19 +0000 (08:28 +0200)]
Merge pull request #263 from xobs/spi-flash-csrfield
spi_flash: document register fields
Sean Cross [Fri, 20 Sep 2019 04:11:59 +0000 (12:11 +0800)]
spi_flash: document register fields
Document the various fields present in the SPI flash bitbang interface.
This adds documentation for the Single and DualQuad modules.
Signed-off-by: Sean Cross <sean@xobs.io>
enjoy-digital [Fri, 20 Sep 2019 04:25:57 +0000 (06:25 +0200)]
Merge pull request #262 from jersey99/master
vivado just needs to be in the path for the programmer as well
Vamsi K Vytla [Fri, 20 Sep 2019 03:35:55 +0000 (20:35 -0700)]
vivado just needs to be in the path for the programmer as well
enjoy-digital [Thu, 19 Sep 2019 09:40:55 +0000 (11:40 +0200)]
Merge pull request #261 from xobs/event-documentation
csr_eventmanager: add `name` and `description` args
Sean Cross [Thu, 19 Sep 2019 09:23:03 +0000 (17:23 +0800)]
csr_eventmanager: add `name` and `description` args
Add `name` and `description` as optional arguments to the various
EventSource types. These default to `None`, so this should be a
backwards-compatible change.
Use the same trick as CSRs, where we default the `name` to be the
instantiated object name as read from the Migen `get_obj_var_name()`
call.
Signed-off-by: Sean Cross <sean@xobs.io>
Florent Kermarrec [Thu, 19 Sep 2019 07:18:16 +0000 (09:18 +0200)]
cores/timer: add general documentation on Timer implementation and behavior.
Florent Kermarrec [Thu, 19 Sep 2019 03:16:01 +0000 (05:16 +0200)]
soc_sdram: improve readibility and convert l2_size to minimal allowed if provided l2_size is lower
Florent Kermarrec [Wed, 18 Sep 2019 08:47:54 +0000 (10:47 +0200)]
csr: add description to CSRStorage/CSRStatus attributes (thanks xobs)
Florent Kermarrec [Wed, 18 Sep 2019 08:45:38 +0000 (10:45 +0200)]
soc/cores/timer: fix typo (thanks xobs)
Florent Kermarrec [Wed, 18 Sep 2019 08:14:47 +0000 (10:14 +0200)]
soc/cores/timer/doc: rewrite a little bit, avoid some redundancy, change ident.
enjoy-digital [Wed, 18 Sep 2019 07:36:53 +0000 (09:36 +0200)]
Merge pull request #259 from xobs/document-timer
timer: add documentation
Sean Cross [Wed, 18 Sep 2019 07:06:20 +0000 (15:06 +0800)]
timer: add documentation
Now that CSRs have documentation support, add documentation to the basic
`Timer` module.
Signed-off-by: Sean Cross <sean@xobs.io>
Florent Kermarrec [Mon, 16 Sep 2019 15:02:55 +0000 (17:02 +0200)]
soc/cores/spi: use new CSRField (no functional change)
Florent Kermarrec [Mon, 16 Sep 2019 14:56:00 +0000 (16:56 +0200)]
soc/cores/bitbang: use new CSRField (no functional change)
enjoy-digital [Mon, 16 Sep 2019 07:16:20 +0000 (09:16 +0200)]
Merge pull request #257 from enjoy-digital/csr_fields
soc/interconnect/csr: add CSRField/documentation support, do some simplification on CSRStorage
Florent Kermarrec [Mon, 16 Sep 2019 06:48:05 +0000 (08:48 +0200)]
csr: update copyrights
Florent Kermarrec [Mon, 16 Sep 2019 06:45:29 +0000 (08:45 +0200)]
csr: more documentation
Florent Kermarrec [Mon, 16 Sep 2019 06:38:26 +0000 (08:38 +0200)]
csr/CSRStorage: remove storage_full (was only needed by alignment_bits)
Florent Kermarrec [Mon, 16 Sep 2019 06:36:25 +0000 (08:36 +0200)]
csr: use IntEnum for CSRAccess
Florent Kermarrec [Sun, 15 Sep 2019 17:47:48 +0000 (19:47 +0200)]
csr/CSRStorage: remove alignment_bits: complexify too much code for the few use-cases it's really useful
Florent Kermarrec [Sun, 15 Sep 2019 17:08:30 +0000 (19:08 +0200)]
csr/fields: document, add separators, 100 characters per line
Florent Kermarrec [Sat, 14 Sep 2019 19:57:23 +0000 (21:57 +0200)]
csr/fields: add access parameter
Florent Kermarrec [Sat, 14 Sep 2019 19:49:34 +0000 (21:49 +0200)]
csr/fields: add pulse mode support
Florent Kermarrec [Fri, 13 Sep 2019 18:01:31 +0000 (20:01 +0200)]
soc/interconnect/csr: add initial field support
Florent Kermarrec [Thu, 12 Sep 2019 15:07:56 +0000 (17:07 +0200)]
build/openocd: add set_qe parameter to flash
QE bit is not set on blank SPI flashes and need to be set when SPI X4 is enabled in the bistream to load the FPGA.
Florent Kermarrec [Thu, 12 Sep 2019 08:21:37 +0000 (10:21 +0200)]
tools/litex_term/upload: bufferize only chunks of the file instead of the entire file to speedup upload when used on embedded devices (RPI for example)
Florent Kermarrec [Wed, 11 Sep 2019 16:30:28 +0000 (18:30 +0200)]
soc/integration/cpu_interface: don't raise OSError if we are not going to compile software and compilation toolchain is not found
Florent Kermarrec [Tue, 10 Sep 2019 10:41:05 +0000 (12:41 +0200)]
soc/integration/builder: call do_exit with vns when build is done.
Florent Kermarrec [Mon, 9 Sep 2019 13:12:24 +0000 (15:12 +0200)]
Merge branch 'master' of github.com/enjoy-digital/litex
Florent Kermarrec [Mon, 9 Sep 2019 13:12:08 +0000 (15:12 +0200)]
soc/itnegration: update litedram
enjoy-digital [Mon, 9 Sep 2019 11:38:29 +0000 (13:38 +0200)]
Merge pull request #255 from sergachev/fix-crc32
fix crc32
Ilia Sergachev [Mon, 9 Sep 2019 11:19:43 +0000 (13:19 +0200)]
fix crc32
Florent Kermarrec [Mon, 9 Sep 2019 09:02:14 +0000 (11:02 +0200)]
interconnect/wishbone: add FlipFlop to allow UpConverter to be used
Note: a test should be added for Converter and DownConverter/UpConverter should be cleaned up
Florent Kermarrec [Fri, 6 Sep 2019 09:57:18 +0000 (11:57 +0200)]
build/openocd: add stream method for JTAG UART
Florent Kermarrec [Fri, 6 Sep 2019 09:56:42 +0000 (11:56 +0200)]
soc_core: add JTAG UART support (uart_name="jtag_uart)
Florent Kermarrec [Fri, 6 Sep 2019 09:55:41 +0000 (11:55 +0200)]
soc/cores/jtag: add Xilinx JTAG TAPs support and simple JTAG PHY (can be used for JTAG UART)
Florent Kermarrec [Thu, 5 Sep 2019 13:59:35 +0000 (15:59 +0200)]
soc_zynq: fix indent
Florent Kermarrec [Thu, 5 Sep 2019 13:55:18 +0000 (15:55 +0200)]
soc_zynq: fix typo
Florent Kermarrec [Thu, 5 Sep 2019 09:54:14 +0000 (11:54 +0200)]
soc/interconnect/stream: add Monitor module
Generic module to monitor endpoints activity: tokens/overflows/underflows that
can be plugged on a endpoint. Can be useful for various purpose:
- endpoint bandwidth calculation.
- underflows/overflows detection.
- etc...
enjoy-digital [Tue, 3 Sep 2019 05:23:32 +0000 (07:23 +0200)]
Merge pull request #254 from mithro/crc-smaller
Add @xobs' smaller CRC version
Tim 'mithro' Ansell [Mon, 2 Sep 2019 21:48:30 +0000 (14:48 -0700)]
Use `SMALL_CRC` to enable smaller CRC versions.
@xobs created a smaller code size version of the CRC functions. Enable
these if someone uses the `SMALL_CRC` define.
Tim 'mithro' Ansell [Mon, 2 Sep 2019 21:47:20 +0000 (14:47 -0700)]
Remove extra whitespace.
Sean Cross [Sun, 20 Jan 2019 23:25:01 +0000 (12:25 +1300)]
libbase: crc16: commit smaller version of crc16
Signed-off-by: Sean Cross <sean@xobs.io>
Sean Cross [Sun, 20 Jan 2019 23:24:40 +0000 (12:24 +1300)]
libbase: crc32: add smaller version
Signed-off-by: Sean Cross <sean@xobs.io>
Tim Ansell [Mon, 2 Sep 2019 21:42:22 +0000 (14:42 -0700)]
Merge pull request #252 from mithro/only-change-on-contents
Only write file if contents will change.
Tim 'mithro' Ansell [Thu, 29 Nov 2018 04:18:31 +0000 (20:18 -0800)]
Only write file if contents will change.
Florent Kermarrec [Sat, 31 Aug 2019 16:32:35 +0000 (18:32 +0200)]
soc/cores: simplify JTAGAtlantic (only keep alt_jtag_atlantic instance), move to jtag and allow selecting it as uart with uart_name"jtag_atlantic"
enjoy-digital [Sat, 31 Aug 2019 16:33:27 +0000 (18:33 +0200)]
Merge pull request #251 from micro-FPGA/master
atlantic JTAG UART working module
Antti Lukats [Fri, 30 Aug 2019 07:35:10 +0000 (09:35 +0200)]
Create atlantic.py
atlantic JTAG uart for Intel FPGA's, working and tested on Intel C10LP EK
Florent Kermarrec [Thu, 29 Aug 2019 07:46:20 +0000 (09:46 +0200)]
core/spi: add minimal SPISlave
Florent Kermarrec [Wed, 28 Aug 2019 03:15:45 +0000 (05:15 +0200)]
gen/fhdl/verilog: allow single element verilog inline attribute
Florent Kermarrec [Tue, 27 Aug 2019 12:06:13 +0000 (14:06 +0200)]
targets/nexys_video: generate clk100
Florent Kermarrec [Tue, 27 Aug 2019 07:45:44 +0000 (09:45 +0200)]
software/bios: switch to standard CRLF
Avoid setting terminal to "implicit CR in every LF" mode.
Florent Kermarrec [Mon, 26 Aug 2019 16:17:43 +0000 (18:17 +0200)]
tools/litex_term: add automatic check to see if we need to insert LF or not
Florent Kermarrec [Mon, 26 Aug 2019 15:15:01 +0000 (17:15 +0200)]
bios/tools: allow disabling CRC check on serialboot (to speedup debug/loading large images when only serial is available)
Florent Kermarrec [Mon, 26 Aug 2019 10:10:11 +0000 (12:10 +0200)]
tools/litex_term: add sdl_payload_length
Florent Kermarrec [Mon, 26 Aug 2019 07:27:19 +0000 (09:27 +0200)]
litex_setup: add litex-boards
enjoy-digital [Fri, 23 Aug 2019 19:36:51 +0000 (21:36 +0200)]
Merge pull request #246 from gsomlo/gls-native-rv64
software: use native toolchain for same host, target architectures
Gabriel L. Somlo [Fri, 23 Aug 2019 12:56:02 +0000 (08:56 -0400)]
software: use native toolchain for same host, target architectures
LiteX rightfully assumes that most often the target software must
be cross-compiled from an x86 host platform. However, LiteX can be
also built on a 'linux-riscv64' platform (e.g. Fedora's riscv64
port), where the software for riscv64 targets should be compiled
using the native toolchain.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
enjoy-digital [Sat, 17 Aug 2019 09:54:39 +0000 (11:54 +0200)]
Merge pull request #244 from atommann/master
changing http to https
atommann [Sat, 17 Aug 2019 08:02:10 +0000 (16:02 +0800)]
changing http to https
Antti Lukats [Fri, 16 Aug 2019 12:36:59 +0000 (14:36 +0200)]
Merge pull request #2 from enjoy-digital/master
update with hyperram and other changes
Florent Kermarrec [Fri, 16 Aug 2019 11:56:56 +0000 (13:56 +0200)]
soc/core: simplify/cleanup HyperRAM core
- rename core to hyperbus.
- change layout (cs_n with variable length instead of cs0_n, cs1_n).
- use DifferentialOutput when differential clock is used.
- add test (python3 -m unittest test.test_hyperbus).
Usage example:
from litex.soc.cores.hyperbus import HyperRAM
self.submodules.hyperram = HyperRAM(platform.request("hyperram"))
self.add_wb_slave(mem_decoder(self.mem_map["hyperram"]), self.hyperram.bus)
self.add_memory_region("hyperram", self.mem_map["hyperram"], 8*1024*1024)
Antti Lukats [Fri, 16 Aug 2019 08:31:53 +0000 (10:31 +0200)]
libero enable enhanced constraints
Libero 12.0 does not support any more classic constraint flow
Antti Lukats [Fri, 16 Aug 2019 07:46:15 +0000 (09:46 +0200)]
soc/cores: add initial simple hyperram core
Florent Kermarrec [Thu, 15 Aug 2019 11:44:36 +0000 (13:44 +0200)]
build/altera/quartus: add add_ip method to use Quartus QSYS files
platform.add_ip("my_ip.qsys")
Florent Kermarrec [Thu, 15 Aug 2019 07:26:25 +0000 (09:26 +0200)]
cpu_interface: add json csr map export, simplify csv csr map export using json
Florent Kermarrec [Wed, 14 Aug 2019 17:09:58 +0000 (19:09 +0200)]
bios/sdram: set init done after memtest (for standalone LiteDRAM controllers)
Florent Kermarrec [Wed, 14 Aug 2019 17:03:10 +0000 (19:03 +0200)]
build/xilinx/vivado: use "" for strings
Florent Kermarrec [Wed, 14 Aug 2019 17:02:01 +0000 (19:02 +0200)]
build/xilinx/vivado: remove with_phys_opt
enjoy-digital [Wed, 14 Aug 2019 16:58:15 +0000 (18:58 +0200)]
Merge pull request #243 from sergachev/master
build/xilinx/vivado: improve directive support
enjoy-digital [Wed, 14 Aug 2019 16:55:34 +0000 (18:55 +0200)]
Merge pull request #241 from railnova/zynq
[fix] prevent Vivado from inferring DSP48 in AXIBurst2Beat
Ilia Sergachev [Wed, 14 Aug 2019 15:49:13 +0000 (17:49 +0200)]
build/xilinx/vivado: improve directive support
chmousset [Wed, 14 Aug 2019 09:30:39 +0000 (11:30 +0200)]
[fix] prevent Vivado from inferring DSP48 in AXIBurst2Beat
Florent Kermarrec [Wed, 14 Aug 2019 05:35:45 +0000 (07:35 +0200)]
cores/spi_flash/S7SPIFlash: make cs_n optional in pads (when driven externally)
enjoy-digital [Tue, 13 Aug 2019 08:34:50 +0000 (10:34 +0200)]
Merge pull request #240 from danielkucera/patch-1
more understandable error when missing a memory
Daniel Kucera [Tue, 13 Aug 2019 08:14:16 +0000 (10:14 +0200)]
more understandable error when missing a memory
atommann [Mon, 12 Aug 2019 14:20:34 +0000 (22:20 +0800)]
Update .gitmodules
http to https
enjoy-digital [Sat, 10 Aug 2019 13:33:05 +0000 (15:33 +0200)]
Merge pull request #235 from gsomlo/gls-trellis-yosys-opt
build/lattice/trellis: use additional yosys optimization flags
Gabriel L. Somlo [Fri, 5 Jul 2019 20:28:23 +0000 (16:28 -0400)]
build/lattice/trellis: use abc9 techmapping pass with yosys
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Florent Kermarrec [Fri, 9 Aug 2019 11:26:31 +0000 (13:26 +0200)]
software/libbase/mdio: set data before clock, revert two cycle turnaround and test with different phys
Florent Kermarrec [Fri, 9 Aug 2019 10:33:10 +0000 (12:33 +0200)]
cores/cpu: add riscv-none-embed toolchain support to riscv32 cpus
Florent Kermarrec [Fri, 9 Aug 2019 08:31:53 +0000 (10:31 +0200)]
software/libase/mdio: cleanup and reduce raw_turnaround by 1 cycle
Florent Kermarrec [Fri, 9 Aug 2019 07:27:32 +0000 (09:27 +0200)]
cores/clock/S7PLL: fix -1/-3 speedgrade vco max freq swap
Florent Kermarrec [Fri, 9 Aug 2019 07:26:41 +0000 (09:26 +0200)]
software/bios: add Ethernet PHY MDIO read/write/dump commands
Florent Kermarrec [Thu, 8 Aug 2019 14:19:22 +0000 (16:19 +0200)]
altera/common: fix AsyncResetSynchronizer polarity and simplify
Florent Kermarrec [Thu, 8 Aug 2019 14:08:55 +0000 (16:08 +0200)]
build/xilinx/common: improve presentation
Florent Kermarrec [Thu, 8 Aug 2019 14:06:40 +0000 (16:06 +0200)]
microsemi/common: improve presentation
Florent Kermarrec [Thu, 8 Aug 2019 14:02:34 +0000 (16:02 +0200)]
build/altera/common: improve presentation
Florent Kermarrec [Wed, 7 Aug 2019 06:36:04 +0000 (08:36 +0200)]
platforms/default_clk_period: use 1e9/freq
Florent Kermarrec [Wed, 7 Aug 2019 06:29:59 +0000 (08:29 +0200)]
targets/minispartan6/crg: only keep S6PLL code
Florent Kermarrec [Wed, 7 Aug 2019 06:29:20 +0000 (08:29 +0200)]
cores/clock: juse use 1e9/freq instead of period_ns
Florent Kermarrec [Wed, 7 Aug 2019 06:18:54 +0000 (08:18 +0200)]
cores/clock/s6pll: add phase support
Florent Kermarrec [Wed, 7 Aug 2019 06:17:44 +0000 (08:17 +0200)]
cores/clock/xilinx: change clkfbout_mult loop order to select highest vco_freq
Florent Kermarrec [Tue, 6 Aug 2019 06:46:25 +0000 (08:46 +0200)]
litex_term: make sure to unconfigure console when board is unplugged
Florent Kermarrec [Tue, 6 Aug 2019 05:56:45 +0000 (07:56 +0200)]
soc/integration/builder: -x
Florent Kermarrec [Mon, 5 Aug 2019 08:36:38 +0000 (10:36 +0200)]
cores: -x on spi.py
Florent Kermarrec [Mon, 5 Aug 2019 07:08:56 +0000 (09:08 +0200)]
wishbone/SRAM: make read_only emited verilog code compatible with all tools
Quartus was not able to implement ROM correctly, see #228