[Libre-soc-dev] Introduction

Andrey Miroshnikov andrey at technepisteme.xyz
Fri Sep 10 14:27:49 BST 2021


On 09/09/2021 21:39, Jacob Lifshay wrote:
 > Welcome!
Thanks!

 > Technically, the Talos II has fully-open software, though the HW is still
 > partially closed-source (the Power9 cpu in particular).
I guess I should've specified. I meant more in regards to mobile, 
low-power SoCs such as those used for handheld hardware. The reason why 
I'd say mobile is more critical is because the typical user essentially 
has almost no control over the programs running on said mobile device. 
At least desktops can be unplugged from the network and are by nature 
modular (at least those following the ATX spec). Phoneblocks and project 
ara were one of those pipe dreams I was excited about as a teen, but 
standardised modular mobile form factors just aren't profitable.

Talos is more for high power desktop/server systems replacing x86. Still 
amazing work that Raptor has done.

 > of course mobile modems are even worse). Re-read
Did I mistake here? Or am I miss-understanding?

If there are UE modems widely available on the market with fully open 
firmware let me know. The IRC archive from last week 
(https://libre-soc.org/irclog/%23libre-soc.2021-09-03.log.html) has a 
few links to various projects, but most either seem to be on hold or 
limited for research or small scale implementation. So far GSM/2G 
network seems promising for open-hardware, as the technology is now 
about 30yo and is simple enough to be realisable with consumer grade RF 
and DSP hardware.

 > I built a mov-based OISC about 5 years ago inside a cellular automation
 > simulation, I got it to run a linear-congruential random number 
generator.
 > For a similar computer, see Golly's primes.mc file, which is a 16-bit
 > mov-based OISC that finds prime numbers and outputs them to a display,
 > which has a binary-to-decimal converter. http://golly.sourceforge.net/
Thanks Jacob! I looked at the definition of a Linear Congruential 
Generator, and it's easy enough to implement as one of the demo programs 
for my processor (SUBLEQ based). One of the things I was struggling with 
was coming up with a nice set of demos to write in assembly; not too 
complex, but interesting enough to show the capabilities of OISC. I'll 
save the golly computer and play with it later.


On 09/09/2021 23:15, Jacob Lifshay wrote:
 > Ah, I wrote a QuickBasic to x86 on MS-DOS compiler like 7 years ago, 
i got it to run a 3D renderer for drawing molecules, one of the 
molecules was caffeine.
Why MS-DOS? Was it the OS you were most familiar with? From what I 
understand, it seems from 80s up to late 90s, lots of programmers gained 
their skills by working with MS DOS and Basic. By the time I was a kid I 
only ever saw the graphical Windows OSs, and by the time I was 
interested in programming I took to Linux (Posix) instead.

 > I also wrote a full JavaScript compiler for a previous job, it was 
optimized for real-time operation (the garbage collector is 
time-limited, so each time an allocation is performed it does a little 
garbage collection). It also supported generators.
Did you implement the ambiguities of JS into your compiler as well? One 
of the reasons I avoid JS is because of its issues, but it's probably 
narrow-minded of me. It clearly has good uses, especially for 
cross-platform web-apps. It's just that there's a whole load of bad 
code. Also found this fun site for generating esoteric JS code (replace 
* with you-know-what): www.jsf*ck.com



On 09/09/2021 22:47, lkcl wrote:
 > nice. i'm in tiptree at the moment.
Ah, so that's where the the tasty ketchup and other fancy sauces come from!
I'm in downham, in norfolk. Nice little place, on the edge of the fens.

 > what's particularly bad is the consequences: 50 % of the world's 
smartphones with a major vulnerability, because qualcomm couldn't be 
bothered.
How funny of you to mention this company, the very one I was working for XD

The issue is probably that "open-source" (the buzzword, not the concept) 
in a lot of business is mostly a gimmick, a selling point. Though giant 
corps more focused towards networking and software embrace it a lot more 
(probably because they themselves were built on open standards).

 > you like the dilbert cartoons? :)
Dilbert is great fun, one of my first introductions to it was the 
"Knack' short:

https://www.youtube.com/watch?v=g8vHhgh6oM0

 >> you build a Pascal interpreter in Python:
 >> https://ruslanspivak.com/lsbasi-part1/.
 > nice! like it. very funny, and informative.  i did a pascal compiler 
3rd year, in modula-2, target machine was a 68,000.
Thanks for introducing another language. History is rich with them, but 
very few are ever talked about at electronics undergrad.
Says here modula-2 is based on pascal: 
https://www.modula2.org/reference/index.php
Sounds like it might be a fun language for a new architecture, since it 
implements machine-specific drivers in a separate module.

68k is on my list of arch's to look at, however hadn't played with it yet.

 >> My last job was in system validation, where we tested our company's
 >> chip
 >> design (the digital part of it) on an FPGA emulator by writing a great
 >> set of test cases.
 > funny that's exactly what we had to do.
Great! Then I might be able to assist you.

 >> Just saw bug #22 and I guess you already have something similar to the
 >> emulator that I described.
 > yyep.  nmigen has a built-in gate-level simulator, and we have 
extracted the pseudocode from the Power ISA, made it executable, wrote a 
compiler, and run co-simulations step by step.
 >
 > kyle who also just joined is abstracting out the two so that we can 
add other cross-emulation "things" and then run any-against-any... *and* 
also then compare against a blatch of expected results.
 >
 > if you'd like to help with that, perhaps starting with making qemu 
"talk" the same API that kyle's doing, that would be really useful.
Sure, although I haven't used the qemu emulator before.
The work Kyle is doing, is that under bug 686, create Power ISA test API?


 > it's publicly editable. but if you send me an ssh public key i can 
give you write access to the wiki git backend.
Clicking on "Edit" I get either the "Password" or "OpenID" option.

I've attached my SSH pub key (my username doesn't match the IRC nick). I 
guess you want me to pull in the wiki git repo, make the necessary 
changes (with an appropriate commit message) and push back to master?

 > multimeter is good.
 > we'll be getting a batch of raptor ECP5 boards soon, 85k LUT4s, lots 
of DDR3 RAM.
Very nice!

 > star, drop this on the about_us page.
During one of your emails (probably 2019) I remember you strongly 
suggesting to do several commits as opposed to making too many changes 
(I still remember because on several occasions made this mistake with my 
own repos). Shall I fix the HDL workflow page, commit, and then add to 
the About Us page in a separate commit?


On 10/09/2021 06:54, Veera wrote:
 > Welcome.
Thanks Veera!



Apologies for taking a while to reply, I'm unnecessarily conscious of 
making mistakes when it comes to new communication, so took my time to 
think through my responses.

I combined the responses from Jacob, Luke, and Veera, however if the 
policy is to make several replies, I'll do that. Didn't want to swamp 
you with emails.

Also, some questions on formatting email. Should I limit my response to 
80 chars per line? I noticed luke's responses seem to do so. I'm using 
thunderbird (it's paragraph formatting is disgusting, reminds of when I 
battled with MS Word), but might try lighter clients later (like mutt). 
Text files are so much easier to deal with.

Andrey


More information about the Libre-soc-dev mailing list