nmutil.git
6 months agoRemove comment sign and add correct path for nmigen intersphinx.
R Veera Kumar [Sat, 5 Jun 2021 01:59:55 +0000 (07:29 +0530)]
Remove comment sign and add correct path for nmigen intersphinx.

6 months agoAdd Makefile modified for sphinx
R Veera Kumar [Fri, 4 Jun 2021 20:08:12 +0000 (01:38 +0530)]
Add Makefile modified for sphinx

6 months agoInitial addition of sphinx documentation system.
R Veera Kumar [Fri, 4 Jun 2021 19:28:20 +0000 (00:58 +0530)]
Initial addition of sphinx documentation system.

Add run of sphinx-quickstart and manual modifications of files.

7 months agoupdate README
Luke Kenneth Casson Leighton [Tue, 4 May 2021 14:58:03 +0000 (15:58 +0100)]
update README

7 months agoadd OS Independent classifier
Luke Kenneth Casson Leighton [Sun, 18 Apr 2021 11:44:10 +0000 (12:44 +0100)]
add OS Independent classifier

7 months agoadd pypi upload to Makefile
Luke Kenneth Casson Leighton [Sun, 11 Apr 2021 23:57:51 +0000 (00:57 +0100)]
add pypi upload to Makefile

7 months agoupdate license classifier
Luke Kenneth Casson Leighton [Sun, 11 Apr 2021 23:57:14 +0000 (00:57 +0100)]
update license classifier

7 months agoupdate for release to pypi
Luke Kenneth Casson Leighton [Sun, 11 Apr 2021 23:54:03 +0000 (00:54 +0100)]
update for release to pypi

9 months agoAllow groups to start closed
Cesar Strauss [Sun, 21 Feb 2021 17:10:10 +0000 (14:10 -0300)]
Allow groups to start closed

9 months agoextra comments in byte_reverse function
Luke Kenneth Casson Leighton [Sun, 21 Feb 2021 15:27:40 +0000 (15:27 +0000)]
extra comments in byte_reverse function

9 months agoUse "src_loc_at" to look for a suitable name in the call stack
Cesar Strauss [Sun, 21 Feb 2021 14:44:26 +0000 (11:44 -0300)]
Use "src_loc_at" to look for a suitable name in the call stack

9 months agoMove the selection field function to nmutil
Cesar Strauss [Sun, 21 Feb 2021 12:44:56 +0000 (09:44 -0300)]
Move the selection field function to nmutil

Make it return a new Signal, while adding the wires to a Module.
That way, it becomes explicit that the function add wires to the design.

10 months agoAllow choosing a non-default solver in assertFormal
Cesar Strauss [Sat, 23 Jan 2021 09:43:43 +0000 (06:43 -0300)]
Allow choosing a non-default solver in assertFormal

It seems that small changes can dramatically affect the speed of the
default solver (yices2), while z3 is unaffected.

Let's use the one that gives the best results.

11 months agoDefine default zoom level for formal engines
Cesar Strauss [Mon, 4 Jan 2021 19:40:55 +0000 (16:40 -0300)]
Define default zoom level for formal engines

11 months agoImplement the "submodule" attribute 24jan2021_ls180
Cesar Strauss [Sun, 6 Dec 2020 11:47:37 +0000 (08:47 -0300)]
Implement the "submodule" attribute

When encountered, it is merged to the module path attribute, and
consumed (it is not propagated to children).

11 months agoAllow applying a style to a group of signals
Cesar Strauss [Sat, 5 Dec 2020 22:37:46 +0000 (19:37 -0300)]
Allow applying a style to a group of signals

12 months agowhoops misclassified in setup.py as GPLv3+, it is actually LGPLv3+
Luke Kenneth Casson Leighton [Fri, 4 Dec 2020 13:35:53 +0000 (13:35 +0000)]
whoops misclassified in setup.py as GPLv3+, it is actually LGPLv3+

12 months agoadd LGPLv3+ license
Luke Kenneth Casson Leighton [Fri, 4 Dec 2020 13:34:49 +0000 (13:34 +0000)]
add LGPLv3+ license

12 months agoadd grant links, and record of funding under #538
Luke Kenneth Casson Leighton [Fri, 4 Dec 2020 12:56:35 +0000 (12:56 +0000)]
add grant links, and record of funding under #538
https://bugs.libre-soc.org/show_bug.cgi?id=538

