litex.git
9 years agogenlib/crc: use OrderedDict
Florent Kermarrec [Thu, 22 Jan 2015 15:37:18 +0000 (16:37 +0100)]
genlib/crc: use OrderedDict

9 years agofhdl/std: add FinalizeError import
Florent Kermarrec [Thu, 22 Jan 2015 15:35:42 +0000 (16:35 +0100)]
fhdl/std: add FinalizeError import

9 years agomibuild/xilinx_vivado: fix list aliasing problem
Sebastien Bourdeauducq [Sun, 21 Dec 2014 09:37:11 +0000 (17:37 +0800)]
mibuild/xilinx_vivado: fix list aliasing problem

9 years agoxilinx_vivado: add parameters to pass specific commands (to be declared in platforms)
Florent Kermarrec [Wed, 17 Dec 2014 08:21:16 +0000 (09:21 +0100)]
xilinx_vivado: add parameters to pass specific commands (to be declared in platforms)

9 years agocrc: modify CRCChecker to remove CRC and clean up
Florent Kermarrec [Wed, 17 Dec 2014 08:22:08 +0000 (09:22 +0100)]
crc: modify CRCChecker to remove CRC and clean up

9 years agobank: support direct mapping of CSRs on Wishbone
Sebastien Bourdeauducq [Sun, 30 Nov 2014 14:28:39 +0000 (22:28 +0800)]
bank: support direct mapping of CSRs on Wishbone

10 years agoWishbone DownConverter: Fix sel signal
Yann Sionneau [Wed, 26 Nov 2014 11:10:20 +0000 (12:10 +0100)]
Wishbone DownConverter: Fix sel signal

10 years agogenlib/fsm: add NextValue to replace reg/reg_next/ce pattern
Sebastien Bourdeauducq [Tue, 25 Nov 2014 09:16:21 +0000 (17:16 +0800)]
genlib/fsm: add NextValue to replace reg/reg_next/ce pattern

10 years agofhdl/tools: do not attempt to rename sync clock domain if it does not exist
Sebastien Bourdeauducq [Fri, 21 Nov 2014 22:51:05 +0000 (14:51 -0800)]
fhdl/tools: do not attempt to rename sync clock domain if it does not exist

10 years agoflow: endpoint description structure with packetized parameter
Sebastien Bourdeauducq [Fri, 21 Nov 2014 06:31:56 +0000 (22:31 -0800)]
flow: endpoint description structure with packetized parameter

10 years agoactorlib/fifo: add buffered parameter
Sebastien Bourdeauducq [Fri, 21 Nov 2014 02:46:54 +0000 (18:46 -0800)]
actorlib/fifo: add buffered parameter

10 years agoxilinx_vivado: use REM for comment on Windows
Florent Kermarrec [Mon, 3 Nov 2014 09:39:12 +0000 (10:39 +0100)]
xilinx_vivado: use REM for comment on Windows

10 years agoMerge pull request #8 from jix/fix-acitorlib-fifo
Sébastien Bourdeauducq [Mon, 17 Nov 2014 04:48:12 +0000 (21:48 -0700)]
Merge pull request #8 from jix/fix-acitorlib-fifo

actorlib/fifo: fix no-op assignment due to .payload omission

10 years agoactorlib/fifo: fix no-op assignment due to .payload omission
Jannis Harder [Fri, 14 Nov 2014 20:25:19 +0000 (21:25 +0100)]
actorlib/fifo: fix no-op assignment due to .payload omission

10 years agoadd hamming-code gen/check lib
Guy Hutchison [Fri, 7 Nov 2014 02:19:49 +0000 (18:19 -0800)]
add hamming-code gen/check lib

10 years agomibuild/programmer: add migen folders to flash proxy search dirs
Sebastien Bourdeauducq [Wed, 5 Nov 2014 15:23:22 +0000 (23:23 +0800)]
mibuild/programmer: add migen folders to flash proxy search dirs

10 years agovpi/ipc: fix decoding of index buffer
Sebastien Bourdeauducq [Tue, 4 Nov 2014 08:57:34 +0000 (16:57 +0800)]
vpi/ipc: fix decoding of index buffer

