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

10 years agoadd zedboard platform
Robert Jordens [Wed, 17 Jul 2013 05:23:40 +0000 (23:23 -0600)]
add zedboard platform

10 years agoadd initial ztex_115d platform
Robert Jordens [Thu, 4 Jul 2013 07:06:55 +0000 (01:06 -0600)]
add initial ztex_115d platform

10 years agolx9 fixups
Sebastien Bourdeauducq [Tue, 17 Sep 2013 16:14:41 +0000 (18:14 +0200)]
lx9 fixups

10 years agofhdl.size: rename to bitcontainer
Robert Jordens [Tue, 3 Dec 2013 21:12:40 +0000 (14:12 -0700)]
fhdl.size: rename to bitcontainer

10 years agomigen.fhdl.size: verify fslice for negative values
Robert Jordens [Tue, 3 Dec 2013 02:32:13 +0000 (19:32 -0700)]
migen.fhdl.size: verify fslice for negative values

10 years agomigen.fhdl.structure: have Cat() flat_iteration-ize its arguments
Robert Jordens [Tue, 3 Dec 2013 00:23:56 +0000 (17:23 -0700)]
migen.fhdl.structure: have Cat() flat_iteration-ize its arguments

10 years agomigen.fhdl.tools: move flat_iteration to migen.util.misc as tools imports other things
Robert Jordens [Tue, 3 Dec 2013 00:23:22 +0000 (17:23 -0700)]
migen.fhdl.tools: move flat_iteration to migen.util.misc as tools imports other things

10 years agomigen.fhdl.size: add fiter(), fslice(), and freversed()
Robert Jordens [Tue, 3 Dec 2013 00:19:32 +0000 (17:19 -0700)]
migen.fhdl.size: add fiter(), fslice(), and freversed()

do not overload __len__, __iter__, __reversed__ as not all valid
expressions (ints and bools) have them. furthermore len([]) is and
should be different from flen([]) (the later raises an error). keep
__getitem__ as an exception that proves the rule ;)

11 years agogenlib/divider: fix diff computation
Sebastien Bourdeauducq [Mon, 2 Dec 2013 16:56:03 +0000 (17:56 +0100)]
genlib/divider: fix diff computation

11 years agoexamples/sim/cordic_err: fix rms_err function name
Sebastien Bourdeauducq [Mon, 2 Dec 2013 12:18:37 +0000 (13:18 +0100)]
examples/sim/cordic_err: fix rms_err function name

11 years agoexamples/cordic/cordic_impl: do not fail if build dir does not exist
Sebastien Bourdeauducq [Mon, 2 Dec 2013 12:03:26 +0000 (13:03 +0100)]
examples/cordic/cordic_impl: do not fail if build dir does not exist

11 years agogenlib/sort: add bitonic, combinatorial sorter
Robert Jordens [Sat, 30 Nov 2013 02:52:42 +0000 (19:52 -0700)]
genlib/sort: add bitonic, combinatorial sorter

complete with with api documentation and unittests

11 years agoexamples/cordic: scripted exploration of parameters space
Robert Jordens [Mon, 2 Dec 2013 02:30:49 +0000 (19:30 -0700)]
examples/cordic: scripted exploration of parameters space

11 years agogenlib/cordic: cleanup, documentation, unittests
Robert Jordens [Sat, 30 Nov 2013 13:55:01 +0000 (06:55 -0700)]
genlib/cordic: cleanup, documentation, unittests

11 years agomigen/test: if SimCase is a TestCase, it's run in every module that imports it
Robert Jordens [Sat, 30 Nov 2013 13:51:24 +0000 (06:51 -0700)]
migen/test: if SimCase is a TestCase, it's run in every module that imports it

11 years agomigen/test/support: allow easy re-setUp of the testbench with different parameters
Robert Jordens [Sat, 30 Nov 2013 06:32:13 +0000 (23:32 -0700)]
migen/test/support: allow easy re-setUp of the testbench with different parameters

11 years agomibuild: use keyword arguments directly in build_cmdline
Sebastien Bourdeauducq [Sun, 1 Dec 2013 16:56:07 +0000 (17:56 +0100)]
mibuild: use keyword arguments directly in build_cmdline

11 years agomibuild: add support for Yosys
Sebastien Bourdeauducq [Sun, 1 Dec 2013 16:07:48 +0000 (17:07 +0100)]
mibuild: add support for Yosys

11 years agodoc/index.rst: drop index and table chapter, index and search are also generated...
Robert Jordens [Fri, 29 Nov 2013 22:37:50 +0000 (15:37 -0700)]
doc/index.rst: drop index and table chapter, index and search are also generated without

