Florent Kermarrec [Mon, 29 Oct 2018 14:58:54 +0000 (15:58 +0100)]
build/lattice/prjtrellis: set default toolchain_path to "/opt/prjtrellis"
Florent Kermarrec [Mon, 29 Oct 2018 14:56:46 +0000 (15:56 +0100)]
boards/targets/simple: add gateware-toolchain parameter
Florent Kermarrec [Mon, 29 Oct 2018 14:39:51 +0000 (15:39 +0100)]
boards/platforms/versaecp55g: use ftdi serial pins
Florent Kermarrec [Mon, 29 Oct 2018 12:26:29 +0000 (13:26 +0100)]
build/lattice/prjtrellis: test and fix iowrapper multi-bit signals support
Florent Kermarrec [Mon, 29 Oct 2018 10:48:10 +0000 (11:48 +0100)]
Merge branch 'master' of github.com/enjoy-digital/litex
Florent Kermarrec [Mon, 29 Oct 2018 10:46:03 +0000 (11:46 +0100)]
boards/targets/versaecp55g: use new iowrapper support, basic led blink and ios working :)
Florent Kermarrec [Mon, 29 Oct 2018 10:44:31 +0000 (11:44 +0100)]
build/lattice/prjtrellis: generate iowrapper to set constraints and TRELLIS_IO
PrjTrellis does not yet have constraint files support, constraints are set
with signal attributes and specific TRELLIS_IO instances are requested. This
iowrapper does this work for us automatically.
Remove this code and replace with a constraint file generation code when
PrjTrellis will have constraint file support.
Florent Kermarrec [Mon, 29 Oct 2018 10:41:04 +0000 (11:41 +0100)]
gen/fhdl/verilog: set direction to io signals
Tim Ansell [Mon, 29 Oct 2018 09:08:20 +0000 (02:08 -0700)]
Merge pull request #120 from mithro/master
litex/build: Always run Vivado.
Tim 'mithro' Ansell [Mon, 29 Oct 2018 09:04:44 +0000 (02:04 -0700)]
litex/build: Always run Vivado.
When using Yosys for synthesis, still need Vivado for place and route.
Florent Kermarrec [Mon, 29 Oct 2018 07:49:32 +0000 (08:49 +0100)]
build/lattice/prjtrellis: simplify code, remove some workarounds
Florent Kermarrec [Mon, 29 Oct 2018 07:26:13 +0000 (08:26 +0100)]
build/xilinx/vivado: fix merge issue
Florent Kermarrec [Sun, 28 Oct 2018 16:55:40 +0000 (17:55 +0100)]
boards/targets: add versa ecp55g prjtrellis target (experimental)
Florent Kermarrec [Sun, 28 Oct 2018 16:51:16 +0000 (17:51 +0100)]
build/lattice: add initial prjtrellis support
Florent Kermarrec [Sun, 28 Oct 2018 14:40:52 +0000 (15:40 +0100)]
build/lattice/diamond: use bash on linux
Florent Kermarrec [Sun, 28 Oct 2018 14:40:10 +0000 (15:40 +0100)]
build/lattice: improve special_overrides names (vendor_family)
enjoy-digital [Sun, 28 Oct 2018 14:00:06 +0000 (15:00 +0100)]
Merge pull request #114 from mithro/xilinx+yosys
WIP: Allow Yosys to be used for synthesis with Vivado
enjoy-digital [Sun, 28 Oct 2018 13:59:03 +0000 (14:59 +0100)]
Merge branch 'master' into xilinx+yosys
enjoy-digital [Sun, 28 Oct 2018 07:02:22 +0000 (08:02 +0100)]
Merge pull request #118 from mithro/uart-sync
uart: Enable buffering the FIFO.
Tim 'mithro' Ansell [Sat, 27 Oct 2018 23:02:53 +0000 (16:02 -0700)]
uart: Enable buffering the FIFO.
On the iCE40 FPGA, adding buffering allows the SyncFIFO to be placed in
block RAM rather than consuming a large amount of resources.
Florent Kermarrec [Sat, 27 Oct 2018 09:06:53 +0000 (11:06 +0200)]
README: improve instructions for litex_sim
Florent Kermarrec [Sat, 27 Oct 2018 09:06:34 +0000 (11:06 +0200)]
build/sim/verilator: don't use THEADS parameters when threads=1
Allow using old (non multi-threaded) version of Verilator
Florent Kermarrec [Fri, 19 Oct 2018 16:37:55 +0000 (18:37 +0200)]
soc_sdram: update litedram
Florent Kermarrec [Thu, 18 Oct 2018 11:42:51 +0000 (13:42 +0200)]
bios/sdram: s7ddrphy now has bitslip in fabric, show scan for each module/bitslip and remove silent mode
Florent Kermarrec [Thu, 18 Oct 2018 07:25:34 +0000 (09:25 +0200)]
build/xilinx/vivado: enable xpm libraries
Florent Kermarrec [Tue, 16 Oct 2018 12:57:37 +0000 (14:57 +0200)]
soc/cores/clock: add margin parameter to create_clkout (default = 1%)
Florent Kermarrec [Wed, 10 Oct 2018 08:42:56 +0000 (10:42 +0200)]
bios/sdram: improve write/read leveling
write_leveling: select last 0 to 1 transition.
read_leveling: do it by module (select best bitslip for each module)
Florent Kermarrec [Tue, 9 Oct 2018 13:39:03 +0000 (15:39 +0200)]
platforms/kc705: add ddram_dual_rank
Florent Kermarrec [Tue, 9 Oct 2018 08:06:32 +0000 (10:06 +0200)]
bios/main: handle all types of carriage return (\r, \n, \r\n or \n\r)
enjoy-digital [Tue, 9 Oct 2018 05:32:31 +0000 (07:32 +0200)]
Merge pull request #116 from stffrdhrn/sim-uart
sim: serial: Send '\r\n' instead of just '\n'
Stafford Horne [Tue, 9 Oct 2018 02:16:05 +0000 (11:16 +0900)]
sim: serial: Send '\r\n' instead of just '\n'
This fixes an issue when running with the HDMI2USB firmware which
expects \r\n to come from the UART. Since the verilator adapter
is just sending \n commands cannot be executed.
Also, one minor whitespace cleanup. (could remove if needed)
Florent Kermarrec [Mon, 8 Oct 2018 15:01:04 +0000 (17:01 +0200)]
cpu_interface: fix select_triple when only one specified
Florent Kermarrec [Sat, 6 Oct 2018 19:32:38 +0000 (21:32 +0200)]
soc/integration/cpu_interface: generate error if unable to find any of the cross compilation toolchains
Florent Kermarrec [Sat, 6 Oct 2018 18:55:16 +0000 (20:55 +0200)]
soc_core: add csr range check
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)
enjoy-digital [Thu, 4 Oct 2018 19:12:33 +0000 (21:12 +0200)]
Merge pull request #112 from cr1901/8k-b-evn
build/platforms: Add ice40_hx8k_b_evn from Migen.
enjoy-digital [Thu, 4 Oct 2018 14:25:11 +0000 (16:25 +0200)]
Merge pull request #113 from stffrdhrn/litex-trivial
Litex trivial
Stafford Horne [Thu, 4 Oct 2018 14:09:49 +0000 (23:09 +0900)]
Fix help for or1k builds
The help said cpu-type could be mor1kx, which is correct but you must
pass or1k to get mor1kx. Fix the message to properly represent what
needs to be passed to the commandline.
Stafford Horne [Thu, 4 Oct 2018 14:07:48 +0000 (23:07 +0900)]
Fix compiler warnings from GCC 8.1
Fix these 2 warnings:
litex/build/sim/core/libdylib.c:42:5: warning: 'strncpy' specified bound 2048 equals destination size
[-Wstringop-truncation]
strncpy(last_err, s, ERR_MAX_SIZE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'set_last_error',
litex/soc/software/libbase/exception.c:28:13: warning: function declaration isn't a prototype [-Wstrict-prototypes]
static char emerg_getc()
Florent Kermarrec [Thu, 4 Oct 2018 06:17:44 +0000 (08:17 +0200)]
build/xilinx/common: update XilinxDDRInputImplS7 and XilinxDDRInputImplKU (from migen)
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.
William D. Jones [Wed, 3 Oct 2018 22:21:45 +0000 (18:21 -0400)]
build/platforms: Add ice40_hx8k_b_evn from Migen.
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…