litex.git
11 years agoNew specification for width and signedness
Sebastien Bourdeauducq [Thu, 29 Nov 2012 20:22:38 +0000 (21:22 +0100)]
New specification for width and signedness

11 years agoRefactor Case
Sebastien Bourdeauducq [Thu, 29 Nov 2012 00:11:15 +0000 (01:11 +0100)]
Refactor Case

11 years agopytholite/reg: use source id in dictionary
Sebastien Bourdeauducq [Wed, 28 Nov 2012 23:09:35 +0000 (00:09 +0100)]
pytholite/reg: use source id in dictionary

11 years agoRemove Constant
Sebastien Bourdeauducq [Wed, 28 Nov 2012 22:18:53 +0000 (23:18 +0100)]
Remove Constant

11 years agoRemove Constant
Sebastien Bourdeauducq [Wed, 28 Nov 2012 22:18:43 +0000 (23:18 +0100)]
Remove Constant

11 years agoWorkaround for zero-delay loop simulation problem with Icarus Verilog. TODO: clarify...
Sebastien Bourdeauducq [Wed, 28 Nov 2012 21:49:22 +0000 (22:49 +0100)]
Workaround for zero-delay loop simulation problem with Icarus Verilog. TODO: clarify and revert this commit.

11 years agoexamples/sim/dataflow: update to new APIs
Sebastien Bourdeauducq [Wed, 28 Nov 2012 21:44:14 +0000 (22:44 +0100)]
examples/sim/dataflow: update to new APIs

11 years agoexamples/dataflow/dma: update to new APIs
Sebastien Bourdeauducq [Wed, 28 Nov 2012 21:42:01 +0000 (22:42 +0100)]
examples/dataflow/dma: update to new APIs

11 years agoexamples/basic: remove unroll example
Sebastien Bourdeauducq [Wed, 28 Nov 2012 21:16:02 +0000 (22:16 +0100)]
examples/basic: remove unroll example

11 years agofhdl/structure: improved bits_for function
Sebastien Bourdeauducq [Wed, 28 Nov 2012 17:39:44 +0000 (18:39 +0100)]
fhdl/structure: improved bits_for function

11 years agovisit/NodeTransformer: copy most nodes
Sebastien Bourdeauducq [Wed, 28 Nov 2012 16:50:55 +0000 (17:50 +0100)]
visit/NodeTransformer: copy most nodes

11 years agofhdl/tools: use NodeTransformer to lower arrays
Sebastien Bourdeauducq [Wed, 28 Nov 2012 16:46:15 +0000 (17:46 +0100)]
fhdl/tools: use NodeTransformer to lower arrays

11 years agoexamples/basic/arrays: add array assignment to fragment
Sebastien Bourdeauducq [Mon, 26 Nov 2012 21:47:35 +0000 (22:47 +0100)]
examples/basic/arrays: add array assignment to fragment

11 years agofhdl/tools: use NodeVisitor
Sebastien Bourdeauducq [Mon, 26 Nov 2012 20:40:23 +0000 (21:40 +0100)]
fhdl/tools: use NodeVisitor

11 years agoRemove unroll
Sebastien Bourdeauducq [Mon, 26 Nov 2012 19:07:48 +0000 (20:07 +0100)]
Remove unroll

11 years agofhdl/structure: remove deprecated MemoryPort
Sebastien Bourdeauducq [Mon, 26 Nov 2012 18:36:43 +0000 (19:36 +0100)]
fhdl/structure: remove deprecated MemoryPort

11 years agosram: do not use MemoryPort
Sebastien Bourdeauducq [Mon, 26 Nov 2012 18:32:56 +0000 (19:32 +0100)]
sram: do not use MemoryPort

11 years agobus/wishbone2asmi: do not use MemoryPort
Sebastien Bourdeauducq [Mon, 26 Nov 2012 18:14:59 +0000 (19:14 +0100)]
bus/wishbone2asmi: do not use MemoryPort

11 years agoactorlib/spi: do not use MemoryPort
Sebastien Bourdeauducq [Mon, 26 Nov 2012 17:27:59 +0000 (18:27 +0100)]
actorlib/spi: do not use MemoryPort

11 years agotb/asmicon/asmicon_wb: more complete testing by default
Sebastien Bourdeauducq [Mon, 26 Nov 2012 17:19:41 +0000 (18:19 +0100)]
tb/asmicon/asmicon_wb: more complete testing by default