10 years agotest/test_size: fix slice comparison
Sebastien Bourdeauducq [Mon, 3 Nov 2014 04:08:43 +0000 (12:08 +0800)]
test/test_size: fix slice comparison

10 years agoactorlib/structuring/Pipeline: make 'busy' a signal
Sebastien Bourdeauducq [Sat, 1 Nov 2014 13:48:02 +0000 (21:48 +0800)]
actorlib/structuring/Pipeline: make 'busy' a signal

10 years agoactorlib/structuring: add Pipeline
Florent Kermarrec [Fri, 31 Oct 2014 12:09:24 +0000 (13:09 +0100)]
actorlib/structuring: add Pipeline

Pipeline enables easy cascading of dataflow modules.
DataFlowGraph can eventually use it to implement the
add_pipeline method to avoid duplicating things.

10 years agoactorlib/structuring: add Converter
Florent Kermarrec [Fri, 31 Oct 2014 12:06:47 +0000 (13:06 +0100)]
actorlib/structuring: add Converter

Converter enables easy conversions of data width on dataflows.
It handles the 3 possibles cases:
- downconverter
- upconverter
- direct connection when data width are identical.

10 years agoMerge branch 'master' of github.com:m-labs/migen
Sebastien Bourdeauducq [Sat, 1 Nov 2014 13:33:35 +0000 (21:33 +0800)]
Merge branch 'master' of github.com:m-labs/migen

10 years agoflow/actor, actorlib/structuring: add packet support
Florent Kermarrec [Fri, 31 Oct 2014 11:59:45 +0000 (12:59 +0100)]
flow/actor, actorlib/structuring: add packet support

10 years agobus/csr: add configurable address_width (needed more than 32 modules with CSR)
Florent Kermarrec [Fri, 31 Oct 2014 11:58:36 +0000 (12:58 +0100)]
bus/csr: add configurable address_width (needed more than 32 modules with CSR)

10 years agocrc: generate error asynchronously to avoid stalling the flow and simplify
Florent Kermarrec [Fri, 31 Oct 2014 11:56:03 +0000 (12:56 +0100)]
crc: generate error asynchronously to avoid stalling the flow and simplify

10 years agokc705: add Ethernet pins
Florent Kermarrec [Fri, 31 Oct 2014 11:49:30 +0000 (12:49 +0100)]
kc705: add Ethernet pins

10 years agoxilinx_vivado: use .bat on Windows platforms (otherwise Vivado uses Unix scripts...)
Florent Kermarrec [Fri, 31 Oct 2014 11:48:30 +0000 (12:48 +0100)]
xilinx_vivado: use .bat on Windows platforms (otherwise Vivado uses Unix scripts...)

10 years agoxilinx_vivado: add hierarchical utilization report
Florent Kermarrec [Fri, 31 Oct 2014 11:47:21 +0000 (12:47 +0100)]
xilinx_vivado: add hierarchical utilization report

10 years agofhdl/verilog: fix tristate to instance connection
Sebastien Bourdeauducq [Wed, 29 Oct 2014 10:18:17 +0000 (18:18 +0800)]
fhdl/verilog: fix tristate to instance connection

10 years agoRaise exception when not using correct boolean operators
Yann Sionneau [Mon, 27 Oct 2014 11:41:17 +0000 (12:41 +0100)]
Raise exception when not using correct boolean operators

10 years agoflow/actor/Endpoint: clean up __getattr__
Florent Kermarrec [Tue, 21 Oct 2014 16:39:19 +0000 (18:39 +0200)]
flow/actor/Endpoint: clean up __getattr__

10 years agoDMAWriteController: fix Demultiplexer layout
Florent Kermarrec [Mon, 20 Oct 2014 16:09:38 +0000 (18:09 +0200)]
DMAWriteController: fix Demultiplexer layout

10 years agouse new direct access on endpoints
Florent Kermarrec [Mon, 20 Oct 2014 15:11:59 +0000 (23:11 +0800)]
use new direct access on endpoints

10 years ago_Endpoint: allow direct access of payload elements
Florent Kermarrec [Mon, 20 Oct 2014 06:47:48 +0000 (08:47 +0200)]
_Endpoint: allow direct access of payload elements

