[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:
https://github.com/programmerjake/parallel-hashlife-4/blob/master/src/hash_table.rs
> 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.
neat!
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!
Jacob
More information about the Libre-soc-dev
mailing list