Commit Graph

4826 Commits

Author SHA1 Message Date
Florent Kermarrec b9edde20de cpu/microwatt: add io_regions and gcc_flags 2019-12-17 09:33:46 +01:00
Florent Kermarrec 16e7c6b634 cpu/microwatt: update copyright 2019-12-17 09:27:19 +01:00
Florent Kermarrec 3d79324fce cpu/microwatt: drive stall signal (no burst support) 2019-12-16 12:37:27 +01:00
Florent Kermarrec da3a178bc6 soc/cores/pwm: add clock_domain support 2019-12-16 11:13:10 +01:00
Florent Kermarrec 9da28c4ea5 build/xilinx/XilinxMultiRegImpl: fix n=0 case 2019-12-16 11:12:38 +01:00
Florent Kermarrec ec7dc2d8f4 build/xilinx/ise: cleanup/simplify pass, remove mist support (not aware of anyone using it) 2019-12-14 22:47:07 +01:00
Florent Kermarrec 1b963bb2d5 soc/cores/cpu: add initial Microwatt gateware support
Implementation tested on arty:
cd litex/soc/cores/cpu/microwatt
git clone https://github.com/antonblanchard/microwatt
mv microwatt sources

cd litex/boards/targets
./arty --cpu-type=microwatt --no-compile-gateware
2019-12-14 00:00:13 +01:00
Florent Kermarrec c34255d2ab soc/cores/cpu/minerva: add self.reset to i_rst 2019-12-14 00:00:07 +01:00
enjoy-digital 8b6f9e0a2c
Merge pull request #315 from gsomlo/gls-csr-assert
soc_core: additional CSR safety assertions
2019-12-13 21:57:14 +01:00
Gabriel Somlo a0dad1b071 soc_core: additional CSR safety assertions
Since csr_data_width=64 has probably never worked properly, remove
it as one of the possible options (to be fixed and re-added later).
Add csr_data_width=16, which has been tested and does work.

