Embedded - 105: Some Paths Are More Suicidal

Episode Date: June 17, 2015

Manny Wright of Cortus spoke with us about developing processor IP and how it goes from RTL to silicon.  Cortus development platform with a Xilinx Spartan and Arduino Due compatibility. Planet Labs�...�satellite contest winners are announced and Elecia has a cold.

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Embedded FM, the show for people who love building gadgets. I'm Elysia White, alongside Christopher White. We've asked Manny Wright here to tell us about chip design. But before we get there, contest! The contest is over and we have winners. They were randomly chosen by Excel. They are Stuart, who won Kerbal, and Jonathan and Shane each won a copy of my book for telling me what they'd put in a satellite.
Starting point is 00:00:31 Thank you to Planet Labs for sponsoring our contest. We wish you all the best to find the great engineers to work on your nifty satellites. And while the contest is over, you listeners can still send them your resume, embeddedfm at planet.com or look at planet.com slash careers. If you didn't win, thank you for your idea. I enjoyed them quite a lot, both the silly ones and the ones that made me go look up new technology. Okay, so now on to the show. Hi, Manny. Thanks for joining us today. Thank you for inviting me.
Starting point is 00:00:59 Can you tell us a bit about yourself? Certainly. Well, my name is Manny, as you already said. I live here in Silicon Valley, not far from Apple campus. Tell us a bit about yourself. Certainly. Well, my name is Manny, as you already said. I live here in Silicon Valley, not far from Apple campus. I am in the high-tech industry, just like everybody else that lives here. But more specifically, currently, I am in the IP business, in particular, microprocessor IP for a company called Cortis.
Starting point is 00:01:29 So IP is not the same as when we had Judith on the show and she talked about lawyer intellectual property. This is also intellectual property, but it's more about the core. It's about the processor. Yes, that is right. So let's step back a little bit. In your computer, your laptop PC, underneath all those nice casing is a green board called PCB board, you know, and that has chips on it. So a long time ago, you know, you buy those little chips
Starting point is 00:01:56 from, say, TI or other places, IDT, et cetera. So each chip does some function. So with large-scale integration, most of those chips now collapse into one chip. And so there's millions of gates in one chip. So for a company to design a chip from scratch is very difficult. So previously, in each of the individual chips, they would sell those things as intellectual property. So it is in soft form, that is, the end customer
Starting point is 00:02:34 will take all those individual designs and, you know, bring it together and bring it to a fabrication facility to get it put into silicon. So that's why it is called intellectual property. So in my case, the intellectual property simply means that it's the blueprint of, just like in architecture, you know, an architect will come to your house and design a house for you, or come to your land, design a house for you, but they will only give you the blueprint with which you take it to a contractor, and they will decide that the wall goes here. They will implement it.
Starting point is 00:03:13 The wall goes here, the sink comes here, and so much wiring has to be in there, plus all the pipes for water. So likewise, in the IP industry, an IC company will go to different vendors to buy different intellectual properties. And so then they will be able to put it together and verify it and then take it to a silicon fabrication company like a TSMC or UMC places to get it put into a chip. And that's why that now, you know, on a cell phone that's, you know, in it, the, you know, the big chip in there has a lot of functionality in it.
Starting point is 00:03:57 So we deal a lot with microprocessors on the show, and we've done a lot of work here at Logical Elegance with the Cortex M0, M3, M4s. And those are made by Arm. So the Cortis, which is your company's, the name of your company, that makes another core sort of similar in general strokes to the the cortex from ARM. Is that right? Yes.
Starting point is 00:04:27 In that, you know, the ARM product, the M family, you know, it's processors. And my company also sells processor. That is the CPU itself. So, but ARM's product also go into chips. You can buy ARM's chips. You know, you can buy M0 chips with other things around it. Like ST makes a number of chips and Atmel and all of the big names. Right, right. That's already put into silicon that you can just buy off the shelf.
Starting point is 00:04:55 But Cortis right now does not have that alliance yet. So we only sell the CPU itself. So customers will have to put in peripherals, memories, and then integrate it together to make it into a chip. When I worked at LeapFrog 12 eons ago, they made a chip with an 8051 core. And the idea was that it was so cheap making their own chip because they were very specialized towards educational toys. And I would help bring up the new processors. The reason they could do that was because they had such huge volume.
Starting point is 00:05:34 They were making millions of toys and they were reusing the same processor. Is that the same sort of thing that you would recommend for your customers? Is it a volume proposition? Yes. These days, making IC is a very expensive proposition. When you take it to a foundry to get it fabricated, the NRE is in the millions, depending on the geometry that you're going for. So in the latest geometry, you know, the 22 nanometers, it is in the several millions.
Starting point is 00:06:11 So, you know, it would take a high volume of production to amortize the cost of just the NRE for the foundry. And in addition to that, then you still have to pay your hardware engineer, your software engineers, you still have to pay your hardware engineer, your software engineers. You still have to buy the IP. So it is a very, very expensive thing to do to make an IC these days. So who are your customers?
Starting point is 00:06:37 Right now, we have customers in the U.S. We have Microsemi at Mel is our customer. In Korea, South Korea, we have several, five or six in the touchscreen controller business. And also in Europe, we have several other ones. But right now, the majority, well, I shouldn't say majority, a good portion of our end customer product is in the security domain. What that means is that, especially these days,
Starting point is 00:07:06 with IoT, Internet of Things, you know, the most critical thing in the wearable and the consumer market is low power and also security. You know, we hear about target hacks and then now the government database get hacked. So everyone is really, really looking to the security. But Cordis Core has been... Not as much as they should be.
Starting point is 00:07:29 They work a lot on IoT things. They're not as secure as they should be. I know. It's really becoming the forefront. I go to several conferences lately and security has become more visible in the discussion forums. So Cordis product has been in a lot of the security domain
Starting point is 00:07:47 products. Unfortunately, most of our customers do not want us to talk about it. I mean, for obvious reasons, if you want to be secure, you don't want people to know about you. So we are in smart cards, SIM cards, TV cards, and a few other products that I'm not at liberty to say. Oh, no, that's totally fair. And smart cards for people in the U.S. because we seldom get them. Those are the chips that you can see on your PN credit cards.
Starting point is 00:08:22 And they provide a number of gold contacts, and it's a far more secure way to use your credit card that the chip on board in the plastic with a little tiny, tiny battery actually works. That is correct, yes. So it seems like this could be more back and forth with customers where if I bought an off-the-shelf ARM chip from somebody, it would be the way it is.
Starting point is 00:08:50 It's packaged. Here's the data sheet. This is how it works. If it doesn't work for you, well, that's your problem. Working with an IP vendor, it seems like you could say, well, I want a little tweak before we go into production, or I'd like it to have this peripheral but not this one, or I'm not even going to use a spy bus. Could I leave that off? Is that something that you can do?
Starting point is 00:09:12 Yes. These days with processor IP, it's quite configurable. So when you go to a processor IP company, you would be able to specify certain components. In other words, the IP companies already made those things. If you look at their revision control, it's one big tree. And so out of that, they were able to throw a few things for you just to save gates and power. Yeah, it seems like from a power perspective, it would be great
Starting point is 00:09:40 to just cut everything down to the bare minimum you need for your product. Precisely. And, you know, besides power and also gate cost, when you take it to the silicon foundry to get it fabbed, you know, they charge you by how much they have to do. So anything to reduce the cost is something that customers like. And so configurable processor is the way to go. Obviously, I mean, for a little, you know, wearable device, you don't need a big, you know, processor that you use in the cell phone because the cost of silicon and the power drain are not viable in those products. So you mentioned security. How are the Cordis processors different or better than, say, the ARM Cortex M0s? Well, the Cortis processor, the standard product portfolio, just like the Cortex families, you know, in and of themselves, there's no security feature.
Starting point is 00:10:39 They're just processes. But at Cordis, because we understand the importance of security and that no one wants to have the same lock like everybody else in the neighborhood. You want to have some lock that's different from your next door neighbor so that if someone breaks into his house, they cannot get into your house. So what we do is that we offer customization to our secure customers so that for those that are willing to come out and say they use quarters, nobody else can tell what exactly is in their product. So everyone is
Starting point is 00:11:15 customized. So what other customizations do you offer? I mean, not security, just in general. Right. We offer different components such as whether the core has caches or not, how big the cache is, floating point unit. We can put it in or leave it out. And also we can reduce the memory map from the full 32-bit address space, which addresses 4 gig of address space down to whatever the customer wants. And also we have a whole set of peripherals, buses, AMBA buses, I2C, GPIO, SPI. Those are configurable. That customer can decide which one they want.
Starting point is 00:11:59 And like Chris was saying, you can take those out because you don't want to have the power draw. Correct. And you were saying you could take those out because you don't want to pay the power draw. Correct. And you were saying you could take those out because you don't want to pay for them to be on the chip. That's right. So it's a double bonus by removing things that you're not going to use because everything costs something. Some are just upfront cost of paying your vendor
Starting point is 00:12:20 and some are just operating costs that you can cut as well for your customer. When designing a project, though, I tend to go with one of the off-the-shelf processors that I can buy. Well, usually for me, if I can buy it in a dev kit, that's the way I want to buy it first. But that's not how it works with you because you aren't selling dev kits. You aren't selling silicon. You're selling the idea. How do you get adoption when it feels like it's so far away from the people who might be choosing the processors? Well, first of all, we give our customers all the tools,
Starting point is 00:13:00 the programming, the compiler, the debugger, all the tools are provided to our customers. So you can start your program before you get silicon back. And if that is not sufficient, we also have a development platform which was just released a couple of weeks ago. In fact, last week, the Quartus development platform. That one has an
Starting point is 00:13:27 FPGA in it, a Xilinx Spartan chip on it so that when we provide our customers with the RTL, which is the way we deliver a product, the customer can get it synthesized using EDA tools and have it downloaded to the board.
Starting point is 00:13:44 And so it's a running processor that you can program and you can get lights to blink. You can also hook up actuators and sensor to it so you can turn your water sprinkler on and off. So this particular board has a twist to it because we put in pin IOs that's compatible to the Arduino Dewey shields. So the customer can easily build a system to try things out, their own home kit IoT thing that can be realized that way. I'm finding the Arduino shield form factor is becoming really popular, but compatibility is difficult.
Starting point is 00:14:27 I don't think that's a rant that you deserve, because I suspect that's not important. But someday out there, I'm going to go on a rant about what it should mean if you're compatible to Arduino. And it has to be 5 volts. Starts the rant. Yes, we took care of that. Oh, you did?
Starting point is 00:14:44 Yes. That's nice. Yes. we took care of that. Oh, you did? Yes. That's nice. Yes. Before the board was finalized, we bought a bunch of shields to make sure that it works with our board. So it has been verified and validated that as much as compatibility that everyone talks about, we took care of it. So architecturally, what is your processor most comparable to? It's not an ARM core. Architecturally, you can say that it's like the ARM family,
Starting point is 00:15:17 but our instruction set is different. Now, instruction set counts a lot to the end product because if your instruction set is good, then your C program would compile to a very condensed code size, and that would mean that you can instantiate memories that's a little bit smaller. Again, it goes back to the gate size, power drain, and cost. But in terms of
Starting point is 00:15:45 the architecture itself, you know, it's Harvard architecture and or Von Neumann architecture. We have both types. You know, it's a processor, so it's roughly the same. But because we designed our core, started out with
Starting point is 00:16:01 compiler, as well as the hardware in parallel. so it's not just some hardware jock that decided oh i love this instruction i'm going to build it and then afterwards throw it over the wall to the compiler guy and say you know write the compiler that will generate a code for this because you know we have the expertise have two people actually one person you know he figured all these things out and get both compiler and the hardware designed at the same time. Code density is high, and the hardware in terms of gates is very low.
Starting point is 00:16:36 That's pretty cool to actually have the compiler and the chip be in sync and not just catching up. Usually we talk about compilers that are written by third parties. There's the ARM makes their stuff, and right now they have their compiler, but their embed online thing is totally not optimal. It's cool, but it's not optimal. And then you have IAR or Kyle or GCC.
Starting point is 00:17:02 You use those compilers, and many of them are well-written. But somebody has to come in and optimize for every new chip. Yeah, that's right. And that brings to an important point. With ARM chips, we have gone to a customer site and they say that we're not getting good support. Whenever we have an issue, they kick us over to IAR or CAIO or whoever. GCC is even worse.
Starting point is 00:17:27 No one can support you. And they got kicked back and forth. But we tell them that we have support people around the clock here in different countries. If I have a question, we will answer your question right away or within reasonable time because the people that develop the compiler and the hardware, they sit next to one another in France. So we can get to the bottom of it very, very quickly. That's pretty cool. You mentioned the Xilinx and DevBoard and VIFPGA,
Starting point is 00:18:02 and I sort of remember doing this at LeapFrog when we brought up one of the 8051 chips for the first time. It was a giant FPGA board, and I was running my code on it, and it felt like it was ridiculous because it was supposed to go into a toy that was tiny. I'm like, you can't fit that. And it was like, no, FPGAs are big.
Starting point is 00:18:21 Do you run into that as well, that FPGA sizes and power are so different from your final silicon that it is hard to convince people that, yeah, your silicon is going to be really cool? Well, with our customers using the FPGA, most of them use it just for early software development. Our customers already know that they're building an IC, so they know that their end product is going to be cool because they are the one that's designing it, right? And you know,
Starting point is 00:18:53 99% of them have done IC design before so they know that the FPGA is just a stepping stone to help them to get, you know, so that they don't have to wait for the chip to come back because that can take months, you know, once you tape out and it could take three to six months before your final chip come back from the foundry. So with the FPGA, it is a good stepping stone for them to jumpstart their software development and verify, you know, that the system should work. And of course, the nail-biting time is when the chip comes back,
Starting point is 00:19:31 they plug it into the real board and then see if it works. Actually, timelines are a good point. Let's say I came to you with an idea and I want to use your core. What is the shortest timeline until I could expect silicon back? And what is the lowest price I could possibly do? Ooh, timeline and cost. Lowest price.
Starting point is 00:20:00 Are you bargaining now? Well, no, I mean, sort of. And I'm not holding you to this, and I expect you to pad these numbers, but I've had clients who wanted to build their own silicon who really couldn't understand that this is not a three-month long process and this is not something that's going to cost $200,000. It's not a board spin.
Starting point is 00:20:21 It's not a board spin. Do you have generic parameters for either average or small projects? What time and money are we looking at for Outlay? No, I do not have a range of cost. Like I say, with the more mature geometry, say the 180 or 90 nanometers, then the cost is a little bit lower. With the more advanced node, I believe the latest one is 28 nanometer.
Starting point is 00:20:57 That's in the millions range for NRE. So we have to buy your processor, do some of our own stuff to it and then we have to take it to a foundry right and get it fabricated right and that takes time and money yes so like i said um you know you know you come to buy the product we can ship ship it overnight. We don't ship it. It's just it. Yeah, we just send it over the web, right? So you get it immediately, and depending on how fast you can integrate all your other intellectual properties into it, then you've got to get it synthesized.
Starting point is 00:21:39 That's another cost I did not mention. It's the EDA cost, the tools to get your chip, all the IPs from an RTL format into a format that foundries can consume, and that's called GDS2. So that takes a little bit of time, and the cost for those tools is also up there. And they take a long time to run because they're looking for optimal geometries and not just hooking things. It's not just a Python script somebody wrote in their basement. It's actually doing stuff. Yes, they use all kinds of heuristic algorithms to find
Starting point is 00:22:16 the best path, etc. And that depends on your constraints too. If, say, your chip is not constrained in terms of speed, then it can pretty well go from, just map from RTL to gates. Okay, that's fast. But if you're pushing the speed of the chip, of what the design is, then it could take a long time. You mean like clocking it quickly? Clocking it quickly. Because depending on the number of levels of logic,
Starting point is 00:22:48 that limits how fast your chip can run. So if you're pushing to the boundary, then it would take a lot longer. In addition to that, the number of gates, if you have a lot of IPs in there, it takes longer to get it processed, synthesized, and layout and floor plan and all that to the GDS2 format
Starting point is 00:23:12 before you can give it to the foundry. And is that mostly automated from RTL to the foundry format? Or is that some hand tweaking? I think you have to have some special people. That's precisely what it is. The synthesis part is, you know, the script is pretty standard. But the hand tweaking part can take a long time. And then after the synthesis part is the floor plan, place and route.
Starting point is 00:23:38 That is going to take a long time. And in each big company, there may be one or two people that know how to do that. Those are specialized tools that not a lot of people run. The designers of RTL format, they can run the synthesis tool. That's just the first level of mapping to the gate side. It's the final place and route that has to do with the silicon side of things. That's the part I don't even know that will need special knowledge to do. And that could take months if you're pushing the boundary of the constraints.
Starting point is 00:24:16 And you have to have design verification test too. That's not something you're going to do for them. When they integrate everything, they have to test the design to make sure that they're not going to get back a brick. Right, right. So doing that testing could be done in simulation. Right. Is that with the FPGA again, or is this the tools?
Starting point is 00:24:38 FPGA can be considered as a form of verification too, right? Because if you integrate several IPs, if you connect the bus wrong and you try to run the program, you immediately know that something is not right because your program will not turn out. So it's a form of verification. Another form of verification is done in simulation.
Starting point is 00:24:58 That is a simulator will read in your RTL and will read in your program and run it through all the gates. So that's another way of doing it. And then beyond that, that's just to verify the functionality that it does what you want. And then beyond that, the chip verification, those still need to be done.
Starting point is 00:25:23 That can be done at the front end before all the synthesis and place and route happen. And it should also be done to a certain extent at the back end too. Because the chips are getting bigger and bigger, there's other verification methodology has come out. One of them is called formal verification and that's more dependent on mathematics type of verification than just
Starting point is 00:25:56 brute force running your program to see if it's doing the right thing. So that's more like running Ada than C. I guess Ada requires some proofs. Ada requires contracts and things. I think it's easier to formally prove, maybe. But yeah, formal mathematical proofs of functionality rather than exhaustive coverage tests. Yeah, I'm not familiar with Ada that much. I'm sure we're going to get lots of hate from people who are. So there's only like four Ada programmers. I'm sure they don't listen to lots of hate from people who are.
Starting point is 00:26:26 So there's only like four Ada programmers. I'm sure they don't listen to the show. One of them listens to the show. Okay, so this has been a lot of stuff. And we're at the end of this process that you've been talking about. We're finally getting back a silicon chip. Yes. And then we have to put it on a board and use it. And the chip may
Starting point is 00:26:47 have flash and it may have RAM and it may have ROM, which is lower power than flash. Last week we talked a little bit about how flash takes power. So I want to kind of touch back to that. If you put a program like if you build your software inside the chip to some extent, and you have a masked ROM, that takes less power and can be faster.
Starting point is 00:27:15 As long as you never want to change it. That's right. Exactly. There's good and bad to that. No flexibility. There's no firmware updating in educational toys. That's just not worth it. Right.
Starting point is 00:27:29 On the other hand, if you did that for a computer, that would be horrible because then you couldn't run anything that wasn't already. Right, yeah. So I understand your reluctance to give me dates and numbers. So I'm going to put some out there and you can tell me if I'm orders of magnitude off. When I have worked with companies and they wanted to do chips,
Starting point is 00:27:53 my rule of thumb is if you have done them before, nine months, because you know what you're doing. And that's pretty fast. And if you have never done them before, it's two years. And don't even think you're going to shave down on that right okay now i understand what you're getting at i would say minimum year and a half you know if if it's just a respin of a chip that's fast it's just basically depending on how fast the foundry can turn around but if you're designing from scratch you know new product that
Starting point is 00:28:22 you've never done before year and a half is is, in my opinion, is the minimum. So sometimes I have customers come to me, oh, this is what, June, and they say, I want a table in December. I say, good luck. We're shipping for Christmas. Yeah. And I just say, oh, that's very aggressive. And inside I'm saying, you're nuts.
Starting point is 00:28:41 And then money-wise, we're talking at least three million probably closer to eight yeah depending on the geometry too yeah that has so many i mean that depends on how many cores you're buying and what and geometry and how many people you have in house if you have to pay somebody else to run some of those tools it's a lot more expensive that's right that's right yeah yeah so it's not for the, I have an idea, let's build one in my garage for folk. No,
Starting point is 00:29:09 you really have to do your marketing to find out what is your, your volume at the end to see if it's justified to, to go that route.
Starting point is 00:29:16 You know, sometimes you may have to throw things away, some functionalities away to cut down on the cost and just buy something off the shelf
Starting point is 00:29:24 rather than building your customized thing that will do exactly what you want. Because if your volume does not justify it, you're going to throw a lot of money away and you're never going to recoup the investment you put in. Right. Non-recurring engineering is very, very expensive. Yes.
Starting point is 00:29:42 And if you can't amortize that over your millions of units, it's very tough. Yes, yes, indeed. So you mentioned you make a compiler. That was actually one of the things that worried me most when we talked about cores. Because as a software engineer, I'm like, I don't want to use a non-standard compiler.
Starting point is 00:30:03 I don't want to use a non-standard core. I kind of want to be able to read my assembly. And I like off-the-shelf things because then I don't have to worry as much about strange errors. Talk me around. Tell me why these aren't worries. Really, you worry too much. That has always been true. Okay.
Starting point is 00:30:30 Assembly is assembly, right? So it's a matter of learning each different processor's assembly code and see what it does. So why use a different processor? Because the tools will help you out. These days, people don't write in Assembler anymore. They all write in C or different languages, C++ and so on. So the only time that you need to worry about going into the assembly stage
Starting point is 00:31:01 is for some device drivers. And that usually, I hope the vendor will help you out because at Cordas we do help our customer out to write the, what, 500 lines of assembly code. If they don't know how to do it, for us it's easy. So I do not really think that one needs to worry about it. I mean, that depends on the credibility of the vendor. In our case, because we have a hardware and software people working together,
Starting point is 00:31:30 and we can get the help immediately for our customers. What about, so you mentioned drivers. ARM has this CMSIS, which is sort of a hardware abstraction layer. And their goal is to make it easy to shift between different vendors' implementations of Cortex. You know, if you're going from Atmel's to ST's or NXP's or whatever. Do you have something similar, a hardware abstraction layer, from your core to ARM or from your core to others of your core? I know you have multiple cores and we haven't talked about that yet.
Starting point is 00:32:02 Right. And no, we do not have such an abstraction layer because our product goes into the really embedded space or deeply embedded space. So mostly our customer would program our core. Occasionally, we do have quite a few that open up to their customers that can program the core, but they always use some C code. So far, we do not have the need to really abstract out to bring in DSP type of functionality into the core yet. We do have DSP, but our customers so far has been able to handle it to program the core. Because most of your customers know what they're doing. To go into the chip business, they better know what they're doing.
Starting point is 00:32:46 Because it's a good way to lose your shirt. And how do software engineers debug their program? I mean, we've talked about FPGA, but does JTAG work or SWD? Is there some standard debugger sort of thing? Yes, JTAG is pretty well the standard in the industry. And SWD is ARM's debug method, and yes, we are implementing that right now. What about things like advanced features like trace? Yes, trace is another one. Trace is non-intrusive.
Starting point is 00:33:20 When you use JTAG, you have to stop the processor core, then you can examine the register files or the memory content, but when you use JTAG you have to stop the processor core then you can examine the register files or the memory content but when you have trace usually you know you trigger it so it dumps information into some memory buffer and then you know once the critical period is over then you stop the core you read it back out it's a better look at what's happened in the period that you want to see rather than trying to stop the call. It's like Heisenberg, right? You look at it and it's not there anymore. So different methods offers you different debugability.
Starting point is 00:33:53 You support that? Yes, we do support that, yes. What about multi-core? Multi-cores, so I believe you're referring to multi-core that communicate with each other. You can easily put various cores in one chip that they don't talk to each other. Yes, yes, yes. They're just islands by themselves, right? So that works fine.
Starting point is 00:34:16 Yes, we do support multi-core with facilities for the cores to communicate with each other, tightly coupled communications, yes. Is that, I mean, with these deeply embedded devices, is that something a lot of people want? Some deeply embedded devices still have multi-cores, but not all that much. Our multi-core customer is in the image processing, video streaming type of industry.
Starting point is 00:34:49 Oh, high parallelization. They can go on different cores. Yes. I wondered if you were going to say they were in the medical or transportation industries where you have different cores, run the same code, and essentially vote on the answer. Oh, that's for safety enhancement. Yeah, safety critical things. That's for the ISO 26262 standards.
Starting point is 00:35:12 Yeah, that's the automobile one. Right. How that one works is that you basically run two cores in lockstep and then in the end like you say, you vote on who is saying or the system is not saying, let's reboot. So that one does not have as much, well, should not have inter-processor communication because they should be checking on each other. Yeah, and you need a hypervisor,
Starting point is 00:35:38 somebody to watch over both of them to see who's winning. You can have two, you can have three. So there's different ways of doing it. If you have two, the basic way, the cheap way to do it is have the two running and have the stay points come out and XOR them together. And if they don't XOR right, then one of them is out of sync. And reboot the whole thing. Yeah. Well, you don't want to do it that way when you're trying to land on an airplane.
Starting point is 00:36:05 So, you know, there's other things I have to do to, you know, monitor everything. Well, that's why sometimes they do the three. So then two wins. Yes. The majority votes. Yeah. So you license the IP to the core, which sounds a lot like selling software. We talked about you just ship it, so it is selling software. That's always been really difficult because digital rights management,
Starting point is 00:36:31 keeping ahead of the people who want to break it, is really a constant battle. Do you have trouble with that or are you niche enough that people aren't trying to hack into your core in order to use it for their own purposes without paying you? Well, there's always people that have too much time on their hand that they want to do things just because they think it's cool to do or they prove that they're better than anybody else. Basically, when we license, there's the license agreement that keeps the customer in place, to be honest, and all that.
Starting point is 00:37:10 But yes, we do worry about reverse engineering, just like everybody else in the industry. Do you have any special requirements for when people are doing fabrication in China and things like that? I mean, China is the big concern when you're sending software intellectual property that it's just going to mysteriously distribute itself somewhere else. Yes, China still has that reputation. They have not been able to shake. Before you answer that, that's a really good question. I would like to point out that in the 1700s, the U S had that reputation for English books.
Starting point is 00:37:48 We were the copyright people who were jerks, who would just take their books and print, reprint them without ever paying for it. So I know China gets a bad name for this, but they weren't the first and they won't be the last. Yeah. But how much were books worth in 1700? More than they are now.
Starting point is 00:38:09 Well, I guess, sort of. Yeah. Okay, so what do we do to protect ourselves? One way to protect ourselves is that if, should we not trust a customer, we may want to do the first level of mapping into some generic gates and then give it to customer instead of in the RTL format. I don't know if you're familiar with RTL format.
Starting point is 00:38:35 A little bit. Which is, basically the design is open, that you can read it, you can see how it works and so on. So once we map it to some generic gates, it's a little bit harder to reverse engineer. Now that's just a first level protection, but doesn't mean that customer, you know,
Starting point is 00:38:53 some unscrupulous, you know, company would, they can still take it and get it fabricated because it's already mapped to gates. Yeah, you can only be so cautious. You do the best you can only be so cautious. You do the best you can without creating too much work for yourself and your good customers. That's a great point. You do the best you can without making too much of a hassle
Starting point is 00:39:16 for your good customers. Don't punish the good people who are paying you because the people who aren't paying you are jerks. Yeah, you have to be really careful because there's enough competition in this industry that it's a balancing act. So we get people who want to go into FPGA development, people who are interested.
Starting point is 00:39:37 Chris has been doing a little bit of FPGA work, just for fun. Is that a good way to get into chip design? What is the normal path for becoming a chip designer? Well, that's a big question. Can you sum it up in, you know, like 10 minutes, all the things they need to know? No, no, chip design is a very complicated process.
Starting point is 00:40:03 So for me personally, I think the best way to get into chip design is to join a team that know what they're doing and learn from it. Is it usually a EE background? EE background is the way to go, yeah. And is FPGA, if you're not a EE or you're a double E who specialized in something else is FPGA work the way to go towards learning about how to design develop cores or is there a better way you you mentioned develop cores do you mean to develop chips or develop cores? What's the difference? Well, okay. A core could mean many things, right?
Starting point is 00:40:49 So in my case, in my work, a core means the CPU itself. And a core could mean any, in the industry, IP industry, a core could mean any IP that's special to that company, that's their product. So if I made my own spy widget that was faster and had better DMA or some secret sauce, that would be a core, but it wouldn't be a chip and it wouldn't be a CPU. Right. That's just an IP core in terms of, you know, that's what you want it to do.
Starting point is 00:41:23 Okay. So designing FPGA, is it a good way to learn to design NIC? It's one aspect of, you learn to synthesize, but then your challenge is in understanding how it maps into the FPGA fabric, which is different from NIC design. So they're related, but yet it's not exactly the same. So do you have a path? I mean, you get a double E degree and you join a good team who can help you learn all of this.
Starting point is 00:41:58 What other ways can people get involved themselves to learn how to do chip design, to learn how to do processor design? Processor design or chip design? I'm just going to keep changing the words each time. Okay, maybe I shouldn't try to confuse that further. If somebody wanted to work at Cordis to develop their course, to work with you, and they maybe come from a double E college program, what are the steps? You know, knowing how to
Starting point is 00:42:39 from the hardware side, knowing how to code in RTL is a plus, and school teaches that. And if PGA development teaches that a little bit? Yeah. Okay. So knowing how to synthesize using EDA tools would help. That's all on the hardware side. On the software side, if you're a compiler engineer, that's good. A linker engineer, that's good.
Starting point is 00:43:03 So just basic hardware and software design skills would be something that's advantageous to join a company like Cortis. That's the development side. I'm in the field, I'm a technical support for sales. So from my perspective, knowledge of hardware and software, a higher level. I don't go deep anymore. I used to at one point, but not anymore. Beyond the hard skills, as a field person, a lot of soft skills, the people skill is required to try to understand what the customer's needs are.
Starting point is 00:43:38 That is very, very important in the field. Of course. It's easy to get into the field and want to tell them how to do their job. But first, you have to listen to what it was they needed. Yeah, first mistake is to tell customer, that's dumb. No, you'd never say that. I was about to say, you have a difficult job because you're sort of part of sales, but you're also fielding technical questions from customers, some of which might be completely outrageous.
Starting point is 00:44:07 And you don't want to lead them down the primrose path, but you don't want to say, that's impossible. Yeah. So, you know, some tact has to be involved, you know. If they come up with something that you think is totally idiotic, you would say something like, well, that's interesting. It's like Japanese, you know, they never say no. They just say, it's very, very difficult. Very, very difficult. So I have to take the same path to say, you know, that may not be good, but why don't
Starting point is 00:44:36 you look at it this way and try to point them to a different angle and convince them. So that is something that I learned on the job to how to convince people that certain paths are more suicidal. Certain paths are more suicidal. If you ever I can't actually ask you what's the most outrageous question because it might be traceable back to somebody.
Starting point is 00:45:05 Ask. But, I mean, I hear a lot, you know, people say, oh, I want a table in December. So I, you know, instead of saying that's impossible, I would look at them and nod my head and smile and say, that's a bit aggressive, don't you think? Yep, aggressive. And just leave it like that. And invariably, you know, by January, they say, that's a bit aggressive, don't you think? Yep, aggressive. And just leave it like that.
Starting point is 00:45:27 And invariably, you know, by January, they say, oh, we are running into this, this, this, you know, we're not taping out for another six months. I said, oh, wow. Okay, well, let me see what I can do to help you. Tell me what your problem is. Is it my side? And they say, oh, no, no, it's something else. So yeah, trying to yeah, trying to calm the situation. Well, that's also the improv. Never say no. Always say yes and. Yeah.
Starting point is 00:45:53 Yes and you can't do that. No, no. Yes, and if you want to tape out by December, it's going to cost a lot of money. But sometimes it's just impossible, right? Oh, yeah. Like the old adage that a woman can make a baby in nine months, but nine women cannot make a baby in one month. I read, I think probably on Twitter, that somebody gave
Starting point is 00:46:16 their boss the Mythical Man month, and the boss did not understand, so he gave him two copies so he could read it faster. That's a good one. That's a good one. Nice demonstration. Is anything changing in that regard to make things faster? Or are we kind of stuck in this 18-month cycle forever? I believe the EDA tools has come a long way to help out. So that's the tool side to help you verify your product and to verify
Starting point is 00:46:48 before taping out. So those tools has been improving to make your tape out faster. But on the other hand, your chip gets more complicated. So kind of like one cancels the other. Well, Christopher, I think I'm about to lose my voice. So do you have any other questions? I think that was it. All right.
Starting point is 00:47:10 Manny, do you have any last thoughts you'd like to leave us with? Yes. From our talk, it sounds like it's such a difficult and mysterious process to make a chip, but it is not. Join a team and just have fun. Learn the tools and go with it and build a chip. And for your company, it's a challenge and challenge is always good to help your mind to stay sharp. or go into computing science, you know, take your internship seriously. Find positions that will teach you real life skill so that, you know, when you graduate,
Starting point is 00:47:51 you can join a team to make ICs or, you know, just have a lot of fun in this industry. That's a great note to leave it on. My guest has been Manny Wright, Senior FAE Manager at Cordis. If you'd like to know more more there's more in the show notes thank you as always to Christopher White for co-hosting and producing
Starting point is 00:48:11 and thank you for listening have a good week and we'll talk again next week I do have a final thought for you this one is related to the coughing which probably didn't get entirely produced out it's from Israel Moore the coughing, which probably didn't get entirely produced out. It's from Israel Moore, a Yivor.
Starting point is 00:48:32 It's not bad to cough, but cover your mouth when coughing. It's not bad to complain, but cover your mouth when complaining, else you'll spread infections of complaints on us.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.