11 years agoexamples/sim/memory: do not use MemoryPort
Sebastien Bourdeauducq [Mon, 26 Nov 2012 17:19:10 +0000 (18:19 +0100)]
examples/sim/memory: do not use MemoryPort

11 years agoactorlib/sim: Dumper
Sebastien Bourdeauducq [Fri, 23 Nov 2012 23:00:07 +0000 (00:00 +0100)]
actorlib/sim: Dumper

11 years agofhdl/structure: disable we_granularity when larger than width
Sebastien Bourdeauducq [Fri, 23 Nov 2012 22:08:12 +0000 (23:08 +0100)]
fhdl/structure: disable we_granularity when larger than width

11 years agosim/generic/multiread: do not return spurious items
Sebastien Bourdeauducq [Fri, 23 Nov 2012 22:07:25 +0000 (23:07 +0100)]
sim/generic/multiread: do not return spurious items

11 years agopytholite: fix import of _Slice
Sebastien Bourdeauducq [Fri, 23 Nov 2012 20:20:18 +0000 (21:20 +0100)]
pytholite: fix import of _Slice

11 years agopytholite/io: support memory
Sebastien Bourdeauducq [Fri, 23 Nov 2012 19:36:09 +0000 (20:36 +0100)]
pytholite/io: support memory

11 years agofhdl/structure/Memory: fix we width
Sebastien Bourdeauducq [Fri, 23 Nov 2012 18:21:52 +0000 (19:21 +0100)]
fhdl/structure/Memory: fix we width

11 years agoexamples/memory: use new get_port API
Sebastien Bourdeauducq [Fri, 23 Nov 2012 18:18:08 +0000 (19:18 +0100)]
examples/memory: use new get_port API

11 years agofhdl/structure: add Memory.get_port API
Sebastien Bourdeauducq [Fri, 23 Nov 2012 18:17:49 +0000 (19:17 +0100)]
fhdl/structure: add Memory.get_port API

11 years agofhdl: use object creation counter (HUID) as hash. This finally makes the generated...
Sebastien Bourdeauducq [Fri, 23 Nov 2012 17:38:03 +0000 (18:38 +0100)]
fhdl: use object creation counter (HUID) as hash. This finally makes the generated code textually the same across runs.

11 years agofhdl/structure: use sets for memories and instance collections
Sebastien Bourdeauducq [Fri, 23 Nov 2012 16:20:08 +0000 (17:20 +0100)]
fhdl/structure: use sets for memories and instance collections

11 years agoexamples/pytholite/uio: demonstrate memories
Sebastien Bourdeauducq [Fri, 23 Nov 2012 15:24:20 +0000 (16:24 +0100)]
examples/pytholite/uio: demonstrate memories

11 years agouio: support memories
Sebastien Bourdeauducq [Fri, 23 Nov 2012 15:23:24 +0000 (16:23 +0100)]
uio: support memories

11 years agobus: memory initiator
Sebastien Bourdeauducq [Fri, 23 Nov 2012 15:22:50 +0000 (16:22 +0100)]
bus: memory initiator

11 years agopytholite/io: fix Wishbone writes + support sel attribute
Sebastien Bourdeauducq [Fri, 23 Nov 2012 12:40:46 +0000 (13:40 +0100)]
pytholite/io: fix Wishbone writes + support sel attribute

11 years agoexamples/pytholite/uio: simulate and convert Pytholite
Sebastien Bourdeauducq [Fri, 23 Nov 2012 12:10:40 +0000 (13:10 +0100)]
examples/pytholite/uio: simulate and convert Pytholite

11 years agopytholite/io: support Wishbone reads
Sebastien Bourdeauducq [Fri, 23 Nov 2012 12:09:55 +0000 (13:09 +0100)]
pytholite/io: support Wishbone reads

11 years agopytholite/io: support Wishbone writes
Sebastien Bourdeauducq [Fri, 23 Nov 2012 11:41:50 +0000 (12:41 +0100)]
pytholite/io: support Wishbone writes

11 years agopytholite/compiler: pass keyword arguments to gen_io
Sebastien Bourdeauducq [Fri, 23 Nov 2012 11:40:57 +0000 (12:40 +0100)]
pytholite/compiler: pass keyword arguments to gen_io

12 years agofhdl/verilog: remove empty cases
Sebastien Bourdeauducq [Sun, 18 Nov 2012 15:32:51 +0000 (16:32 +0100)]
fhdl/verilog: remove empty cases

