Tim Panton: Hi, Tim here. I have to apologize for the quality of the audio on this podcast. It's really not up to our normal standards, but the content is absolute gold. So I would encourage you to bear with it. And if you really can't, then there's always the transcript you could read. I'll add a note at the very end of the podcast explaining quite how we got into this mess. But anyway, please listen and hopefully you'll find it informative.
Vimla Appadoo: Hi, I'm Vimla Appadoo, and I'm Tim Panton. And welcome to the Distributed Future Podcast, where we have guests on to talk about all things that will happen in the future. It's an opportunity for us to understand how the world will work, where technology might take us and understand the role we might play in creating a future that we want to live in. Today on the show we have Chris here with us who's the editor in chief at The Register. Chris, can we hand over to you to give us a bit of an introduction?
Chris Williams: Sure. Hi, thanks for having me on. Yeah, I'm Chris Williams. I'm the editor in chief of The Register. I do a lot of editing, but I also do writing about software, semiconductors chips, chip design, and all sorts of things in between. The Register is a daily publication of enterprise and technology related news mainly for IT professionals, software developers, engineers, managers. We are read all over the world. We have journalists nearly all over the world in Europe, UK, America, Australia, Singapore, and hoping to add a few more soon. Yeah, our job is to not really cheerlead the industry, we're known for being fairly skeptical and telling the industry like it was and all about what's going on in it. Yeah, that’s The Reg.
Tim Panton: But we didn't really invite you to talk about The Reg, Reg is fun and maybe that's another podcast. But I understood that you're also doing some stuff on open source hardware for new processors, and I think that's a series of words you wouldn't expect to hear together. So, maybe you can tell us a little bit about that and we'll get a sense of what that means.
Chris Williams: Yeah, sure, absolutely. In my spare time, I write open source software for RISC-V processors and I also follow the RISC-V world quite closely where I can. And yeah, I'm writing some hypervisor software for RISC-V processors which at the moment I'm working on porting to SiFive’s RISC-V processors and to Microchip’s PolarFire hardware as well now that I've had some of that hardware donated to me to work on. And yeah, I follow the open source world of tech design, open hardware as I call it.
Tim Panton: This is really weird because it always used to be that these chips were made by huge corporations. You had the Motorola 68000 and you have the Sun SPARC or whatever and these were huge corporations and their name was on the thing. But who owns RISC-V?
Chris Williams: This is it. I mean, RISC-V really is just a set of books. It's like a set of specific... It’s exactly a set of specifications and they're like the Bible on how to produce a compatible RISC-V processor. They don't tell you how to exactly design it, the implementation is up to you, but they set out the specification for it. And if everyone follows the specification, that means you can all write software that builds into an ecosystem and you can all have a shared platform like x86. So no one really owns it, it's funded by a bunch of people who have a lot of interest in it such as Google, Western Digital, Core comes in there, Intel's taken an interest. There's like a huge list of partners that are on the riscv.org website. So no one really owns it. In a weird way, it is quite political as it is technological because RISC-V came about because universities, especially over here on the west coast of America wanted to teach processer design to students. They wanted to teach how to design a CPU to university students. And the classic text for that is MIPS, but the MIPS processor it's quite easy to understand, it's quite easy to design, it's been around for it feels like decades, but it's probably been a couple of decades at least. The MIPS processor architecture is dying off or, to be honest, has died off and so there's not really much point in teaching tomorrow's engineers on how to design CPU starting off with a bit of a nonstarter of an architecture. The way that I understand it is that there was a couple of professors in Berkeley who went to ARM and said, can you give us an open source equivalent of one of your oncores and we'll teach that to students and we will show them how to design the insides of a microprocessor and it will follow the ARM specification and they'll come out the end of it each year with their own oncore they've designed. And ARM wasn't massively keen on that because probably as we'll get to in a bit, it’s licensing model is like complete 90 degrees to that. They set out to basically do MIPS part, like MIPS the sequel which is what RISC-V is. They’ve taken all the lessons that they learned from MIPS and they've applied it to RISC-V and I’m pretty sure that at least one of people who is involved in MIPS is now one of the people who spearheaded the RISC-V project. So it started out as a teaching project. You can buy textbooks on how to design a RISC-V processor from scratch and it will go through all the things you need to put into it to make it essentially get to the point of booting Linux and will teach you how to do the pipelines, how to do just a fetching of instructions and the processing of instructions and how you access memory and caches and all stuff like that. It's a complete process of design. It was basically born out of that, and then people then decided to turn that into a commercial product and that's when the politics factor come into it because that really started to accelerate it.
Tim Panton: You say students could design a working CPU. I don’t know a sense of what is that. Would that take them entire three years and a huge investment in hardware to do it or is this something that you could have as an awesome project for a term or something? I've got no sense of the scale of it.
Chris Williams: Okay. Well, it's pretty cool. I mean, I used to think that microprocessors and processors were like a secret art that only really special people could do. I didn't study it when I was at college, but thankfully places like Berkeley and Stanford put a lot of their courses now online so you can just follow along online which I have done, I think I tweeted out a link to one of them. And it will teach you how to basically design a basic RISC-V microprocessor in one term. And RISC-V is so straightforward and so minimalist. The R in risk stands for reduced, it’s reduced instruction set computer that you can design barebones. I'm talking bare bones. It's barebones function and CPU core in about 100 lines of Verilog. Verilog is the design language that people use to design CPUs. I've seen people tweet out how they can fit the entire implementation on in one Twitter screenshot or something like that. I think it's 100 lines or 1000 lines. But either way, it's not that much. And we're talking about, I don't want to say it's not that hard because it sounds like I'm just wishing away what is a complex problem, but it's not too difficult to design simple in order processor core that can take instructions, decode the instructions into things like do I have to add stuff together, do I have to move things in and out of memory, then the bit at the end then does the whole writing to the memory or to the registers, and then you build around that so you build on top of memory controllers around that and eventually you end up getting the core which can boot Linux. A lot of it has been held back by all the stuff that happens after that. RISC-V has shown that the actual designing of the core and implementation is not going to be your biggest headache, it's going to be all the bits afterwards. RISC-V has lowered the barrier to entry if you want to design your own processor by a lot because it's shown that it's not too difficult to do with some study and skills and some engineers and it's also all specified for you. You just have to work out implementation, and there also are plenty of implementations to follow. Another thing that's happened is that it used to be where if you wanted to design a processor, you had to write it out, you had to write out your code in a hardware design language called something like Verilog. This was the VHDL system Verilog. These are really not very user-friendly languages. They are like the COBOL to today's Python and Rust and things like that. It's a language which is not very friendly to use. And a lot of RISC-V designs now use a design language called Chisel which I think also came out of Berkeley, and so SiFive has a lot of their codes are written in Chisel and that makes it a lot easier to design codes because it's just a much more friendlier language. And people are also using Python design, there's a tool you can get with Python code nMigen, which allows you to generate Verilog from the Python. So, you can actually specify how you want your processors to work in Python, and it will then run it through the tool and the tool will produce the Verilog at the end. And so with everything specified, with a lot of stuff that's open source, with the universities teaching RISC-V now, that the barriers to entry are coming right down and it becomes a lot easier to produce a processor.
Tim Panton: And why would you want to do that? Why can't we just buy one and be happy with it?
Vimla Appadoo: Yeah. Tim stole my question.
Chris Williams: This is it. It's come down to this. Most of the time we've all been very happy just buying on the main chips by Intel, AMD and chips designed by ARM. ARM designs chips and it licenses out its blueprints and other companies then pick those up and then make them. Companies like Qualcomm, Huawei, there's so many of them, STM. There's so many of them. ARM’s business model is basically being the Switzerland of chip design. You can't go out and license Intel and AMD’s designs, they don't work that way. Intel designs everything, they physically make everything and you buy off them. You buy those processors, they control the whole thing. With AMD, they design them, but they get places like TSMC to make them for them. And then with ARM, ARM there’s no hardware at all involved, really. It designs them and it licenses them out. So it's up to you to license its IP, its designs, and then design your processor by plugging these building blocks as some of your own in there as well. A lot of people relied on ARM. Basically if you're running a smartphone or if it's anything handheld or battery powered, it's probably going to have an ARM core. The N word is a bit of a dirty word, but they do have a bit of a monopoly now on the whole thing. The RISC-V is at the nexus of a bunch of things that just happened just lately that has put it in a bit of a sweet spot that might make it a viable competitor and one of them is that Nvidia wants to buy ARM. Nvidia is the big graphics chip designer. Again, they are like AMD. They design chips, but they have to rely on TSMC and others to make the chips for them. Nvidia wants to be one of the leading if not the leading graphics processor maker. Their hardware is also extremely popular in the machine learning and AI world if not the graphics world and the data center world. They are the leader and they want to buy ARM, which if you are a someone like MediaTek or someone Qualcomm or Samsung and you’re licensing ARM designs to make chips that are rivals to Nvidia’s components, then you might start to think what is my future here. Nvidia is going to own me easily. They're either going to put out a product that I compete with or I'm going to have to pay them to make my competing product, and so that I think help accelerate the interest in RISC-V. There is also the fact that some companies especially like Google, Microsoft, they order an incredible amount of chips like warehouses of chips from places like Intel to put inside their servers that power the clouds, that power what we know as the internet today. And they were getting cheesed off by the fact that Intel had them over a barrel. They had to basically do whatever, Intel held all the cards here. And so by designing and working on their own processes they become more free from a single supplier. And Google uses RISC-V for the security processes in its data centers I'm pretty sure and that kind of thing. It's basically being able to break away from like a big monopoly controller. Another thing is that RISC-V is expandable. RISC-V has an extension system where they have the base extensions which you should all be expected to implement at least the integer one. They have an extension set called G which has all the basics that you need in order to run a normal functioning computer. It's got an extension in there for floating point math, it's got all the bits and pieces you need just to run applications and operating systems. But there's expansion to add your own extensions. You can again define your own extensions. I did a talk about RISC-V a few months ago and next to me on that talk was a group of students of Southampton University in UK who had taken a base core design RISC-V processor design and had designed their own vector unit to go on site to plug into it, which would accelerate things like AI 3D graphics and stuff like that. But it's the fact that that attracts a lot of people to RISC-V as well. That they can take a processor core and they can bolt on their own instructions, they have their own extensions that accelerate certain things such as networking, storage, security in the data center, the same again in personal computers. And up until very recently, ARM wouldn't allow that. You couldn't extend ARM. ARM was famous for being extremely strict. If you license a core from ARM, you can't change it. It is ARM. There was only one true ARM in ARM’s mind. But RISC-V is having such an effect, even though it's still pretty small but growing, it’s made ARM change the way that it works. It's made ARM become more flexible in adding instructions so customers can add in their own instructions just like they do with RISC-V. ARM traditionally meant that... ARM has like a whole catalog of cores, and it used to be that before you can even get your hands on one of those cores to put into your processor you're designing, you had to pay ARM upfront. You had to pay a license fee up front and then they'll give you the IP and then at the end when you come to manufacture the chip, you then pay on a royalty on each of those chips. Because RISC-V the same old implementations are open source and the specifications are open source that the barrier to entry is a lot lower, so ARM has come up with something that now call Flexible Access where it allows you to access some of its cores without paying a penny yet. And then afterwards when you get close to manufacture, you then pay ARM. I guess the benefit of that looking forward is that there's more competition in the chip design world. It's not just going to be Intel or ARM, AMD and a few of the other ones that do specialist stuff. There's a viable competition which I think is good. Even the CEO of ARM said that RISC-V keeps ARM on its toes. It was about the nicest things I've heard him say about it. And I think that that's extremely important because ARM cores are shipping billions of billions of devices each year or billions of cores are shipped every year, and anything that encourages competition in that space is good and I think that's what RISC-V does. And I think another thing that comes into it, the final thing is under the previous White House administration, President Trump decided to get into trade wars with China. And the fact that that administration was so quick to place some sanctions on countries that America didn't like from using American technology, that did complicate ARM. Because even though ARM is traditionally a British company, it still has offices around the world and it still has a big office in Austin, Texas where they do a lot of design work, and they also own a lot of intellectual property in America.
Vimla Appadoo: I don't think anyone's spoken about Trump on our podcast in over the last few years which is a little bit interesting.
Tim Panton: No, we've avoided that, but I think it does seem to be a driver for the core makers and very twitchy about having their ability to make things gone because America suddenly decided that, "No, we're not going to ship you any chips," then the Volkswagen stops being able to make anything. And there's a decided sense of nervousness about that I think in the air.
Vimla Appadoo: We've spoken on the podcast previously about different open source communities and accessibility. What do you think?
Chris Williams: I think there is definitely a community around it and it's a community that's growing. I learned about nMigen which is Python tool, which I've played around with and I want to do something meaningful with it because I like the idea of designing chip designs with Python. I learned that from YouTube by watching YouTube creators talking through how they created their designs and how they did things like tests and validation and all sorts of stuff that makes chip design really difficult. There is an open source community there and there needs to be because the tools for things like handling Verilog especially like proprietary, they're quite expensive. You normally have to pay for quite decent amount of money for a workstation software to synthesize these. I guess that's another point is that RISC-V is growing out of an increasing amount of open source software and openly available software that enables chip design. It used to be if you wanted to design a chip, you'd have to work for someone really big like Intel or AMD or ARM. And it used to be if you went into the valley and asked for funding for a startup and they asked you what you're making and you said that I'm making a chip, you'd get laughed out or they tell you to get the hell out because it was just so risky and so expensive and just people weren't just interested in it. But now chip design is everywhere. Amazon is designing its own chips, Microsoft is designing its own chips. There's a ton of chip companies that will come up with different approaches to design. And it's borne out the fact that chip design I think has become a lot more accessible. The tools are more accessible. Google did an exciting thing last year where it's basically invited open source chip projects into what it called a shuttle service, and it manufactured it for free for open source projects chips for them. I think it got like about 100 chips. If you're on an open source project and you are working on your own chip, when you actually get to manufacture it, it's going to cost you hundreds of thousands of dollars to get into fabrication. That's the hard part at the end. Well, that's the difficult part at the end. But here was an opportunity to get a hundred chips made for your project and it was made possible because tools had been open source and it was possible, and I think their goal was to actually see if I could get the entire stack open source from the programming language down to the synthesizer standard layout down to the actual final data that you take out and give to them. It's still not completely open source. I think this is ARM’s argument against RISC-V is that sure, you can design it for free. Lots of the cores are freely available. There are open source tools where you can validate and emulate and test. But at some point, you need to actually start putting this down on silicon and you need the tools that can put it down on silicon and that's still pretty expensive and very specialist and you have to work with the foundry that are making chips for you essentially to provide you with a development kit like an SDK, but it's an SDK for their factory, for the way that they make their chips and then equate your design into, now you're going to use our SDK to turn whatever you've made into what was actually etched on the silicon. It's layers upon layers upon layers of complexity. And so even though RISC-V is pretty exciting, there still will come a point where you have to pay people a lot of money to actually fabricate the chips for you. So things like FPGAs, which are programmable hardware, that's very useful. And the more that those are available and the prices of those coming down, again, opens up more open hardware. A lot of this comes down to the availability of FPGAs, the fact that there's like a momentum behind an ecosystem. So get Ubuntu now that runs Ubuntu, Linux that runs on like SiFive RISC-V boards. You can just download the SD card image like if it's a Raspberry Pi right into an SD card and plug it in and it works. I've tried it and I was quite surprised how easy it was. I wish we can get to that level where you can just write SD cards and plug it into boards and they start turning into useful computers, then I think that's in some way quite a new consistent environment I think RISC-V needs as well. And then once you have that and people become really interested in the architecture and then people are like, oh, I want to make my own RISC-V processor and I think we'll go from there. Raspberry Pi is based on ARM so if you want to take that further, you can't. You have to go to ARM and license, and it starts to become on the closed kind of source there.
Vimla Appadoo: Yeah. Well, just to go back to the trade war aspect, what impact has that had on the community?
Chris Williams: Well, the trade war basically woke everyone up, that and also the Nvidia proposed acquisition. That woke everyone up that everyone should have a plan B, or if anything, they should have a new plan A for what they want to do for their microprocessors. If you're in America like outside of UK or if you're outside of the target of US sanctions, the trade war between America and China, probably you may not have set back. But if you're somewhere in say China or you're looking at China thinking that you could be next, then you might find yourself accelerating your RISC-V ventures. There's a lot of work being done on RISC-V stuff in China, India, and Russia, on the other side of the world essentially. And if that's all remains open source, then that way it means all good. If it starts to get closed source, then obviously then it does go against the whole of nature of RISC-V. An important thing about RISC-V is that the specifications are open source, a lot of the implementations are open source, but you don't have to do open source version if you don't want to. You can take a specification and you can make your own closed source processor and keep it to yourself. SiFive for instance has open source cores and has non-open source cores, and I think the community has to find a balance of how open do they want to be, how open do they want to tolerate it, how open can they be before it just start going back down the misery of when things were closed source again. There's efforts in Russia to design RISC-V chips for Russia's own homegrown workstations and China is doing the same. It’s trying to match own’s designs. I think at least that one, the Chinese one is open source. You can just go to GitHub and just get all the source and that's quite exciting because it gives you like a glimpse of what a modern processor core looks like inside if you're able to look inside the source. Yeah, I think it just basically seems to be a wake up call that like of how everyone was reliant on American tech and here's an alternative which Europe is considering using in supercomputers and China is considering using in smartphones and choosing a workstation, India wants to use in supercomputers and so as well. It's one of those things where I think maybe America under the previous administration at least pushed the ball too far and may have taken a position for granted that yes, everyone was happy using American tech everywhere, but as soon as America started to, not to say abuse, but maybe like started to exploit that position, yeah, it's the same way that if you go to a party with like a playlist and everyone's happy with it and so you start forcing everyone to come listen to bad songs, then you might find people leave your party, and that's what's happening here especially in China. They're like, "Well fine, we'll just make our own, we got the resources," and maybe thinking why we hadn't done it sooner.
Vimla Appadoo: Yeah, I think that’s something really interesting. Again, in reflection, we speak a lot about politics and speak a lot about technology, but I don't think we often speak about the impact of politics on technology and how we can open a lot of different doors or close doors and actually spark new communities to respond to inequality or things that you said at the beginning a monopoly they can break.
Chris Williams: Yes. Well, I mean, RISC-V is organization is supported in Switzerland technically even though a lot of the work is done in America. But oficially, they are in Switzerland because the way that I had it described to me was that there were customers, rather there were big companies in say, Germany, I'm thinking that well, were like we're interested in getting into this open hardware, our own chip design, but we've got ourselves a technology that could suddenly be ripped away from us. I wonder if things will cool down there now that there’s been another change in administration in the US, but I think people were looking more to what happens as another four years of President Trump, what's going to happen then? This is what he's done in his first term. What’s he going to do in his second term? And I think that's why people decided to put these plans into motion. It also is competition as well, you know? I am pro-competition. I think there needs to be as much. I don't really see a limitation, I think there needs to be as much competition as possible because it just keeps everyone on their toes and it keeps us moving forward.
Tim Panton: I think it's a very interesting that angle that you mentioned that Google using it for their Trusty programming modules in their data centers and stuff. I think it’s a really interesting crossover into the Bitcoin cryptocurrency world where you're effectively trusting huge amounts of money onto a chip with a closed design you may not ever have seen or been able to verify that it does what you want. As and if cryptocurrency grows at least in value, that problem becomes even bigger that your finances now be driven by cryptography on a hardware that you're not necessarily sure about. So, I think that's an interesting angle on that and I can imagine that particularly governments care a lot about that.
Chris Williams: Well, it's an interesting one because Intel is trying to crack that and if they will, Nvidia as well. That's an interesting point. As we move more and more things to the cloud, how can you be sure that what you're running in the cloud is actually what you wanted to be running, and what else is running next to it in the cloud? And some clouds can do if you're paying a lot of money or if you're a government, you can get special instances or resources that keep you isolated from everyone else. But I feel like a company which is a mid-tier or an enterprise or a growing enterprise, how can you be sure especially if you're dealing with like cryptocurrencies, any financial stuff, people's personal information, how can you be sure that what you're running in the cloud is running untampered with and the code that's running there hasn't been modified to exfiltrate it or leak it? I mean, I can see where they're coming from. My personal view is that if you can't trust your cloud provider to that degree, if you think there's a rogue administrator inside your cloud provider who could do that, I think you've got way bigger problems. But I can understand the need for it. And AMD didn't have their own technologies for trying to do that. And with RISC-V, there's the option that you could use a cloud server that may have safe PGA on it, again one of these programmable hardware modules which if you trust the whole processor and it depends on how far it goes down the trust level, but you can upload your own security processor implementation that you've made and that you're happy with, you could upload it to the cloud to run on one of these FPGA boards and that means you know that the data coming in will go through that FPGA board be processed or be decrypted or re-encrypted however you want to do it. You can do your security processing up in the cloud that way. You can try and make them available for people doing stuff on premises, but that's also available for people in the cloud. And places like Azure and others, I think all the major cloud providers, now offer an FPGA unit just literally in the server and you control what runs on that. You could be running your own custom processor if you like. Or if you're Google, you can start manufacturing your own custom processors, you don't need to use an FPGA. It depends on how far you go down the trust. If you give a design to a foundry like TSMC, is there any chance that they might modify the design while it's in manufacture to weaken it or something like that? There's a few defenses for that. One of them is that those chips smaller than TSMC are so complicated so there's no hope of them being able to modify it in a way that you won't pick immediately obvious. You either buy or you'll look at the final product and you'll see that someone has messed around with the floor plan to inject some stuff in there. Also, it's like this thing which I've seen in other forms of manufacturing that if you give it to a factory and they say it's going to take two weeks to make and you say yeah, it probably will take two weeks to make. Chips take a lot longer than that, let’s just say two weeks. They take four weeks to make it, you know something else has been going on there. And people do look out for that in manufacturing, like did it take a little bit longer than it should have done and what was going on there? Was it just a delay or did someone step in, especially if you're getting stuff made in countries where governments might not align with your idea of freedom and things like that. So yeah, it depends. It’s like Google gets someone to manufacture all these chips for you. It also has to trust the foundry as well. It depends on the level of paranoia you want. But yeah, that definitely is a use case for things like RISC-V is designing custom processes that do security, storage, networking for you in a customized way that you control and it might be something that you upload on the fly to an FPGA. FPGAs can be reprogrammed in milliseconds. So, you can have a server which has an FPGA which might be running a workload that's doing networking control and you will have the FPGA programs that do packet filtering. And then just due to demand, you might then load the workload on server, which might be convinced and you might be doing storage decryption on it if you can fit the FPGA to do something else to do some decryption or compression or something like that. And if you can, you might find it a lot easier to do with a RISC-V soft cores or soft core will do on FPGA doing that. You might find it slightly easier to use other ways of doing it. I think some pretty exciting ones have yet to modify not just the software that you're running in the cloud, but also even the hardware and the acceleration you're doing up in there as well.
Tim Panton: Just tracking back a long way, there’s something you mentioned which I didn't really pick up on but I should have done which is you're saying that the course that you learn how to build a RISC-V on was available on the internet. And so if you were a group of people with reasonable internet access anywhere in the world, you could run that course?
Chris Williams: Yeah, I'm assuming that it’s either Stanford or MIT offer it, and as long as there's not any geoblocking for some reason, yeah, you can. It's quite incredible that like how much material that the American universities put up on YouTube these days or put it on their own websites. I did electronic engineering at university and that was all things like DSPs and circuitry. It was all like the actual electronics. And it was only after that, that I took an interest in higher level stuff. Yeah, I remember following an online which is a course on how to do 3D graphics like oh, that's how you do it, this talk to you through the math involved. And when I started at my current job and we were writing about cryptography, I followed one of them. I think it was Stanford's Cryptography II. You can just follow them online and I think it's pretty amazing. So, it's not just open source tools, it's also open source information these days. And it just is no longer like a hidden art anymore. You've got projects like Ben Eater who describes how to build a microprocessor at home from individual components like actually from individual chips. It's a basic eight-bit processor. Then there's other people like Ben who will walk you through how you design these processors. I got interested in it because I for some reason thought it would be really fun to write a PlayStation emulator in Rust. I wanted to start writing PlayStation One emulator in Rust. And I think it was just because I wanted to simulate or just get the opening intro to the PlayStation One which is like an iconic opening intro, and I thought as long as I get far, as far as the boot screen and the open jingle, I'll be happy with it. And that involves writing a CPU emulator, which means I found out a lot about how RISC works inside. And then after that, I realized there’s actually a big community around RISC processors and open hardware. It’s something that’s been brewing for a while. Like IBM whenever I bring up RISC-V, some people remind me that they're not the first to do this, that an Oracle tried doing this. They have like open SPARC. There's also open power. IBM has tried this before, but they're all tied to big companies whereas RISC-V isn’t. And it goes back to the question of where to start, who owns RISC-V? I think it's because no one does really own it, it's getting more traction than say whatever IBM tried. You can download again, the blueprints all the source code you need for an open power core on GitHub. But again, that hasn't doesn't seem to gain as much attraction as RISC-V and I think it's just because RISC-V is still seen as independent of Switzerland literally chip design title and the time particular agenda. They're kind of out on and on because ARM was seen as a CPU designer for hire, they're kind of the neutral nation of chip design, they'll sell a license to anyone. And then RISC-V comes in and says, "We won't just license it to you, we'll give it to you for free and it's up to you to implement it." And that's exciting as well because I find it inspiring and motivating to go to Twitter and see people tweeting videos of their homegrown implementations of RISC-V running things like little LCD screens with little mental box being plotted on it doing things like controlling displays and electronics or doing benchmark, comparing codes. I think some people try to say that it's the same way for the Linux Kernel because it was a big collaborative open source project and I think people are open to RISC-V the same as well. It'll be a big collaborative project to design a set of processor cores that can be dropped into the Linux Kernel, can be dropped into FPGAs and can be used without any overarching big monopoly controlling everything.
Tim Panton: Do you think that is going to produce a group of people designing these things who wouldn't otherwise have got into that industry? Ages ago, we had a conversation about amateur rocketry and amateur satellites and it struck me then that there are a bunch of people who were getting involved in that who probably wouldn't get into NASA but had some interesting ideas. I wonder if the same thing is going to happen here.
Chris Williams: Oh, yeah, absolutely. Absolutely. It used to be that your options for doing chip design were very limited. You had to join a big firm to do it, big outfit. You were seen as ambitious as they say if you were trying to go at it alone. But now with foundries adding capacity, there was a slight supply shortage at the moment, but I wonder if that is partly driven by the fact that there's just so many chips just being designed by independent places, but now you can get into it. I don't know. It comes really down to the languages used to design chips. And every time I look at Verilog and VHDL, I think it can't be that hard. It doesn't look that hard. But after a while, it becomes just like if you're used to much higher languages or friendly languages and tools. And so, I think that the advent of things like Chisel and nMigen and tools like that, which allow you to design and validate and test, it's actually the most… I mean, it's funny that in software engineering, for projects that are well-resourced, they should all be well structured, they should be doing lots of tests, there should be lots of unit tests, integration tests, tests to make sure that what they've written is how it should work. But you can imagine it's got a lot of software projects which skip on tests, they don't at the end. With processor design, you can actually not skip on the tests because they are such precise machines that they have to work exactly as specified or you just run into all sorts of problems that you won't discover until later when you’re really trying to figure out what's going on. Unit tests and validation verification is like I will say more than 50% of the job of designing chip, and the tools to do that have to be available as well. They have to be easy to use. There are tools now, they’ve probably been around for a while but people are discovering them and improving them or working on them that allow you to do it in a much easier way, tools that allow you to visualize how your chip design works on the desktop and getting open source without having to pay tens of thousands of dollars for workstation software. These are all sorts of tools which are coming to people's hands and are making it possible for people to design their own soft cores or getting it actually fabricated. And I think that there was a lot of discouragement previously either because it wasn't taught that widely. I mean, if you’re going to talk MIPS, they will teach you how a MIPS core works and then if you really were interested, you'll go work at one of the big chip companies at which point you forget what you've known about MIPS and you learn their architecture. So with RISC-V, you learn this in the university and you might even carry it into the real world depending on how whether you end up working.
Tim Panton: Where do you think this is going to go? Am I going to have a RISC-V-based phone in my hand in five years’ time?
Chris Williams: Yeah. The people who are pushing RISC-V such as SiFive do believe that. They believe that the tipping point has been reached and that chips owning companies such as MediaTek, Huawei have got to the point where they're like we're getting rid of architecture one that we can completely control and we can customize, one that we don't have to pay any royalties on because that's another thing is once you've designed your RISC-V core, you don't pay any royalties on it if the spec is open source and as long as you have to pay a royalty on per core for example and yeah, I think that tipping point will come hopefully because again yeah, competition is good. But that's what they're aiming for and they're getting closer to it. The last time I looked, China was trying to get an equivalent of ARM Cortex up and running but with RISC-V it’s not the equivalent performance and the A76 came out four years ago, so I think RISC-V is still like four or five years behind ARM or thereabouts maybe, shall we say? Yeah, we're talking about five years’ time I think for personal devices. One thing is that like ARM and RISC-V look pretty similar from a software programmer’s point of view. In fact, they always look… If you have a software like in Rust or Python or a high-level language like that, it looks exactly the same. It's only when you get down to the assembly level does it look different. And so, for programmers and software developers especially writing in Java and Android apps, it wouldn’t change a difference. It just looks like Linux to you. It just looks like Android or it just looks like another system to you, like the whole architecture.
Tim Panton: I hesitate to ask this, but we're not expecting to see an Apple RISC-V, are we?
Chris Williams: I think that would be an incredible breakthrough and it depends how the ARM Nvidia thing goes because Apple and Nvidia aren’t friends. They have a massive falling out, and I don't think Apple wants anything to with Nvidia. And if Nvidia takes ARM, then Apple then has to make a decision of whatever it wants to go with that. Apple has an interesting license. So, everyone else pretty much has a license where they take an ARM core and they can't do anything with it. You take what you get. You can have an architectural license which is what some places like Qualcomm have where you can design your own ARM core but it must follow the ARM specification and ARM polices it. And Apple has a founder’s license because they helped found ARM with money back in the ‘90s, where they can pretty much do what they like. It's interesting they’re stuck with ARM because they probably see it as theirs, but I wonder how they would treat it if Nvidia came along. Because a lot of the innovation in Apple's designs in its iPhones is on things like caching and adding instructions that accelerate certain things such as like JavaScript and in Safari. There's nothing stopping doing that with RISC-V. In fact, ARM is like our own RISC-V I guess in a way, but it'd be an interesting thing. It'll be pretty interesting to see if so Apple does go down that way because Apple won't share any of those designs with anyone. They're not going to be very open with it. And so, it'll be more of a validation of the ecosystem and the architecture rather than contributing to it. I think that's what the community is looking out for next is the next big thumbs up or next big backing for it because it's one thing to have things like SiFive and microchip perhaps multi-core processors that run RISC-V, but it's another thing for it to be in like a big project like to buy RISC-V laptop would be a big validation. But we'll see. It's really in the same way that like some big database companies are still being used, it's because there's a lot of momentum behind existing technology and there's a lot of momentum behind ARM, and there's an incredible amount of momentum in x86 and that's basically what RISK-V is fighting or has to come up against or has to answer, how do you beat that momentum?
Vimla Appadoo: I guess the only question left to ask now, what does the future look like for risk and for the open source community hardware?
Chris Williams: I think this is like the open hardware’s biggest and best chance. I had a discussion that's like before we're out, why is RISC-V this far ahead? And up to this point previous open hardware stuff has not really taken off, and I think it's RISC-V has been able to learn from previous mistakes, has been to be able to learn from previous attempts and it can present a true approach to hardware design, which I like the sound of. It shouldn't be that just because hardware is hardware that it should be closed source all time, should be proprietary. Today’s hardware is basically software that you can only write once or one you can only release once. It's just not strictly true because you can always do think things like microcode updates and stuff like that. But it's seen as a more sticky software I guess this way as well, but we can't all see in brief. Because again, so much more goes into the processor. It's not just a processor core. It's also interesting that you have companies like Qualcomm who license ARM cores. When Qualcomm designs its new chip for the next place such as it could be in its Huawei or Samsung phones that announces those chips, it focuses more on things like how good how good the camera support is, how good the image recognition is, and how good the AI acceleration is, isn't it? Because that's all value add. That’s all the stuff that is customized and built and that's the thing that’s going to make it stand out and the CPU goal is kind of almost commodity at this point. And if that's the case, you might as well just drop in a RISC-V core and you could tightly integrate things like 3d graphic. There's nothing holding people back at that point. If you're just going to be able to drop a RISC-V core or run oncores or any of the cores and if you do that like in an open way that everyone can look at. I just like the fact that these are so seen as like a closed box technology and now you can just look inside and see how a professional processor core is designed. Western Digital people who make all the hard drives and flash storage drives, they are a big pusher of RISC-V. They are using RISC-V in their controllers to control devices and their stuff is on GitHub. You can just look at a code to see how a professional CPU core is designed and that should be give or take like intellectual property rules and laws, but it should be inspiring for you to come up with your own design if you want to try that.
Tim Panton: Well, there's a challenge for our listeners to go off and build a small core at least a look at the Western Digital, so good point to leave it. If you've got anything in terms of like links or something that you could add that we can tag into the show notes, that'd be brilliant because it allows people to go off and do a bit more research if so fired up on it. And I want to thank you so much for bearing with us. Hopefully the audio quality is good enough. It was a little flaky in middle, so we'll see what it sounds like on the recording but I'm hoping it's good enough. Yeah, thank you so much for doing this. Vimla, if you've got a final, that was your final question I think, wasn’t it?
Vimla Appadoo: Oh yeah, that was my final question. Yeah, it's been really, really interesting. There's a whole world I didn't know about, I've really enjoyed listening.
Tim Panton: Well, that's the kind of joy for this podcast, is like learning about stuff you saw going past and thought that'd be fun to find that out. Anyway, brilliant. Finally, listeners, if you've enjoyed this and you've listened to it, then please tell your friends, subscribe, don't miss another episode and all the usual podcast things. And we'll be back again with another episode in the not too distant future. So here's the code or quite why the audio is as bad as it is, entirely my fault. I used a Raspberry Pi to do this recording in a hot flat in Berlin, and what I found in retrospect is that the Raspberry Pi doesn't quite have the horsepower or rather the cooling to do this task and what happened is that it overheated and started to shut down some of the processes which meant that the audio processing was being clipped. And so you hear some very strange audio effects on this which are basically the Chrome struggling to get enough CPU to do the audio mixing correctly. So unfortunately, it sounds way substandard from what we would normally expect. But the lesson there is probably not to use a Raspberry Pi for an important recording, which is unfortunate but entirely my fault. Thank you for bearing with us this far, and I promise you I won't make that mistake again.