Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: bugzilla-daemon@libre-riscv.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 217] create a "ring" system which allows pad locations to be specified conveniently
Date: Thu, 26 Mar 2020 21:39:34 +0000
Message-ID: <bug-217-13-DmJnzAJXGN@http.bugs.libre-riscv.org/> (raw)
In-Reply-To: <bug-217-13@http.bugs.libre-riscv.org/>

http://bugs.libre-riscv.org/show_bug.cgi?id=217

--- Comment #44 from Jock Tanner <tanner.of.kha@gmail.com> ---
Sorry for being missing for some time, it was a busy week for me. My other
projects and local bureaucracy required my attention.

So I reworked the ALU16 example with the hope that this approach could be
(re)used in a future work.

https://git.libre-riscv.org/?p=soclayout.git;a=blob;f=experiments7/utils.py

My goals were:

- eliminate dead, duplicated and redundant code,

- facilitate multiple instantiation of electronic components through modular
design with a support for module “nesting”,

- enable parameterization of the electronic modules in a simple, declarative
manner,

- proper incapsulate all Coriolis interfacing to overcome the “global context”
antipattern that prevailed in the original code, and further improve the
readability and maintainability.

To achieve these goals, I

- created a class named 'Module', which encapsulated the execution context
('Hurricane.Cell', 'Hurricane.DataBase', 'CRL.AllianceFramework', 'editor', et
c.) in its attributes and properties,

- converted the typical actions into the methods of this class,

- separated the initialization of the Module object ('Module.__init__()') with
the actual operations ('Module.build()'),

- provided a method for recursive building of “nested” objects.

Right now, 'Module.build()' is designed to be implemented in 'Module'
subclasses. As soon as my understanding of the requirements will grow beyond
the simple examples, 'Module.build()' can be converted into the “template
method”.

The amount of required parameters can also be reduced. Maybe we could teach the
module to deduct either its size or pin spacing. Now the initialization looks
quite fuzzy.

I deleted all the 'print' statements from the example, since I could not grasp
the logic and requirements behind them. Perhaps it makes sense to return some
logging, preferably with a proper use of 'logging' facility.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  parent reply index

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-12 11:57 [libre-riscv-dev] [Bug 217] New: " bugzilla-daemon
2020-03-12 16:39 ` [libre-riscv-dev] [Bug 217] " bugzilla-daemon
2020-03-12 16:57 ` bugzilla-daemon
2020-03-12 17:07 ` bugzilla-daemon
2020-03-12 17:24 ` bugzilla-daemon
2020-03-12 17:37 ` bugzilla-daemon
2020-03-13 11:36 ` bugzilla-daemon
2020-03-16 22:01 ` bugzilla-daemon
2020-03-16 23:06 ` bugzilla-daemon
2020-03-16 23:25 ` bugzilla-daemon
2020-03-16 23:38 ` bugzilla-daemon
2020-03-17  0:05 ` bugzilla-daemon
2020-03-17  0:19 ` bugzilla-daemon
2020-03-17  0:24 ` bugzilla-daemon
2020-03-17  0:30 ` bugzilla-daemon
2020-03-17  1:38 ` bugzilla-daemon
2020-03-17  1:54 ` bugzilla-daemon
2020-03-17  6:53 ` bugzilla-daemon
2020-03-17  7:17 ` bugzilla-daemon
2020-03-17  7:26 ` bugzilla-daemon
2020-03-17  7:43 ` bugzilla-daemon
2020-03-17 13:04 ` bugzilla-daemon
2020-03-17 13:48 ` bugzilla-daemon
2020-03-17 14:19 ` bugzilla-daemon
2020-03-17 14:22 ` bugzilla-daemon
2020-03-17 14:52 ` bugzilla-daemon
2020-03-17 14:58 ` bugzilla-daemon
2020-03-17 15:12 ` bugzilla-daemon
2020-03-17 15:24 ` bugzilla-daemon
2020-03-17 16:06 ` bugzilla-daemon
2020-03-17 16:41 ` bugzilla-daemon
2020-03-17 17:06 ` bugzilla-daemon
2020-03-17 17:24 ` bugzilla-daemon
2020-03-17 17:28 ` bugzilla-daemon
2020-03-17 17:42 ` bugzilla-daemon
2020-03-17 17:53 ` bugzilla-daemon
2020-03-17 18:07 ` bugzilla-daemon
2020-03-17 18:55 ` bugzilla-daemon
2020-03-18 14:31 ` bugzilla-daemon
2020-03-18 15:15 ` bugzilla-daemon
2020-03-18 22:09 ` bugzilla-daemon
2020-03-18 23:39 ` bugzilla-daemon
2020-03-20 12:09 ` bugzilla-daemon
2020-03-26 21:39 ` bugzilla-daemon [this message]
2020-03-26 22:58 ` bugzilla-daemon
2020-03-27  0:03 ` bugzilla-daemon
2020-03-27  0:38 ` bugzilla-daemon
2020-03-27  1:27 ` bugzilla-daemon
2020-03-27  2:17 ` bugzilla-daemon
2020-04-06 14:18 ` bugzilla-daemon
2020-04-06 16:53 ` bugzilla-daemon
2020-04-06 16:58 ` bugzilla-daemon
2020-04-06 17:15 ` bugzilla-daemon
2020-04-07  8:12 ` bugzilla-daemon
2020-04-07  9:46 ` bugzilla-daemon
     [not found] <bug-217-13@https.bugs.libre-soc.org/>
2020-04-20 14:16 ` bugzilla-daemon
2020-04-20 15:55 ` bugzilla-daemon
2020-04-20 17:15 ` bugzilla-daemon
2020-04-20 18:10 ` bugzilla-daemon
2020-04-20 18:25 ` bugzilla-daemon
2020-04-20 18:33 ` bugzilla-daemon
2020-04-20 19:00 ` bugzilla-daemon
2020-04-20 19:08 ` bugzilla-daemon
2020-04-20 19:16 ` bugzilla-daemon
2020-04-20 19:20 ` bugzilla-daemon
2020-04-20 19:52 ` bugzilla-daemon
2020-04-20 20:45 ` bugzilla-daemon
2020-04-20 21:00 ` bugzilla-daemon
2020-04-20 22:17 ` bugzilla-daemon
2020-04-21 12:12 ` bugzilla-daemon
2020-04-21 13:17 ` bugzilla-daemon
2020-04-21 14:32 ` bugzilla-daemon
2020-04-21 15:12 ` bugzilla-daemon
2020-04-21 15:22 ` bugzilla-daemon
2020-04-21 15:49 ` bugzilla-daemon
2020-04-21 16:16 ` bugzilla-daemon
2020-04-21 16:55 ` bugzilla-daemon
2020-04-21 17:03 ` bugzilla-daemon
2020-04-21 17:40 ` bugzilla-daemon
2020-04-21 18:05 ` bugzilla-daemon
2020-04-21 19:24 ` bugzilla-daemon
2020-04-21 20:23 ` bugzilla-daemon
2020-04-21 20:43 ` bugzilla-daemon
2020-04-21 21:19 ` bugzilla-daemon
2020-04-21 22:00 ` bugzilla-daemon
2020-04-21 22:21 ` bugzilla-daemon
2020-05-20 12:20 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-217-13-DmJnzAJXGN@http.bugs.libre-riscv.org/ \
    --to=bugzilla-daemon@libre-riscv.org \
    --cc=libre-riscv-dev@lists.libre-riscv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Libre RISC-V Mailing list Archives (accessible via public-inbox)

Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git