nmigen-soc.git
4 years agocannot use shape()[0] - must use width property
Luke Kenneth Casson Leighton [Sun, 19 Jul 2020 19:38:18 +0000 (20:38 +0100)]
cannot use shape()[0] - must use width property

4 years agowrite-enable sram into common wen signal, use that to enable wen from sel
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 17:54:41 +0000 (18:54 +0100)]
write-enable sram into common wen signal, use that to enable wen from sel

4 years agoadd assertion checking bus write against memory write port granularity
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 12:25:57 +0000 (13:25 +0100)]
add assertion checking bus write against memory write port granularity

4 years agoavoid looking like a singleton pattern
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 12:17:36 +0000 (13:17 +0100)]
avoid looking like a singleton pattern

4 years agospelling correctinos
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 11:02:33 +0000 (12:02 +0100)]
spelling correctinos

4 years agoimport error
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 11:02:07 +0000 (12:02 +0100)]
import error

4 years agoresolve internal (nmigen_soc) imports
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 00:22:59 +0000 (01:22 +0100)]
resolve internal (nmigen_soc) imports

4 years agofix nmigen imports
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 00:13:16 +0000 (01:13 +0100)]
fix nmigen imports

4 years agomore whitespace
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 00:07:24 +0000 (01:07 +0100)]
more whitespace

4 years agomore declaration of singleton objects
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 00:04:02 +0000 (01:04 +0100)]
more declaration of singleton objects

4 years agowhitespace error somehow
Luke Kenneth Casson Leighton [Sat, 20 Jun 2020 00:02:29 +0000 (01:02 +0100)]
whitespace error somehow

4 years agoremove version in install_requires so that it does not download arbitrary
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 23:50:13 +0000 (00:50 +0100)]
remove version in install_requires so that it does not download arbitrary
internet version of nmigen

4 years agomore whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 23:35:48 +0000 (00:35 +0100)]
more whitespace cleanup

4 years agocomment cleanup
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 23:28:54 +0000 (00:28 +0100)]
comment cleanup

4 years agoautopep8 cleanup
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 23:21:44 +0000 (00:21 +0100)]
autopep8 cleanup

4 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 23:08:45 +0000 (00:08 +0100)]
whitespace cleanup

4 years agowishbone: fix SRAM; improve tests for Decoder & Arbiter wishbone_interconnect
Harry Ho [Sun, 1 Mar 2020 04:17:10 +0000 (12:17 +0800)]
wishbone: fix SRAM; improve tests for Decoder & Arbiter

4 years agowishbone: fix docstring & unneeded parameter for InterconnectShared
Harry Ho [Wed, 29 Jan 2020 10:01:31 +0000 (18:01 +0800)]
wishbone: fix docstring & unneeded parameter for InterconnectShared

4 years agowishbone.bus: borrow & re-design Arbiter from 'jfng/wishbone-arbiter'
Harry Ho [Wed, 29 Jan 2020 07:19:49 +0000 (15:19 +0800)]
wishbone.bus: borrow & re-design Arbiter from 'jfng/wishbone-arbiter'
(credits to @jfng, commit 87281d1f48c9689323c411970870611e6dba1348)

4 years agowishbone: fix that RoundRobin might assert CYC indefinitely
Harry Ho [Wed, 29 Jan 2020 04:14:11 +0000 (12:14 +0800)]
wishbone: fix that RoundRobin might assert CYC indefinitely

4 years agowishbone: optimise SRAM addr_width
Harry Ho [Wed, 8 Jan 2020 06:39:43 +0000 (14:39 +0800)]
wishbone: optimise SRAM addr_width

4 years agowishbone: add a simple test for InterconnectShared
Harry Ho [Mon, 6 Jan 2020 02:26:28 +0000 (10:26 +0800)]
wishbone: add a simple test for InterconnectShared

4 years agowishbone: add Arbiter, RoundRobin, SRAM, InterconnectShared
Harry Ho [Fri, 20 Dec 2019 04:08:57 +0000 (12:08 +0800)]
wishbone: add Arbiter, RoundRobin, SRAM, InterconnectShared

4 years agowishbone.bus: add Arbiter.
Jean-François Nguyen [Wed, 22 Jan 2020 14:07:51 +0000 (15:07 +0100)]
wishbone.bus: add Arbiter.

5 years agowishbone.bus: add Decoder.
whitequark [Sat, 26 Oct 2019 07:54:02 +0000 (07:54 +0000)]
wishbone.bus: add Decoder.

5 years agomemory: add Memory.window_patterns(), to simplify decoders.
whitequark [Sat, 26 Oct 2019 02:52:49 +0000 (02:52 +0000)]
memory: add Memory.window_patterns(), to simplify decoders.