Additionally, ensure csr_data_width <= csr_alignment (we should not
attempt to create (sub)registers larger than the CPU's native word
size or XLen).

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2019-12-12 13:14:16 -05:00
Florent Kermarrec fb6b0786b6 soc_core: remove static 16MB csr region allocation (use csr_address_width to allocate the correct size) 2019-12-12 12:41:47 +01:00
Florent Kermarrec b1a1e5e227 soc_core: add sort of CSR regions by origin (allow csr.h/csr.csv to be ordered by origin) 2019-12-12 11:27:56 +01:00
Florent Kermarrec 061d593de3 cores/8b10b: use real Memory for 6b5b table (to improve timings on ECP5) 2019-12-09 19:25:38 +01:00
Florent Kermarrec a0122f9863 build/xilinx/vivado: move build_script generation 2019-12-08 12:19:38 +01:00
Florent Kermarrec 18ff8f38d1 build/xilinx/vivado: cleanup/simplify 2019-12-08 12:08:17 +01:00
Florent Kermarrec 0931ccc919 build/lattice/icestorm: cleanup/simplify (and remove arachne-pnr support) 2019-12-07 22:11:17 +01:00
Florent Kermarrec b1b920531a build/xilinx/common/platform/programmer: cleanup pass 2019-12-06 22:23:04 +01:00
Florent Kermarrec edaa66bbed boards: add Lambdaconcept's PCIe Screamer (R02) 2019-12-06 18:20:59 +01:00
Florent Kermarrec a8635c48a4 targets/versa_ecp5: fix compilation with diamond 2019-12-06 16:15:08 +01:00
Florent Kermarrec 30a18808ad boards/targets: keep attributes are no longer needed since automatically added when applying constraints to signals. 2019-12-06 15:58:06 +01:00
Florent Kermarrec 23c33cfa99 build: automatically add keep attribute to signals with timing constraints.
Avoid having to specify it manually or eventually forget to do it and have a constraints that is not applied correctly.
2019-12-06 15:41:15 +01:00
Florent Kermarrec 4c9af635d2 build/altera/quartus: allow adding period constraints on nets and add optional additional sdc/qsf commands
Additional sdc/qsf commands can be added from the design like:
platform.sdc_additional_commands.append("create_clock ...")
platform.sdc_additional_commands.append("set_false_path ...")
2019-12-06 15:19:07 +01:00
Florent Kermarrec 22e6f5ac1d build/lattice/trellis: nextpnr now handle LPF timing constraints and multiple clock domains, freq_constraint is no longer needed. 2019-12-06 12:57:59 +01:00
Florent Kermarrec 8fb3f9a90d build/lattice: cleanup/simplify (no functional changes)
icestorm still need to be cleaned up
2019-12-06 12:54:52 +01:00
Florent Kermarrec 946478a71e build/lattice: cleanup/simplify 2019-12-06 12:13:20 +01:00
Florent Kermarrec 60edca2345 build/microsemi: cleanup/simplify (no functional change) 2019-12-06 12:12:43 +01:00
Florent Kermarrec 50fdc5ce41 build/altera: cleanup/simplify (no functional change)
Altera build backend was a bit messy and needed some cleanup to ease future maintenance and new features.
2019-12-06 11:08:46 +01:00
Tim Ansell b17dfafa55
Merge pull request #313 from mmicko/yosys_ise_flow_fix
Yosys - ISE flow fix
2019-12-05 19:05:44 -08:00
Florent Kermarrec 8d90f4e97b build/xilinx/vivado: use VHDL 2008 as default 2019-12-03 15:27:20 +01:00
Florent Kermarrec cfd17321e2 targets/nexys4ddr: remove MEMTEST_ADDR_SIZE limitation (no longer needed) 2019-12-03 10:11:15 +01:00
Florent Kermarrec 201d60f37a targets/netv2: switch to MVP DDR3 (K4B2G1646F instead of MT41J128M16) 2019-12-03 09:05:52 +01:00
Florent Kermarrec 6b82064723 targets: uniformize, improve presentation 2019-12-03 08:58:01 +01:00
Florent Kermarrec 718f69953b README: fix LitePCIe Travis-CI link 2019-12-02 11:03:42 +01:00
Florent Kermarrec 6de20f185a soc/interconnect/csr: add fields support for CSRStorage's write simulation method 2019-12-02 09:44:44 +01:00
Florent Kermarrec 2567a0ae1d soc/cores/gpio: add GPIO Tristate 2019-12-01 21:26:37 +01:00
Florent Kermarrec d702c0fe35 setup.py: update long_description 2019-11-30 19:30:50 +01:00
Florent Kermarrec c9665aed38 README.md: use litex logo 2019-11-30 19:23:34 +01:00
Florent Kermarrec 82819dd536 README: switch to Markdown 2019-11-30 19:18:47 +01:00
Tim Ansell 90f9ffc505
Merge pull request #311 from kbeckmann/trellis_cabga256
trellis: Support the CABGA256 package
2019-11-29 19:05:56 -08:00
Konrad Beckmann f411d6d362 trellis: Support the CABGA256 package 2019-11-30 02:50:41 +01:00
Miodrag Milanovic 783dfa508c Properly select family for those currently supported 2019-11-29 19:11:22 +01:00
Miodrag Milanovic 6560911df2 Integrate with latest yosys changes 2019-11-29 17:12:08 +01:00
enjoy-digital 3d20442f6f
Merge pull request #310 from xobs/spi-flash-mode3-doc
spi_flash: correct documentation on SPI mode
2019-11-25 21:01:17 +01:00
Sean Cross 581c23725e spi_flash: correct documentation on SPI mode
The SPI mode is actually mode3, since the output value is updated on the
falling edge of CLK and the input value is updated on the rising edge.

This also clarifies some of the documentation based on experience with
the core.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-25 12:35:13 +08:00
Florent Kermarrec de205d4a84 tools/remote/comm_udp: only use one socket 2019-11-22 15:28:35 +01:00
Florent Kermarrec bdaca40fe4 build/generic_platform: avoid duplicate in GenericPlatform.sources 2019-11-22 15:28:07 +01:00
Florent Kermarrec 6883a43680 soc/cores/clock: change drp_locked to CSRStatus and connect it :) 2019-11-20 19:37:16 +01:00
Florent Kermarrec 36107cdfd7 soc/cores/clock: reset PLL/MMCM on all 7-series/Ultrascale with self.reset signal 2019-11-20 19:24:40 +01:00
enjoy-digital e8e70b164a
Merge pull request #309 from antmicro/mmcm-fix
soc/cores/clock: add lock reg and assign reset
2019-11-20 19:20:15 +01:00
Pawel Czarnecki fd14b76594 soc/cores/clock: add lock reg and assign reset
It was necessary to add drp_locked CSR for reading LOCK signal from
MMCM. Additionally, input signal RESET from MMCM was not driven by
any signal to do a proper reset of MMCM module thus it was impossible
to perform entirely correct dynamic clock reconfiguration.
2019-11-20 16:22:49 +01:00