12 months agoZoom level is affected by the time resolution unit in the VCD file
Cesar Strauss [Wed, 2 Dec 2020 10:30:50 +0000 (07:30 -0300)]
Zoom level is affected by the time resolution unit in the VCD file

12 months agoAvoid use of "trace_bit" to print trace bits
Cesar Strauss [Wed, 18 Nov 2020 10:55:31 +0000 (07:55 -0300)]
Avoid use of "trace_bit" to print trace bits

It turns out, "trace_bit" really depends on the "trace_bits" context to
update flags. Use the normal "trace" call instead.

12 months agoAdd support for displaying individual bits from wide signals
Cesar Strauss [Tue, 17 Nov 2020 10:53:37 +0000 (07:53 -0300)]
Add support for displaying individual bits from wide signals

13 months agoAlso export Passive from the chosen Simulator module
Cesar Strauss [Wed, 28 Oct 2020 10:27:23 +0000 (07:27 -0300)]
Also export Passive from the chosen Simulator module

13 months agoCalculate the zoom level from the clock period
Cesar Strauss [Sat, 24 Oct 2020 14:44:11 +0000 (11:44 -0300)]
Calculate the zoom level from the clock period

13 months agouse unittest.TestCase rather than FHDLTestCase
Luke Kenneth Casson Leighton [Mon, 12 Oct 2020 11:58:34 +0000 (12:58 +0100)]
use unittest.TestCase rather than FHDLTestCase

13 months agoadd overflow detection to DIVS
Jacob Lifshay [Wed, 7 Oct 2020 02:36:11 +0000 (19:36 -0700)]
add overflow detection to DIVS

overflow shouldn't occur when calling DIVS since it should have been
detected in the code calling DIVS to properly handle edge cases.

13 months agoformat code
Jacob Lifshay [Wed, 7 Oct 2020 02:33:07 +0000 (19:33 -0700)]
format code

14 months agoReport cxxsim selected, only when using the new API
Cesar Strauss [Sun, 27 Sep 2020 21:31:29 +0000 (18:31 -0300)]
Report cxxsim selected, only when using the new API

14 months agoAdd a few extra imports for convenience
Cesar Strauss [Thu, 24 Sep 2020 22:26:16 +0000 (19:26 -0300)]
Add a few extra imports for convenience

14 months agoRun-time selecion of simulator engine
Cesar Strauss [Thu, 24 Sep 2020 11:41:29 +0000 (08:41 -0300)]
Run-time selecion of simulator engine

Allows alternating between cxxsim and pysim at run-time, with minimal
code changes to its users.

14 months agoadd extra name in plru for debugging
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 15:54:40 +0000 (16:54 +0100)]
add extra name in plru for debugging

14 months agoswitch off print statements
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:48:29 +0000 (14:48 +0100)]
switch off print statements

14 months agoadd pseudo-plru from ariane
Luke Kenneth Casson Leighton [Mon, 14 Sep 2020 13:44:51 +0000 (14:44 +0100)]
add pseudo-plru from ariane

14 months agoadd masked util function
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:39:57 +0000 (14:39 +0100)]
add masked util function

14 months agoadd dummy Display function
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:11:12 +0000 (14:11 +0100)]
add dummy Display function

14 months agosyntax error in byterev
Luke Kenneth Casson Leighton [Sun, 13 Sep 2020 13:05:53 +0000 (14:05 +0100)]
syntax error in byterev

15 months agoMake GTKWave example self-contained
Cesar Strauss [Tue, 1 Sep 2020 11:14:13 +0000 (08:14 -0300)]
Make GTKWave example self-contained

As a tutorial, it should be as simple as possible.
Do not attempt to be compliant with the CompALU API anymore, use plain
signals at the interface.

15 months agoSimplify example, focusing on write_gtkw
Cesar Strauss [Sat, 29 Aug 2020 22:30:42 +0000 (19:30 -0300)]
Simplify example, focusing on write_gtkw

Complete Shifter example remains at soc.experiment.alu_fsm.

15 months agoMove write_gtkw from soc.experiment.alu_fsm
Cesar Strauss [Sat, 29 Aug 2020 20:52:58 +0000 (17:52 -0300)]
Move write_gtkw from soc.experiment.alu_fsm

Move implementation to nmutil.gtkw.
Move example to a separate file.

15 months agoadd reversal and lsb/msb mode to PriorityPicker
Luke Kenneth Casson Leighton [Sat, 29 Aug 2020 13:51:52 +0000 (14:51 +0100)]
add reversal and lsb/msb mode to PriorityPicker