10 years agoremove trailing whitespaces
Florent Kermarrec [Fri, 17 Oct 2014 09:08:37 +0000 (17:08 +0800)]
remove trailing whitespaces

10 years agobank: add re to CSRStorage
Florent Kermarrec [Fri, 10 Oct 2014 18:45:18 +0000 (20:45 +0200)]
bank: add re to CSRStorage

being able to know when a register is updated is useful in many cases and avoid having to handle another register for that.
re is asserted when the the last CSR of the Compound is written. Software must also write Compound in the right order.

10 years agogenlib/fsm: make first fsm.act() the reset state, even when using after_*/before_...
Sebastien Bourdeauducq [Mon, 29 Sep 2014 11:38:58 +0000 (19:38 +0800)]
genlib/fsm: make first fsm.act() the reset state, even when using after_*/before_* methods before fsm.act

10 years agoadd generic CRCEngine, CRC32, CRCInserter and CRCChecker
Florent Kermarrec [Wed, 24 Sep 2014 20:48:36 +0000 (22:48 +0200)]
add generic CRCEngine, CRC32, CRCInserter and CRCChecker

CRCEngine implements a generic and optimized CRC LFSR. It will enable generation of CRC generators and checkers.
CRC32 is an implementation of IEEE 802.3 CRC using the CRCEngine.
CRC32Inserter and CRC32Checker have been tested on an ethernet MAC.

10 years agoflow/actor: fix eop direction
Florent Kermarrec [Mon, 22 Sep 2014 16:09:30 +0000 (18:09 +0200)]
flow/actor: fix eop direction

10 years agoflow/actor: add packetized parameter for Sink and Source
Florent Kermarrec [Wed, 17 Sep 2014 15:23:27 +0000 (17:23 +0200)]
flow/actor: add packetized parameter for Sink and Source

10 years agoactorlib/structuring: add reverse parameter to Unpack and Pack
Florent Kermarrec [Wed, 17 Sep 2014 14:53:20 +0000 (16:53 +0200)]
actorlib/structuring: add reverse parameter to Unpack and Pack

10 years agogenlib/fifo/SyncFIFOBuffered: replace not supported
Sebastien Bourdeauducq [Wed, 17 Sep 2014 11:59:13 +0000 (19:59 +0800)]
genlib/fifo/SyncFIFOBuffered: replace not supported

10 years agogenlib/fifo: same 'level' semantics between SyncFIFOBuffered and FWFT SyncFIFO
Sebastien Bourdeauducq [Wed, 17 Sep 2014 11:58:43 +0000 (19:58 +0800)]
genlib/fifo: same 'level' semantics between SyncFIFOBuffered and FWFT SyncFIFO

10 years agosetup.py: fix README filename
Florent Kermarrec [Thu, 11 Sep 2014 20:22:49 +0000 (22:22 +0200)]
setup.py: fix README filename

10 years agogenlib/fifo: add replace command to sync FIFO
Sebastien Bourdeauducq [Wed, 10 Sep 2014 13:19:15 +0000 (21:19 +0800)]
genlib/fifo: add replace command to sync FIFO

10 years agoREADME: more markdown fixes
Sebastien Bourdeauducq [Wed, 10 Sep 2014 12:52:19 +0000 (20:52 +0800)]
README: more markdown fixes

10 years agoREADME: markdown fixes
Sebastien Bourdeauducq [Wed, 10 Sep 2014 12:51:17 +0000 (20:51 +0800)]
README: markdown fixes

10 years agoREADME: use markdown
Sebastien Bourdeauducq [Wed, 10 Sep 2014 12:49:49 +0000 (20:49 +0800)]
README: use markdown

10 years agoactorlib/spi: remove unneeded import
Sebastien Bourdeauducq [Mon, 8 Sep 2014 10:48:54 +0000 (18:48 +0800)]
actorlib/spi: remove unneeded import

10 years agoactorlib/spi: remove EventManager from DMAController
Florent Kermarrec [Sat, 6 Sep 2014 07:06:24 +0000 (09:06 +0200)]
actorlib/spi: remove EventManager from DMAController

