[Libre-soc-dev] Introduction to Libre-SOC

Jacob Lifshay programmerjake at gmail.com
Sun Feb 7 17:45:29 GMT 2021

On Sun, Feb 7, 2021, 09:23 Richard Wilbur <richard.wilbur at gmail.com> wrote:

> Hello folks!
> First, I have read and fully support the Libre-soc charter!


> My name is Richard Wilbur and I hail from the state of Montana (UTC-7, DST
> UTC-6) in the USA.  I’m a software and electrical engineer who has worked
> on a variety of languages (BASIC, Forth, Fortran, assembler, C, C++, Perl,
> SQL, Python, Ruby),

ooh! I started on QuickBasic, it came by default with win98.

architectures (6502, 68000, 68300, i960, x86, PPC, SPARC), and hardware
> projects.  My degrees are in mathematics and physics, and along the way I
> completed considerable coursework in computer science and electrical
> engineering.  My employment history includes work in electrical engineering
> (computer display, wireless datalink, network of distributed SOC’s, HDL)
> and software engineering (low-level boot firmware, BSP, augmented C
> pre-processor, OpenGL vertex shader, 3-D model transformations,
> mathematical modeling, SQL database transformations and analytics queries,
> MPEG encoder/decoder drivers, PCI bus initialization, network protocol
> design and implementation, fixed-point division routine, thread-safe hash
> table).

I just finished writing a highly-parallel thread-safe hash table in Rust
for use with the HashLife algorithm:

> I took a course in VLSI digital design back in 1997 and enjoyed it a great
> deal.  The professor, Murari Kejariwal, had worked at Texas Instruments and
> was a great instructor.  We used LASI (LAyout System for Individuals), back
> when it was v5.2, I believe.[1]  The course and textbook[2] were geared
> towards the MOSIS program from USC[3] and targeting Orbit Semiconductor’s
> 2.0µm double-poly, double-metal, n-well process (CN20).  Interestingly,
> Appendix A of the textbook gives process specifications, electrical and
> SPICE parameters, and design rules for the CN20 process.  No
> NDA’s—published in a textbook.


Sad to see the present semiconductor industry so closed when freedom and
> openness has made such a positive difference in the software world, and I’m
> heartened we have this opportunity make such a pivotal difference in the
> hardware market.
> My interest in system and processor design has been developing for several
> decades since I started programming my family’s Commodore 64[4] in early
> 1983, first in BASIC, later in 6502/6510 assembly.  The computer manual
> included the schematics.  I enjoyed the fractal images we could create on
> that machine (320x200x2 colors in hours) and the pictures published in
> books created on Cray supercomputers.  The joy of creation and the relative
> technical poverty imposed by the hardware design piqued my interest in
> learning how to make much greater resources available on a mere mortal’s
> budget.
> I enjoyed learning about the hardware and software architecture of the
> Commodore Amiga[5] and Motorola’s 680x0 chips.  A preemptive multitasking
> operating system with a window-based GUI on a 4096-color display, booting
> from an 880KiB floppy disk in 1MiB RAM still seems like quite an
> accomplishment—and it was introduced in 1985.

I once wrote a preemptive kernel in 2-3k of x86 assembly ... windows' dos
emulator didn't like it.

  I liked the fact that there was basically one hardware address for the
> operating system and that services were negotiated over message ports.  I
> also liked the hardware multi-tasking with an intelligent bus
> arbitration/sharing scheme featuring the 68000 main processor, two smaller
> special-purpose processors, and multiple DMA engines.  They got an amazing
> amount of stuff scheduled into that 0-wait state, 8MHz bus.

the days when memory was about as fast as the cpu...

> In 1994 I started using GNU/Linux in the physics department of the
> university where I was studying.  I appreciated the GNU software freedoms
> and the concept of copyleft.  I also enjoyed running X, gcc, and bash on a
> PC for which I didn’t have to schedule time to access.  It was so much
> simpler to program than M$ Windows—especially in C for a mathematical model!
> After university, I gained experience with IBM’s PowerPC processors as
> system controllers for embedded systems:  development hosted on Solaris
> with GNU toolchain targeting VxWorks, configuring address map for PowerPC
> as bus host for two root PCI buses, resolving hardware bug in IBM CPC710
> Avignon northbridge through software means.  (A big argument for free and
> open source hardware:  we couldn’t fix the hardware and IBM wouldn’t—so I
> had to work around the bug by making patches to less than open software!)
> I have enjoyed designing and optimizing a number of different systems and
> I am eager to see all the ways I can contribute to Libre-soc.  Luke asked
> me to work on the Dadda multiplier and I am eager to install the needed
> software and get started fleshing out the design.

Glad to have more people helping out!


More information about the Libre-soc-dev mailing list