litex.git
12 years agosetup.py: change license to BSD
Sebastien Bourdeauducq [Thu, 1 Aug 2013 15:46:46 +0000 (17:46 +0200)]
setup.py: change license to BSD

12 years agofhdl: add EDIF back-end
Nina Engelhardt [Wed, 31 Jul 2013 20:47:30 +0000 (22:47 +0200)]
fhdl: add EDIF back-end

12 years agocsr: new data width API
Sebastien Bourdeauducq [Sun, 28 Jul 2013 14:33:36 +0000 (16:33 +0200)]
csr: new data width API

12 years agobus/wishbone: configurable data width
Sebastien Bourdeauducq [Sat, 27 Jul 2013 20:25:07 +0000 (22:25 +0200)]
bus/wishbone: configurable data width

12 years agogenlib/record: support abstract signal width
Sebastien Bourdeauducq [Sat, 27 Jul 2013 20:18:06 +0000 (22:18 +0200)]
genlib/record: support abstract signal width

12 years agopytholite/io: len -> flen
Sebastien Bourdeauducq [Sat, 27 Jul 2013 13:38:48 +0000 (15:38 +0200)]
pytholite/io: len -> flen

12 years agopythloite/ExprCompiler: attempt compile-time evaluation first
Sebastien Bourdeauducq [Sat, 27 Jul 2013 13:38:29 +0000 (15:38 +0200)]
pythloite/ExprCompiler: attempt compile-time evaluation first

12 years agobus/csr/Initiator: correct read latency
Sebastien Bourdeauducq [Sat, 27 Jul 2013 13:37:47 +0000 (15:37 +0200)]
bus/csr/Initiator: correct read latency

12 years agoactorlib/spi: remove unused function
Sebastien Bourdeauducq [Sat, 27 Jul 2013 13:36:42 +0000 (15:36 +0200)]
actorlib/spi: remove unused function

12 years agofix synthesis translate on/off switch
Nina Engelhardt [Fri, 26 Jul 2013 13:48:25 +0000 (15:48 +0200)]
fix synthesis translate on/off switch

12 years agofhdl: RenameClockDomains decorator
Sebastien Bourdeauducq [Fri, 26 Jul 2013 13:42:14 +0000 (15:42 +0200)]
fhdl: RenameClockDomains decorator

12 years agofhdl/specials/Instance: fix item sorting
Sebastien Bourdeauducq [Fri, 26 Jul 2013 12:00:29 +0000 (14:00 +0200)]
fhdl/specials/Instance: fix item sorting

12 years agogenlib/roundrobin: fix n==1 case (correctly)
Robert Jordens [Fri, 26 Jul 2013 07:33:18 +0000 (09:33 +0200)]
genlib/roundrobin: fix n==1 case (correctly)

12 years agogenlib/roundrobin.py: fix n==1 case
Robert Jordens [Thu, 25 Jul 2013 21:55:05 +0000 (15:55 -0600)]
genlib/roundrobin.py: fix n==1 case

12 years agofhdl: compact Instance syntax
Sebastien Bourdeauducq [Thu, 25 Jul 2013 18:34:19 +0000 (20:34 +0200)]
fhdl: compact Instance syntax

12 years agofhdl: do not export Fragment
Sebastien Bourdeauducq [Thu, 25 Jul 2013 16:52:54 +0000 (18:52 +0200)]
fhdl: do not export Fragment

12 years agoexamples/two_dividers: demonstrate InsertCE and InsertReset decorators
Sebastien Bourdeauducq [Thu, 25 Jul 2013 15:56:55 +0000 (17:56 +0200)]
examples/two_dividers: demonstrate InsertCE and InsertReset decorators

12 years agofhdl: introduce module decorators
Sebastien Bourdeauducq [Thu, 25 Jul 2013 15:56:31 +0000 (17:56 +0200)]
fhdl: introduce module decorators

12 years agogenlib: remove direct uses of Fragment
Sebastien Bourdeauducq [Wed, 24 Jul 2013 17:25:14 +0000 (19:25 +0200)]
genlib: remove direct uses of Fragment

12 years agoexamples: remove direct uses of Fragment
Sebastien Bourdeauducq [Wed, 24 Jul 2013 16:47:25 +0000 (18:47 +0200)]
examples: remove direct uses of Fragment

12 years agodoc/dataflow: update to new API
Sebastien Bourdeauducq [Mon, 22 Jul 2013 18:54:32 +0000 (20:54 +0200)]
doc/dataflow: update to new API