15 months agosorting out div/mod routines, bug in simulator
Luke Kenneth Casson Leighton [Wed, 26 Aug 2020 14:26:09 +0000 (15:26 +0100)]
sorting out div/mod routines, bug in simulator

15 months ago1 extra bit on mask shift size needed, to allow ">" to work
Luke Kenneth Casson Leighton [Wed, 19 Aug 2020 04:44:20 +0000 (05:44 +0100)]
1 extra bit on mask shift size needed, to allow ">" to work

15 months agoallow byterev to accept a scalar int
Luke Kenneth Casson Leighton [Mon, 17 Aug 2020 11:11:05 +0000 (12:11 +0100)]
allow byterev to accept a scalar int

15 months agoadd Mask class
Luke Kenneth Casson Leighton [Mon, 17 Aug 2020 11:10:51 +0000 (12:10 +0100)]
add Mask class

15 months agoadd rising edge function for generating pulse
Luke Kenneth Casson Leighton [Sun, 9 Aug 2020 18:44:09 +0000 (19:44 +0100)]
add rising edge function for generating pulse

16 months agodisable very verbose debug printing
Luke Kenneth Casson Leighton [Tue, 28 Jul 2020 10:36:40 +0000 (11:36 +0100)]
disable very verbose debug printing

16 months agomove "wrap" function into nmutil.util
Luke Kenneth Casson Leighton [Tue, 28 Jul 2020 10:35:49 +0000 (11:35 +0100)]
move "wrap" function into nmutil.util

16 months agomissed en_o on list of ports in PriorityPicker
Luke Kenneth Casson Leighton [Tue, 21 Jul 2020 11:20:28 +0000 (12:20 +0100)]
missed en_o on list of ports in PriorityPicker

16 months agoCheck equality between two PipeContext instances.
Samuel A. Falvo II [Fri, 17 Jul 2020 23:27:03 +0000 (16:27 -0700)]
Check equality between two PipeContext instances.

16 months agomissed critical functions in cut/paste copy of PipeContext
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:56:02 +0000 (14:56 +0100)]
missed critical functions in cut/paste copy of PipeContext

16 months agomissing Signal import
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:51:32 +0000 (14:51 +0100)]
missing Signal import

16 months agomove FPPipeContext to concurrentunit: rename to PipeContext
Luke Kenneth Casson Leighton [Wed, 15 Jul 2020 13:41:35 +0000 (14:41 +0100)]
move FPPipeContext to concurrentunit: rename to PipeContext
see https://bugs.libre-soc.org/show_bug.cgi?id=431

16 months agoimport globally not locally.
Luke Kenneth Casson Leighton [Mon, 13 Jul 2020 18:12:22 +0000 (19:12 +0100)]
import globally not locally.
relative imports only work when the cwd from which they are run
is the top-level directory

16 months agorename trunc_div/rem to trunc_divs
Luke Kenneth Casson Leighton [Fri, 10 Jul 2020 19:49:49 +0000 (20:49 +0100)]
rename trunc_div/rem to trunc_divs

16 months agocheat in trunch_rem, truncate result of multiply
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 12:32:04 +0000 (13:32 +0100)]
cheat in trunch_rem, truncate result of multiply

16 months agowhoops trunc_div returning neg/neg result rather than abs/abs
Luke Kenneth Casson Leighton [Thu, 9 Jul 2020 12:28:42 +0000 (13:28 +0100)]
whoops trunc_div returning neg/neg result rather than abs/abs

16 months agowhoops missed Mux
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 15:58:07 +0000 (16:58 +0100)]
whoops missed Mux

16 months agoadd eq32 helper
Luke Kenneth Casson Leighton [Mon, 6 Jul 2020 15:55:56 +0000 (16:55 +0100)]
add eq32 helper

17 months agoremove unneeded imports
Luke Kenneth Casson Leighton [Sun, 5 Jul 2020 19:01:59 +0000 (20:01 +0100)]
remove unneeded imports

17 months agoadd feedback_width option (unused) to concurrentunit pipeline
Luke Kenneth Casson Leighton [Sat, 4 Jul 2020 10:48:47 +0000 (11:48 +0100)]
add feedback_width option (unused) to concurrentunit pipeline

17 months agouse Mux in latchregister, try to break "loops"
Luke Kenneth Casson Leighton [Thu, 2 Jul 2020 21:30:43 +0000 (22:30 +0100)]
use Mux in latchregister, try to break "loops"