12 years agosim/ipc/Message: convert values
Sebastien Bourdeauducq [Sat, 17 Nov 2012 22:19:40 +0000 (23:19 +0100)]
sim/ipc/Message: convert values

12 years agopytholite/transel: use python3-compatible comparison methods
Sebastien Bourdeauducq [Sat, 17 Nov 2012 22:16:07 +0000 (23:16 +0100)]
pytholite/transel: use python3-compatible comparison methods

12 years agoexamples/pytholite: add uio example
Sebastien Bourdeauducq [Sat, 17 Nov 2012 21:26:14 +0000 (22:26 +0100)]
examples/pytholite: add uio example

12 years agouio/ioo: fix UnifiedIOSimulation
Sebastien Bourdeauducq [Sat, 17 Nov 2012 21:25:42 +0000 (22:25 +0100)]
uio/ioo: fix UnifiedIOSimulation

12 years agouio: support generator trampolining in simulation
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:59:22 +0000 (19:59 +0100)]
uio: support generator trampolining in simulation

12 years agouio: add simulation I/O object
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:55:33 +0000 (19:55 +0100)]
uio: add simulation I/O object

12 years agouio: unified I/O object
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:54:50 +0000 (19:54 +0100)]
uio: unified I/O object

12 years agoactorlib/sim: swap TokenExchanger parameters
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:46:28 +0000 (19:46 +0100)]
actorlib/sim: swap TokenExchanger parameters

12 years agobus/csr: allow specifying existing interface
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:44:25 +0000 (19:44 +0100)]
bus/csr: allow specifying existing interface

12 years agotb/asmicon: new initiator API
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:43:30 +0000 (19:43 +0100)]
tb/asmicon: new initiator API

12 years agobus/asmibus: swap port position to be consistent with wishbone API
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:42:39 +0000 (19:42 +0100)]
bus/asmibus: swap port position to be consistent with wishbone API

12 years agobus/wishbone: allow specifying existing interface
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:42:06 +0000 (19:42 +0100)]
bus/wishbone: allow specifying existing interface

12 years agobus/transactions: add busname parameter
Sebastien Bourdeauducq [Sat, 17 Nov 2012 18:36:08 +0000 (19:36 +0100)]
bus/transactions: add busname parameter

12 years agoactorlib/sim: split TokenExchanger
Sebastien Bourdeauducq [Sat, 17 Nov 2012 13:15:51 +0000 (14:15 +0100)]
actorlib/sim: split TokenExchanger

12 years agopytholite/io: support token pull
Sebastien Bourdeauducq [Fri, 16 Nov 2012 22:48:41 +0000 (23:48 +0100)]
pytholite/io: support token pull

12 years agoexamples/pytholite/basic: demonstrate conversion to Verilog
Sebastien Bourdeauducq [Fri, 16 Nov 2012 18:38:57 +0000 (19:38 +0100)]
examples/pytholite/basic: demonstrate conversion to Verilog

12 years agoexamples: basic Pytholite demo
Sebastien Bourdeauducq [Fri, 16 Nov 2012 18:34:34 +0000 (19:34 +0100)]
examples: basic Pytholite demo

12 years agopytholite/io: support token push
Sebastien Bourdeauducq [Fri, 16 Nov 2012 18:24:45 +0000 (19:24 +0100)]
pytholite/io: support token push

12 years agolm32: replace $clog2 with macro
Michael Walle [Mon, 12 Nov 2012 18:36:22 +0000 (19:36 +0100)]
lm32: replace $clog2 with macro

Unfortunately, XST does not support $clog2 with the localparam keyword
(the parameter keyword works just fine). Define a macro which replaces the
call with a constant function.

This commit can be reverted if the bug in XST is fixed.

Signed-off-by: Michael Walle <michael@walle.cc>
12 years agolm32: split lm32_include.v
Sebastien Bourdeauducq [Wed, 14 Nov 2012 13:25:15 +0000 (14:25 +0100)]
lm32: split lm32_include.v

12 years agolm32: fix documentation style
Michael Walle [Mon, 12 Nov 2012 18:36:16 +0000 (19:36 +0100)]
lm32: fix documentation style

Signed-off-by: Michael Walle <michael@walle.cc>
12 years agolm32: remove unneeded parameter in lm32_dp_ram
Michael Walle [Mon, 12 Nov 2012 18:36:15 +0000 (19:36 +0100)]
lm32: remove unneeded parameter in lm32_dp_ram

