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

10 years agoNew simulation API
Sebastien Bourdeauducq [Sun, 26 Jan 2014 21:19:43 +0000 (22:19 +0100)]
New simulation API

10 years agobank/eventmanager: add SharedIRQ
Sebastien Bourdeauducq [Mon, 6 Jan 2014 21:13:06 +0000 (22:13 +0100)]
bank/eventmanager: add SharedIRQ

10 years agomigen/fhdl/tools: speed up group_by_targets (halves the mixxeo runtime)
Robert Jordens [Fri, 6 Dec 2013 22:04:57 +0000 (15:04 -0700)]
migen/fhdl/tools: speed up group_by_targets (halves the mixxeo runtime)

10 years agoplatforms/rhino: add GPMC wait pin
Sebastien Bourdeauducq [Sat, 14 Dec 2013 13:32:34 +0000 (14:32 +0100)]
platforms/rhino: add GPMC wait pin

10 years agofhdl/simplify/FullMemoryWE: fix WE slice for multi-port mems
Sebastien Bourdeauducq [Thu, 12 Dec 2013 23:02:50 +0000 (00:02 +0100)]
fhdl/simplify/FullMemoryWE: fix WE slice for multi-port mems

10 years agoadd support for Verilog include paths
Sebastien Bourdeauducq [Thu, 12 Dec 2013 22:17:51 +0000 (23:17 +0100)]
add support for Verilog include paths

10 years agofhdl/simplify: add FullMemoryWE decorator that splits memories to remove partial WEs
Sebastien Bourdeauducq [Thu, 12 Dec 2013 16:37:31 +0000 (17:37 +0100)]
fhdl/simplify: add FullMemoryWE decorator that splits memories to remove partial WEs

10 years agoutils/misc: add gcd_multiple function to compute GCD or any number of integers
Sebastien Bourdeauducq [Thu, 12 Dec 2013 16:36:50 +0000 (17:36 +0100)]
utils/misc: add gcd_multiple function to compute GCD or any number of integers

10 years agospecials/Memory: allow for more flexibility in memory port signals
Sebastien Bourdeauducq [Thu, 12 Dec 2013 16:36:17 +0000 (17:36 +0100)]
specials/Memory: allow for more flexibility in memory port signals

10 years agofhdl/verilog: fix representation of negative integers
Sebastien Bourdeauducq [Wed, 11 Dec 2013 21:26:10 +0000 (22:26 +0100)]
fhdl/verilog: fix representation of negative integers

Give the explicit two's complement representation for the given bit width.

This results in less readable code compared to using unary minus,
but fixes a bug when trying to represent the most negative integer.

10 years agomigen/test/test_signed: add a (currently failing) signed comparison testcase
Robert Jordens [Mon, 9 Dec 2013 03:23:21 +0000 (20:23 -0700)]
migen/test/test_signed: add a (currently failing) signed comparison testcase

10 years agomigen/fhdl/bitcontainer: fix signed arrays (map is an iterator)
Robert Jordens [Sun, 8 Dec 2013 08:24:56 +0000 (01:24 -0700)]
migen/fhdl/bitcontainer: fix signed arrays (map is an iterator)

10 years agomibuild/xilinx_ise: use ngdbuild_opt also for xst case
Robert Jordens [Fri, 6 Dec 2013 10:49:44 +0000 (03:49 -0700)]
mibuild/xilinx_ise: use ngdbuild_opt also for xst case

10 years agomibuild/xilinx_ise: add support for custom tools and options
Robert Jordens [Fri, 6 Dec 2013 07:51:03 +0000 (00:51 -0700)]
mibuild/xilinx_ise: add support for custom tools and options

10 years agousrp_b100 platform
Robert Jordens [Sat, 16 Nov 2013 10:22:09 +0000 (03:22 -0700)]
usrp_b100 platform