12 years agodoc: ASMI -> LASMI
Sebastien Bourdeauducq [Mon, 22 Jul 2013 16:28:57 +0000 (18:28 +0200)]
doc: ASMI -> LASMI

12 years agodoc/fhdl: document Module API
Sebastien Bourdeauducq [Mon, 22 Jul 2013 14:48:05 +0000 (16:48 +0200)]
doc/fhdl: document Module API

12 years agodoc/bus/CSR: add automatic CSR name info
Sebastien Bourdeauducq [Mon, 22 Jul 2013 14:47:49 +0000 (16:47 +0200)]
doc/bus/CSR: add automatic CSR name info

12 years agowishbone.py: add Crossbar (concurrent/parallel/many-to-many interconnect)
Robert Jördens [Mon, 22 Jul 2013 08:12:50 +0000 (02:12 -0600)]
wishbone.py: add Crossbar (concurrent/parallel/many-to-many interconnect)

12 years agofsm.py: set reset_state
Robert Jördens [Mon, 22 Jul 2013 08:09:12 +0000 (02:09 -0600)]
fsm.py: set reset_state

12 years agodoc/bus: update
Sebastien Bourdeauducq [Sat, 20 Jul 2013 15:01:58 +0000 (17:01 +0200)]
doc/bus: update

12 years agofhdl/tools: do not export resort_statements
Sebastien Bourdeauducq [Wed, 17 Jul 2013 14:50:09 +0000 (16:50 +0200)]
fhdl/tools: do not export resort_statements

12 years agoRevert "fhdl/tools/group_by_target: remove resort_statements"
Sebastien Bourdeauducq [Wed, 17 Jul 2013 14:49:26 +0000 (16:49 +0200)]
Revert "fhdl/tools/group_by_target: remove resort_statements"

This reverts commit 939f01cee2ebec6df738652412b1048b958bf09f.

12 years agogenlib/fifo/AsyncFIFO: fix data corruption bug
David Carne [Wed, 17 Jul 2013 10:10:08 +0000 (12:10 +0200)]
genlib/fifo/AsyncFIFO: fix data corruption bug

12 years agofhdl/tools/group_by_target: remove resort_statements
Sebastien Bourdeauducq [Wed, 17 Jul 2013 08:38:39 +0000 (10:38 +0200)]
fhdl/tools/group_by_target: remove resort_statements

12 years agofhdl/tools: BUGFIX: fix group_by_target grouping
David Carne [Wed, 17 Jul 2013 07:40:46 +0000 (00:40 -0700)]
fhdl/tools: BUGFIX: fix group_by_target grouping

group_by_target does not properly combine target groups if statements
are presented in the order:

 ({A}, statement1)
 ({B}, statement2)
 ({A, B}, statement3)

which returns groups:

 ({A, B}, [statement1, statement3])
 ({B}, [statement2])

This patch fixes group_by_target such that the resulting group is:

 ({A, B}, [statement1, statement2, statement3])

12 years agoRemove ASMI
Sebastien Bourdeauducq [Tue, 16 Jul 2013 16:50:50 +0000 (18:50 +0200)]
Remove ASMI

12 years agofhdl/tools: clock domain merging for clock renaming
David Carne [Tue, 16 Jul 2013 16:17:21 +0000 (18:17 +0200)]
fhdl/tools: clock domain merging for clock renaming

12 years agolasmibus: fix master locking
Sebastien Bourdeauducq [Mon, 15 Jul 2013 19:45:07 +0000 (21:45 +0200)]
lasmibus: fix master locking

12 years agogenlib/fifo: add test bench
Sebastien Bourdeauducq [Mon, 15 Jul 2013 19:36:39 +0000 (21:36 +0200)]
genlib/fifo: add test bench

12 years agoactorlib/spi/DMAController: export length/storage/trigger
Sebastien Bourdeauducq [Sat, 13 Jul 2013 15:13:15 +0000 (17:13 +0200)]
actorlib/spi/DMAController: export length/storage/trigger

12 years agoactorlib/spi/SingleGenerator: export CSRs
Sebastien Bourdeauducq [Sat, 13 Jul 2013 15:12:51 +0000 (17:12 +0200)]
actorlib/spi/SingleGenerator: export CSRs