5 years agowishbone.bus.Interface: add support for LOCK_IO signal.
whitequark [Sat, 26 Oct 2019 02:40:18 +0000 (02:40 +0000)]
wishbone.bus.Interface: add support for LOCK_IO signal.

5 years agoTravis: set up CI builds and coverage.
whitequark [Sat, 26 Oct 2019 02:29:05 +0000 (02:29 +0000)]
Travis: set up CI builds and coverage.

5 years agoAdd missing tests (100% branch coverage!)
whitequark [Sat, 26 Oct 2019 02:25:45 +0000 (02:25 +0000)]
Add missing tests (100% branch coverage!)

Found several bugs, too.

5 years agocsr.wishbone: add WishboneCSRBridge.
whitequark [Fri, 25 Oct 2019 23:47:52 +0000 (23:47 +0000)]
csr.wishbone: add WishboneCSRBridge.

5 years agocsr.bus.Multiplexer: fix element w_stb getting stuck.
whitequark [Sat, 26 Oct 2019 00:58:27 +0000 (00:58 +0000)]
csr.bus.Multiplexer: fix element w_stb getting stuck.

Also, don't clear shadow; this would break e.g. reading a 64-bit
CSR register through a 32-bit Wishbone bus if a code fetch happens
between the halves. Instead, clear shadow enable flag driving OR-mux.

5 years agowishbone.bus: add Interface.
whitequark [Fri, 25 Oct 2019 21:22:59 +0000 (21:22 +0000)]
wishbone.bus: add Interface.

5 years agocsr.bus.{Multiplexer↔Decoder}
whitequark [Fri, 25 Oct 2019 21:30:46 +0000 (21:30 +0000)]
csr.bus.{Multiplexer↔Decoder}

This reverses the rename done in commit 5520e0d7. Commit 2a634b3a
introduced a Multiplexer that doesn't actually do multiplexing, so
revert that to make everything less confusing.

5 years agocsr.bus: add Multiplexer.
whitequark [Fri, 25 Oct 2019 20:06:23 +0000 (20:06 +0000)]
csr.bus: add Multiplexer.

5 years agotest: silence spurious warning.
whitequark [Fri, 25 Oct 2019 18:44:27 +0000 (18:44 +0000)]
test: silence spurious warning.

5 years agocsr.bus: rewrite using the MemoryMap abstraction.
whitequark [Fri, 25 Oct 2019 18:41:40 +0000 (18:41 +0000)]
csr.bus: rewrite using the MemoryMap abstraction.

5 years agomemory: add a first-class memory map abstraction.
whitequark [Fri, 25 Oct 2019 18:15:34 +0000 (18:15 +0000)]
memory: add a first-class memory map abstraction.

5 years agocsr.bus: use proper enum instead of ad-hoc string enumeration.
whitequark [Fri, 25 Oct 2019 10:54:49 +0000 (10:54 +0000)]
csr.bus: use proper enum instead of ad-hoc string enumeration.

5 years agocsr.bus: drop CSR prefix from class names.
whitequark [Fri, 25 Oct 2019 10:41:07 +0000 (10:41 +0000)]
csr.bus: drop CSR prefix from class names.

Application code should use Python imports similar to:

    from nmigen_soc import csr
    ...
    decoder = csr.Decoder(...)

thus achieving the same effect with less namespace pollution.

5 years agocsr.bus: split CSRMultiplexer to CSRInterface+CSRDecoder.
whitequark [Fri, 25 Oct 2019 10:37:03 +0000 (10:37 +0000)]
csr.bus: split CSRMultiplexer to CSRInterface+CSRDecoder.

5 years agocsr.bus: improve comments/docs. NFC.
whitequark [Tue, 22 Oct 2019 03:56:52 +0000 (03:56 +0000)]
csr.bus: improve comments/docs. NFC.

5 years agocsr.bus: add CSRElement and CSRMultiplexer.
whitequark [Mon, 21 Oct 2019 15:05:24 +0000 (15:05 +0000)]
csr.bus: add CSRElement and CSRMultiplexer.

5 years agoAdd __version__ boilerplate.
whitequark [Wed, 16 Oct 2019 15:31:26 +0000 (15:31 +0000)]
Add __version__ boilerplate.

5 years agosetup: update scm_version().
whitequark [Wed, 16 Oct 2019 15:29:13 +0000 (15:29 +0000)]
setup: update scm_version().

5 years agoInitial commit.
whitequark [Fri, 6 Sep 2019 08:58:19 +0000 (08:58 +0000)]
Initial commit.