addr_depth can be computed by addr_width.

Signed-off-by: Michael Walle <michael@walle.cc>
12 years agolm32: rename mem array in lm32_dp_ram
Michael Walle [Mon, 12 Nov 2012 18:36:14 +0000 (19:36 +0100)]
lm32: rename mem array in lm32_dp_ram

Be compatible with original proprietary DP RAM instantiation. This is
needed for simulation, where r0 is initialized to zero in lm32_cpu.v.

Signed-off-by: Michael Walle <michael@walle.cc>
12 years agolm32: replace clogb2 by builtin $clog2
Michael Walle [Mon, 12 Nov 2012 18:36:13 +0000 (19:36 +0100)]
lm32: replace clogb2 by builtin $clog2

This function is fixed in ISE since version 14.1 (see AR #44586). If the
builtin function is used, the design can be simulated with Icarus Verilog.

Signed-off-by: Michael Walle <michael@walle.cc>
12 years agopytholite: move expression and register handling to separate modules
Sebastien Bourdeauducq [Sun, 11 Nov 2012 22:48:23 +0000 (23:48 +0100)]
pytholite: move expression and register handling to separate modules

12 years agopytholite/compiler: recognize composite I/O pattern
Sebastien Bourdeauducq [Sun, 11 Nov 2012 17:03:16 +0000 (18:03 +0100)]
pytholite/compiler: recognize composite I/O pattern

12 years agopytholite/compiler: visit_assign_special
Sebastien Bourdeauducq [Sun, 11 Nov 2012 14:52:06 +0000 (15:52 +0100)]
pytholite/compiler: visit_assign_special

12 years agopytholite: move FSM management to separate module
Sebastien Bourdeauducq [Sun, 11 Nov 2012 13:30:25 +0000 (14:30 +0100)]
pytholite: move FSM management to separate module

12 years agopytholite/compiler: refactor visit_block
Sebastien Bourdeauducq [Sun, 11 Nov 2012 13:17:52 +0000 (14:17 +0100)]
pytholite/compiler: refactor visit_block

12 years agopytholite/compiler: clean up visit_statement
Sebastien Bourdeauducq [Sat, 10 Nov 2012 22:30:14 +0000 (23:30 +0100)]
pytholite/compiler: clean up visit_statement

12 years agopytholite: forward 'yield call' statements to io module
Sebastien Bourdeauducq [Sat, 10 Nov 2012 21:59:14 +0000 (22:59 +0100)]
pytholite: forward 'yield call' statements to io module

12 years agopytholite: introduce io module
Sebastien Bourdeauducq [Sat, 10 Nov 2012 20:51:19 +0000 (21:51 +0100)]
pytholite: introduce io module

12 years agopytholite/compiler: support bitslice
Sebastien Bourdeauducq [Sat, 10 Nov 2012 17:04:05 +0000 (18:04 +0100)]
pytholite/compiler: support bitslice

12 years agopytholite/compiler: support range(constants) in for loops
Sebastien Bourdeauducq [Sat, 10 Nov 2012 14:26:13 +0000 (15:26 +0100)]
pytholite/compiler: support range(constants) in for loops

12 years agopytholite/compiler: cleanup print statements
Sebastien Bourdeauducq [Sat, 10 Nov 2012 14:10:57 +0000 (15:10 +0100)]
pytholite/compiler: cleanup print statements

12 years agopytholite/compiler: support for loops (iterating on lists only)
Sebastien Bourdeauducq [Sat, 10 Nov 2012 14:02:55 +0000 (15:02 +0100)]
pytholite/compiler: support for loops (iterating on lists only)

12 years agopytholite/compiler: support while loops
Sebastien Bourdeauducq [Sat, 10 Nov 2012 13:37:33 +0000 (14:37 +0100)]
pytholite/compiler: support while loops

12 years agoRevert "pytholite/compiler: SymbolStack"
Sebastien Bourdeauducq [Sat, 10 Nov 2012 11:09:45 +0000 (12:09 +0100)]
Revert "pytholite/compiler: SymbolStack"

This reverts commit f57da497b2a96ab53de2fac37a34cdbc668c9636.

12 years agopytholite/compiler: SymbolStack
Sebastien Bourdeauducq [Fri, 9 Nov 2012 22:02:16 +0000 (23:02 +0100)]
pytholite/compiler: SymbolStack

12 years agopytholite/compiler: improve naming of selection signals
Sebastien Bourdeauducq [Fri, 9 Nov 2012 19:19:22 +0000 (20:19 +0100)]
pytholite/compiler: improve naming of selection signals

12 years agopytholite/compiler: fix handling of constants
Sebastien Bourdeauducq [Fri, 9 Nov 2012 19:17:57 +0000 (20:17 +0100)]
pytholite/compiler: fix handling of constants

12 years agofhdl: make constants hashable
Sebastien Bourdeauducq [Fri, 9 Nov 2012 19:17:43 +0000 (20:17 +0100)]
fhdl: make constants hashable

12 years agopytholite/compiler: go to next state
Sebastien Bourdeauducq [Fri, 9 Nov 2012 19:12:15 +0000 (20:12 +0100)]
pytholite/compiler: go to next state

12 years agopytholite/compiler: support if statements
Sebastien Bourdeauducq [Fri, 9 Nov 2012 18:37:52 +0000 (19:37 +0100)]
pytholite/compiler: support if statements

12 years agopytholite/compiler: support comparisons in expressions
Sebastien Bourdeauducq [Fri, 9 Nov 2012 17:41:32 +0000 (18:41 +0100)]
pytholite/compiler: support comparisons in expressions

12 years agopytholite/compiler: create FSM
Sebastien Bourdeauducq [Fri, 9 Nov 2012 16:37:42 +0000 (17:37 +0100)]
pytholite/compiler: create FSM

12 years agofhdl/visit: add missing self
Sebastien Bourdeauducq [Fri, 9 Nov 2012 16:37:24 +0000 (17:37 +0100)]
fhdl/visit: add missing self

12 years agofhdl: visit module (untested)
Sebastien Bourdeauducq [Fri, 9 Nov 2012 15:00:11 +0000 (16:00 +0100)]
fhdl: visit module (untested)

12 years agopytholith: add register muxes
Sebastien Bourdeauducq [Thu, 8 Nov 2012 20:49:20 +0000 (21:49 +0100)]
pytholith: add register muxes

12 years agopytholite: do not use ast.NodeVisitor
Sebastien Bourdeauducq [Tue, 6 Nov 2012 12:52:19 +0000 (13:52 +0100)]
pytholite: do not use ast.NodeVisitor

12 years agofhdl/structure: make all values hashable
Sebastien Bourdeauducq [Tue, 6 Nov 2012 12:51:51 +0000 (13:51 +0100)]
fhdl/structure: make all values hashable

12 years agopytholite: visit AST and list registers
Sebastien Bourdeauducq [Wed, 31 Oct 2012 14:59:12 +0000 (15:59 +0100)]
pytholite: visit AST and list registers

12 years agopytholite: transformable elements
Sebastien Bourdeauducq [Mon, 29 Oct 2012 17:13:03 +0000 (18:13 +0100)]
pytholite: transformable elements

12 years agobank/description: regprefix
Sebastien Bourdeauducq [Mon, 15 Oct 2012 19:21:59 +0000 (21:21 +0200)]
bank/description: regprefix

12 years agoactorlib/spi: typo
Sebastien Bourdeauducq [Mon, 15 Oct 2012 19:21:42 +0000 (21:21 +0200)]
actorlib/spi: typo

12 years agotransform/unroll_sync: autodetect in/out
Sebastien Bourdeauducq [Mon, 15 Oct 2012 18:32:07 +0000 (20:32 +0200)]
transform/unroll_sync: autodetect in/out

12 years agotransform/unroll_sync: support generator function
Sebastien Bourdeauducq [Mon, 15 Oct 2012 17:42:30 +0000 (19:42 +0200)]
transform/unroll_sync: support generator function

12 years agotransform/unroll: support empty dictionaries
Sebastien Bourdeauducq [Fri, 12 Oct 2012 19:54:48 +0000 (21:54 +0200)]
transform/unroll: support empty dictionaries

12 years agotransform/unroll: support for variables
Sebastien Bourdeauducq [Fri, 12 Oct 2012 17:54:03 +0000 (19:54 +0200)]
transform/unroll: support for variables

12 years agotransform: unroll
Sebastien Bourdeauducq [Fri, 12 Oct 2012 11:16:39 +0000 (13:16 +0200)]
transform: unroll