litex.git
9 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.

9 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

9 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.

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

9 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

9 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

9 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

9 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

10 years agofsm: set reset_state as default state
Florent Kermarrec [Sat, 24 May 2014 11:35:02 +0000 (13:35 +0200)]
fsm: set reset_state as default state

10 years agomibuild: use SimpleCRG instead of CRG_SE, remove period parameter for CRG_DS, clean...
Florent Kermarrec [Fri, 20 Jun 2014 15:10:09 +0000 (17:10 +0200)]
mibuild: use SimpleCRG instead of CRG_SE, remove period parameter for CRG_DS, clean up platforms

10 years agofifo: add support for depth=2
Florent Kermarrec [Mon, 26 May 2014 22:17:34 +0000 (00:17 +0200)]
fifo: add support for depth=2

10 years agomigen/bank/description: add reset parameter to CSRStatus
Florent Kermarrec [Sat, 31 May 2014 10:03:19 +0000 (12:03 +0200)]
migen/bank/description: add reset parameter to CSRStatus

10 years agokc705: use string default arg
Sebastien Bourdeauducq [Sat, 7 Jun 2014 11:41:46 +0000 (13:41 +0200)]
kc705: use string default arg

10 years agoinitial Vivado support
Florent Kermarrec [Sat, 7 Jun 2014 10:24:19 +0000 (12:24 +0200)]
initial Vivado support

10 years agomibuild/platforms: use add_period_constraint
Florent Kermarrec [Mon, 19 May 2014 10:03:26 +0000 (12:03 +0200)]
mibuild/platforms: use add_period_constraint

