nmigen-soc.git
9 months agotest in sram for deliberately delaying response
Luke Kenneth Casson Leighton [Tue, 4 Aug 2020 18:29:59 +0000 (19:29 +0100)]
test in sram for deliberately delaying response

9 months 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

10 months 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

10 months 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

10 months 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

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

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

10 months 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

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

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

10 months 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

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

10 months 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

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

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

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

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

14 months 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

15 months 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

15 months 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)

15 months 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

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

15 months 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

15 months 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

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

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

18 months 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.

18 months 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.

18 months 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.

18 months 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.

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

18 months 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.

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

18 months 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.

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

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

18 months 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.

18 months 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.

18 months 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.

18 months 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.

18 months 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.

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

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

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

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

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