Embedded - 105: Some Paths Are More Suicidal
Episode Date: June 17, 2015Manny 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)
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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?
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,
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.
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
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.
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.
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?
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
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.
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
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.
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
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,
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
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.
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.
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?
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,
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
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
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.
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.
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.
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,
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.
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,
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,
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.
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.
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.
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.
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
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,
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
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.
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.
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?
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.
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.
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
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.
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
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.
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.
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,
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
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.
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,
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.
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
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.
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.
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.
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
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,
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.
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.
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.
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.
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.
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.
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.
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,
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.
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,
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.
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.
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.
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.
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,
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
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.
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.
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?
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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
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
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.
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,
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
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.
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.