Tim 'mithro' Ansell [Fri, 5 Oct 2018 19:48:30 +0000 (12:48 -0700)]
build.xilinx: Convert attributes to something Yosys understands.
Convert keep, dont_touch and async_reg to something Yosys understands.
Write out an EDIF file with the attributes so that Vivado can use them.
(Requires Yosys with commit
https://github.com/YosysHQ/yosys/commit/
115ca576475a2e8d30e63b339ae6a1b5db6906a6)
Tim 'mithro' Ansell [Thu, 4 Oct 2018 04:58:03 +0000 (21:58 -0700)]
xilinx/viviado: Allow yosys for synthesis.
Tim 'mithro' Ansell [Thu, 4 Oct 2018 04:57:24 +0000 (21:57 -0700)]
cpu/mor1kx: Adding verilog include directory.
Tim 'mithro' Ansell [Wed, 3 Oct 2018 23:02:43 +0000 (16:02 -0700)]
build.xilinx: Run `phys_opt_design` and generate timing report.
Makes the flow more similar to migen.
Florent Kermarrec [Tue, 2 Oct 2018 10:20:32 +0000 (12:20 +0200)]
cores/cpu: revert vexriscv (it seems there is a regression in last version)
Florent Kermarrec [Tue, 2 Oct 2018 09:31:08 +0000 (11:31 +0200)]
targets/sim: fix integrated_main_ram_size when with_sdram
Florent Kermarrec [Mon, 1 Oct 2018 13:38:19 +0000 (15:38 +0200)]
bios/sdram: rewrite write_leveling (simplify and improve robustness)
Florent Kermarrec [Mon, 1 Oct 2018 13:37:34 +0000 (15:37 +0200)]
platforms/genesys2: add eth clock timing constraint
Florent Kermarrec [Fri, 28 Sep 2018 11:02:10 +0000 (13:02 +0200)]
soc/cores/clock: add expose_drp on S7PLL/S7MMCM
enjoy-digital [Tue, 25 Sep 2018 13:32:04 +0000 (15:32 +0200)]
Merge pull request #109 from cr1901/xip-improve
Improve XIP Support
Florent Kermarrec [Tue, 25 Sep 2018 07:31:30 +0000 (09:31 +0200)]
targets: use new clock abstraction on all 7-series targets
Florent Kermarrec [Tue, 25 Sep 2018 07:09:47 +0000 (09:09 +0200)]
soc/cores/clock: different clkin_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
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)
Florent Kermarrec [Mon, 24 Sep 2018 21:22:59 +0000 (23:22 +0200)]
soc/cores/clock: create specific S7IDELAYCTRL module
Florent Kermarrec [Mon, 24 Sep 2018 21:20:12 +0000 (23:20 +0200)]
soc/cores/clock: add S7MMCM support
Florent Kermarrec [Mon, 24 Sep 2018 20:58:23 +0000 (22:58 +0200)]
soc/cores/clocks/S7PLL: add speedgrade support, default to -1 (slowest)
Florent Kermarrec [Mon, 24 Sep 2018 20:49:30 +0000 (22:49 +0200)]
targets/arty: use new clock abstraction module (compile, untested on board)
Florent Kermarrec [Mon, 24 Sep 2018 18:25:57 +0000 (20:25 +0200)]
soc/cores: init clock abstraction module
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).
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.
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).
Florent Kermarrec [Mon, 24 Sep 2018 10:43:29 +0000 (12:43 +0200)]
sim/verilator: add multithread support (default=1)
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)
Florent Kermarrec [Mon, 24 Sep 2018 08:58:10 +0000 (10:58 +0200)]
boards/targets: uniformize things between targets
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
Florent Kermarrec [Mon, 24 Sep 2018 00:45:05 +0000 (02:45 +0200)]
cores/cpu: add software informations to cpu and simplify cpu_interface
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
Florent Kermarrec [Mon, 24 Sep 2018 00:01:47 +0000 (02:01 +0200)]
test/test_targets: test simple design with all platforms
Florent Kermarrec [Mon, 24 Sep 2018 00:01:15 +0000 (02:01 +0200)]
soc_core: add uart-stub argument
Florent Kermarrec [Sun, 23 Sep 2018 23:24:51 +0000 (01:24 +0200)]
setup.py: add litex_simple exec (to ease building simple design)
Florent Kermarrec [Sun, 23 Sep 2018 23:15:33 +0000 (01:15 +0200)]
test/test_targets: update and reorganize targets
Florent Kermarrec [Sun, 23 Sep 2018 08:23:00 +0000 (10:23 +0200)]
ease RemoteClient import
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`
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>
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>
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.
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
Florent Kermarrec [Fri, 21 Sep 2018 05:37:31 +0000 (07:37 +0200)]
README: add migen/litex clarification
Florent Kermarrec [Thu, 20 Sep 2018 10:20:48 +0000 (12:20 +0200)]
targets/sim: generate analyzer.csv
Florent Kermarrec [Thu, 20 Sep 2018 09:17:18 +0000 (11:17 +0200)]
targets/sim: generate csr.csv
Florent Kermarrec [Wed, 19 Sep 2018 23:14:00 +0000 (01:14 +0200)]
targets/sim: add rom-init
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)
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
Florent Kermarrec [Wed, 19 Sep 2018 21:59:42 +0000 (23:59 +0200)]
soc/intergration/builder: fix when no sdram
Florent Kermarrec [Wed, 19 Sep 2018 20:19:51 +0000 (22:19 +0200)]
targets/sim: merge in a single class and ease configuration
Florent Kermarrec [Wed, 19 Sep 2018 17:21:14 +0000 (19:21 +0200)]
Merge branch 'master' of github.com/enjoy-digital/litex
Florent Kermarrec [Wed, 19 Sep 2018 17:19:50 +0000 (19:19 +0200)]
targets: replace MiniSoC with EthernetSoC
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)
enjoy-digital [Tue, 18 Sep 2018 06:19:09 +0000 (08:19 +0200)]
Merge pull request #101 from cr1901/icestorm-migen-pull
Icestorm Improvements
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.
Florent Kermarrec [Thu, 13 Sep 2018 04:33:54 +0000 (06:33 +0200)]
bios/sdram: mode sdhw()
Florent Kermarrec [Thu, 13 Sep 2018 04:30:37 +0000 (06:30 +0200)]
bios/sdram: add missing #ifdef
Florent Kermarrec [Thu, 13 Sep 2018 03:31:35 +0000 (05:31 +0200)]
targets: self.pll_sys --> pll_sys
Florent Kermarrec [Thu, 13 Sep 2018 03:26:51 +0000 (05:26 +0200)]
bios/sdram: show all read scans when failing.
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)
Florent Kermarrec [Sun, 9 Sep 2018 00:10:50 +0000 (02:10 +0200)]
soc_sdram: update with litedram
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.
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.
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…
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...)
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
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.
Jean-François Nguyen [Mon, 3 Sep 2018 18:31:16 +0000 (20:31 +0200)]
libnet/microudp: (WIP) fix endianness issues
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
Jean-François Nguyen [Thu, 6 Sep 2018 15:07:14 +0000 (17:07 +0200)]
fix typo and unused include
Florent Kermarrec [Thu, 6 Sep 2018 14:40:30 +0000 (16:40 +0200)]
cpu/minerva: add workaround on import until code is released
Florent Kermarrec [Thu, 6 Sep 2018 06:48:14 +0000 (08:48 +0200)]
setup.py: create litex_sim exec to ease simulation
Jean-François Nguyen [Wed, 5 Sep 2018 18:36:17 +0000 (20:36 +0200)]
add Minerva support
Florent Kermarrec [Wed, 5 Sep 2018 11:01:51 +0000 (13:01 +0200)]
litex_server: update pcie and remove bar_size parameter
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.
William D. Jones [Tue, 28 Aug 2018 21:08:45 +0000 (17:08 -0400)]
build/platforms: Add TinyFPGA BX board and programmer.
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.
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.
Florent Kermarrec [Fri, 31 Aug 2018 06:44:22 +0000 (08:44 +0200)]
README: update
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.
William D. Jones [Tue, 28 Aug 2018 09:17:32 +0000 (05:17 -0400)]
lattice/icestorm: Add nextpnr pnr as alternate pnr tool.
Tim Ansell [Fri, 24 Aug 2018 04:08:28 +0000 (14:08 +1000)]
Merge pull request #93 from phlipped/master
Fix URL for liteUSB
phlipped [Fri, 24 Aug 2018 04:03:16 +0000 (14:03 +1000)]
Fix URL for liteUSB
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…
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.
William D. Jones [Thu, 23 Aug 2018 03:04:20 +0000 (23:04 -0400)]
.gitignore: litex/build contains valid source, so exclude from .gitignore.
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.
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
Florent Kermarrec [Wed, 22 Aug 2018 13:20:28 +0000 (15:20 +0200)]
sim: run as root only when needed (ethernet module present)
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
Florent Kermarrec [Wed, 22 Aug 2018 11:40:22 +0000 (13:40 +0200)]
soc_sdram: cosmetic
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 >)
Florent Kermarrec [Tue, 21 Aug 2018 17:10:22 +0000 (19:10 +0200)]
soc_core: add cpu_endianness
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
Florent Kermarrec [Tue, 21 Aug 2018 12:52:28 +0000 (14:52 +0200)]
soc_sdram: use new LiteDRAMWishbone2Native and port.data_width
Florent Kermarrec [Tue, 21 Aug 2018 09:04:15 +0000 (11:04 +0200)]
vexriscv: update
Florent Kermarrec [Mon, 20 Aug 2018 13:36:51 +0000 (15:36 +0200)]
soc/integration: move sdram_init to litedram
Florent Kermarrec [Sat, 18 Aug 2018 12:15:43 +0000 (14:15 +0200)]
Vexriscv: update csr-defs.h
Florent Kermarrec [Sat, 18 Aug 2018 12:14:00 +0000 (14:14 +0200)]
update Vexriscv
Florent Kermarrec [Sat, 18 Aug 2018 11:45:22 +0000 (13:45 +0200)]
bios/sdram: changes to ease manual read window selection
Florent Kermarrec [Fri, 17 Aug 2018 14:08:32 +0000 (16:08 +0200)]
litex_server: allow multiple clients to connect to the same server
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)
Florent Kermarrec [Thu, 16 Aug 2018 17:47:43 +0000 (19:47 +0200)]
bios/boot: flush all caches before running from ram
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