10 years agomibuild: expose add_period_constraint (easier to use for simple designs than vendor...
Florent Kermarrec [Mon, 19 May 2014 09:27:08 +0000 (11:27 +0200)]
mibuild: expose add_period_constraint (easier to use for simple designs than vendor specific code)

10 years agomibuild/altera_quartus: use default gui command line parameters (enable pll constrain...
Florent Kermarrec [Mon, 19 May 2014 09:21:42 +0000 (11:21 +0200)]
mibuild/altera_quartus: use default gui command line parameters (enable pll constraints propagation) and remove deprecated methods

10 years agomibuild: remove useless 'reduce_control_sets auto'
Sebastien Bourdeauducq [Mon, 12 May 2014 17:11:11 +0000 (19:11 +0200)]
mibuild: remove useless 'reduce_control_sets auto'

10 years agowishbone2lasmi: fix wordbits computation
Florent Kermarrec [Wed, 30 Apr 2014 16:03:56 +0000 (18:03 +0200)]
wishbone2lasmi: fix wordbits computation

10 years agode0nano: call sdram mask dm, not dqm (follow other platforms and gensdrphy)
Robert Jordens [Fri, 25 Apr 2014 00:28:32 +0000 (18:28 -0600)]
de0nano: call sdram mask dm, not dqm (follow other platforms and gensdrphy)

10 years agofhdl: forbid zero-length signals
Sebastien Bourdeauducq [Fri, 18 Apr 2014 13:01:50 +0000 (15:01 +0200)]
fhdl: forbid zero-length signals

10 years agowishbone2lasmi: support lasmim data_width < wishbone data_width
Florent Kermarrec [Fri, 18 Apr 2014 11:49:58 +0000 (13:49 +0200)]
wishbone2lasmi: support lasmim data_width < wishbone data_width

10 years agomibuild: force shell script generation to unix format (will be executed with cygwin...
Florent Kermarrec [Mon, 14 Apr 2014 15:19:53 +0000 (17:19 +0200)]
mibuild: force shell script generation to unix format (will be executed with cygwin's bash on windows)

10 years agomibuild/altera_quartus: enforce use of SystemVerilog in Quartus (Verilog does not...
Florent Kermarrec [Mon, 14 Apr 2014 15:14:24 +0000 (17:14 +0200)]
mibuild/altera_quartus: enforce use of SystemVerilog in Quartus (Verilog does not support global parameters)

10 years agosim: use (mandatory) ncycles when starting a simulation with no active functions
Sebastien Bourdeauducq [Sun, 13 Apr 2014 13:16:27 +0000 (15:16 +0200)]
sim: use (mandatory) ncycles when starting a simulation with no active functions

10 years agomibuild: add bitstream_ext parameter to platforms
Florent Kermarrec [Tue, 8 Apr 2014 17:59:15 +0000 (19:59 +0200)]
mibuild: add bitstream_ext parameter to platforms

10 years agomibuild/altera_quartus: set top_level_entity
Florent Kermarrec [Fri, 11 Apr 2014 21:27:02 +0000 (23:27 +0200)]
mibuild/altera_quartus: set top_level_entity

10 years agomibuild/altera_quartus: add support for verilog include
Florent Kermarrec [Fri, 11 Apr 2014 21:24:39 +0000 (23:24 +0200)]
mibuild/altera_quartus: add support for verilog include

10 years agotest/SyncFIFOCase: better test bench termination
Robert Jordens [Sun, 6 Apr 2014 22:04:36 +0000 (00:04 +0200)]
test/SyncFIFOCase: better test bench termination

10 years agomibuild/xilinx_ise: move overwrite option to default options
Robert Jordens [Fri, 4 Apr 2014 04:19:29 +0000 (22:19 -0600)]
mibuild/xilinx_ise: move overwrite option to default options

10 years agomibuild/xilinx: make par and map options configurable
Robert Jordens [Fri, 4 Apr 2014 04:19:28 +0000 (22:19 -0600)]
mibuild/xilinx: make par and map options configurable

10 years agogenlib/fifo: add SyncFIFOClassic and SyncFIFOBuffered
Robert Jordens [Fri, 4 Apr 2014 04:19:26 +0000 (22:19 -0600)]
genlib/fifo: add SyncFIFOClassic and SyncFIFOBuffered

10 years agotest/test_cordic: fix for new Simulation API
Robert Jordens [Mon, 24 Mar 2014 15:32:27 +0000 (09:32 -0600)]
test/test_cordic: fix for new Simulation API

10 years agotest/support: fix default ncycles
Robert Jordens [Mon, 24 Mar 2014 15:32:26 +0000 (09:32 -0600)]
test/support: fix default ncycles

10 years agogenlib/coding: gracefully handle flen(i) < 2
Robert Jordens [Wed, 19 Mar 2014 23:47:26 +0000 (17:47 -0600)]
genlib/coding: gracefully handle flen(i) < 2

10 years agobus/csr: new simulation api
Robert Jordens [Wed, 19 Mar 2014 23:47:25 +0000 (17:47 -0600)]
bus/csr: new simulation api

10 years agogenlib/fifo: add flush, expose level in SyncFIFO
Robert Jordens [Sat, 15 Mar 2014 22:15:47 +0000 (16:15 -0600)]
genlib/fifo: add flush, expose level in SyncFIFO

AsyncFIFO would need versions of flush and level in each clock domain
plus some handshaking on double flush.

Signed-off-by: Robert Jordens <jordens@gmail.com>
10 years agomibuild/generic_platform: fix default value for connectors
Sebastien Bourdeauducq [Mon, 17 Feb 2014 16:40:15 +0000 (17:40 +0100)]
mibuild/generic_platform: fix default value for connectors

10 years agomibuild/platforms/papilio_pro: add expansion connectors
Sebastien Bourdeauducq [Sun, 16 Feb 2014 22:54:11 +0000 (23:54 +0100)]
mibuild/platforms/papilio_pro: add expansion connectors

10 years agomibuild: support for expansion connectors
Sebastien Bourdeauducq [Sun, 16 Feb 2014 22:53:50 +0000 (23:53 +0100)]
mibuild: support for expansion connectors

10 years agoUpdate doc with new simulation API
Sebastien Bourdeauducq [Fri, 7 Feb 2014 22:08:59 +0000 (23:08 +0100)]
Update doc with new simulation API

10 years agofix SimActor TB terminations
Sebastien Bourdeauducq [Mon, 27 Jan 2014 23:03:56 +0000 (00:03 +0100)]
fix SimActor TB terminations

10 years agoAdd 'passive' simulation functions that are not taken into account while determining...
Sebastien Bourdeauducq [Mon, 27 Jan 2014 22:58:46 +0000 (23:58 +0100)]
Add 'passive' simulation functions that are not taken into account while determining when to stop the simulator