10 years agosim/icarus: add vpi directory to module search path
Robert Jordens [Sun, 7 Sep 2014 06:23:57 +0000 (00:23 -0600)]
sim/icarus: add vpi directory to module search path

This allows running the iverilog simulations from the migen top directory
without having to install the .vpi anywhere.

10 years agocordic: round() constants if not power of two bitwidth, cleanup, simplify some logic
Robert Jordens [Sun, 7 Sep 2014 06:18:04 +0000 (00:18 -0600)]
cordic: round() constants if not power of two bitwidth, cleanup, simplify some logic

10 years agotest_cordic: stop spewing out numbers
Robert Jordens [Sun, 7 Sep 2014 06:18:03 +0000 (00:18 -0600)]
test_cordic: stop spewing out numbers

10 years agodoc: update for NetworkX refactoring
Robert Jordens [Sun, 7 Sep 2014 06:09:54 +0000 (00:09 -0600)]
doc: update for NetworkX refactoring

10 years agoexamples/dataflow: adapt to new simple MultiDiGraph implementation
Robert Jordens [Sun, 7 Sep 2014 06:09:53 +0000 (00:09 -0600)]
examples/dataflow: adapt to new simple MultiDiGraph implementation

10 years agoflow/network: replace NetworkX MultiDiGraph with simple implementation
Robert Jordens [Sun, 7 Sep 2014 06:09:52 +0000 (00:09 -0600)]
flow/network: replace NetworkX MultiDiGraph with simple implementation

10 years agoexamples/dataflow/dma: fix simulation, run it for 100 cycles
Robert Jordens [Sun, 7 Sep 2014 06:09:51 +0000 (00:09 -0600)]
examples/dataflow/dma: fix simulation, run it for 100 cycles

10 years agocordic: vivado is bad at inferring compact adder/subtractor logic
Robert Jordens [Thu, 4 Sep 2014 00:27:13 +0000 (18:27 -0600)]
cordic: vivado is bad at inferring compact adder/subtractor logic

10 years agovivado: add more reporting
Robert Jordens [Thu, 4 Sep 2014 00:27:12 +0000 (18:27 -0600)]
vivado: add more reporting

10 years agovivado: mode batch to prevent vivado from opening tcl shell on error
Robert Jordens [Thu, 4 Sep 2014 00:27:11 +0000 (18:27 -0600)]
vivado: mode batch to prevent vivado from opening tcl shell on error

10 years agoplatforms/kc705: use jtaghs1_fast cable
Sebastien Bourdeauducq [Wed, 3 Sep 2014 09:29:26 +0000 (17:29 +0800)]
platforms/kc705: use jtaghs1_fast cable

10 years agokc705: enable DCI termination on DDR3
Florent Kermarrec [Mon, 1 Sep 2014 21:11:40 +0000 (23:11 +0200)]
kc705: enable DCI termination on DDR3

10 years agoplatforms/kc705: read the configuration flash faster (ISE only)
Sebastien Bourdeauducq [Fri, 22 Aug 2014 10:44:10 +0000 (18:44 +0800)]
platforms/kc705: read the configuration flash faster (ISE only)

10 years agoplatforms: add -w option to bitgen_opt
Sebastien Bourdeauducq [Fri, 22 Aug 2014 10:26:25 +0000 (18:26 +0800)]
platforms: add -w option to bitgen_opt

10 years agokc705: add spiflash pins
Florent Kermarrec [Thu, 21 Aug 2014 11:34:30 +0000 (13:34 +0200)]
kc705: add spiflash pins

10 years agovivado: enable bitstream compression (optional)
Florent Kermarrec [Wed, 20 Aug 2014 15:22:32 +0000 (17:22 +0200)]
vivado: enable bitstream compression (optional)

10 years agofhdl.structure: do not permit clock domain names that start with numbers
Robert Jordens [Sun, 17 Aug 2014 20:56:33 +0000 (14:56 -0600)]
fhdl.structure: do not permit clock domain names that start with numbers

