This is a fantastic program for teaching students about VHDL. You can make some really cool stuff on a 130nm process with 10mm^2 available. Like a full toy SoC. Really cool.
I'm curious if anyone has more details on the Skywater 130nm process. A cursory websearch indicated that it's an open-source CMOS process. Is it new or has it been around for a while? Lots of suppliers or just a single one?
I've been thinking that with supply chains breaking down, there's possibly a market opportunity for semiconductors to move back to older, cheaper process nodes that are easier to build a fab for, ensure there's a robust supply, and recover some of the recent performance improvements through less-bloated software. Chips were "good enough" back around 2001, when the 130nm process was introduced. In a world where you can't count on robust transportation & commerce and global (or even national) markets may fragment, it may make sense to be able to assure chip supply locally, even at the expense of absolute performance (which is less important when you can't be sure there's a single winner-take-all market). Would this program be a step toward that world?
In 1990, Cypress Semiconductor acquired a Control Data fab, which became Cypress Fab 4. At some point they developed a 130nm process. In 2017, cypress sold the fab to skywater, which was formed specifically to operate this fab. Skywater, google, and efabless collaborated to publish the PDK for the 130nm process.
“Old” processes like this have
lots of uses, even before the recent supply chain issues (which were/are often worse for mature processes than more leading edge stuff). They are commonly used in automotive / embedded stuff, and the US government / military require US-based semiconductor fabrication for some contracts.
Where should one go to get started with such a project? I have some experience with embedded systems (hardware design and programming of systems with an of the shelf microcontroller). But it‘s difficult to see the „unknown unknowns“.
Do FPGAs not already fulfill this purpose very well? I did 3 FPGA projects (custom networking peripheral, some radar related things) during my inversity time using VHDL and really enjoyed them (apart from the slow synthesis time).
Real chips would certainly provide more room, possibilities and performance - but would also take away from the fast turnaround time that FPGAs provide. And given this run only seems to give people a single shot to get the design right - you want to verify it on a FPGA upfront anyway.
If a design includes many analog components then it is effectively required to fab a prototype. Analog simulation is very imperfect, and the analog equivalent of an FPGA, Field-Programmable Analog Array (FPAA), are very limited in resources. [1]
You can also do stuff like slicing your design and putting it on multiple FPGAs. Industry has been doing this for ages because there's no way in hell they're going to fit a full SoC on a single FPGA no matter how much money they can throw at that problem.
It's never that simple unfortunately. There's people who fry the slices multiple times (first in medium heat then high), people who bake the potatoes before frying... I've tried every method and it never comes out how I want lol
> The repo must include project documentation and adhere to Google's inclusive language guidelines. See details here.
"Inclusive". Ah.
When I'm writing technical documentation, it has one goal: to describe the project to anyone who wants to use it. "Inclusivity" is not a part of my goalset.
It's probably a good idea to avoid insulting or alienating your audience. My manager is a woman and I run into code and setup documentation all the time that says things like "he should do X/Y/Z". At least our documentation team fixes that before public release.
I have to say though some of their examples are weird. I have never encountered anyone that would object to the phrase "senior citizens" or the word "hang" in documentation. The idea that the latter could cause "unintentional harm that might be caused by the violent interpretations" is frankly absurd.
I have to say though some of their examples are weird.
You should be scared and deeply angered that Google is attempting to force changes to language which are mainly based on some radical political ideology.
I am absolutely concerned about some of their actions, like their paused "inclusive suggestions" [1]. There's a big difference between providing a guide and highlighting words in an email that are marked as 'wrong' purely for perceived cultural reasons.
Google's suggestion to change "landlord" for example, which has very specific cultural baggage and, more importantly, legal definitions, to something else is definitely wrong and worrying. I think it takes a certain arrogance that maybe only a Silicon Valley tech company can have to try to change how billions of people speak.
I'm not sure how much of an ideology it is though. Like the writers guide above, once the reasonable suggestions have been made, the authors seem to overreach to find more things to "fix". If a persons job depends on finding "problems" they will simply create new ones once the run out of legitimate ones. I think that's true whether it's planning officers for property development or politicians.
I don't believe I said that is the case. A situation with poor or unintended incentives is not hard to imagine.
1) A team is tasked with providing suggestions to improve emails
2) "Inclusive language" or avoiding potentially insulting language is added as a feature by higher ups
3) The more entries in the "Inclusive language" feature the better the outcome looks to management or it helps meet some arbitrary employee metric (velocity or x issues resolved or similar)
4) More and more entries get added because it is easy to do
> It's probably a good idea to avoid insulting or alienating your audience.
I already avoid insulting or alienating my audience. I don't need to write "inclusively" to do that. Good documentation is already bland and unoffensive.
> I have to say though some of their examples are weird.
And that's exactly what I object to. Something absurd like, "Use the term 'main' instead of 'master' for your repository's primary branch." Why? Because... ...slavery? This is lunacy.
Five months later, this arbitrary standard will change again. Talking about "primary branches" is now offensive, because it implies that one branch is more central than the others, and this is offensive to plural beings who identify as a Crape Myrtle tree. [1]
It's literally a bunch of people imagining ways that things can be misconstrued as offensive, and twisting language to the point of absurdity. I have better things to do with my time than to run on euphemism treadmills.
Frequently this has to be mandated to some degree, otherwise you get people who feel using male pronouns and names exclusively is fine even if the target audience is overwhelmingly female or that "shit" is a perfectly fine synonym for "stuff" in official documents or that terms that are considered brutally racist by everyone but the very far right are fine for public release because they are technically correct in an extremely narrow way. It saves everyone a lot of time and breath if there is a mandatory set of guidelines to point to; adhere to them or this will not get released. If those guidelines are done well, it's hardly ever an issue except for those special types that are on some kind of crusade or whatever.
> terms that are considered brutally racist by everyone but the very far right
Are you talking about "master"? There are plenty of people outside the very far right who agree that slavery is bad but think that particular rule desperately needs some context-sensitivity.
No, not "master", I don't think that would fit the "anyone but the far right" and it's perceived as a mostly US-centric issue here (we have other radioactive terms made so by local history), so mandating that probably wouldn't have helped us with a local audience anyway. The actual term wasn't English and was pejoratively descriptive of a visual characteristic associated with a certain racial background. I can't think of a similar term in English (there must be a bunch, though) but it was an obvious racial slur and really not something you'd expect anyone could seriously want to use unless on the very far right fringe or something like that.
The only people I remember with whom things like that had to be brought up were either apparently trying to use the brand for political leverage (which really isn't an option, can't do that) or had difficulty "getting" subtext and nuances in general paired with strong opinions on how they thought people parse language.
That's what I mean by "done well", only mandate what really would cause damage otherwise and be conservative about that, most people will try to minimize damage anyway and will be fine, but some people won't or can't and having that written down and declared mandatory helps clear up such situations.
The Google wordlist has lots of examples that aren't about offense, like use of hyphens and brand names.
My guess is that "senior citizen" is considered American English, so it's a poor choice for global audience. They even write "avoid figures of speech" to clarify that section.
That's a very silly requirement for a tech project IMO. I'm not sure what qualifies as "inclusive language" and the link ("See details here") seems to be missing.
Of course Google is free to put any requirements they want on a project they fund (as long as it's within the bounds of the law) but "inclusive language" is the last thing I'd expect an evil corporation profiteering off everyone's data to put on there so front and center. I don't see anything in there about privacy, safety, or ethics, so you can presumably get free control chips for killer drones as long as you make it open source and use the right pronouns in your documentation?
I'll share an example, as I suspect some people haven't felt excluded by language before. It's tough to understand if you haven't.
As a parent my role has shifted to be more involved with my kindergarten aged kid. The parents like to organize events and socialize. However, the language used is often "mom" instead of "parent". My understanding is that they aren't intending to exclude "dad", as they are using "mom" as shorthand for "most active parent". My involvement in the group has been lower as a result, it's tough to feel like you may not be included.
Certain language, to varying degrees, can offend or exclude your reader. You don't need to care, but it does impact the reader and could detract from the effectiveness of your docs.
I agree. Fathers should be included in language. I think it's extremely important that father's are recognized as critical to a child's upbringing, and truly commend you for being present for your little one!
But here lies the problem with "inclusive language": many schools argue that the terms mother, father, and parent are not inclusive.
Instead, terms like "caregiver" or "responsible adult" should be used, to include children who are raised by grandparents or adoped. The desire was to make sure father's were recognized. In a backwards way, suddenly no one was recognized.
If it's bad for society to not recognize the value of fatherhood, is this not a complete rejection of parenthood, and exclusion of children who have a nuclear family? But when you dig into the inclusivity crowd, you keep finding ridiculous things, like the idea that the nuclear family is white supremacy, and needs to be dismantled by erasing the language that supports systemic racism. Children with two biological parents are privileged, so they can yield their privilege and not have their family acknowledged with the terminology used.
Just keep pulling on the thread, and now we're referring to "birthing people" instead of women.
> terms like "caregiver" or "responsible adult" should be used
When I was in school (90s, 00s) it was "parent or guardian", which I think is a reasonable balance. I'm pretty sure that's still the phrasing my kid's school uses.
In any case, I dont think the Google guide goes to the extreme you mention.
Google is now the Ministry of Truth? I really wonder whether the people who come up with this stuff ever read 1984, or did and thought Newspeak was a good idea.
Google pays for it, so they get to make the rules. If you pay for it yourself you can make your own rules. That's what living in a free society is like. There isn't really more to say about it.
Some parts of it are very reasonable, but others seem insane to me. "Sanity-check" is hardly ableist language in my opinion, and neither is "dummy variable".
I agree with the intentions here, but this goes a bit too far for me.
> Although there might also be nonviolent interpretations for these terms, avoiding their use prevents unintentional harm that might be caused by the violent interpretations.
I can’t even try to imagine what someone would do if you suggested they “bit banged” an interface.
What's interesting to me about all the "bad" examples in that section is that they don't match how people actually use those terms. At all. You don't "sanity check" a polished, should-be-perfect release candidate. You sanity-check a half-baked napkin sketch. And so on.
A bit tangential, but can anyone recommend a forum for productively debating the logic/ethics underpinning this kind of policy?
I'm deeply skeptical about lots diversity initiatives. But it's hard to find a place where I can subject my views to good scrutiny without also risking unemployment.
The evershifting and arbitrary nature of these standards is a guarantee that you will eventually fall afoul of it, face a kangaroo court trial in the DEI star chamber, and be burnt at the stake for your "crimes".
You can try and avoid it. It will come to you. The best place and time to fight it is right now. But you don't need to oppose it, you just need to not submit to it. [1]
> The evershifting and arbitrary nature of these standards is a guarantee that you will eventually fall afoul of it, face a kangaroo court trial in the DEI star chamber, and be burnt at the stake for your "crimes".
there's a theory (from slate star codex originally, i think), that these things are evershifting on purpose, as they serve as a class/education marker. you've got to be smart enough and sufficiently in-touch with the right kinds of people to figure out how the standards are/will change.
There are probably minor steps that can be taken, but Google's guidelines are not that. Following Google's guidelines would involve completely reworking large parts of our vocabulary: more than just "whitelist" and "blacklist", we're now supposed to avoid "hit the API", "the process hangs", "native code", "first-class functions", "sanity check", "dummy variable", "senior citizens", and a bunch of other completely innocent phrases that Google is worried that someone somewhere might be offended by.
Going through my documentation and worrying about the possible misinterpretations of every single word is not a minor step.
It’s more like “if you want us to pay for your project, kindly refrain from the unnecessary use of wording that is offensive, in non-technically-required ways, in your documentation.”
Did you look at the guidelines? Their definition of offensive seems to be "someone, somewhere might completely misinterpret what you said in such a way as to take offense." In the real world, no one takes offense at the phrase "first-class functions", but in Google's world someone apparently does.
I couldn’t find a definition of offensive from Google. Many of their specific policies seem quite reasonable to me. Some are in a category that could be quite demeaning to a respectably large group of people and do so for no purpose. (See “turn a blind eye”, for example.). Some have nothing to do with offensiveness but are about clarity (e.g. “holidays” — for a lot of the world, the big long holiday season simply isn’t what Americans think of it as, and, as a programmer writing in the most widely-understood language in the world, one should realize that many of one’s readers aren’t American). Some are bizarre (e.g. Google’s alternative suggestion for “hamburger menu” literally cannot be written in an HN comment and is about as easy to read out loud as the artist formerly known as Prince’s unpronounceable name; I think Google is trying to make technical writing accessible to users of assistive technologies here, but I don’t think the resulting guideline is actually practical to follow in many contexts or achieves its goal. I don’t use assistive technologies, but, if I were unable to perceive the “hamburger” icon, I have trouble imagining that a screen reader or similar system would interpret Google’s icon-based name for it in a way that made any sense at all.
And yes, some can be baffling. I’m having trouble figuring out what first-class citizen is a reference to, if anything. Wikipedia’s article on first class citizens attributes the name to a paper by Christopher Strachey, which contains a single instance of the word “citizen” or a variant thereof:
> Thus in a sense procedures in ALGOL are second class citizens
Which is clear in context and vague out of context. I assume, with no real evidence, that this is a mildly confused reference to Ancient Greece, but I could be entirely off base. In any event, the term “first class”, to me, evokes “first class mail”, which is fascinating given the complete lack of, say, second-class mail. In the UK, “first-class” has additional meanings. I’m not sure why Google thinks that “first-class” is “socially charged”. Maybe someone from Google knows?
(I understand why “blacklist” would be seen as “socially charged”, although I wouldn’t use that term. I don’t think it was originally intended as a racist term, but there was a great essay, I think by Langston Hughes, on how this type of use of “black” can be problematic. Sadly, I can’t find that essay. I could be mis-remembering who wrote it.)
Where is it explicitly pushing a "certain political agenda"? Is there a footnote somewhere that says "these documentation requirements were sponsored by <x> for congress"? You surely mean implicit. What obligation does Google have to be apolitical anyway? To make you feel more comfortable?
It's definitely more explicit than NOT having such requirements, which would be the expected norm for technical things.
Google has a HUGE amount of power over people's lives now, arguably more than the government. It has effectively become a form of government itself, but one we didn't vote for. Do you not see a problem with that?
Free speech absolutism is also a certain political agenda. At some point, everything is political and if you don't like it, you'll need to go off grid and definitely stay offline.
No. Football is a-political. Thanksgiving dinner is a-political. My javascript library is a-political. My silicon design is a-political.
What's happened is an extremely small subset of people have decided to push politics where it doesn't belong. Everything must become a political weapon, because everything must serve the goal of some arbitrary progress. Merely existing without putting on badges in support of The Latest Thing(TM) is offensive -- because you have implicitly not taken a side, which explicitly means you are supporting the enemy. And if that goal requires sacrifice of thanksgiving dinner and family, than so be it.
It's done wonders to improve society's polarization problem, I tell you.
Does anyone have any in sight into how often they do these shuttles? Probably going to miss tapeout for this round but it'd be cool to get a physical chip some day, just for coolness.
Having failed to launch a mining ASIC company in 2012, my only comment would be that the Caravel 130nm process will not be power-competitive with commercial mining chip. It would be a fun educational project, however.
I'm curious about this question, even though it's a bit off-topic: how likely is it that an entity (commercial or governmental) could "secretly" produce enough mining hardware to consistently have 51% of network's hash power?
The biggest mining pools have known identities[1]. If some unknown group started mining and the hashrate jumped 50%, it would draw lots of attention. There's no way it could be done secretly. A more likely attack would be a government bribing or coercing a few of the biggest mining pools to manipulate their blocks.
Bitcoin mining reduces to a process of energy conversion. Electricity goes in and money comes out. The latest and greatest mining gear is much more profitable than older gear. As more people buy the new stuff, they are able to run more calculations with the same amount of energy. This pushes up the cost of mining for everyone, since more hashes per second are happening for the same energy input.
Those on less efficient gear eventually get pushed out of the market because they can’t make a profit.
A 5nm node is many many times more power efficient than 130nm. There’s no contest. An ASIC with that kind of power draw would not be a profitable mining processor.
Not GP, but this isn't something you'd need to calculate. 130nm transistors are so much larger, with so much higher power consumption to modern 7nm transistors, that it'd be like comparing the fuel consumption of a motorbike to a school bus.