litex.git
10 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()

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

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

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

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

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

10 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 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

11 years agobus/wb2lasmi: use existing interface to determine WB width to be consistent with...
Sebastien Bourdeauducq [Mon, 26 Aug 2013 18:33:34 +0000 (20:33 +0200)]
bus/wb2lasmi: use existing interface to determine WB width to be consistent with other modules

11 years agowishbone/SRAM: fix non-32-bit bus
Sebastien Bourdeauducq [Mon, 26 Aug 2013 18:32:59 +0000 (20:32 +0200)]
wishbone/SRAM: fix non-32-bit bus

11 years agowishbone2lasmi: configurable data width
Florent Kermarrec [Mon, 26 Aug 2013 12:25:03 +0000 (14:25 +0200)]
wishbone2lasmi: configurable data width

11 years agowishbone : add DownConverter
Florent Kermarrec [Mon, 26 Aug 2013 12:22:54 +0000 (14:22 +0200)]
wishbone : add DownConverter

11 years agowishbone2lasmi : add support for 32 bits lasmim data width
Florent Kermarrec [Tue, 20 Aug 2013 14:53:55 +0000 (16:53 +0200)]
wishbone2lasmi : add support for 32 bits lasmim data width

11 years agogenlib/misc: improve genericity of split/displacer/chooser
Florent Kermarrec [Tue, 20 Aug 2013 14:52:48 +0000 (16:52 +0200)]
genlib/misc: improve genericity of split/displacer/chooser

11 years agoadd ternary operator sel ? a : b
Nina Engelhardt [Sun, 11 Aug 2013 21:53:33 +0000 (23:53 +0200)]
add ternary operator sel ? a : b

11 years agoadd += operator to fragment
Nina Engelhardt [Sun, 11 Aug 2013 21:11:30 +0000 (23:11 +0200)]
add += operator to fragment

11 years agofhdl: improve naming of related signals
Sebastien Bourdeauducq [Thu, 8 Aug 2013 17:22:17 +0000 (19:22 +0200)]
fhdl: improve naming of related signals

11 years agofhdl/namer: detect leaf nodes better
Sebastien Bourdeauducq [Thu, 8 Aug 2013 10:22:58 +0000 (12:22 +0200)]
fhdl/namer: detect leaf nodes better

11 years agofhdl: move insert_resets to tools
Sebastien Bourdeauducq [Thu, 8 Aug 2013 09:32:58 +0000 (11:32 +0200)]
fhdl: move insert_resets to tools

11 years agofhdl: support for naming related signals
Sebastien Bourdeauducq [Thu, 8 Aug 2013 09:32:37 +0000 (11:32 +0200)]
fhdl: support for naming related signals

11 years agonamer: add HUID suffix step
Sebastien Bourdeauducq [Wed, 7 Aug 2013 22:15:18 +0000 (00:15 +0200)]
namer: add HUID suffix step

11 years agonamer: split by numbers
Sebastien Bourdeauducq [Wed, 7 Aug 2013 21:22:40 +0000 (23:22 +0200)]
namer: split by numbers

11 years agotreeviz: support multiline labels
Sebastien Bourdeauducq [Wed, 7 Aug 2013 19:46:03 +0000 (21:46 +0200)]
treeviz: support multiline labels

11 years agotreeviz: improve layout of unbalanced trees
Sebastien Bourdeauducq [Wed, 7 Aug 2013 16:32:02 +0000 (18:32 +0200)]
treeviz: improve layout of unbalanced trees

11 years agofhdl/namer: new namer with explicit tree
Sebastien Bourdeauducq [Wed, 7 Aug 2013 15:13:52 +0000 (17:13 +0200)]
fhdl/namer: new namer with explicit tree

11 years agoadd tree visualizer
Sebastien Bourdeauducq [Wed, 7 Aug 2013 13:52:35 +0000 (15:52 +0200)]
add tree visualizer

11 years agofhdl/edif: adjust for use with mibuild
Nina Engelhardt [Sat, 3 Aug 2013 08:54:04 +0000 (10:54 +0200)]
fhdl/edif: adjust for use with mibuild

11 years agofhdl/edif: add support for inout signals
Nina Engelhardt [Sat, 3 Aug 2013 08:51:04 +0000 (10:51 +0200)]
fhdl/edif: add support for inout signals

11 years agobank/csrgen: add get_offset function to pre-calculate register addresses
Sebastien Bourdeauducq [Fri, 2 Aug 2013 21:05:54 +0000 (23:05 +0200)]
bank/csrgen: add get_offset function to pre-calculate register addresses

11 years agobank/description/AutoCSR: prefix csr/mem only once
Sebastien Bourdeauducq [Fri, 2 Aug 2013 21:05:21 +0000 (23:05 +0200)]
bank/description/AutoCSR: prefix csr/mem only once

11 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

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

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

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

11 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

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

11 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

11 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

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

11 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

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

11 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

11 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)

11 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

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

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

11 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

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

11 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

11 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

11 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

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

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

11 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

11 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)

11 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

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

11 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

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

11 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

11 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

11 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])

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

11 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

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

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

11 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

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

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

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

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

11 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

11 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

11 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

11 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

11 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

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

11 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

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

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

11 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

11 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

11 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

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

11 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()

11 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

11 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

11 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

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

11 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

11 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

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

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

11 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)