10 years agofhdl.structure: remove unused imports
Robert Jordens [Sun, 17 Aug 2014 20:56:32 +0000 (14:56 -0600)]
fhdl.structure: remove unused imports

10 years agoSignal.__getitem__: raise TypeError and IndexError when appropriate
Robert Jordens [Sun, 17 Aug 2014 20:56:31 +0000 (14:56 -0600)]
Signal.__getitem__: raise TypeError and IndexError when appropriate

10 years agoSignal.like: pass kwargs
Robert Jordens [Sun, 17 Aug 2014 20:56:30 +0000 (14:56 -0600)]
Signal.like: pass kwargs

10 years agovivado: make tcl a list of commands, add reporting
Robert Jordens [Sun, 17 Aug 2014 20:56:29 +0000 (14:56 -0600)]
vivado: make tcl a list of commands, add reporting

10 years agomibuild/programmer: remove unneeded needs_flash_proxy attr
Sebastien Bourdeauducq [Sat, 9 Aug 2014 06:28:15 +0000 (14:28 +0800)]
mibuild/programmer: remove unneeded needs_flash_proxy attr

10 years agoplatforms/kc705: remove DDR3 multirank pins
Sebastien Bourdeauducq [Sat, 9 Aug 2014 02:56:59 +0000 (10:56 +0800)]
platforms/kc705: remove DDR3 multirank pins

10 years agobus/dfi: add CKE and RESET_N
Sebastien Bourdeauducq [Sat, 9 Aug 2014 02:56:08 +0000 (10:56 +0800)]
bus/dfi: add CKE and RESET_N

10 years agotypo
Sebastien Bourdeauducq [Wed, 6 Aug 2014 15:58:09 +0000 (23:58 +0800)]
typo

10 years agomibuild/xilinx: connect CE on reset synchronizer FFs
Sebastien Bourdeauducq [Wed, 6 Aug 2014 15:51:50 +0000 (23:51 +0800)]
mibuild/xilinx: connect CE on reset synchronizer FFs

10 years agogenlib: add reset synchronizer
Sebastien Bourdeauducq [Wed, 6 Aug 2014 11:38:37 +0000 (19:38 +0800)]
genlib: add reset synchronizer

10 years agomibuild/xilinx: share more code between ISE and Vivado, use special overrides with...
Sebastien Bourdeauducq [Wed, 6 Aug 2014 11:26:00 +0000 (19:26 +0800)]
mibuild/xilinx: share more code between ISE and Vivado, use special overrides with Vivado, merge xilinx_tools into xilinx_common

10 years agoplatforms/kc705: fix speed grade
Sebastien Bourdeauducq [Sun, 3 Aug 2014 09:51:44 +0000 (17:51 +0800)]
platforms/kc705: fix speed grade

10 years agoplatforms/kc705: add automatic clk200 constraint
Sebastien Bourdeauducq [Sun, 3 Aug 2014 07:53:58 +0000 (15:53 +0800)]
platforms/kc705: add automatic clk200 constraint

10 years agoplatforms/kc705: use XC3SProg
Sebastien Bourdeauducq [Sun, 3 Aug 2014 07:53:42 +0000 (15:53 +0800)]
platforms/kc705: use XC3SProg

10 years agoplatforms/kc705: use Vivado by default
Sebastien Bourdeauducq [Sun, 3 Aug 2014 07:53:21 +0000 (15:53 +0800)]
platforms/kc705: use Vivado by default

10 years agomibuild/programmer: fix XC3SProg init
Sebastien Bourdeauducq [Sun, 3 Aug 2014 07:52:34 +0000 (15:52 +0800)]
mibuild/programmer: fix XC3SProg init

10 years agomibuild/generic_platform: add recursive parameter to add_source_dir
Florent Kermarrec [Fri, 1 Aug 2014 10:50:38 +0000 (12:50 +0200)]
mibuild/generic_platform: add recursive parameter to add_source_dir

10 years agogenlib/fifo: use synchronous memory read instead of additional register
Sebastien Bourdeauducq [Sat, 2 Aug 2014 00:52:49 +0000 (08:52 +0800)]
genlib/fifo: use synchronous memory read instead of additional register

The latter causes problems with InsertReset