12 years agoflow/actor/PipelinedActor: clean up
Sebastien Bourdeauducq [Fri, 12 Jul 2013 16:52:34 +0000 (18:52 +0200)]
flow/actor/PipelinedActor: clean up

12 years agoactorlib/spi/DMAWriteController: len -> flen
Sebastien Bourdeauducq [Thu, 11 Jul 2013 17:22:56 +0000 (19:22 +0200)]
actorlib/spi/DMAWriteController: len -> flen

12 years agodfi: split phase description
Florent Kermarrec [Wed, 10 Jul 2013 14:42:41 +0000 (16:42 +0200)]
dfi: split phase description

12 years agoexamples/sim/abstract_transactions_lasmi: check data
Sebastien Bourdeauducq [Wed, 10 Jul 2013 17:11:02 +0000 (19:11 +0200)]
examples/sim/abstract_transactions_lasmi: check data

12 years agobus/lasmibus: add separate req/data ack to target and initiator
Sebastien Bourdeauducq [Wed, 10 Jul 2013 17:09:51 +0000 (19:09 +0200)]
bus/lasmibus: add separate req/data ack to target and initiator

12 years agodma_lasmi/Writer: fix default FIFO depth
Sebastien Bourdeauducq [Sun, 7 Jul 2013 18:01:55 +0000 (20:01 +0200)]
dma_lasmi/Writer: fix default FIFO depth

12 years agodma_lasmi/Reader: handle ack=1 when stb=0
Sebastien Bourdeauducq [Sun, 7 Jul 2013 16:57:05 +0000 (18:57 +0200)]
dma_lasmi/Reader: handle ack=1 when stb=0

12 years agolasmibus/crossbar: simplify master ack generation
Sebastien Bourdeauducq [Sun, 7 Jul 2013 16:56:43 +0000 (18:56 +0200)]
lasmibus/crossbar: simplify master ack generation

12 years agopytholite: fix kwargs handling
Sebastien Bourdeauducq [Wed, 3 Jul 2013 15:20:05 +0000 (17:20 +0200)]
pytholite: fix kwargs handling

12 years agoexamples/pytholite/basic: demonstrate generator arguments
Sebastien Bourdeauducq [Wed, 3 Jul 2013 14:35:24 +0000 (16:35 +0200)]
examples/pytholite/basic: demonstrate generator arguments

12 years agopytholite: support generator arguments
Sebastien Bourdeauducq [Wed, 3 Jul 2013 14:35:07 +0000 (16:35 +0200)]
pytholite: support generator arguments

12 years agofhdl: mark variable as deprecated
Sebastien Bourdeauducq [Sun, 30 Jun 2013 18:14:20 +0000 (20:14 +0200)]
fhdl: mark variable as deprecated

12 years agoexamples/complex: do not use variable
Sebastien Bourdeauducq [Sun, 30 Jun 2013 17:27:01 +0000 (19:27 +0200)]
examples/complex: do not use variable

12 years agofhdl/verilog: lower complex slices before reset insertion
Sebastien Bourdeauducq [Sun, 30 Jun 2013 12:32:47 +0000 (14:32 +0200)]
fhdl/verilog: lower complex slices before reset insertion

12 years agofhdl/tools: separate complex slice lowerer from basic lowerer
Sebastien Bourdeauducq [Sun, 30 Jun 2013 12:32:19 +0000 (14:32 +0200)]
fhdl/tools: separate complex slice lowerer from basic lowerer

12 years agogenlib/misc: remove bitreverse
Sebastien Bourdeauducq [Sun, 30 Jun 2013 12:31:25 +0000 (14:31 +0200)]
genlib/misc: remove bitreverse

12 years agosupport re-slicing and non-unit step size
Robert Jördens [Thu, 27 Jun 2013 19:31:00 +0000 (13:31 -0600)]
support re-slicing and non-unit step size

* support slicing of Slice/Cat/Replicate through lowering
* support non-unit step size slices through unpacking and Cat()

12 years agocoding.py: rewrite If() to make verilog more readable
Robert Jördens [Sun, 30 Jun 2013 03:25:06 +0000 (21:25 -0600)]
coding.py: rewrite If() to make verilog more readable

12 years agopytholite: use eval instead of literal_eval
Sebastien Bourdeauducq [Fri, 28 Jun 2013 17:03:55 +0000 (19:03 +0200)]
pytholite: use eval instead of literal_eval