17 months agouse prefix where it exists
Luke Kenneth Casson Leighton [Sat, 27 Jun 2020 18:23:41 +0000 (19:23 +0100)]
use prefix where it exists

17 months agofix prefixes on RecordObject
Luke Kenneth Casson Leighton [Fri, 26 Jun 2020 22:31:33 +0000 (23:31 +0100)]
fix prefixes on RecordObject

17 months agoRemove print statements from recordobject
Michael Nolan [Fri, 26 Jun 2020 17:53:35 +0000 (13:53 -0400)]
Remove print statements from recordobject

17 months agoupdate docstring on add_prefix_to_record_signals
Luke Kenneth Casson Leighton [Thu, 25 Jun 2020 09:31:35 +0000 (10:31 +0100)]
update docstring on add_prefix_to_record_signals

17 months agoModify RecordObject to prefix all signal names with the record name
Michael Nolan [Wed, 24 Jun 2020 20:03:10 +0000 (16:03 -0400)]
Modify RecordObject to prefix all signal names with the record name

17 months agoadd byte-reverse helper function
Luke Kenneth Casson Leighton [Mon, 22 Jun 2020 10:30:57 +0000 (11:30 +0100)]
add byte-reverse helper function

17 months agoadd trunc_div and trunc_rem functions
Luke Kenneth Casson Leighton [Fri, 19 Jun 2020 21:16:07 +0000 (22:16 +0100)]
add trunc_div and trunc_rem functions

18 months agoadd copy of FHDLTestCase from nmigen
Luke Kenneth Casson Leighton [Thu, 4 Jun 2020 12:45:56 +0000 (13:45 +0100)]
add copy of FHDLTestCase from nmigen

18 months agowhoops
Luke Kenneth Casson Leighton [Tue, 26 May 2020 12:45:32 +0000 (13:45 +0100)]
whoops

18 months agogeneric-ify treereduce
Luke Kenneth Casson Leighton [Tue, 26 May 2020 12:43:36 +0000 (13:43 +0100)]
generic-ify treereduce

18 months agoadd treereduce function
Luke Kenneth Casson Leighton [Tue, 26 May 2020 12:36:09 +0000 (13:36 +0100)]
add treereduce function

18 months agoadd sign/zero extending utilities
Luke Kenneth Casson Leighton [Wed, 20 May 2020 13:28:03 +0000 (14:28 +0100)]
add sign/zero extending utilities

18 months agominor whitespace, comment clz
Luke Kenneth Casson Leighton [Tue, 19 May 2020 17:55:25 +0000 (18:55 +0100)]
minor whitespace, comment clz

18 months agonote that clz is identical to PriorityEncoder (which already exists)
Luke Kenneth Casson Leighton [Tue, 19 May 2020 16:27:31 +0000 (17:27 +0100)]
note that clz is identical to PriorityEncoder (which already exists)

19 months agoAdd Count Leading Zeros module to nmutil
Michael Nolan [Tue, 5 May 2020 15:15:43 +0000 (11:15 -0400)]
Add Count Leading Zeros module to nmutil

19 months agoRevert "Flatten the output of RecordObject.ports()"
Michael Nolan [Tue, 5 May 2020 13:09:49 +0000 (09:09 -0400)]
Revert "Flatten the output of RecordObject.ports()"

This reverts commit c2da46e377fbf04488622dbf33aa240988b1dd9e.

19 months agoFlatten the output of RecordObject.ports()
Michael Nolan [Mon, 4 May 2020 17:07:07 +0000 (13:07 -0400)]
Flatten the output of RecordObject.ports()

If a record contains records, calling ports on it will give a result
that cannot be passed to the nmigen simulation backend. This flattens
it, so that ports() will just return signals

19 months agoadd docstring to latchregister
Luke Kenneth Casson Leighton [Mon, 4 May 2020 12:53:05 +0000 (13:53 +0100)]
add docstring to latchregister

19 months agoadd note about flatten function (one already exists in nmigen)
Luke Kenneth Casson Leighton [Fri, 1 May 2020 13:32:21 +0000 (14:32 +0100)]
add note about flatten function (one already exists in nmigen)

19 months agoadd ripple.py to nmutil
Luke Kenneth Casson Leighton [Fri, 1 May 2020 13:29:49 +0000 (14:29 +0100)]
add ripple.py to nmutil