11 years agosetup.py: update repository address
Sebastien Bourdeauducq [Fri, 29 Nov 2013 22:26:52 +0000 (23:26 +0100)]
setup.py: update repository address

11 years agogenlib/coding: add docstrings, add it to api doc
Robert Jördens [Fri, 29 Nov 2013 09:36:48 +0000 (02:36 -0700)]
genlib/coding: add docstrings, add it to api doc

11 years agogenlib/coding, test/test_coding: unittests
Robert Jördens [Fri, 29 Nov 2013 09:20:29 +0000 (02:20 -0700)]
genlib/coding, test/test_coding: unittests

11 years agotest/test_fifo: do not use relative import
Sebastien Bourdeauducq [Fri, 29 Nov 2013 22:18:03 +0000 (23:18 +0100)]
test/test_fifo: do not use relative import

This way the test can simply be run with:
 python -m unittest test_fifo.py

11 years agotest/test_fifo, genlib/fifo: move test to unittest
Robert Jördens [Fri, 29 Nov 2013 08:48:57 +0000 (01:48 -0700)]
test/test_fifo, genlib/fifo: move test to unittest

11 years agomigen/test: start unittests
Robert Jördens [Fri, 29 Nov 2013 08:47:32 +0000 (01:47 -0700)]
migen/test: start unittests

11 years agosim: use Simulator as a contextmanager
Robert Jördens [Fri, 29 Nov 2013 08:43:44 +0000 (01:43 -0700)]
sim: use Simulator as a contextmanager

__del__ garbage collector callbacks are too delicate.  E.g. imported
modules can be garbage collected before the objects using them. Can't
use os.remove, socket.SHUT_RDWR...

* added a DeprecationWarning if a Simulator is garbage collected without
having its .close() called
* renamed all gc __del__ callbacks to close()
* implemented context manager hooks for Simulator. Use like

   with Simulator(TestBench()) as s:
       s.run()

11 years agodoc/api, index: add fhdl.structure, add index/search
Robert Jördens [Fri, 29 Nov 2013 06:38:24 +0000 (23:38 -0700)]
doc/api, index: add fhdl.structure, add index/search

genindex is needed to generate links between members and search is
useful for the html docs.

11 years agofhdl/structure: clarify usage restrictions of LHS Cat
Sebastien Bourdeauducq [Fri, 29 Nov 2013 21:35:53 +0000 (22:35 +0100)]
fhdl/structure: clarify usage restrictions of LHS Cat

11 years agodoc/conf.py: no modindex, no numpydoc warnings
Robert Jördens [Fri, 29 Nov 2013 06:35:34 +0000 (23:35 -0700)]
doc/conf.py: no modindex, no numpydoc warnings

* do not generate boring modindex for html and latex outputs
* numpydoc_show_class_members=False, to skip undocumented methods
  https://github.com/phn/pytpm/issues/3#issuecomment-12133978

11 years agofhdl.structure: document the API
Robert Jördens [Fri, 29 Nov 2013 06:34:06 +0000 (23:34 -0700)]
fhdl.structure: document the API

11 years agogenlib.fifo: fix docstring section syntax
Robert Jördens [Fri, 29 Nov 2013 06:33:27 +0000 (23:33 -0700)]
genlib.fifo: fix docstring section syntax

11 years agogenlib/fifo: clarify we behaviour when writable=0
Sebastien Bourdeauducq [Thu, 28 Nov 2013 21:31:10 +0000 (22:31 +0100)]
genlib/fifo: clarify we behaviour when writable=0

11 years agosetup API documentation, start by documenting fifos
Robert Jordens [Thu, 28 Nov 2013 08:46:52 +0000 (01:46 -0700)]
setup API documentation, start by documenting fifos

11 years agoadd autodoc, numpydoc and doctest to sphinx to generate API doc
Robert Jordens [Thu, 28 Nov 2013 08:46:08 +0000 (01:46 -0700)]
add autodoc, numpydoc and doctest to sphinx to generate API doc

11 years agoplatforms/papilio_pro: add 2x SPI pins
Sebastien Bourdeauducq [Mon, 25 Nov 2013 14:14:58 +0000 (15:14 +0100)]
platforms/papilio_pro: add 2x SPI pins

11 years agospecials/Instance: add PreformattedParam
Sebastien Bourdeauducq [Mon, 25 Nov 2013 11:09:51 +0000 (12:09 +0100)]
specials/Instance: add PreformattedParam

11 years agobus/wishbone/sram: expose memory component
Sebastien Bourdeauducq [Sun, 24 Nov 2013 22:43:14 +0000 (23:43 +0100)]
bus/wishbone/sram: expose memory component

11 years agobus/wishbone: style
Sebastien Bourdeauducq [Sun, 24 Nov 2013 22:42:54 +0000 (23:42 +0100)]
bus/wishbone: style