12 years agogenlib/coding.py: binary vs. one-hot, priority coding
Robert Jördens [Thu, 27 Jun 2013 18:56:57 +0000 (12:56 -0600)]
genlib/coding.py: binary vs. one-hot, priority coding

12 years agogenlib/cordic: cleanup
Sebastien Bourdeauducq [Wed, 26 Jun 2013 20:46:04 +0000 (22:46 +0200)]
genlib/cordic: cleanup

12 years agofhdl/verilog: fix signedness rules for comparison
Sebastien Bourdeauducq [Wed, 26 Jun 2013 20:45:47 +0000 (22:45 +0200)]
fhdl/verilog: fix signedness rules for comparison

12 years agomigen/genlib/cordic.py: generic cordic
Robert Jordens [Tue, 25 Jun 2013 22:47:51 +0000 (16:47 -0600)]
migen/genlib/cordic.py: generic cordic

* rotating or vectoring cordic modes
* circular, linear, or hyperbolic functions
* combinatorial, pipelined or iterative evaluation
* arbitrary width, stages and guard bits
* two or four quadrant mode for circular/rotate

12 years agoFSM: new API
Sebastien Bourdeauducq [Tue, 25 Jun 2013 20:17:39 +0000 (22:17 +0200)]
FSM: new API

12 years agofhdl/verilog: improve error reporting
Sebastien Bourdeauducq [Mon, 24 Jun 2013 17:44:25 +0000 (19:44 +0200)]
fhdl/verilog: improve error reporting

12 years agolasmi: separate request and data ack to support bankmachine FIFOs (buggy/incomplete)
Sebastien Bourdeauducq [Mon, 17 Jun 2013 21:36:03 +0000 (23:36 +0200)]
lasmi: separate request and data ack to support bankmachine FIFOs (buggy/incomplete)

12 years agogenlib/fifo: support records
Sebastien Bourdeauducq [Mon, 17 Jun 2013 21:35:10 +0000 (23:35 +0200)]
genlib/fifo: support records

12 years agolasmibus/crossbar: better switching policy
Sebastien Bourdeauducq [Sat, 15 Jun 2013 14:51:09 +0000 (16:51 +0200)]
lasmibus/crossbar: better switching policy

12 years agoasmibus: remove port sharing
Sebastien Bourdeauducq [Fri, 14 Jun 2013 16:34:36 +0000 (18:34 +0200)]
asmibus: remove port sharing

12 years agobus/asmibus: fix slot aging timer
Sebastien Bourdeauducq [Fri, 14 Jun 2013 15:57:43 +0000 (17:57 +0200)]
bus/asmibus: fix slot aging timer

12 years agobus/lasmibus/Crossbar: support cba_shift=0
Sebastien Bourdeauducq [Tue, 11 Jun 2013 16:15:49 +0000 (18:15 +0200)]
bus/lasmibus/Crossbar: support cba_shift=0

12 years agolasmi: fix minor problems
Sebastien Bourdeauducq [Mon, 10 Jun 2013 20:49:33 +0000 (22:49 +0200)]
lasmi: fix minor problems

12 years agogenlib/fsm: fix handling of zero delayed_enter
Sebastien Bourdeauducq [Mon, 10 Jun 2013 20:49:05 +0000 (22:49 +0200)]
genlib/fsm: fix handling of zero delayed_enter

12 years agoactorlib: LASMI DMA (untested)
Sebastien Bourdeauducq [Mon, 10 Jun 2013 20:29:39 +0000 (22:29 +0200)]
actorlib: LASMI DMA (untested)

12 years agobus: Wishbone -> LASMI bridge (untested)
Sebastien Bourdeauducq [Mon, 10 Jun 2013 16:52:07 +0000 (18:52 +0200)]
bus: Wishbone -> LASMI bridge (untested)

12 years agoexamples/sim: add LASMI demo
Sebastien Bourdeauducq [Sun, 9 Jun 2013 21:36:51 +0000 (23:36 +0200)]
examples/sim: add LASMI demo

12 years agobus/lasmibus: bugfixes
Sebastien Bourdeauducq [Sun, 9 Jun 2013 21:36:32 +0000 (23:36 +0200)]
bus/lasmibus: bugfixes

12 years agobus/lasmibus: add target and initiator
Sebastien Bourdeauducq [Sun, 9 Jun 2013 14:03:22 +0000 (16:03 +0200)]
bus/lasmibus: add target and initiator

12 years agoexamples/sim: rename abstract_transactions to abstract_transactions_wb, use new APIs...
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

