Sebastien Bourdeauducq
f2e2397c9d
bus/lasmibus: bugfixes
2013-06-09 23:36:32 +02:00
Sebastien Bourdeauducq
a836cba790
bus/lasmibus: add target and initiator
2013-06-09 16:03:22 +02:00
Sebastien Bourdeauducq
35f9f2e9d7
bus/lasmi: interface definition and crossbar (untested)
2013-06-08 15:49:50 +02:00
Kenneth Ryerson
85813b3b58
csr/sram: fix reads on high addresses when word_bits != 0
2013-06-03 21:52:23 +02:00
Kenneth Ryerson
e5e3492afe
csr/sram: fix page_bits computation
2013-06-03 21:51:44 +02:00
Sebastien Bourdeauducq
cebfe787db
genlib/misc: fix import
2013-05-30 18:46:52 +02:00
Sebastien Bourdeauducq
ebbd5ebcd2
bus/csr/SRAM: better handling of writes to memories larger than the CSR width
2013-05-30 18:45:04 +02:00
Sebastien Bourdeauducq
f0b0942055
bitreverse: fhdl/tools -> genlib/misc
2013-05-30 18:44:37 +02:00
Sebastien Bourdeauducq
bac62a32a9
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.
2013-05-28 16:11:34 +02:00
Sebastien Bourdeauducq
70ffe86356
New migen.fhdl.std to simplify imports + len->flen
2013-05-22 17:11:09 +02:00
Sebastien Bourdeauducq
5208baada8
bus/wishbone/SRAM: support init and read_only
2013-05-19 20:53:54 +02:00
Sebastien Bourdeauducq
7ada0159fd
bus/csr/SRAM: support init
2013-05-19 20:53:37 +02:00
Sebastien Bourdeauducq
792b8fed1b
bus/asmi: port sharing support
2013-05-12 15:58:39 +02:00
Sebastien Bourdeauducq
f202946717
fhdl/tools/_TargetLister: do not include array keys in targets
2013-05-11 17:28:41 +02:00
Sebastien Bourdeauducq
0ec6a7eb4e
genlib/record: match_by_position -> connect_flat
2013-05-11 11:48:21 +02:00
Sebastien Bourdeauducq
955a9733c8
Revert "genlib/record/connect: add match_by_position"
...
This reverts commit df1ed32765
.
2013-05-10 17:41:51 +02:00
Sebastien Bourdeauducq
c82b53f1cd
bank/description/AutoCSR: add autocsr_exclude
2013-05-08 20:58:57 +02:00
Sebastien Bourdeauducq
10212e85e7
dma_asmi: cleanup
2013-05-08 18:58:50 +02:00
Sebastien Bourdeauducq
b9b6df6f29
bank/eventmanager: refactor, rename EventSourceLevel -> EventSourceProcess, add fully externally controlled event source
2013-05-08 18:12:26 +02:00
Sebastien Bourdeauducq
7a74dae461
actorlib/spi: add DMAWriteController
2013-05-04 17:38:54 +02:00
Sebastien Bourdeauducq
fd089b146f
actorlib/dma_asmi/OOOWriter: fix tag offset
2013-05-04 17:38:17 +02:00
Sebastien Bourdeauducq
12deaa91d8
flow/network/DataFlowGraph: add_buffered_connection
2013-05-02 13:25:30 +02:00
Sebastien Bourdeauducq
b5b29f6d5d
bank/description/CSRStorage: set reset property of storage for use in test benches
2013-05-02 11:49:23 +02:00
Sebastien Bourdeauducq
8ffa273719
flow/network: better determination of plumbing layout
2013-05-01 22:13:26 +02:00
Sebastien Bourdeauducq
471393d0f9
actorlib/dma_asmi: drive dat_wm
2013-05-01 21:52:26 +02:00
Sebastien Bourdeauducq
c8810a016f
actorlib/spi: add DMA read controller
2013-04-30 18:55:01 +02:00
Sebastien Bourdeauducq
c70c71502e
actorlib/spi/SingleGenerator: use CSR alignment bits
2013-04-30 18:54:47 +02:00
Sebastien Bourdeauducq
dc0304a87b
bank/description/CSRStorage: support alignment bits
2013-04-30 18:53:40 +02:00
Sebastien Bourdeauducq
51f1ace061
flow/network/CompositeActor: expose unconnected endpoints
2013-04-30 18:53:02 +02:00
Sebastien Bourdeauducq
4f13c5b74d
flow/network/DataFlowGraph: add add_pipeline
2013-04-30 15:49:51 +02:00
Sebastien Bourdeauducq
fb83794ef4
actorlib/spi/Collector: cleanup, new APIs
2013-04-28 18:32:46 +02:00
Sebastien Bourdeauducq
746e452838
actorlib/dma_asmi: support for writes
2013-04-28 18:06:36 +02:00
Sebastien Bourdeauducq
e97edd7253
genlib/fifo: disable retiming on Gray counter outputs
2013-04-25 14:57:07 +02:00
Sebastien Bourdeauducq
156ef43ace
genlib/cdc: add NoRetiming
2013-04-25 14:56:45 +02:00
Sebastien Bourdeauducq
b862b070d6
fhdl/verilog: recursive Special lowering
2013-04-25 14:56:26 +02:00
Sebastien Bourdeauducq
67c3119249
genlib/fifo: add asynchronous FIFO
2013-04-25 13:30:37 +02:00
Sebastien Bourdeauducq
fee228a09f
fhdl/specials/memory: do not write address register for async reads
2013-04-25 13:30:05 +02:00
Sebastien Bourdeauducq
6c08cd67aa
graycounter: expose binary output
2013-04-25 13:11:15 +02:00
Sebastien Bourdeauducq
0f9df2d732
genlib: add Gray counter
2013-04-24 19:13:36 +02:00
Florent Kermarrec
f599fe4ade
Support for resetless clock domains
2013-04-23 11:54:05 +02:00
Sebastien Bourdeauducq
8e11fcf1d0
bus/csr/SRAM: fix Module conversion errors
2013-04-14 13:55:04 +02:00
Sebastien Bourdeauducq
ea63389823
fhdl: support len() on all values
2013-04-14 13:50:26 +02:00
Sebastien Bourdeauducq
75d33a0c05
fhdl/verilog/_printinit: initialize undriven Special inputs (bug reported by Florent Kermarrec)
2013-04-11 18:55:49 +02:00
Sebastien Bourdeauducq
72ef4b9683
ioo+pytholite: use new Module API
2013-04-10 23:42:46 +02:00
Sebastien Bourdeauducq
4c9018ea17
fhdl/visit: add TransformModule
2013-04-10 23:42:14 +02:00
Sebastien Bourdeauducq
746acdacd1
ioo: move to genlib
2013-04-10 22:28:53 +02:00
Sebastien Bourdeauducq
1cc4c8ee9f
uio: remove Trampoline (Python 3.3 provides generator delegation instead)
2013-04-10 22:15:28 +02:00
Sebastien Bourdeauducq
6ce856290a
flow: match record fields by position
2013-04-10 21:33:56 +02:00
Sebastien Bourdeauducq
df1ed32765
genlib/record/connect: add match_by_position
2013-04-10 21:33:45 +02:00
Sebastien Bourdeauducq
692794a21f
flow: use Module and new Record APIs
2013-04-10 19:12:42 +02:00
Sebastien Bourdeauducq
20bdd424c8
flow: adapt to new Record API
2013-04-01 22:15:23 +02:00
Sebastien Bourdeauducq
29b468529f
bus: replace simple bus module with new bidirectional Record
2013-04-01 21:54:21 +02:00
Sebastien Bourdeauducq
6a3c413717
New bidirectional-capable Record API
2013-04-01 21:53:33 +02:00
Sebastien Bourdeauducq
c4f4143591
New CSR API
2013-03-30 17:28:41 +01:00
Sebastien Bourdeauducq
633e5e6747
fhdl/module/finalize: pass additional args to do_finalize
2013-03-30 11:29:46 +01:00
Sebastien Bourdeauducq
574becc1fc
fhdl/specials: clean up clock domain handling
2013-03-26 11:58:34 +01:00
Sebastien Bourdeauducq
77a0f0a3bb
actorlib/structuring/Cast: support inversion
2013-03-25 15:54:09 +01:00
Sebastien Bourdeauducq
c4c4765a4e
bank/csrgen/BankArray: retain name information
2013-03-25 14:44:15 +01:00
Sebastien Bourdeauducq
53edc3557e
bank/description/Register: add get_size
2013-03-25 14:43:44 +01:00
Sebastien Bourdeauducq
3da98ea04d
genlib/record: use getattr instead of __dict__
2013-03-24 00:51:01 +01:00
Sebastien Bourdeauducq
1897b74f97
genlib/record: add eq
2013-03-24 00:50:33 +01:00
Sebastien Bourdeauducq
9d7c679b8c
genlib/fifo: simple synchronous FIFO
2013-03-22 18:18:38 +01:00
Sebastien Bourdeauducq
ca431fc7c2
fhdl/module: support clock domain remapping of submodules
2013-03-22 18:17:54 +01:00
Sebastien Bourdeauducq
a94bf3b2c5
genlib/cdc/MultiReg: output clock domain defaults to sys
2013-03-21 10:40:02 +01:00
Sebastien Bourdeauducq
17f2b17654
fhdl/verilog: optionally disable clock domain creation
2013-03-18 18:45:19 +01:00
Sebastien Bourdeauducq
7a06e9457c
Lowering of Special expressions + support ClockSignal/ResetSignal
2013-03-18 18:36:50 +01:00
Sebastien Bourdeauducq
dc55289323
fhdl/tools/_ArrayLowerer: complete support for arrays as targets
2013-03-18 14:38:01 +01:00
Sebastien Bourdeauducq
e95d2f4779
fhdl/tools/value_bits_sign: support not
2013-03-18 09:52:43 +01:00
Sebastien Bourdeauducq
b6fe3ace05
fhdl/structure: style fix
2013-03-17 15:33:38 +01:00
Sébastien Bourdeauducq
2a4cc3875c
Merge pull request #6 from larsclausen/master
...
Minor improvements
2013-03-17 07:33:14 -07:00
Sebastien Bourdeauducq
2f522bdd9f
genlib/cdc/MultiReg: implement rename_clock_domain + get_clock_domains
2013-03-15 19:50:24 +01:00
Sebastien Bourdeauducq
e2d156ef64
genlib/cdc/MultiReg: remove idomain
2013-03-15 19:49:24 +01:00
Sebastien Bourdeauducq
7b49fd9386
fhdl/specials: fix rename_clock_domain declarations
2013-03-15 19:47:01 +01:00
Sebastien Bourdeauducq
51bec340ab
sim: remove PureSimulable (superseded by Module)
2013-03-15 19:41:30 +01:00
Sebastien Bourdeauducq
dd0f3311cd
structure: remove Fragment.call_sim
2013-03-15 19:15:48 +01:00
Sebastien Bourdeauducq
9b9bd77d00
sim: compatibility with new ClockDomain API
2013-03-15 19:15:28 +01:00
Sebastien Bourdeauducq
bd8bbd9305
Make ClockDomains part of fragments
2013-03-15 18:17:33 +01:00
Sebastien Bourdeauducq
5adab17efa
flow/actor/filter_endpoints: deterministic order
2013-03-14 12:20:18 +01:00
Sebastien Bourdeauducq
fc883198ae
bank/csrgen/BankArray: create banks in sorted order
2013-03-13 23:07:44 +01:00
Sebastien Bourdeauducq
52d13959f2
bank/description: modify reg/mem in-place
2013-03-13 19:46:34 +01:00
Lars-Peter Clausen
dea4674922
Allow SimActors to produce/consume a constant stream of tokens
...
Currently a SimActor requires one clock period to recover from consuming or
producing a token. ack/stb are deasserted in the cycle where the token is
consumed/produced and only re-asserted in the next cycle. This patch updates the
code to keep the control signals asserted if the actor is able to produce or
consume a token in the next cycle.
The patch also sets 'initialize' attribute on the simulation method, this will
make sure that the control and data signals will be ready right on the first
clock cycle.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2013-03-12 23:10:51 +01:00
Lars-Peter Clausen
72579a6129
Add support for negative slice indices
...
In python a negative indices usually mean start counting from the right side.
I.e. if the index is negative is acutal index used is len(l) + i. E.g. l[-2]
equals l[len(l)-2].
Being able to specify an index this way also comes in handy for migen slices in
some cases. E.g. the following snippet can be implement to shift an abitrary
length register n bits to the right:
reg.eq(Cat(Replicate(0, n), reg[-n:])
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2013-03-12 21:56:01 +01:00
Sebastien Bourdeauducq
69dbf84e54
sim/generic: support implicit get_fragment
2013-03-12 16:54:01 +01:00
Sebastien Bourdeauducq
ecfe1646ec
fhdl/verilog: implicit get_fragment
2013-03-12 16:16:06 +01:00
Sebastien Bourdeauducq
4ada2ead05
fhdl/specials/Memory: automatic name#
2013-03-12 15:58:39 +01:00
Sebastien Bourdeauducq
04df076fba
bank: automatic register naming
2013-03-12 15:45:24 +01:00
Sebastien Bourdeauducq
7e2581bf17
fhdl/tracer: recognize CALL_FUNCTION_VAR opcode
2013-03-12 13:48:09 +01:00
Sebastien Bourdeauducq
12158ceadf
fhdl/tracer: recognize LOAD_DEREF opcode
2013-03-12 10:31:56 +01:00
Sebastien Bourdeauducq
3c75121783
fhdl/tracer: remove leading underscores from names
2013-03-11 22:21:58 +01:00
Sebastien Bourdeauducq
80970b203c
bus/asmibus: use implicit finalization
2013-03-11 17:11:59 +01:00
Sebastien Bourdeauducq
b042757187
Fix Register name conflict between Pytholite and Bank
2013-03-10 19:47:21 +01:00
Sebastien Bourdeauducq
f93695f60e
bank/eventmanager: use module and autoreg
2013-03-10 19:29:05 +01:00
Sebastien Bourdeauducq
174e8cb8d6
bus/asmibus: use fhdl.module API
2013-03-10 19:28:22 +01:00
Sebastien Bourdeauducq
17e0dfe120
fhdl/module: replace autofragment
2013-03-10 19:27:55 +01:00
Sebastien Bourdeauducq
cddbc1157d
bank/description/AutoReg: check that get_memories and get_registers are callable
2013-03-10 18:11:29 +01:00
Sebastien Bourdeauducq
68fe4c269c
bank/csrgen: BankArray
2013-03-10 00:45:16 +01:00
Sebastien Bourdeauducq
f1474420df
bank/description: AutoReg
2013-03-10 00:43:16 +01:00
Sebastien Bourdeauducq
d0676e2dd1
migen/fhdl/autofragment: factorize
2013-03-09 23:23:24 +01:00
Sebastien Bourdeauducq
d0d2df3c4b
fhdl/autofragment: remove legacy functions
2013-03-09 23:05:45 +01:00
Sebastien Bourdeauducq
72fb6fd6bd
fhdl/tools/flat_iteration: generalize
2013-03-09 23:03:15 +01:00
Sebastien Bourdeauducq
f53acb92e7
fhdl/autofragment: fix submodules
2013-03-09 21:15:38 +01:00
Sebastien Bourdeauducq
6da8eb906f
fhdl/autofragment: empty build_fragment by default
2013-03-09 19:10:47 +01:00
Sebastien Bourdeauducq
2b8dc52c13
Use common definition for FinalizeError
2013-03-09 19:03:13 +01:00
Sebastien Bourdeauducq
b75fb7f97c
csr/SRAM: support for writes with memory widths larger than bus words
2013-03-09 00:50:57 +01:00
Sebastien Bourdeauducq
6fa30053bf
fhdl/verilog: tristate outputs are always wire
2013-03-06 11:30:52 +01:00
Sebastien Bourdeauducq
9b4ca987e0
bus/csr: support memories with larger word width than the bus (read only)
2013-03-03 19:27:13 +01:00
Sebastien Bourdeauducq
bb5ee8d3bd
fhdl/autofragment: bugfixes + add auto_attr
2013-03-03 17:53:06 +01:00
Sebastien Bourdeauducq
cc8118d35c
fhdl/autofragment: FModule
2013-03-02 23:30:54 +01:00
Sebastien Bourdeauducq
d2491828a4
csr/SRAM: prefix page register with memory name
2013-03-01 12:06:12 +01:00
Sebastien Bourdeauducq
c10622f5e2
fhdl/verilog: insert reset before listing signals
2013-02-27 18:10:04 +01:00
Sebastien Bourdeauducq
d2cbc70190
bank/description: memprefix
2013-02-25 23:14:15 +01:00
Sebastien Bourdeauducq
a81781f589
fhdl/specials: allow setting memory name
2013-02-25 23:14:03 +01:00
Sebastien Bourdeauducq
425de02f42
uio/ioo: fix specials
2013-02-25 23:13:38 +01:00
Sebastien Bourdeauducq
55ab01f928
fhdl/specials/Instance: _printintbool -> verilog_printexpr
2013-02-24 13:08:01 +01:00
Sebastien Bourdeauducq
a878db1e3c
genlib: clock domain crossing elements
2013-02-23 19:03:35 +01:00
Sebastien Bourdeauducq
7c4e6c35e5
fhdl/verilog: support special lowering and overrides
2013-02-23 19:03:16 +01:00
Sebastien Bourdeauducq
f9acee4e68
corelogic -> genlib
2013-02-22 23:19:37 +01:00
Sebastien Bourdeauducq
38664d6e16
fhdl: inline synthesis directive support
2013-02-22 19:10:02 +01:00
Sebastien Bourdeauducq
49cfba50fa
New 'specials' API
2013-02-22 17:56:35 +01:00
Sebastien Bourdeauducq
1b18194b1d
fhdl: TSTriple
2013-02-19 17:26:02 +01:00
Sebastien Bourdeauducq
dc93a231c6
fhdl: tristate support
2013-02-15 00:17:24 +01:00
Sebastien Bourdeauducq
63d399b6ad
fhdl/autofragment: from_attributes
2013-02-11 18:34:01 +01:00
Sebastien Bourdeauducq
92b67df41c
sim: default runner to Icarus Verilog
2013-02-09 17:04:53 +01:00
Sebastien Bourdeauducq
bd6856ba7a
flow/perftools: finish removing ActorNode
2013-02-09 17:03:48 +01:00
Sebastien Bourdeauducq
473fd20f8c
fhdl/structure: store clock domain name
2013-01-24 13:49:49 +01:00
Sebastien Bourdeauducq
3201554f76
fhdl/verilog: fix spurious clock/reset signals on multiple calls to convert()
2013-01-23 15:13:06 +01:00
Sebastien Bourdeauducq
314a6c7743
corelogic: complex arithmetic support
2013-01-05 14:18:36 +01:00
Sebastien Bourdeauducq
badba89686
fhdl: support nested statement lists
2013-01-05 14:18:15 +01:00
Sebastien Bourdeauducq
47f5fc70e4
pytholite: fix bug with constant assignment to register
2012-12-19 16:21:57 +01:00
Sebastien Bourdeauducq
9c65402fda
pytholite: prune unused registers
2012-12-19 16:03:05 +01:00
Sebastien Bourdeauducq
3fae6c8f03
Do not use super()
2012-12-18 14:54:33 +01:00
Sebastien Bourdeauducq
b06fbdedd6
fhdl/tools: bitreverse
2012-12-14 23:56:16 +01:00
Sebastien Bourdeauducq
1f350adf14
actorlib/sim/SimActor: do not drive busy low when generator yields None
2012-12-14 23:56:03 +01:00
Sebastien Bourdeauducq
a67f483f0f
Token: support idle_wait
2012-12-14 19:16:22 +01:00
Sebastien Bourdeauducq
6f99241585
Move Token to migen.flow.transactions
2012-12-14 15:55:38 +01:00
Sebastien Bourdeauducq
28b4d99d31
replace some forgotten is_abstract()
2012-12-12 22:36:45 +01:00
Sebastien Bourdeauducq
a7227d7d2b
Remove ActorNode
2012-12-12 22:20:48 +01:00
Sebastien Bourdeauducq
8163ed4828
Merge branch 'master' of github.com:milkymist/migen
2012-12-06 20:57:30 +01:00
Sebastien Bourdeauducq
483b821342
fhdl/structure: do not create Signal in Instance when parameter is int
2012-12-06 20:56:46 +01:00
Sebastien Bourdeauducq
280a87ea69
elsewhere: do not create interface in default param
2012-12-06 17:34:48 +01:00
Sebastien Bourdeauducq
62187aa23d
migen/bank: do not create interface in default param
2012-12-06 17:28:28 +01:00
Sebastien Bourdeauducq
c3fdf42825
bus/csr: add SRAM
2012-12-06 17:16:17 +01:00
Sebastien Bourdeauducq
e89c66bf14
bank/csrgen: interface -> bus
2012-12-06 17:15:34 +01:00
Sebastien Bourdeauducq
273d9d285b
bank/description: define reset value of read signal
2012-12-05 16:40:44 +01:00
Sebastien Bourdeauducq
34ce934809
actorlib/sim: drive busy high until generator is finished
2012-12-05 16:40:12 +01:00
Sebastien Bourdeauducq
4bcb39699b
bus/wishbone/sram: accept memories < 32 bits
2012-12-01 13:04:22 +01:00
Sebastien Bourdeauducq
523816982a
bus/wishbone: add SRAM
2012-12-01 12:59:09 +01:00
Sebastien Bourdeauducq
adb1565d7a
pytholite: fix bit width of selection signal
2012-11-30 17:07:32 +01:00
Sebastien Bourdeauducq
cfb23c442f
pytholite: support signed registers
2012-11-30 17:07:12 +01:00
Sebastien Bourdeauducq
7093939309
corelogic/roundrobin: fix request width (again)
2012-11-29 23:47:51 +01:00