11 years agoplatforms/papilio_pro: fix clock signal handling
Sebastien Bourdeauducq [Sun, 24 Nov 2013 22:42:31 +0000 (23:42 +0100)]
platforms/papilio_pro: fix clock signal handling

11 years agoplatforms/m1: use definition compatible with Mixxeo for VGA out
Sebastien Bourdeauducq [Sun, 24 Nov 2013 13:00:22 +0000 (14:00 +0100)]
platforms/m1: use definition compatible with Mixxeo for VGA out

11 years agolasmibus/Crossbar: more flexible master assignment
Sebastien Bourdeauducq [Sat, 23 Nov 2013 16:51:22 +0000 (17:51 +0100)]
lasmibus/Crossbar: more flexible master assignment

11 years agoremove stale .gitignore
Sebastien Bourdeauducq [Sat, 23 Nov 2013 14:16:27 +0000 (15:16 +0100)]
remove stale .gitignore

11 years agoupdate pointers
Sebastien Bourdeauducq [Sat, 23 Nov 2013 10:29:57 +0000 (11:29 +0100)]
update pointers

11 years agomerge Mibuild into Migen
Sebastien Bourdeauducq [Sat, 23 Nov 2013 09:45:15 +0000 (10:45 +0100)]
merge Mibuild into Migen

11 years agoAdd 'mibuild/' from commit '9d5931c969810a236de2a2713cfd5e509839d097'
Sebastien Bourdeauducq [Sat, 23 Nov 2013 09:34:28 +0000 (10:34 +0100)]
Add 'mibuild/' from commit '9d5931c969810a236de2a2713cfd5e509839d097'

git-subtree-dir: mibuild
git-subtree-mainline: 7e4024beb3cd10c31ee575eddf9a61d79e0d2c61
git-subtree-split: 9d5931c969810a236de2a2713cfd5e509839d097