19 months agoadd flatten function
Jacob Lifshay [Fri, 17 Apr 2020 03:28:51 +0000 (20:28 -0700)]
add flatten function

19 months agoadjust multi priority picker to accept multiple inputs
Luke Kenneth Casson Leighton [Thu, 16 Apr 2020 15:11:51 +0000 (16:11 +0100)]
adjust multi priority picker to accept multiple inputs

19 months agowhitespace
Luke Kenneth Casson Leighton [Thu, 16 Apr 2020 14:46:02 +0000 (15:46 +0100)]
whitespace

19 months agodetect if data_o or data_i is iterable in NextControl and PrevControl
Luke Kenneth Casson Leighton [Mon, 13 Apr 2020 17:21:01 +0000 (18:21 +0100)]
detect if data_o or data_i is iterable in NextControl and PrevControl

20 months agoadd build caching using ccache
Jacob Lifshay [Fri, 3 Apr 2020 04:49:56 +0000 (21:49 -0700)]
add build caching using ccache

20 months agotests pass
Jacob Lifshay [Fri, 3 Apr 2020 03:48:58 +0000 (20:48 -0700)]
tests pass

20 months agomove clone paths to inside current directory
Jacob Lifshay [Wed, 1 Apr 2020 03:48:55 +0000 (20:48 -0700)]
move clone paths to inside current directory

20 months agoadd test case for https://github.com/nmigen/nmigen/issues/344
Jacob Lifshay [Wed, 1 Apr 2020 03:23:14 +0000 (20:23 -0700)]
add test case for https://github.com/nmigen/nmigen/issues/344

20 months agoswitch nmigen upstream and add --depth 1
Jacob Lifshay [Wed, 1 Apr 2020 02:48:44 +0000 (19:48 -0700)]
switch nmigen upstream and add --depth 1

20 months agoreformat apt-get command
Jacob Lifshay [Wed, 1 Apr 2020 02:48:12 +0000 (19:48 -0700)]
reformat apt-get command

20 months agoadd .gitlab-ci.yml
Jacob Lifshay [Thu, 26 Mar 2020 05:30:07 +0000 (22:30 -0700)]
add .gitlab-ci.yml

20 months agogrr fix more names thanks to nmigen renaming
Luke Kenneth Casson Leighton [Wed, 25 Mar 2020 16:11:05 +0000 (16:11 +0000)]
grr fix more names thanks to nmigen renaming

20 months agodont have to but test latchregister incoming is a Record
Luke Kenneth Casson Leighton [Sun, 22 Mar 2020 14:30:29 +0000 (14:30 +0000)]
dont have to but test latchregister incoming is a Record

20 months agocomment latchregister
Luke Kenneth Casson Leighton [Sun, 22 Mar 2020 10:12:38 +0000 (10:12 +0000)]
comment latchregister

20 months agosigh, rename of signals needed for nmigen compatibility with FIFOInterface
Luke Kenneth Casson Leighton [Sat, 21 Mar 2020 16:31:04 +0000 (16:31 +0000)]
sigh, rename of signals needed for nmigen compatibility with FIFOInterface

20 months agorealised that the enable lines will act just as well as port-enable lines
Luke Kenneth Casson Leighton [Wed, 18 Mar 2020 11:27:47 +0000 (11:27 +0000)]
realised that the enable lines will act just as well as port-enable lines
from MultiPriorityPicker, so make the binary-indices optional but
the enable-outputs mandatory

20 months agorealised that the MultiPriorityPicker only needs a 1D array of inputs
Luke Kenneth Casson Leighton [Tue, 17 Mar 2020 22:21:02 +0000 (22:21 +0000)]
realised that the MultiPriorityPicker only needs a 1D array of inputs
not a 2D array of input bits.  input is chain-cascaded from previous
PriorityPicker after masking

20 months agoadd indices output to MultiPriorityPicker
Luke Kenneth Casson Leighton [Tue, 17 Mar 2020 21:36:50 +0000 (21:36 +0000)]
add indices output to MultiPriorityPicker

20 months agocreate MultiPriorityPicker which can mutually-exclusively select M outputs from
Luke Kenneth Casson Leighton [Tue, 17 Mar 2020 17:57:48 +0000 (17:57 +0000)]
create MultiPriorityPicker which can mutually-exclusively select M outputs from
Mx N-way inputs
to be used for example to ensure that M "things" seeking access to M
"other things" do not conflict: that only one "thing" at a time gets access
to the
other "things"