litex.git
5 years agosoc/cores/clock: add expose_drp on S7PLL/S7MMCM
Florent Kermarrec [Fri, 28 Sep 2018 11:02:10 +0000 (13:02 +0200)]
soc/cores/clock: add expose_drp on S7PLL/S7MMCM

5 years agoMerge pull request #109 from cr1901/xip-improve
enjoy-digital [Tue, 25 Sep 2018 13:32:04 +0000 (15:32 +0200)]
Merge pull request #109 from cr1901/xip-improve

Improve XIP Support

5 years agotargets: use new clock abstraction on all 7-series targets
Florent Kermarrec [Tue, 25 Sep 2018 07:31:30 +0000 (09:31 +0200)]
targets: use new clock abstraction on all 7-series targets

5 years agosoc/cores/clock: different clkin_freq_range for pll and mmcm
Florent Kermarrec [Tue, 25 Sep 2018 07:09:47 +0000 (09:09 +0200)]
soc/cores/clock: different clkin_freq_range for pll and mmcm

5 years agosoc/cores/clock: different vco_freq_range for pll and mmcm
Florent Kermarrec [Tue, 25 Sep 2018 07:04:38 +0000 (09:04 +0200)]
soc/cores/clock: different vco_freq_range for pll and mmcm

5 years agosoc/core/clock: allow selecting buffer type (None, BUFG, BUFR). (default = BUFG)
Florent Kermarrec [Tue, 25 Sep 2018 06:35:50 +0000 (08:35 +0200)]
soc/core/clock: allow selecting buffer type (None, BUFG, BUFR). (default = BUFG)

5 years agosoc/cores/clock: create specific S7IDELAYCTRL module
Florent Kermarrec [Mon, 24 Sep 2018 21:22:59 +0000 (23:22 +0200)]
soc/cores/clock: create specific S7IDELAYCTRL module

5 years agosoc/cores/clock: add S7MMCM support
Florent Kermarrec [Mon, 24 Sep 2018 21:20:12 +0000 (23:20 +0200)]
soc/cores/clock: add S7MMCM support

5 years agosoc/cores/clocks/S7PLL: add speedgrade support, default to -1 (slowest)
Florent Kermarrec [Mon, 24 Sep 2018 20:58:23 +0000 (22:58 +0200)]
soc/cores/clocks/S7PLL: add speedgrade support, default to -1 (slowest)

5 years agotargets/arty: use new clock abstraction module (compile, untested on board)
Florent Kermarrec [Mon, 24 Sep 2018 20:49:30 +0000 (22:49 +0200)]
targets/arty: use new clock abstraction module (compile, untested on board)

5 years agosoc/cores: init clock abstraction module
Florent Kermarrec [Mon, 24 Sep 2018 18:25:57 +0000 (20:25 +0200)]
soc/cores: init clock abstraction module