12 years agobus/lasmi: interface definition and crossbar (untested)
Sebastien Bourdeauducq [Sat, 8 Jun 2013 13:49:50 +0000 (15:49 +0200)]
bus/lasmi: interface definition and crossbar (untested)

12 years agocsr/sram: fix reads on high addresses when word_bits != 0
Kenneth Ryerson [Mon, 3 Jun 2013 19:52:21 +0000 (21:52 +0200)]
csr/sram: fix reads on high addresses when word_bits != 0

12 years agocsr/sram: fix page_bits computation
Kenneth Ryerson [Mon, 3 Jun 2013 19:51:14 +0000 (21:51 +0200)]
csr/sram: fix page_bits computation

12 years agogenlib/misc: fix import
Sebastien Bourdeauducq [Thu, 30 May 2013 16:46:52 +0000 (18:46 +0200)]
genlib/misc: fix import

12 years agobus/csr/SRAM: better handling of writes to memories larger than the CSR width
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

12 years agobitreverse: fhdl/tools -> genlib/misc
Sebastien Bourdeauducq [Thu, 30 May 2013 16:44:37 +0000 (18:44 +0200)]
bitreverse: fhdl/tools -> genlib/misc

12 years agoMake memory ports part of specials
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.

12 years agoNew migen.fhdl.std to simplify imports + len->flen
Sebastien Bourdeauducq [Wed, 22 May 2013 15:11:09 +0000 (17:11 +0200)]
New migen.fhdl.std to simplify imports + len->flen

12 years agobus/wishbone/SRAM: support init and read_only
Sebastien Bourdeauducq [Sun, 19 May 2013 18:53:54 +0000 (20:53 +0200)]
bus/wishbone/SRAM: support init and read_only

12 years agobus/csr/SRAM: support init
Sebastien Bourdeauducq [Sun, 19 May 2013 18:53:37 +0000 (20:53 +0200)]
bus/csr/SRAM: support init

12 years agosetup.py: update required Python version
Sebastien Bourdeauducq [Thu, 16 May 2013 13:24:11 +0000 (15:24 +0200)]
setup.py: update required Python version

12 years agobus/asmi: port sharing support
Sebastien Bourdeauducq [Sun, 12 May 2013 13:58:39 +0000 (15:58 +0200)]
bus/asmi: port sharing support

12 years agofhdl/tools/_TargetLister: do not include array keys in targets
Sebastien Bourdeauducq [Sat, 11 May 2013 15:28:41 +0000 (17:28 +0200)]
fhdl/tools/_TargetLister: do not include array keys in targets

12 years agogenlib/record: match_by_position -> connect_flat
Sebastien Bourdeauducq [Sat, 11 May 2013 09:48:21 +0000 (11:48 +0200)]
genlib/record: match_by_position -> connect_flat

12 years agoRevert "genlib/record/connect: add match_by_position"
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.

12 years agobank/description/AutoCSR: add autocsr_exclude
Sebastien Bourdeauducq [Wed, 8 May 2013 18:58:57 +0000 (20:58 +0200)]
bank/description/AutoCSR: add autocsr_exclude

12 years agodma_asmi: cleanup
Sebastien Bourdeauducq [Wed, 8 May 2013 16:58:50 +0000 (18:58 +0200)]
dma_asmi: cleanup

12 years agobank/eventmanager: refactor, rename EventSourceLevel -> EventSourceProcess, add fully...
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

12 years agoactorlib/spi: add DMAWriteController
Sebastien Bourdeauducq [Sat, 4 May 2013 15:38:54 +0000 (17:38 +0200)]
actorlib/spi: add DMAWriteController

12 years agoactorlib/dma_asmi/OOOWriter: fix tag offset
Sebastien Bourdeauducq [Sat, 4 May 2013 15:38:17 +0000 (17:38 +0200)]
actorlib/dma_asmi/OOOWriter: fix tag offset

12 years agoflow/network/DataFlowGraph: add_buffered_connection
Sebastien Bourdeauducq [Thu, 2 May 2013 11:25:30 +0000 (13:25 +0200)]
flow/network/DataFlowGraph: add_buffered_connection

12 years agobank/description/CSRStorage: set reset property of storage for use in test benches
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

12 years agoflow/network: better determination of plumbing layout
Sebastien Bourdeauducq [Wed, 1 May 2013 20:13:26 +0000 (22:13 +0200)]
flow/network: better determination of plumbing layout