whitequark [Sun, 26 Jul 2015 09:43:22 +0000 (12:43 +0300)]
Mark abort() as __attribute__((noreturn)).
whitequark [Sun, 26 Jul 2015 09:42:53 +0000 (12:42 +0300)]
Add support for fprintf(stderr, ...).
whitequark [Sun, 26 Jul 2015 07:00:58 +0000 (10:00 +0300)]
Don't use clang for anything except or1k.
whitequark [Sun, 26 Jul 2015 00:30:21 +0000 (03:30 +0300)]
common.mak: Pass -fexceptions to clang and clang++.
This results in generation of .eh_frame sections. These sections
can be discarded during final linking, or included if exception
handling is desired. For exception handling to work, all sources
must be built with -fexceptions.
whitequark [Sun, 26 Jul 2015 00:28:37 +0000 (03:28 +0300)]
common.mak: use clang/clang++ to compile C/C++ sources.
Note that -integrated-as is not active by default on OR1K,
so we're still shelling out to binutils to assemble.
It is not yet possible to build everything using -integrated-as.
whitequark [Sun, 26 Jul 2015 00:20:23 +0000 (03:20 +0300)]
common.mak: remove RANLIB.
`ranlib` is not necessary on any system we can possibly build for,
as it is superseded by `ar s` for the last ten years or so (at least).
Thus, change ar invocations to `ar crs`, also removing a `l` flag
that is ignored by binutils.
whitequark [Sat, 25 Jul 2015 23:46:03 +0000 (02:46 +0300)]
common.mak: remove AS.
$(AS) was never used: $(assemble) invokes the C compiler instead.
In case of LLVM, this will allow us to consistently use the LLVM
internal assembler for both inline assembly in C and assembly
sources; so, avoid ever invoking binutils as explicitly.
Florent Kermarrec [Fri, 24 Jul 2015 22:21:59 +0000 (00:21 +0200)]
misoclib/com/uart: remove irq condition parameters and use "non-full" for tx irq, "non-empty" for rx irq.
An optimal solution for both sync and async mode is not easy to implement, it would requires moving CDC out of UART module and handling in the PHY with AsyncFIFO or minimal depth.
For now use the solution that works for both cases. We'll try to optimize that if we have performance issues.
Florent Kermarrec [Fri, 24 Jul 2015 21:10:19 +0000 (23:10 +0200)]
misoclib: integrate mxcrg.py in mlabs_video target, remove others directory
we should also get rid of mxcrg.v (similar to what is done on papilio or pipstrello)
Florent Kermarrec [Fri, 24 Jul 2015 11:57:57 +0000 (13:57 +0200)]
misoclib/com/uart: replace revered Migen FIFO function with specific _get_uart_fifo function for our use case.
Florent Kermarrec [Fri, 24 Jul 2015 11:52:57 +0000 (13:52 +0200)]
litepcie/frontend/dma: group loop index and count in loop_status register (avoid 2 register reads)
Sebastien Bourdeauducq [Fri, 24 Jul 2015 11:25:36 +0000 (19:25 +0800)]
Revert "migen/actorlib/fifo: add FIFO wrapper function"
This reverts commit
d0a19c4be85c2f3d21e891b8a5520ba5a7a3a258.
Florent Kermarrec [Fri, 24 Jul 2015 11:02:54 +0000 (13:02 +0200)]
migen/actorlib/fifo: add FIFO wrapper function
Allow automatic instantiation of the correct fifo (SyncFIFO or AsyncFIFO) according to the clock domains passed in argument.
Florent Kermarrec [Fri, 24 Jul 2015 09:03:40 +0000 (11:03 +0200)]
misoclib/com/uart: cleanup and add irq condition parameters
- reintroduce RX/TX split (ease comprehension)
- use FIFO wrapper function from Migen.
- add tx_irq_condition and rx_irq_condition
Florent Kermarrec [Fri, 24 Jul 2015 10:48:51 +0000 (12:48 +0200)]
migen/fhdl/tools: fix rename_clock_domain when new == old
Clock domain renaming should support new == old to allow programmatically determined clock domain renaming.
Florent Kermarrec [Wed, 22 Jul 2015 20:55:11 +0000 (22:55 +0200)]
litepcie/frontend/dma: add loop counter (useful to detect missed interrupts)
Florent Kermarrec [Wed, 22 Jul 2015 19:46:23 +0000 (21:46 +0200)]
Merge branch 'master' of https://github.com/m-labs/migen
Florent Kermarrec [Wed, 22 Jul 2015 19:44:53 +0000 (21:44 +0200)]
litepcie: use data instead of dat in dma_layout (allow use of migen.actorlib.packet modules on dma dataflow)
Florent Kermarrec [Wed, 22 Jul 2015 19:43:21 +0000 (21:43 +0200)]
actorlib/packet/Depacketizer: manage layouts without error signal
Florent Kermarrec [Wed, 22 Jul 2015 12:13:41 +0000 (14:13 +0200)]
litepcie: use optional platform.misoc_path to add litepcie phy wrapper verilog files
We should eventually try to use python package_data or data_file for that.
Sebastien Bourdeauducq [Sun, 19 Jul 2015 21:41:38 +0000 (23:41 +0200)]
uart: remove option to refill HW from uart_write
Robert Jordens [Sun, 19 Jul 2015 07:23:35 +0000 (01:23 -0600)]
uart: support async phys
Robert Jordens [Sun, 19 Jul 2015 07:23:34 +0000 (01:23 -0600)]
uart.c: rx overflow fix and tx simplification
* fixes the clearing of the rx ringbuffer on rx-overflow
* removes tx_level and tx_cts by restricting the ringbuffer
to at least one slot empty
* agnostic of the details of the tx irq: works for uarts that
generate tx interrupts on !tx-full or on tx-empty.
* only rx_produce and tx_consume need to be volatile
numato [Tue, 14 Jul 2015 18:24:18 +0000 (12:24 -0600)]
Removed drive strength constraints on VGA/Audio signals
Robert Jordens [Tue, 14 Jul 2015 18:53:43 +0000 (12:53 -0600)]
xilinx: ensure we chdir() back after build
Sebastien Bourdeauducq [Tue, 14 Jul 2015 17:56:00 +0000 (19:56 +0200)]
mimasv2: style, consistency with other boards
numato [Tue, 14 Jul 2015 17:15:00 +0000 (11:15 -0600)]
Adding support for Numato Lab Mimas V2 platform
Sebastien Bourdeauducq [Tue, 14 Jul 2015 17:42:44 +0000 (19:42 +0200)]
platforms/kc705: style
Florent Kermarrec [Tue, 14 Jul 2015 15:33:24 +0000 (17:33 +0200)]
bios: add romboot
When firmware is small enough, it can be interesting to run code from an embedded blockram memory (faster and not impacted by memory controller activity).
It can also be a fallback option in case boot from flash failed.
To use this, define ROM_BOOT_ADDRESS and initialize the blockram with the firmware data.
Florent Kermarrec [Mon, 13 Jul 2015 15:00:03 +0000 (17:00 +0200)]
make.py: use sys.path.insert(0...) to allow external designs to have specific targets derived from a base target
Florent Kermarrec [Mon, 13 Jul 2015 09:03:33 +0000 (11:03 +0200)]
misoclib/video/dvisampler: add fifo_depth parameter
Florent Kermarrec [Tue, 7 Jul 2015 13:45:06 +0000 (15:45 +0200)]
wishbone2lasmi: fix "READ_DATA" state
Robert Jordens [Fri, 3 Jul 2015 04:04:04 +0000 (22:04 -0600)]
mibuild/openocd.py: add support
Tested with pipistrello and kc705. Needs patches from
https://github.com/jordens/openocd/tree/bscan_spi waiting
to be merged in the openocd queue.
Florent Kermarrec [Tue, 7 Jul 2015 12:58:49 +0000 (14:58 +0200)]
tools/flterm.py: fix kernel-adr support
Florent Kermarrec [Mon, 6 Jul 2015 19:23:19 +0000 (21:23 +0200)]
liteeth/core: add with_icmp parameter
Florent Kermarrec [Sun, 5 Jul 2015 20:49:23 +0000 (22:49 +0200)]
use sets for leave_out
Florent Kermarrec [Sun, 5 Jul 2015 20:45:53 +0000 (22:45 +0200)]
liteeth/core/mac: adapt depth on AsyncFIFOs according to phy (reduce ressource usage with MII phy)
Florent Kermarrec [Sun, 5 Jul 2015 10:31:52 +0000 (12:31 +0200)]
liteeth: small logic optimizations on mac (eases timings on spartan6)
Sebastien Bourdeauducq [Sun, 5 Jul 2015 08:53:32 +0000 (10:53 +0200)]
Merge branch 'master' of https://github.com/m-labs/migen
Tim 'mithro' Ansell [Sun, 5 Jul 2015 08:43:40 +0000 (18:43 +1000)]
Allow using non-milkymist cables with UrJTAG.
Florent Kermarrec [Sat, 4 Jul 2015 19:04:23 +0000 (21:04 +0200)]
software/bios: call eth_mode only if we have an ethernet mac (we don't need to call it when we have a hardware UDP/IP stack)
Yann Sionneau [Thu, 2 Jul 2015 15:19:55 +0000 (17:19 +0200)]
bios: show memtest command in help
Tim 'mithro' Ansell [Thu, 2 Jul 2015 14:51:03 +0000 (16:51 +0200)]
mibuild: Adding error checking around xsvf generation
Tim 'mithro' Ansell [Thu, 2 Jul 2015 14:44:39 +0000 (16:44 +0200)]
Adding support for programming with FPGALink
Steps for getting it set up.
* Get libfpgalink dependencies
sudo apt-get install \
build-essential libreadline-dev libusb-1.0-0-dev python-yaml
* Build libfpgalink
wget -qO- http://tiny.cc/msbil | tar zxf -
cd makestuff; ./scripts/msget.sh makestuff/common
cd libs; ../scripts/msget.sh libfpgalink
cd libfpgalink; make deps
* Convert libfpgalink to python3
wget -O - http://www.swaton.ukfsn.org/bin/2to3.tar.gz | tar zxf -
cd examples/python
cp fpgalink2.py fpgalink3.py
../../2to3/2to3 fpgalink3.py | patch fpgalink3.py
* Set your path's correctly.
export LD_LIBRARY_PATH=$(pwd)/libfpgalink/lin.x64/rel:$LD_LIBRARY_PATH
export PYTHON_PATH=$(pwd)/libfpgalink/examples/python:$PYTHON_PATH
Tim 'mithro' Ansell [Thu, 2 Jul 2015 14:03:44 +0000 (16:03 +0200)]
mibuild/xilinx: Adding programming with the Digilent Adept tools
Florent Kermarrec [Thu, 2 Jul 2015 07:32:33 +0000 (09:32 +0200)]
mibuild/xilinx: Xilinx's FPGAs do not necessary share the same primitives: add xilinx_s7_special_overrides and specific XilinxDDROutputS7 implementation
Fix DDROutput implementation on spartan6 (tested with LiteETH's GMII phy)
Yann Sionneau [Mon, 29 Jun 2015 22:42:13 +0000 (00:42 +0200)]
travis: use use-local for conda install
http://conda.pydata.org/docs/build_tutorials/pkgs.html
Sebastien Bourdeauducq [Sun, 28 Jun 2015 19:35:37 +0000 (21:35 +0200)]
soc: support constants without value
William D. Jones [Sun, 28 Jun 2015 15:06:46 +0000 (11:06 -0400)]
Remove self.programmer references in Mercury, as mercury programmer is not implemented.
William D. Jones [Sat, 20 Jun 2015 22:47:24 +0000 (18:47 -0400)]
Add Mercury dev board to mibuild (micro-nova.com/mercury/)
Sebastien Bourdeauducq [Sat, 27 Jun 2015 21:51:09 +0000 (23:51 +0200)]
libcompiler-rt: add fixdfdi
Joe Britton [Fri, 26 Jun 2015 09:40:18 +0000 (11:40 +0200)]
flterm.py: use serial_for_url
Florent Kermarrec [Thu, 25 Jun 2015 22:20:58 +0000 (00:20 +0200)]
litesata/example_designs: fix core generation (RAID introduced some changes on the PHY)
enjoy-digital [Thu, 25 Jun 2015 21:59:42 +0000 (23:59 +0200)]
Merge pull request #14 from olofk/misc_fixes
Misc fixes
Olof Kindgren [Thu, 25 Jun 2015 23:16:35 +0000 (01:16 +0200)]
litesata/test: Add missing dependency on scrambler in bist_tb
Olof Kindgren [Thu, 25 Jun 2015 23:15:34 +0000 (01:15 +0200)]
litesata/example_designs: Add missing clock in phy instantiation
Sébastien Bourdeauducq [Wed, 24 Jun 2015 10:46:58 +0000 (10:46 +0000)]
Merge pull request #21 from psmears/patch-1
Minor improvements to wording
Florent Kermarrec [Tue, 23 Jun 2015 14:15:28 +0000 (16:15 +0200)]
liteeth/example_designs: use new Keep SynthesisDirective
Florent Kermarrec [Mon, 22 Jun 2015 22:35:58 +0000 (00:35 +0200)]
fhdl/specials: add Keep SynthesisDirective
Florent Kermarrec [Tue, 23 Jun 2015 07:01:34 +0000 (09:01 +0200)]
software/bios/sdram: flush dcache and l2 in memtest (otherwise we are partially testing the cache)
Robert Jordens [Tue, 23 Jun 2015 00:48:31 +0000 (18:48 -0600)]
pipistrello: run at 83+1/3 MHz, cleanup CRG
Florent Kermarrec [Mon, 22 Jun 2015 22:53:31 +0000 (00:53 +0200)]
liteeth/software: fix wishbone bridge
Florent Kermarrec [Mon, 22 Jun 2015 22:37:31 +0000 (00:37 +0200)]
liteeth/example_designs: add false path between clock domains (speed up implementation) and use automatic PHY detection
Florent Kermarrec [Mon, 22 Jun 2015 22:25:26 +0000 (00:25 +0200)]
liteeth/core/arp: fix table timer (wait_timer adaptation issue)
Florent Kermarrec [Mon, 22 Jun 2015 21:15:00 +0000 (23:15 +0200)]
liteeth/core/arp: fix missing MAC address in ARP reply
Florent Kermarrec [Fri, 19 Jun 2015 07:00:14 +0000 (09:00 +0200)]
software/libbase/system: fix flush_l2_cache
Florent Kermarrec [Fri, 19 Jun 2015 06:39:37 +0000 (08:39 +0200)]
soc/sdram: add L2_SIZE constant and avoid declaring an empty flush_l2_cache function when L2_SIZE is not defined
Florent Kermarrec [Fri, 19 Jun 2015 06:37:16 +0000 (08:37 +0200)]
bus/wishbone: remove size CSR from Cache (L2 size will be reported to the software as a constant)
Florent Kermarrec [Thu, 18 Jun 2015 22:52:39 +0000 (00:52 +0200)]
mibuild/xilinx/ise: fix source and set source to False by default on Windows (tools supposed to be in the PATH)
Florent Kermarrec [Thu, 18 Jun 2015 22:40:05 +0000 (00:40 +0200)]
mibuild/xilinx/ise: simplify default_ise_path
William D. Jones [Thu, 18 Jun 2015 22:30:22 +0000 (00:30 +0200)]
Xilinx Platforms now use cmd.exe on Windows instead of bash to run scripts
(remove MSYS dependency)
psmears [Thu, 18 Jun 2015 11:26:22 +0000 (12:26 +0100)]
Minor improvements to wording
Sebastien Bourdeauducq [Wed, 17 Jun 2015 14:32:17 +0000 (08:32 -0600)]
indentation
Florent Kermarrec [Wed, 17 Jun 2015 12:52:30 +0000 (14:52 +0200)]
soc/sdram: add capability to share L2 cache in multi-CPU SoCs
Florent Kermarrec [Wed, 17 Jun 2015 13:31:49 +0000 (15:31 +0200)]
wishbone: add Cache (from WB2LASMI)
Florent Kermarrec [Tue, 16 Jun 2015 17:06:24 +0000 (19:06 +0200)]
sdram: use wishbone cache as L2 cache and add optional L2 cache to Minicon
Yann Sionneau [Sun, 14 Jun 2015 21:19:27 +0000 (23:19 +0200)]
pipistrello: fix FPGA speed grade
Florent Kermarrec [Wed, 10 Jun 2015 10:15:59 +0000 (12:15 +0200)]
litesata: use 200MHz clock and SATA3 (6.0Gb/s) on all example designs: working :)
Florent Kermarrec [Wed, 10 Jun 2015 10:14:48 +0000 (12:14 +0200)]
litesata/phy/k7: apply AR# 63869 to keep CDR in hold during SATA link initialization
self.rxelecidle is already filtered so the "20 USRCLK cycles before setting RXCDRHOLD to 1'b0" are respected.
Florent Kermarrec [Tue, 2 Jun 2015 17:35:00 +0000 (19:35 +0200)]
sdram: use new Migen Converter in Minicon frontend and small cleanup
Florent Kermarrec [Tue, 2 Jun 2015 17:33:09 +0000 (19:33 +0200)]
sdram/phy: fix simphy memory usage
Florent Kermarrec [Tue, 2 Jun 2015 17:29:38 +0000 (19:29 +0200)]
migen/bus/wishbone: add UpConverter and Converter wrapper (also rewrite DownConverter)
Florent Kermarrec [Tue, 2 Jun 2015 17:26:42 +0000 (19:26 +0200)]
migen/genlib/fsm: fix delayed_enter when delay is negative (can happen when delay is generated from others parameters)
Sebastien Bourdeauducq [Tue, 2 Jun 2015 09:40:42 +0000 (17:40 +0800)]
genlib/cdc: add BusSynchronizer
Florent Kermarrec [Fri, 29 May 2015 10:26:34 +0000 (12:26 +0200)]
sdram: refactor minicon and fix issues with DDRx memories
- simplify code
- fix AddressSlicer
- manage write latency and write to precharge timings
- add odt/reset_n signals
Sebastien Bourdeauducq [Thu, 28 May 2015 07:43:31 +0000 (15:43 +0800)]
setup.py: valid version number (fixes issue #12)
Yann Sionneau [Fri, 15 May 2015 09:03:02 +0000 (11:03 +0200)]
spiflash: now using 64k sectors
Yann Sionneau [Fri, 15 May 2015 09:02:16 +0000 (11:02 +0200)]
spiflash: cleanup unnecessary parenthesis
Sebastien Bourdeauducq [Tue, 26 May 2015 06:13:13 +0000 (14:13 +0800)]
litesata: more doc fixes
Sebastien Bourdeauducq [Tue, 26 May 2015 05:57:26 +0000 (13:57 +0800)]
Merge branch 'master' of https://github.com/m-labs/misoc
Conflicts:
misoclib/mem/litesata/doc/source/docs/frontend/index.rst
Sebastien Bourdeauducq [Tue, 26 May 2015 05:54:31 +0000 (13:54 +0800)]
litesata: doc fixes
Florent Kermarrec [Tue, 26 May 2015 05:37:09 +0000 (07:37 +0200)]
liteata: fix spelling & mistakes in doc
Florent Kermarrec [Mon, 25 May 2015 12:04:37 +0000 (14:04 +0200)]
litesata: rework frontend doc and add striping, mirroring
Florent Kermarrec [Mon, 25 May 2015 12:03:14 +0000 (14:03 +0200)]
litesata: add mirroring
Florent Kermarrec [Mon, 25 May 2015 11:57:27 +0000 (13:57 +0200)]
litesata/examples_designs: add striping
Florent Kermarrec [Mon, 25 May 2015 11:55:15 +0000 (13:55 +0200)]
litesata/core/link: move buffer on CONTInserter (seems better for timings when set on sink)
Florent Kermarrec [Mon, 25 May 2015 11:53:02 +0000 (13:53 +0200)]
liteusb/core/packet: fix missing ,
Florent Kermarrec [Sat, 23 May 2015 12:12:20 +0000 (14:12 +0200)]
litesata: add striping module for use of multiple HDDs.
Florent Kermarrec [Sat, 23 May 2015 12:08:56 +0000 (14:08 +0200)]
litesata: do some cleanup and prepare for RAID
Florent Kermarrec [Sat, 23 May 2015 12:01:08 +0000 (14:01 +0200)]
fhdl/verilog: add reserved keywords