5 years agoDistinguish crt0 variants more clearly, update BIOS to use CTR variant (as it has...
William D. Jones [Mon, 24 Sep 2018 18:48:54 +0000 (14:48 -0400)]
Distinguish crt0 variants more clearly, update BIOS to use CTR variant (as it has no .data section).

5 years agointegration/builder: Create EXECUTE_IN_PLACE Makefile variable to complement COPY_TO_...
William D. Jones [Mon, 24 Sep 2018 16:28:45 +0000 (12:28 -0400)]
integration/builder: Create EXECUTE_IN_PLACE Makefile variable to complement COPY_TO_MAIN_RAM.

5 years agointegration/builder: Add LiteX define to generated variables (to distinguish MiSoC...
William D. Jones [Mon, 24 Sep 2018 15:04:57 +0000 (11:04 -0400)]
integration/builder: Add LiteX define to generated variables (to distinguish MiSoC and LiteX).

5 years agosim/verilator: add multithread support (default=1)
Florent Kermarrec [Mon, 24 Sep 2018 10:43:29 +0000 (12:43 +0200)]
sim/verilator: add multithread support (default=1)

5 years agosoc_core: use cpu instead of cpu_or_bridge internally (keep retro-compat for now)
Florent Kermarrec [Mon, 24 Sep 2018 08:59:32 +0000 (10:59 +0200)]
soc_core: use cpu instead of cpu_or_bridge internally (keep retro-compat for now)

5 years agoboards/targets: uniformize things between targets
Florent Kermarrec [Mon, 24 Sep 2018 08:58:10 +0000 (10:58 +0200)]
boards/targets: uniformize things between targets

5 years agosoc_core/get_mem_data: add endianness support and use it in builder/initialize_rom...
Florent Kermarrec [Mon, 24 Sep 2018 06:01:32 +0000 (08:01 +0200)]
soc_core/get_mem_data: add endianness support and use it in builder/initialize_rom to avoid duplication

5 years agocores/cpu: add software informations to cpu and simplify cpu_interface
Florent Kermarrec [Mon, 24 Sep 2018 00:45:05 +0000 (02:45 +0200)]
cores/cpu: add software informations to cpu and simplify cpu_interface

5 years agoboards/plarforms: fix issues found while testing simple design on all platforms
Florent Kermarrec [Mon, 24 Sep 2018 00:03:30 +0000 (02:03 +0200)]
boards/plarforms: fix issues found while testing simple design on all platforms

5 years agotest/test_targets: test simple design with all platforms
Florent Kermarrec [Mon, 24 Sep 2018 00:01:47 +0000 (02:01 +0200)]
test/test_targets: test simple design with all platforms

5 years agosoc_core: add uart-stub argument
Florent Kermarrec [Mon, 24 Sep 2018 00:01:15 +0000 (02:01 +0200)]
soc_core: add uart-stub argument

5 years agosetup.py: add litex_simple exec (to ease building simple design)
Florent Kermarrec [Sun, 23 Sep 2018 23:24:51 +0000 (01:24 +0200)]
setup.py: add litex_simple exec (to ease building simple design)

5 years agotest/test_targets: update and reorganize targets
Florent Kermarrec [Sun, 23 Sep 2018 23:15:33 +0000 (01:15 +0200)]
test/test_targets: update and reorganize targets

5 years agoease RemoteClient import
Florent Kermarrec [Sun, 23 Sep 2018 08:23:00 +0000 (10:23 +0200)]
ease RemoteClient import

5 years agoMerge pull request #108 from xobs/use-csr-accessors
enjoy-digital [Sun, 23 Sep 2018 07:59:37 +0000 (09:59 +0200)]
Merge pull request #108 from xobs/use-csr-accessors

Use csr accessors when generating `csr.h`

5 years agocsr: use external csr_readl()/csr_writel() if present
Sean Cross [Sat, 22 Sep 2018 14:33:15 +0000 (16:33 +0200)]
csr: use external csr_readl()/csr_writel() if present

If the variable CSR_ACCESSORS_DEFINED is set, then use external
csr_readl() and csr_writel() instead of locally-generated inline
functions.

With this patch, csr.h can be used with etherbone.h and litex_server to
prototype drivers remotely.

Signed-off-by: Sean Cross <sean@xobs.io>
5 years agocsr: use readl()/writel() accessors for accessing mmio
Sean Cross [Sat, 22 Sep 2018 14:30:05 +0000 (16:30 +0200)]
csr: use readl()/writel() accessors for accessing mmio

Instead of directly dereferencing pointers, use variants on readl()/writel().
This way we can replace these functions with others for remote access
when writing drivers and code outside of the litex environment.

Signed-off-by: Sean Cross <sean@xobs.io>
5 years agoMerge pull request #106 from cr1901/data-crt0
Tim Ansell [Sat, 22 Sep 2018 14:21:35 +0000 (15:21 +0100)]
Merge pull request #106 from cr1901/data-crt0

libbase/crt0-lm32.S: Add provisions for loading .data from flash.

5 years agolibbase/crt0-lm32.S: Add provisions for loading .data from flash.
William D. Jones [Fri, 21 Sep 2018 14:14:50 +0000 (10:14 -0400)]
libbase/crt0-lm32.S: Add provisions for loading .data from flash.

:100644 100644 e0cd7153 34428845 M litex/soc/software/libbase/crt0-lm32.S

5 years agoREADME: add migen/litex clarification
Florent Kermarrec [Fri, 21 Sep 2018 05:37:31 +0000 (07:37 +0200)]
README: add migen/litex clarification

5 years agotargets/sim: generate analyzer.csv
Florent Kermarrec [Thu, 20 Sep 2018 10:20:48 +0000 (12:20 +0200)]
targets/sim: generate analyzer.csv

5 years agotargets/sim: generate csr.csv
Florent Kermarrec [Thu, 20 Sep 2018 09:17:18 +0000 (11:17 +0200)]
targets/sim: generate csr.csv

5 years agotargets/sim: add rom-init
Florent Kermarrec [Wed, 19 Sep 2018 23:14:00 +0000 (01:14 +0200)]
targets/sim: add rom-init

5 years agotargets/sim: add ram-init param to allow initializing ram from file (faster than...
Florent Kermarrec [Wed, 19 Sep 2018 22:49:38 +0000 (00:49 +0200)]
targets/sim: add ram-init param to allow initializing ram from file (faster than tftp)

5 years agointegration/soc_core: add get_mem_data function to read memory content from file
Florent Kermarrec [Wed, 19 Sep 2018 22:46:06 +0000 (00:46 +0200)]
integration/soc_core: add get_mem_data function to read memory content from file

5 years agosoc/intergration/builder: fix when no sdram
Florent Kermarrec [Wed, 19 Sep 2018 21:59:42 +0000 (23:59 +0200)]
soc/intergration/builder: fix when no sdram

5 years agotargets/sim: merge in a single class and ease configuration
Florent Kermarrec [Wed, 19 Sep 2018 20:19:51 +0000 (22:19 +0200)]
targets/sim: merge in a single class and ease configuration

5 years agoMerge branch 'master' of http://github.com/enjoy-digital/litex
Florent Kermarrec [Wed, 19 Sep 2018 17:21:14 +0000 (19:21 +0200)]
Merge branch 'master' of github.com/enjoy-digital/litex

5 years agotargets: replace MiniSoC with EthernetSoC
Florent Kermarrec [Wed, 19 Sep 2018 17:19:50 +0000 (19:19 +0200)]
targets: replace MiniSoC with EthernetSoC

5 years agotargets/sim: add EtherboneSoC target (allow accessing wishbone over in simulation...
Florent Kermarrec [Wed, 19 Sep 2018 17:17:32 +0000 (19:17 +0200)]
targets/sim: add EtherboneSoC target (allow accessing wishbone over in simulation with litex_server)

5 years agoMerge pull request #101 from cr1901/icestorm-migen-pull
enjoy-digital [Tue, 18 Sep 2018 06:19:09 +0000 (08:19 +0200)]
Merge pull request #101 from cr1901/icestorm-migen-pull

Icestorm Improvements

5 years agoPull in b2740d9 from Migen. nextpnr now default, write out build scripts on dry run.
William D. Jones [Tue, 18 Sep 2018 01:17:24 +0000 (21:17 -0400)]
Pull in b2740d9 from Migen. nextpnr now default, write out build scripts on dry run.

5 years agobios/sdram: mode sdhw()
Florent Kermarrec [Thu, 13 Sep 2018 04:33:54 +0000 (06:33 +0200)]
bios/sdram: mode sdhw()

5 years agobios/sdram: add missing #ifdef
Florent Kermarrec [Thu, 13 Sep 2018 04:30:37 +0000 (06:30 +0200)]
bios/sdram: add missing #ifdef

5 years agotargets: self.pll_sys --> pll_sys
Florent Kermarrec [Thu, 13 Sep 2018 03:31:35 +0000 (05:31 +0200)]
targets: self.pll_sys --> pll_sys

5 years agobios/sdram: show all read scans when failing.
Florent Kermarrec [Thu, 13 Sep 2018 03:26:51 +0000 (05:26 +0200)]
bios/sdram: show all read scans when failing.

5 years agocpu/lm32: re-enable multiplier/divider in minimal variant (does not seem to work...
Florent Kermarrec [Wed, 12 Sep 2018 04:02:23 +0000 (06:02 +0200)]
cpu/lm32: re-enable multiplier/divider in minimal variant (does not seem to work correctly on hardware otherwise)

5 years agosoc_sdram: update with litedram
Florent Kermarrec [Sun, 9 Sep 2018 00:10:50 +0000 (02:10 +0200)]
soc_sdram: update with litedram

5 years agoMerge pull request #99 from cr1901/mk-copy-main-ram
enjoy-digital [Sat, 8 Sep 2018 01:55:23 +0000 (03:55 +0200)]
Merge pull request #99 from cr1901/mk-copy-main-ram

Add COPY_TO_MAIN_RAM generated Makefile variable to distinguish systems with/without "main_ram" region.

5 years agoAdd COPY_TO_MAIN_RAM generated Makefile variable to distinguish systems with/without...
William D. Jones [Sat, 8 Sep 2018 01:49:24 +0000 (21:49 -0400)]
Add COPY_TO_MAIN_RAM generated Makefile variable to distinguish systems with/without main_ram region.

5 years agoMerge pull request #100 from cr1901/tinyprog-fix
enjoy-digital [Sat, 8 Sep 2018 01:48:04 +0000 (03:48 +0200)]
Merge pull request #100 from cr1901/tinyprog-fix

lattice/programmer: Use --program-image option with tinyprog if addre…

5 years agosoc_sdram: revert vivado l2 cache workaround (still seems to cause issues on some...
Florent Kermarrec [Fri, 7 Sep 2018 09:51:17 +0000 (11:51 +0200)]
soc_sdram: revert vivado l2 cache workaround (still seems to cause issues on some cases...)

5 years agotargets: pass endianness to LiteEThMAC, tftp working with RISC-V, still need to fix...
Florent Kermarrec [Fri, 7 Sep 2018 08:37:15 +0000 (10:37 +0200)]
targets: pass endianness to LiteEThMAC, tftp working with RISC-V, still need to fix txlen

5 years agolattice/programmer: Use --program-image option with tinyprog if address is given.
William D. Jones [Fri, 7 Sep 2018 08:05:49 +0000 (04:05 -0400)]
lattice/programmer: Use --program-image option with tinyprog if address is given.

5 years agolibnet/microudp: (WIP) fix endianness issues
Jean-François Nguyen [Mon, 3 Sep 2018 18:31:16 +0000 (20:31 +0200)]
libnet/microudp: (WIP) fix endianness issues

5 years agoMerge pull request #98 from jfng/fix_typo
enjoy-digital [Thu, 6 Sep 2018 16:23:29 +0000 (18:23 +0200)]
Merge pull request #98 from jfng/fix_typo

fix typo and unused include

5 years agofix typo and unused include
Jean-François Nguyen [Thu, 6 Sep 2018 15:07:14 +0000 (17:07 +0200)]
fix typo and unused include

5 years agocpu/minerva: add workaround on import until code is released
Florent Kermarrec [Thu, 6 Sep 2018 14:40:30 +0000 (16:40 +0200)]
cpu/minerva: add workaround on import until code is released

5 years agosetup.py: create litex_sim exec to ease simulation
Florent Kermarrec [Thu, 6 Sep 2018 06:48:14 +0000 (08:48 +0200)]
setup.py: create litex_sim exec to ease simulation

5 years agoadd Minerva support
Jean-François Nguyen [Wed, 5 Sep 2018 18:36:17 +0000 (20:36 +0200)]
add Minerva support

5 years agolitex_server: update pcie and remove bar_size parameter
Florent Kermarrec [Wed, 5 Sep 2018 11:01:51 +0000 (13:01 +0200)]
litex_server: update pcie and remove bar_size parameter

5 years agoMerge pull request #96 from cr1901/tinyfpga_bx
Tim Ansell [Tue, 4 Sep 2018 03:49:33 +0000 (20:49 -0700)]
Merge pull request #96 from cr1901/tinyfpga_bx

build/platforms: Add TinyFPGA BX board and programmer.

5 years agobuild/platforms: Add TinyFPGA BX board and programmer.
William D. Jones [Tue, 28 Aug 2018 21:08:45 +0000 (17:08 -0400)]
build/platforms: Add TinyFPGA BX board and programmer.

5 years agoMerge pull request #95 from cr1901/lm32-lite
Tim Ansell [Tue, 4 Sep 2018 03:13:45 +0000 (20:13 -0700)]
Merge pull request #95 from cr1901/lm32-lite

Add lm32 "lite" variant, remove mult/div from "minimal" and update compiler flags accordingly.

5 years agoAdd lm32 "lite" variant, remove mult/div from "minimal" and update compiler flags...
William D. Jones [Mon, 3 Sep 2018 23:48:19 +0000 (19:48 -0400)]
Add lm32 "lite" variant, remove mult/div from "minimal" and update compiler flags accordingly.

5 years agoREADME: update
Florent Kermarrec [Fri, 31 Aug 2018 06:44:22 +0000 (08:44 +0200)]
README: update

5 years agoMerge pull request #94 from cr1901/nextpnr
enjoy-digital [Tue, 28 Aug 2018 09:46:35 +0000 (11:46 +0200)]
Merge pull request #94 from cr1901/nextpnr

lattice/icestorm: Add nextpnr pnr as alternate pnr tool.

5 years agolattice/icestorm: Add nextpnr pnr as alternate pnr tool.
William D. Jones [Tue, 28 Aug 2018 09:17:32 +0000 (05:17 -0400)]
lattice/icestorm: Add nextpnr pnr as alternate pnr tool.

5 years agoMerge pull request #93 from phlipped/master
Tim Ansell [Fri, 24 Aug 2018 04:08:28 +0000 (14:08 +1000)]
Merge pull request #93 from phlipped/master

Fix URL for liteUSB

5 years agoFix URL for liteUSB
phlipped [Fri, 24 Aug 2018 04:03:16 +0000 (14:03 +1000)]
Fix URL for liteUSB

5 years agoMerge pull request #91 from cr1901/ignore-fix
Tim Ansell [Thu, 23 Aug 2018 03:17:40 +0000 (13:17 +1000)]
Merge pull request #91 from cr1901/ignore-fix

.gitignore: litex/build contains valid source, so exclude from .gitig…

5 years agoMerge pull request #92 from cr1901/l2-gate
Tim Ansell [Thu, 23 Aug 2018 03:15:49 +0000 (13:15 +1000)]
Merge pull request #92 from cr1901/l2-gate

software/bios: Gate flush_l2_cache() if L2 Cache isn't present.

5 years ago.gitignore: litex/build contains valid source, so exclude from .gitignore.
William D. Jones [Thu, 23 Aug 2018 03:04:20 +0000 (23:04 -0400)]
.gitignore: litex/build contains valid source, so exclude from .gitignore.

5 years agosoftware/bios: Gate flush_l2_cache() if L2 Cache isn't present.
William D. Jones [Thu, 23 Aug 2018 03:03:08 +0000 (23:03 -0400)]
software/bios: Gate flush_l2_cache() if L2 Cache isn't present.

5 years agobios/sdram: improve/simplify read window selection
Florent Kermarrec [Wed, 22 Aug 2018 21:15:32 +0000 (23:15 +0200)]
bios/sdram: improve/simplify read window selection

Compute a score for each window and select the best

5 years agosim: run as root only when needed (ethernet module present)
Florent Kermarrec [Wed, 22 Aug 2018 13:20:28 +0000 (15:20 +0200)]
sim: run as root only when needed (ethernet module present)

5 years agobuilder: change call to get_sdram_phy_c_header and also pass timing_settings
Florent Kermarrec [Wed, 22 Aug 2018 12:28:37 +0000 (14:28 +0200)]
builder: change call to get_sdram_phy_c_header and also pass timing_settings

5 years agosoc_sdram: cosmetic
Florent Kermarrec [Wed, 22 Aug 2018 11:40:22 +0000 (13:40 +0200)]
soc_sdram: cosmetic

5 years agosoc_sdram: vivado is now able to implement the l2_cache correctly (tested with vivado...
Florent Kermarrec [Wed, 22 Aug 2018 11:28:23 +0000 (13:28 +0200)]
soc_sdram: vivado is now able to implement the l2_cache correctly (tested with vivado 2017.2 and >)

5 years agosoc_core: add cpu_endianness
Florent Kermarrec [Tue, 21 Aug 2018 17:10:22 +0000 (19:10 +0200)]
soc_core: add cpu_endianness

5 years agobuilder: get_sdram_phy_header renamed to get_sdram_phy_c_header
Florent Kermarrec [Tue, 21 Aug 2018 16:15:57 +0000 (18:15 +0200)]
builder: get_sdram_phy_header renamed to get_sdram_phy_c_header

5 years agosoc_sdram: use new LiteDRAMWishbone2Native and port.data_width
Florent Kermarrec [Tue, 21 Aug 2018 12:52:28 +0000 (14:52 +0200)]
soc_sdram: use new LiteDRAMWishbone2Native and port.data_width

5 years agovexriscv: update
Florent Kermarrec [Tue, 21 Aug 2018 09:04:15 +0000 (11:04 +0200)]
vexriscv: update

5 years agosoc/integration: move sdram_init to litedram
Florent Kermarrec [Mon, 20 Aug 2018 13:36:51 +0000 (15:36 +0200)]
soc/integration: move sdram_init to litedram

5 years agoVexriscv: update csr-defs.h
Florent Kermarrec [Sat, 18 Aug 2018 12:15:43 +0000 (14:15 +0200)]
Vexriscv: update csr-defs.h

5 years agoupdate Vexriscv
Florent Kermarrec [Sat, 18 Aug 2018 12:14:00 +0000 (14:14 +0200)]
update Vexriscv

5 years agobios/sdram: changes to ease manual read window selection
Florent Kermarrec [Sat, 18 Aug 2018 11:45:22 +0000 (13:45 +0200)]
bios/sdram: changes to ease manual read window selection

5 years agolitex_server: allow multiple clients to connect to the same server
Florent Kermarrec [Fri, 17 Aug 2018 14:08:32 +0000 (16:08 +0200)]
litex_server: allow multiple clients to connect to the same server

5 years agocpu/lm32: add minimal variant with no i/d cache, pipelined barrel shifter and multipl...
Florent Kermarrec [Fri, 17 Aug 2018 06:32:32 +0000 (08:32 +0200)]
cpu/lm32: add minimal variant with no i/d cache, pipelined barrel shifter and multiplier (useful to build SoC on small FPGAs like ice40)

5 years agobios/boot: flush all caches before running from ram
Florent Kermarrec [Thu, 16 Aug 2018 17:47:43 +0000 (19:47 +0200)]
bios/boot: flush all caches before running from ram

5 years agosim/verilator: catch ctrl-c on exit and revert default termios settings
Florent Kermarrec [Thu, 16 Aug 2018 13:13:27 +0000 (15:13 +0200)]
sim/verilator: catch ctrl-c on exit and revert default termios settings

5 years agocpu_interace: use riscv64-unknown-elf if available else riscv32-unknown-elf
Florent Kermarrec [Thu, 16 Aug 2018 08:03:43 +0000 (10:03 +0200)]
cpu_interace: use riscv64-unknown-elf if available else riscv32-unknown-elf

5 years agobios/sdram: fix read_level_scan result
Florent Kermarrec [Tue, 14 Aug 2018 16:33:28 +0000 (18:33 +0200)]
bios/sdram: fix read_level_scan result

5 years agoMerge pull request #86 from pgielda/patch-1
enjoy-digital [Sun, 12 Aug 2018 17:34:52 +0000 (19:34 +0200)]
Merge pull request #86 from pgielda/patch-1

Fix generating csr.csv file

5 years agoFix generating csr.csv file
Peter Gielda [Sun, 12 Aug 2018 11:37:39 +0000 (13:37 +0200)]
Fix generating csr.csv file

Fix generating csr.csv file when no absolute path is given.

5 years agosoc/intergration/cpu_interface: typo
Florent Kermarrec [Wed, 8 Aug 2018 06:53:54 +0000 (08:53 +0200)]
soc/intergration/cpu_interface: typo

5 years agobios/main: use edata instead of erodata
Florent Kermarrec [Tue, 7 Aug 2018 07:02:09 +0000 (09:02 +0200)]
bios/main: use edata instead of erodata

5 years agopicorv32: add reset signal
Florent Kermarrec [Tue, 7 Aug 2018 06:59:34 +0000 (08:59 +0200)]
picorv32: add reset signal

5 years agosoc/software/bios: add reboot command
Florent Kermarrec [Mon, 6 Aug 2018 10:23:50 +0000 (12:23 +0200)]
soc/software/bios: add reboot command