11 years agogenlib/fsm: rename {entering,leaving} to after_{entering,leaving}, add before_{enteri...
Robert Jordens [Thu, 21 Nov 2013 19:44:01 +0000 (12:44 -0700)]
genlib/fsm: rename {entering,leaving} to after_{entering,leaving}, add before_{entering,leaving}

11 years agoflow/isd: update to new APIs
Sebastien Bourdeauducq [Wed, 20 Nov 2013 16:45:09 +0000 (17:45 +0100)]
flow/isd: update to new APIs

11 years agoplatforms/mixxeo: update DVI input timing constraints
Sebastien Bourdeauducq [Tue, 19 Nov 2013 22:15:42 +0000 (23:15 +0100)]
platforms/mixxeo: update DVI input timing constraints

11 years agorename milkymist-ng to MiSoC
Sebastien Bourdeauducq [Sat, 9 Nov 2013 17:51:16 +0000 (18:51 +0100)]
rename milkymist-ng to MiSoC

11 years agoplumbing: use Record.connect in Multiplexer/ Demultiplexer
Florent Kermarrec [Mon, 4 Nov 2013 12:46:37 +0000 (13:46 +0100)]
plumbing: use Record.connect in Multiplexer/ Demultiplexer

11 years agoutil: add missing __init__.py
Florent Kermarrec [Mon, 4 Nov 2013 12:45:39 +0000 (13:45 +0100)]
util: add missing __init__.py

11 years agoactorlib/spi/DMAWriteController: make ack_when_inactive a keyword-only arg
Sebastien Bourdeauducq [Sat, 2 Nov 2013 22:21:05 +0000 (23:21 +0100)]
actorlib/spi/DMAWriteController: make ack_when_inactive a keyword-only arg

11 years agoactorlib/spi: add ack_when_inactive parameter to DMA Write Controller
Florent Kermarrec [Fri, 25 Oct 2013 20:53:59 +0000 (22:53 +0200)]
actorlib/spi: add ack_when_inactive parameter to DMA Write Controller

In some cases we don't want to stall the input pipeline when the DMA is inactive, setting ack_when_inactive to True will enable acknowledge of data when the DMA is inactive.

11 years agoflow/plumbing/muxdemux: use existing connect() method instead of new function
Sebastien Bourdeauducq [Sat, 2 Nov 2013 22:15:03 +0000 (23:15 +0100)]
flow/plumbing/muxdemux: use existing connect() method instead of new function

11 years agoflow/actor: Record.connect no longer takes kwargs
Sebastien Bourdeauducq [Sat, 2 Nov 2013 22:14:32 +0000 (23:14 +0100)]
flow/actor: Record.connect no longer takes kwargs

11 years agoflow/plumbing: add Multiplexer and Demultiplexer
Florent Kermarrec [Fri, 25 Oct 2013 20:45:45 +0000 (22:45 +0200)]
flow/plumbing: add Multiplexer and Demultiplexer

11 years agoreplace use of __dict__ with dir()/xdir()
Sebastien Bourdeauducq [Sat, 2 Nov 2013 15:03:47 +0000 (16:03 +0100)]
replace use of __dict__ with dir()/xdir()

11 years agoflow: add AbstractActor busy signals
Sebastien Bourdeauducq [Fri, 25 Oct 2013 16:50:14 +0000 (18:50 +0200)]
flow: add AbstractActor busy signals

11 years agoBetter record layout parameterization mechanism
Sebastien Bourdeauducq [Wed, 23 Oct 2013 10:54:50 +0000 (12:54 +0200)]
Better record layout parameterization mechanism

11 years agoRevert "genlib/record: support passing params in same object"
Sebastien Bourdeauducq [Tue, 22 Oct 2013 13:23:00 +0000 (15:23 +0200)]
Revert "genlib/record: support passing params in same object"

This reverts commit 018afe57ef52b8040934319cac848437a2ba0163.

11 years agoRevert "genlib/fifo: support RecordP"
Sebastien Bourdeauducq [Tue, 22 Oct 2013 13:22:40 +0000 (15:22 +0200)]
Revert "genlib/fifo: support RecordP"

This reverts commit c0d2b5a78947814eeb9476fe7ca4c1e3d27e02f4.

11 years agogenlib/fifo: support RecordP
Sebastien Bourdeauducq [Mon, 21 Oct 2013 20:30:06 +0000 (22:30 +0200)]
genlib/fifo: support RecordP

11 years agogenlib/record: support passing params in same object
Sebastien Bourdeauducq [Mon, 21 Oct 2013 20:05:28 +0000 (22:05 +0200)]
genlib/record: support passing params in same object

11 years agomixxeo: add DVI output pins
Sebastien Bourdeauducq [Tue, 17 Sep 2013 16:14:41 +0000 (18:14 +0200)]
mixxeo: add DVI output pins

11 years agoMerge branch 'master' of github.com:milkymist/mibuild
Sebastien Bourdeauducq [Mon, 16 Sep 2013 17:17:09 +0000 (19:17 +0200)]
Merge branch 'master' of github.com:milkymist/mibuild

11 years agomixxeo: use -2 speed grade
Sebastien Bourdeauducq [Mon, 16 Sep 2013 17:17:00 +0000 (19:17 +0200)]
mixxeo: use -2 speed grade

11 years agomixxeo: swap pairs 0 and 1 on DVI1
Sebastien Bourdeauducq [Sat, 14 Sep 2013 17:36:02 +0000 (19:36 +0200)]
mixxeo: swap pairs 0 and 1 on DVI1

11 years agoplatforms/mixxeo: add LED
Sebastien Bourdeauducq [Fri, 6 Sep 2013 21:10:01 +0000 (23:10 +0200)]
platforms/mixxeo: add LED

11 years agogenlib/fsm: add entering/ongoing/leaving methods
Sebastien Bourdeauducq [Fri, 6 Sep 2013 12:51:18 +0000 (14:51 +0200)]
genlib/fsm: add entering/ongoing/leaving methods

11 years agoactorlib/fifo: do not duplicate safe write logic
Sebastien Bourdeauducq [Wed, 4 Sep 2013 15:33:53 +0000 (17:33 +0200)]
actorlib/fifo: do not duplicate safe write logic

11 years agoactorlib/spi/DMAController: use EventSourceProcess
Sebastien Bourdeauducq [Wed, 4 Sep 2013 15:29:42 +0000 (17:29 +0200)]
actorlib/spi/DMAController: use EventSourceProcess

11 years agoactorlib/spi: add optional irq generation on DMAController
Florent Kermarrec [Tue, 3 Sep 2013 22:06:53 +0000 (00:06 +0200)]
actorlib/spi: add optional irq generation on DMAController

11 years agoactorlib/fifo: rewrite
Sebastien Bourdeauducq [Wed, 4 Sep 2013 15:22:50 +0000 (17:22 +0200)]
actorlib/fifo: rewrite

* use classes for less code duplication
* the idea of decorator is to avoid passing common parameters (e.g. clock domain names) in module constructors, so remove those parameters
* style

11 years agoexamples/basic/namer: cleanup
Sebastien Bourdeauducq [Wed, 4 Sep 2013 15:20:40 +0000 (17:20 +0200)]
examples/basic/namer: cleanup

11 years agoactorlib: add fifo
Florent Kermarrec [Tue, 3 Sep 2013 22:01:33 +0000 (00:01 +0200)]
actorlib: add fifo