litex.git
11 years agobus/csr: add SRAM
Sebastien Bourdeauducq [Thu, 6 Dec 2012 16:16:17 +0000 (17:16 +0100)]
bus/csr: add SRAM

11 years agobank/csrgen: interface -> bus
Sebastien Bourdeauducq [Thu, 6 Dec 2012 16:15:34 +0000 (17:15 +0100)]
bank/csrgen: interface -> bus

11 years agobank/description: define reset value of read signal
Sebastien Bourdeauducq [Wed, 5 Dec 2012 15:40:44 +0000 (16:40 +0100)]
bank/description: define reset value of read signal

11 years agoactorlib/sim: drive busy high until generator is finished
Sebastien Bourdeauducq [Wed, 5 Dec 2012 15:40:12 +0000 (16:40 +0100)]
actorlib/sim: drive busy high until generator is finished

11 years agobus/wishbone/sram: accept memories < 32 bits
Sebastien Bourdeauducq [Sat, 1 Dec 2012 12:04:22 +0000 (13:04 +0100)]
bus/wishbone/sram: accept memories < 32 bits

11 years agobus/wishbone: add SRAM
Sebastien Bourdeauducq [Sat, 1 Dec 2012 11:59:09 +0000 (12:59 +0100)]
bus/wishbone: add SRAM

12 years agopytholite: fix bit width of selection signal
Sebastien Bourdeauducq [Fri, 30 Nov 2012 16:07:32 +0000 (17:07 +0100)]
pytholite: fix bit width of selection signal

12 years agopytholite: support signed registers
Sebastien Bourdeauducq [Fri, 30 Nov 2012 16:07:12 +0000 (17:07 +0100)]
pytholite: support signed registers

12 years agocorelogic/roundrobin: fix request width (again)
Sebastien Bourdeauducq [Thu, 29 Nov 2012 22:47:51 +0000 (23:47 +0100)]
corelogic/roundrobin: fix request width (again)

12 years agocorelogic/roundrobin: fix request width
Sebastien Bourdeauducq [Thu, 29 Nov 2012 22:47:08 +0000 (23:47 +0100)]
corelogic/roundrobin: fix request width

12 years agoFix various errors from new bitwidth/signedness system conversion
Sebastien Bourdeauducq [Thu, 29 Nov 2012 22:36:55 +0000 (23:36 +0100)]
Fix various errors from new bitwidth/signedness system conversion

12 years agofhdl/verilog: make signal behave as integers in arithmetic (MyHDL style)
Sebastien Bourdeauducq [Thu, 29 Nov 2012 21:59:54 +0000 (22:59 +0100)]
fhdl/verilog: make signal behave as integers in arithmetic (MyHDL style)

See http://jandecaluwe.com/hdldesign/counting.html

12 years agofhdl/structure: add unary minus
Sebastien Bourdeauducq [Thu, 29 Nov 2012 21:52:57 +0000 (22:52 +0100)]
fhdl/structure: add unary minus

12 years agoReplace Signal(bits_for(... with Signal(max=...
Sebastien Bourdeauducq [Thu, 29 Nov 2012 20:53:36 +0000 (21:53 +0100)]
Replace Signal(bits_for(... with Signal(max=...

12 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

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

12 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

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

12 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

12 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

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

12 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

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

12 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

12 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

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

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

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

12 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

12 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

12 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

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

12 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

12 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

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

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

12 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

12 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

12 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

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

12 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

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

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

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

12 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

12 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

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

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

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