add description of simplev to openpower eval page
[libreriscv.git] / HDL_workflow.mdwn
index e0029b82ea57cb27bb728e8ce71782eb2493d6c9..e390782605b865ad12cada67fa8d0f30a6449a2c 100644 (file)
@@ -1,7 +1,7 @@
 # HDL workflow
 
 This section describes the workflow and some best practices for developing
-the Libre-SoC hardware. We use nmigen, yosys and symbiyosys, and this
+the Libre-SOC hardware. We use nmigen, yosys and symbiyosys, and this
 page is intended not just to help you get set up, it is intended to
 help advise you of some tricks and practices that will help you become
 effective team contributors.
@@ -30,6 +30,10 @@ The main message here: **use the right tool for the right job**.
 we will add an IRC channel at some point when there are enough people
 to warrant having one.
 
+note also the lack of a "forum" in the above list.  this is very deliberate.  forums are a serious distraction when it comes to technical heavily goal-orientated development. recent internet users may enjoy looking up the "AOL metoo postings" meme.
+
+note also the complete lack of "social platforms". if we wanted to tell everybody how much better each of us are than anyone else in the team, how many times we made a commit (look at me, look at me, i'm so clever), and how many times we went to the bathroom, we would have installed a social media based project "management" system.
+
 ## Main contact method: mailing list
 
 To respect the transparency requirements, conversations need to be
@@ -46,7 +50,8 @@ minimum look up and understand the following:
   using phone at airport flight soon, v. quick reply: ....")
 * Always trim context but do not cut excessively to the point where people
   cannot follow the discussion.  Especially do not cut the attribution
-  ("On monday xxx wrote")
+  ("On monday xxx wrote") of something that you are actually replying
+  to.
 * Use inline replies i.e. reply at the point in the relevant part of
   the conversation, as if you were actually having a conversation.
 * Follow standard IETF reply formatting, using ">" for cascaded
@@ -424,10 +429,12 @@ install. edit, then install. It gets extremely tedious, hence why
 
 team communication:
 
+* new members, add yourself to the [[about_us]] page and create yourself a home page using someone else's page as a template.
 * communicate on the mailing list or the bugtracker an intent to take
   responsibility for a particular task.
 * assign yourself as the bug's owner
 * *keep in touch* about what you are doing, and why you are doing it.
+* edit your home page regularly, particularly to track tasks so that they can be paid by NLNet.
 * if you cannot do something that you have taken responsibility for,
   then unless it is a dire personal emergency please say so, on-list. we
   won't mind. we'll help sort it out.
@@ -446,6 +453,9 @@ for actual code development
 * plan in advance to write not just code but a full test suite for
   that code.  **this is not optional**. large python projects that do not
   have unit tests **FAIL** (see separate section below).
+* Prioritise writing formal proofs and a single clear unit test that is more like a "worked example".
+  We receive NLNet funds for writing formal proofs, plus they
+cover corner cases and take far less time to write
 
 ### Commit tested or zero-dependent code
 
@@ -725,3 +735,5 @@ Find appropriate tutorials for nmigen and yosys, as well as symbiyosys.
 * There exist several nmigen examples which are also executable
   <https://github.com/m-labs/nmigen/tree/master/examples/> exactly as
   described in the above tutorial (python3 filename.py -h)
+* Robert Baruch's nmigen tutorials look really good:
+  <https://github.com/RobertBaruch/nmigen-tutorial>