10 years agomibuild: move programmer to mibuild and create programmer directly in platforms
Florent Kermarrec [Wed, 30 Jul 2014 09:35:21 +0000 (11:35 +0200)]
mibuild: move programmer to mibuild and create programmer directly in platforms

10 years agokc705/ddram: use lighter pin syntax
Sebastien Bourdeauducq [Wed, 30 Jul 2014 02:31:26 +0000 (10:31 +0800)]
kc705/ddram: use lighter pin syntax

10 years agomibuild/xilinx_vivado: allow sharing Misc constraints with ISE: example: ISE: DIFF_TE...
Florent Kermarrec [Tue, 29 Jul 2014 13:04:27 +0000 (15:04 +0200)]
mibuild/xilinx_vivado: allow sharing Misc constraints with ISE: example: ISE: DIFF_TERM=True VIVADO: set property DIFF_TERM TRUE

10 years agokc705: add ddram pins
Florent Kermarrec [Mon, 28 Jul 2014 09:54:50 +0000 (11:54 +0200)]
kc705: add ddram pins

10 years agomibuild.xilinx_vivado: support settingsXX.sh
Robert Jordens [Mon, 28 Jul 2014 01:30:08 +0000 (19:30 -0600)]
mibuild.xilinx_vivado: support settingsXX.sh

* in the process refactor the version search, the architecture bit width
 detection, the settings search and all also for xilinx_ise
* use distutils.version.StrictVersion

10 years agomigen.fhdl.structure: add Signal.like(other)
Robert Jordens [Fri, 25 Jul 2014 05:45:41 +0000 (23:45 -0600)]
migen.fhdl.structure: add Signal.like(other)

This is a convenience method. Signal(flen(other)) is used frequently but that
drops the signedness. Signal((other.nbits, other.signed)) would be correct but
is long.

10 years agomigen/sim/generic: use kwargs to pass parameters to icarus.Runner
Florent Kermarrec [Thu, 24 Jul 2014 12:31:00 +0000 (14:31 +0200)]
migen/sim/generic: use kwargs to pass parameters to icarus.Runner

10 years agoflow.plumbing: spelling
Robert Jordens [Sat, 19 Jul 2014 05:19:07 +0000 (23:19 -0600)]
flow.plumbing: spelling

10 years agoflow.plumbing: make argument order consistent
Robert Jordens [Sat, 19 Jul 2014 05:18:48 +0000 (23:18 -0600)]
flow.plumbing: make argument order consistent

10 years agogenlib/SyncFIFO: remove flush signal (use InsertReset instead)
Sebastien Bourdeauducq [Fri, 18 Jul 2014 01:15:45 +0000 (19:15 -0600)]
genlib/SyncFIFO: remove flush signal (use InsertReset instead)

10 years agomibuild/platforms: add APF27 and APF51 Armadeus platforms
Fabien Marteau [Fri, 11 Jul 2014 17:07:39 +0000 (11:07 -0600)]
mibuild/platforms: add APF27 and APF51 Armadeus platforms

10 years agomibuild/generic_platform.py: adding ability to use void pins (none fpga pin) for...
Fabien Marteau [Wed, 9 Jul 2014 07:44:55 +0000 (09:44 +0200)]
mibuild/generic_platform.py: adding ability to use void pins (none fpga pin) for connectors

Signed-off-by: Fabien Marteau <fabien.marteau@armadeus.com>
10 years agoMerge branch 'master' of github.com:m-labs/migen
Sebastien Bourdeauducq [Sat, 28 Jun 2014 14:15:20 +0000 (16:15 +0200)]
Merge branch 'master' of github.com:m-labs/migen

10 years agomibuild/xilinx_vivado.py: add set property to misc constraint
Florent Kermarrec [Tue, 24 Jun 2014 15:22:11 +0000 (17:22 +0200)]
mibuild/xilinx_vivado.py: add set property to misc constraint

10 years agoMerge branch 'master' of github.com:m-labs/migen
Sebastien Bourdeauducq [Sun, 22 Jun 2014 13:34:02 +0000 (15:34 +0200)]
Merge branch 'master' of github.com:m-labs/migen