Sebastien Bourdeauducq [Mon, 10 Jun 2013 20:29:39 +0000 (22:29 +0200)]
actorlib: LASMI DMA (untested)
Sebastien Bourdeauducq [Mon, 10 Jun 2013 16:52:07 +0000 (18:52 +0200)]
bus: Wishbone -> LASMI bridge (untested)
Sebastien Bourdeauducq [Sun, 9 Jun 2013 21:36:51 +0000 (23:36 +0200)]
examples/sim: add LASMI demo
Sebastien Bourdeauducq [Sun, 9 Jun 2013 21:36:32 +0000 (23:36 +0200)]
bus/lasmibus: bugfixes
Sebastien Bourdeauducq [Sun, 9 Jun 2013 14:03:22 +0000 (16:03 +0200)]
bus/lasmibus: add target and initiator
Sebastien Bourdeauducq [Sun, 9 Jun 2013 12:17:30 +0000 (14:17 +0200)]
examples/sim: rename abstract_transactions to abstract_transactions_wb, use new APIs, remove ASMI
Sebastien Bourdeauducq [Sat, 8 Jun 2013 13:49:50 +0000 (15:49 +0200)]
bus/lasmi: interface definition and crossbar (untested)
Kenneth Ryerson [Mon, 3 Jun 2013 19:52:21 +0000 (21:52 +0200)]
csr/sram: fix reads on high addresses when word_bits != 0
Kenneth Ryerson [Mon, 3 Jun 2013 19:51:14 +0000 (21:51 +0200)]
csr/sram: fix page_bits computation
Sebastien Bourdeauducq [Thu, 30 May 2013 16:46:52 +0000 (18:46 +0200)]
genlib/misc: fix import
Sebastien Bourdeauducq [Thu, 30 May 2013 16:45:04 +0000 (18:45 +0200)]
bus/csr/SRAM: better handling of writes to memories larger than the CSR width
Sebastien Bourdeauducq [Thu, 30 May 2013 16:44:37 +0000 (18:44 +0200)]
bitreverse: fhdl/tools -> genlib/misc
Sebastien Bourdeauducq [Tue, 28 May 2013 14:11:34 +0000 (16:11 +0200)]
Make memory ports part of specials
This is needed to handle cases where a single memory has ports
in two different modules, and one of these modules is subject
to clock domain remapping. The clock domain of the port in that
module only must be remapped.
Sebastien Bourdeauducq [Wed, 22 May 2013 15:11:09 +0000 (17:11 +0200)]
New migen.fhdl.std to simplify imports + len->flen
Sebastien Bourdeauducq [Sun, 19 May 2013 18:53:54 +0000 (20:53 +0200)]
bus/wishbone/SRAM: support init and read_only
Sebastien Bourdeauducq [Sun, 19 May 2013 18:53:37 +0000 (20:53 +0200)]
bus/csr/SRAM: support init
Sebastien Bourdeauducq [Thu, 16 May 2013 13:24:11 +0000 (15:24 +0200)]
setup.py: update required Python version
Sebastien Bourdeauducq [Sun, 12 May 2013 13:58:39 +0000 (15:58 +0200)]
bus/asmi: port sharing support
Sebastien Bourdeauducq [Sat, 11 May 2013 15:28:41 +0000 (17:28 +0200)]
fhdl/tools/_TargetLister: do not include array keys in targets
Sebastien Bourdeauducq [Sat, 11 May 2013 09:48:21 +0000 (11:48 +0200)]
genlib/record: match_by_position -> connect_flat
Sebastien Bourdeauducq [Fri, 10 May 2013 15:41:51 +0000 (17:41 +0200)]
Revert "genlib/record/connect: add match_by_position"
This reverts commit
df1ed32765510421fee07a8d5ff29afa9ce7c7c5.
Sebastien Bourdeauducq [Wed, 8 May 2013 18:58:57 +0000 (20:58 +0200)]
bank/description/AutoCSR: add autocsr_exclude
Sebastien Bourdeauducq [Wed, 8 May 2013 16:58:50 +0000 (18:58 +0200)]
dma_asmi: cleanup
Sebastien Bourdeauducq [Wed, 8 May 2013 16:12:26 +0000 (18:12 +0200)]
bank/eventmanager: refactor, rename EventSourceLevel -> EventSourceProcess, add fully externally controlled event source
Sebastien Bourdeauducq [Sat, 4 May 2013 15:38:54 +0000 (17:38 +0200)]
actorlib/spi: add DMAWriteController
Sebastien Bourdeauducq [Sat, 4 May 2013 15:38:17 +0000 (17:38 +0200)]
actorlib/dma_asmi/OOOWriter: fix tag offset
Sebastien Bourdeauducq [Thu, 2 May 2013 11:25:30 +0000 (13:25 +0200)]
flow/network/DataFlowGraph: add_buffered_connection
Sebastien Bourdeauducq [Thu, 2 May 2013 09:49:23 +0000 (11:49 +0200)]
bank/description/CSRStorage: set reset property of storage for use in test benches
Sebastien Bourdeauducq [Wed, 1 May 2013 20:13:26 +0000 (22:13 +0200)]
flow/network: better determination of plumbing layout
Sebastien Bourdeauducq [Wed, 1 May 2013 19:52:26 +0000 (21:52 +0200)]
actorlib/dma_asmi: drive dat_wm
Sebastien Bourdeauducq [Tue, 30 Apr 2013 16:55:01 +0000 (18:55 +0200)]
actorlib/spi: add DMA read controller
Sebastien Bourdeauducq [Tue, 30 Apr 2013 16:54:47 +0000 (18:54 +0200)]
actorlib/spi/SingleGenerator: use CSR alignment bits
Sebastien Bourdeauducq [Tue, 30 Apr 2013 16:53:40 +0000 (18:53 +0200)]
bank/description/CSRStorage: support alignment bits
Sebastien Bourdeauducq [Tue, 30 Apr 2013 16:53:02 +0000 (18:53 +0200)]
flow/network/CompositeActor: expose unconnected endpoints
Sebastien Bourdeauducq [Tue, 30 Apr 2013 13:49:51 +0000 (15:49 +0200)]
flow/network/DataFlowGraph: add add_pipeline
Sebastien Bourdeauducq [Sun, 28 Apr 2013 16:32:46 +0000 (18:32 +0200)]
actorlib/spi/Collector: cleanup, new APIs
Sebastien Bourdeauducq [Sun, 28 Apr 2013 16:06:36 +0000 (18:06 +0200)]
actorlib/dma_asmi: support for writes
Sebastien Bourdeauducq [Thu, 25 Apr 2013 12:57:07 +0000 (14:57 +0200)]
genlib/fifo: disable retiming on Gray counter outputs
Sebastien Bourdeauducq [Thu, 25 Apr 2013 12:56:45 +0000 (14:56 +0200)]
genlib/cdc: add NoRetiming
Sebastien Bourdeauducq [Thu, 25 Apr 2013 12:56:26 +0000 (14:56 +0200)]
fhdl/verilog: recursive Special lowering
Sebastien Bourdeauducq [Thu, 25 Apr 2013 11:30:37 +0000 (13:30 +0200)]
genlib/fifo: add asynchronous FIFO
Sebastien Bourdeauducq [Thu, 25 Apr 2013 11:30:05 +0000 (13:30 +0200)]
fhdl/specials/memory: do not write address register for async reads
Sebastien Bourdeauducq [Thu, 25 Apr 2013 11:11:15 +0000 (13:11 +0200)]
graycounter: expose binary output
Sebastien Bourdeauducq [Wed, 24 Apr 2013 17:13:36 +0000 (19:13 +0200)]
genlib: add Gray counter
Florent Kermarrec [Tue, 23 Apr 2013 09:53:37 +0000 (11:53 +0200)]
Support for resetless clock domains
Sebastien Bourdeauducq [Mon, 15 Apr 2013 21:55:30 +0000 (23:55 +0200)]
Change license to 2-clause BSD
Sebastien Bourdeauducq [Sun, 14 Apr 2013 11:55:04 +0000 (13:55 +0200)]
bus/csr/SRAM: fix Module conversion errors
Sebastien Bourdeauducq [Sun, 14 Apr 2013 11:50:26 +0000 (13:50 +0200)]
fhdl: support len() on all values
Sebastien Bourdeauducq [Thu, 11 Apr 2013 16:55:49 +0000 (18:55 +0200)]
fhdl/verilog/_printinit: initialize undriven Special inputs (bug reported by Florent Kermarrec)
Sebastien Bourdeauducq [Wed, 10 Apr 2013 21:42:46 +0000 (23:42 +0200)]
ioo+pytholite: use new Module API
Sebastien Bourdeauducq [Wed, 10 Apr 2013 21:42:14 +0000 (23:42 +0200)]
fhdl/visit: add TransformModule
Sebastien Bourdeauducq [Wed, 10 Apr 2013 20:28:53 +0000 (22:28 +0200)]
ioo: move to genlib
Sebastien Bourdeauducq [Wed, 10 Apr 2013 20:15:28 +0000 (22:15 +0200)]
uio: remove Trampoline (Python 3.3 provides generator delegation instead)
Sebastien Bourdeauducq [Wed, 10 Apr 2013 19:33:56 +0000 (21:33 +0200)]
flow: match record fields by position
Sebastien Bourdeauducq [Wed, 10 Apr 2013 19:33:45 +0000 (21:33 +0200)]
genlib/record/connect: add match_by_position
Sebastien Bourdeauducq [Wed, 10 Apr 2013 17:12:42 +0000 (19:12 +0200)]
flow: use Module and new Record APIs
Sebastien Bourdeauducq [Mon, 1 Apr 2013 20:15:23 +0000 (22:15 +0200)]
flow: adapt to new Record API
Sebastien Bourdeauducq [Mon, 1 Apr 2013 19:54:21 +0000 (21:54 +0200)]
bus: replace simple bus module with new bidirectional Record
Sebastien Bourdeauducq [Mon, 1 Apr 2013 19:53:33 +0000 (21:53 +0200)]
New bidirectional-capable Record API
Sebastien Bourdeauducq [Sat, 30 Mar 2013 16:28:41 +0000 (17:28 +0100)]
New CSR API
Sebastien Bourdeauducq [Sat, 30 Mar 2013 10:29:46 +0000 (11:29 +0100)]
fhdl/module/finalize: pass additional args to do_finalize
Sebastien Bourdeauducq [Tue, 26 Mar 2013 10:58:34 +0000 (11:58 +0100)]
fhdl/specials: clean up clock domain handling
Sebastien Bourdeauducq [Mon, 25 Mar 2013 14:54:09 +0000 (15:54 +0100)]
actorlib/structuring/Cast: support inversion
Sebastien Bourdeauducq [Mon, 25 Mar 2013 13:44:15 +0000 (14:44 +0100)]
bank/csrgen/BankArray: retain name information
Sebastien Bourdeauducq [Mon, 25 Mar 2013 13:43:44 +0000 (14:43 +0100)]
bank/description/Register: add get_size
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:51:01 +0000 (00:51 +0100)]
genlib/record: use getattr instead of __dict__
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:50:33 +0000 (00:50 +0100)]
genlib/record: add eq
Sebastien Bourdeauducq [Fri, 22 Mar 2013 17:18:38 +0000 (18:18 +0100)]
genlib/fifo: simple synchronous FIFO
Sebastien Bourdeauducq [Fri, 22 Mar 2013 17:17:54 +0000 (18:17 +0100)]
fhdl/module: support clock domain remapping of submodules
Sebastien Bourdeauducq [Thu, 21 Mar 2013 09:40:02 +0000 (10:40 +0100)]
genlib/cdc/MultiReg: output clock domain defaults to sys
Sebastien Bourdeauducq [Tue, 19 Mar 2013 10:46:27 +0000 (11:46 +0100)]
examples/sim/fir: convert to new API
Sebastien Bourdeauducq [Mon, 18 Mar 2013 17:45:19 +0000 (18:45 +0100)]
fhdl/verilog: optionally disable clock domain creation
Sebastien Bourdeauducq [Mon, 18 Mar 2013 17:37:23 +0000 (18:37 +0100)]
examples/basic/arrays: demonstrate lowering of Array in Instance expression
Sebastien Bourdeauducq [Mon, 18 Mar 2013 17:36:50 +0000 (18:36 +0100)]
Lowering of Special expressions + support ClockSignal/ResetSignal
Sebastien Bourdeauducq [Mon, 18 Mar 2013 13:38:01 +0000 (14:38 +0100)]
fhdl/tools/_ArrayLowerer: complete support for arrays as targets
Sebastien Bourdeauducq [Mon, 18 Mar 2013 08:52:43 +0000 (09:52 +0100)]
fhdl/tools/value_bits_sign: support not
Sebastien Bourdeauducq [Sun, 17 Mar 2013 14:33:38 +0000 (15:33 +0100)]
fhdl/structure: style fix
Sébastien Bourdeauducq [Sun, 17 Mar 2013 14:33:14 +0000 (07:33 -0700)]
Merge pull request #6 from larsclausen/master
Minor improvements
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:50:24 +0000 (19:50 +0100)]
genlib/cdc/MultiReg: implement rename_clock_domain + get_clock_domains
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:49:24 +0000 (19:49 +0100)]
genlib/cdc/MultiReg: remove idomain
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:47:01 +0000 (19:47 +0100)]
fhdl/specials: fix rename_clock_domain declarations
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:41:30 +0000 (19:41 +0100)]
sim: remove PureSimulable (superseded by Module)
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:15:48 +0000 (19:15 +0100)]
structure: remove Fragment.call_sim
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:15:28 +0000 (19:15 +0100)]
sim: compatibility with new ClockDomain API
Sebastien Bourdeauducq [Fri, 15 Mar 2013 17:18:32 +0000 (18:18 +0100)]
Local clock domain example
Sebastien Bourdeauducq [Fri, 15 Mar 2013 17:17:33 +0000 (18:17 +0100)]
Make ClockDomains part of fragments
Sebastien Bourdeauducq [Thu, 14 Mar 2013 11:20:18 +0000 (12:20 +0100)]
flow/actor/filter_endpoints: deterministic order
Sebastien Bourdeauducq [Wed, 13 Mar 2013 22:07:44 +0000 (23:07 +0100)]
bank/csrgen/BankArray: create banks in sorted order
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:46:34 +0000 (19:46 +0100)]
bank/description: modify reg/mem in-place
Lars-Peter Clausen [Tue, 12 Mar 2013 21:27:19 +0000 (22:27 +0100)]
Allow SimActors to produce/consume a constant stream of tokens
Currently a SimActor requires one clock period to recover from consuming or
producing a token. ack/stb are deasserted in the cycle where the token is
consumed/produced and only re-asserted in the next cycle. This patch updates the
code to keep the control signals asserted if the actor is able to produce or
consume a token in the next cycle.
The patch also sets 'initialize' attribute on the simulation method, this will
make sure that the control and data signals will be ready right on the first
clock cycle.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Lars-Peter Clausen [Tue, 12 Mar 2013 20:34:36 +0000 (21:34 +0100)]
Add support for negative slice indices
In python a negative indices usually mean start counting from the right side.
I.e. if the index is negative is acutal index used is len(l) + i. E.g. l[-2]
equals l[len(l)-2].
Being able to specify an index this way also comes in handy for migen slices in
some cases. E.g. the following snippet can be implement to shift an abitrary
length register n bits to the right:
reg.eq(Cat(Replicate(0, n), reg[-n:])
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:59:24 +0000 (16:59 +0100)]
examples/pytholite: use new APIs
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:54:01 +0000 (16:54 +0100)]
sim/generic: support implicit get_fragment
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:51:58 +0000 (16:51 +0100)]
vpi: make it work by default on Arch
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:45:28 +0000 (16:45 +0100)]
examples/basic: use new APIs
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:16:06 +0000 (16:16 +0100)]
fhdl/verilog: implicit get_fragment
Sebastien Bourdeauducq [Tue, 12 Mar 2013 14:58:39 +0000 (15:58 +0100)]
fhdl/specials/Memory: automatic name#
Sebastien Bourdeauducq [Tue, 12 Mar 2013 14:45:24 +0000 (15:45 +0100)]
bank: automatic register naming
Sebastien Bourdeauducq [Tue, 12 Mar 2013 12:48:09 +0000 (13:48 +0100)]
fhdl/tracer: recognize CALL_FUNCTION_VAR opcode
Sebastien Bourdeauducq [Tue, 12 Mar 2013 09:31:56 +0000 (10:31 +0100)]
fhdl/tracer: recognize LOAD_DEREF opcode