Bug 62 - nmigen-based general-purpose util / data handling / io-control library needed
Summary: nmigen-based general-purpose util / data handling / io-control library needed
Status: RESOLVED FIXED
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Source Code (show other bugs)
Version: unspecified
Hardware: PC Linux
: High enhancement
Assignee: Luke Kenneth Casson Leighton
URL:
Depends on: 64 65 66 63 68
Blocks:
  Show dependency treegraph
 
Reported: 2019-04-19 08:50 BST by Luke Kenneth Casson Leighton
Modified: 2023-09-05 05:25 BST (History)
1 user (show)

See Also:
NLnet milestone: NLnet.2019.02.012
total budget (EUR) for completion of task and all subtasks: 4550
budget (EUR) for this task, excluding subtasks' budget: 0
parent task for budget allocation: 191
child tasks for budget allocation: 63 64 68 132
The table of payments (in EUR) for this task; TOML format:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke Kenneth Casson Leighton 2019-04-19 08:50:36 BST
similar to chisel3 util and not quite as generally along the lines
of litex, and augmenting nmigen.lib, a data handling, i/o control,
pipeline-building-block, queues (FIFOs) and general utils library
is needed.

two key pieces of information to decide:

* name of the repo
* name (hierarchy) in python

Subtasks (edit this comment to add, and create sub-bug):

* bug #63 queue (FIFO) with write-through and support for 1-address entries
* bug #65 variable-length IN, variable-length OUT queue
* bug #64 data handling and routing, i/o control and synchronisation
* bug #68 general small utility routines
* bug #66 nmigen Object class needed (python inheritance)
* bug #132 general-purpose nmigen SIMD (Partitioned Signal)

links:

* https://github.com/m-labs/nmigen/tree/master/nmigen/lib
* https://chisel.eecs.berkeley.edu/api/3.0.1/chisel3/util/Queue.html
* https://github.com/freechipsproject/chisel3/tree/src/main/scala/chisel3/util
* https://github.com/enjoy-digital/litex/blob/master/litex/gen/common.py
Comment 1 Luke Kenneth Casson Leighton 2019-05-02 14:30:29 BST
we need a decision on the name of the library and the name of the
git repository.