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

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

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

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

11 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

11 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

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

11 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

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

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

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

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

11 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

11 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

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

11 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

11 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

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

11 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