Episode 147 – Dr. Ray Hoare, Founder Concurrent EDA

“What we bring to the table is we understand how to take the data, do real-time compute, and turn it into knowledge. So, you got raw data coming in, you got knowledge coming out.” 

Modern machine vision and imaging systems can throw off a firehose of data far faster than a general-purpose computer can absorb it. Concurrent EDA founder Ray Hoare, PhD, has spent two decades on the other side of that firehose, taking algorithms and moving them into electronics so the compute happens right at the sensor, in real time. 

In this episode of Manufacturing Matters, TECH B2B Marketing’s Jimmy Carroll sits down with Dr. Hoare to talk through the latest in real-time processing. Dr. Hoare discusses how AI has reshaped the way his team builds — including generating 600,000 lines of codein a single month — and why he keeps telling engineers to “dream big” and prototype what used to feel impossible. 

The conversation covers when GPUs like NVIDIA Jetson win versus when FPGAs are the only option, such as scenarios involving submillisecond latency, 1,000+ fps cameras, and 50-to-100 Gbps data rates in real-world high-speed applications from additive manufacturing melt-pool monitoring to laser tracking and 3D metrology. The discussion also covers open smart cameras, MIPI sensors, image signal processing techniques, and how the same “firehose” thinking applies to RFSoCs for defense; time-sensitive networking as “Ethernet 2.0”; and a UDP/IP core that moves data from programmable logic to Python far more efficiently than Linux. Dr. Hoare closes with the diagnostic questions he asks every customer: where is your data coming from, what are you trying to extract, and where is it going? 

Reynolds & Moore logo

Episode 147 – Dr. Ray Hoare, Founder Concurrent EDA: Audio automatically transcribed by Sonix

Episode 147 – Dr. Ray Hoare, Founder Concurrent EDA: this m4a audio file was automatically transcribed by Sonix with the best speech-to-text algorithms. This transcript may contain errors.

Jimmy Carroll:
Hi, everybody. My name is Jimmy Carroll. I'm the vice president of operations at Tech B2B Marketing. And welcome to this episode of the Manufacturing Matters podcast, where we discuss the trends and technology shaping the manufacturing industry and beyond today. I've got the pleasure of being joined today by my friend Dr. Ray Hoare, who is the founder of Concurrent EDA. Ray, thanks so much for taking the time. Really appreciate it.

Ray Hoare:
My pleasure, Jimmy.

Jimmy Carroll:
Great. So, we're going to talk a lot about FPGAs and embedded vision and AI and a lot of other fun stuff today, but I guess kind of to set the table, you've been in the FPGA and embedded vision space for a long time now. So, in the last month, I feel like there's been a fairly dramatic shift. What's changed most to you?

Ray Hoare:
So, I've been doing this 20 years at Concurrent EDA, 10 years before that, so quite a while. And really in the past six months, probably a year, but really the past six months, even a couple of months, everything's changed. I shouldn't say everything, but fundamentally how we do things has changed. And obviously I'm talking about AI. And everybody's familiar with ChatGPT and Grok, and your Tesla, if you have one, or however you do it, or then Claude Code. And Claude Code has just transformed software engineering from, oh, how we do code to how we do testing to how we look at problems. And it's not so much that the engineering mentality has changed, or how we approach a problem has changed, but our capability has changed. So, we're compute nerds, right? So this is who we are. I'm happy. Happy title. I, you know, PhD and nerd-hood of computer. This is the fun stuff. But just in the past month, one month, we're all in on Claude Code, and we're using it very purposefully, but 600,000 lines of code was generated. Like it's just, it's phenomenal. So, the last time that this sea change happened, that it was such a big jump, was when we had compilers, and we went from assembly code — now this is like way back from like the dawn of time, right — to C code and then high-level languages.

Ray Hoare:
But it's really that compiler. So, now we have this AI level that we go from detailed specs down into code and then looking at code. And it's just, it's just changed everything from our approach to problems to the amount we can do and the scope of what we can do and the scope of testing that we can do. And that's something that I think is really important to understand is it's not just about generating code because we can generate code, we can handwrite code, but right now we can do more testing and more code testing than we ever have. So, rather than just functional, yes, it works and we'll put it on the board and hopefully it continues to work. No, now we can run it through gobs of testing and actually look, Hey, did every line of code get coverage, did every branch get coverage. So, we can really get into the nitty-gritty. So, it's very exciting.

Jimmy Carroll:
Yeah, absolutely. And AI, like you said, it's changing everything, not even just in your space but day-to-day life, right? Like looking outside the other day with my kids, and they're like, Look at the size of that beetle and what kind of beetle is it, Dad? I'm like, let me, let me find out for you.

Ray Hoare:
Quick. Just look it up.

Jimmy Carroll:
Yeah. I should have set the table here by asking this, but I guess in this part I'll ask a two-part question. You've described Concurrent EDA as making a shift from being an FPGA GPU specialist to system engineers. So, the first question I was going to ask is, What do you mean here? And what does this mean for your customers? But then also, before you answer that, tell us a little bit about like, what's the short description of what Concurrent EDA does?

Ray Hoare:
Right. So, we take algorithms and move them into electronics. So, we take software and move them into electronics. If you want a custom camera, well, what is a camera? Well, it's something that takes pixels and produces a result. Well, we can take pictures, we can generate MP4s. But now with computer vision, I can say, Oh, am I seeing the right measurement of that object? What am I seeing? Teslas, you know, their self-driving. Is that thing in the road a stick or is that a person. Well, you've got to know. So, fundamentally, now we can take cameras and images and now get content out of it. So, we're compute nerds. And so we look at the world from a bits and bytes and ops and flows and all this stuff. And this is where we live, which is a lot of fun for me because I'm a nerd, but really now, I'm not just now inside the chip in that little corner or that little piece of the system and all this other stuff that has to go with it. Well, now we can do all the other stuff that goes with it. So, some of the time, some of the software engineering that we go to like, okay, well, you want to do processing from the data to the host PC.

Ray Hoare:
Okay. Well, all right, well, we're going to do that. What kind of interface do you want? All right, now we do that in real time. So, we go from from chips now to systems. So, system is now we're like looking at everything from which light did you pick and all of the physics that go into that sending. In computer vision, we're essentially throwing and catching photons, right? So, the throwing of the photon, the light, the bouncing that photon off into the sensor is just as important as catching it in the sensor and processing. So, really, you got to go all the way back to, Where's my light source? How is it getting to the subject? How is it reflecting off the subject? What is the reflectivity through the lens into the sensor? Which sensor is it? Is the subject moving? All these things now are all intertwined. And then you get an image. Okay, so now you know you got an image, and now you can do the compute.

Ray Hoare:
Now do you want to do the host? You want to do it in the camera? Do you want to do it in the cloud? Where do you want to do it? And so we can actually explore a bunch of these things. And the rapid exploration with AI is just phenomenal, right? Because before like, oh, well, we're going to explore one or two things. Well, now we're going to explore five things and figure out which one's the best and look at the calculations. And if we're not sure, we have encyclopedia at our fingertips with Claude or ChatGPT or something. You got to double check them, but they're really quite good at doing the calculation. So, it's amazing. And we can customize it. So, we're not like, Oh, you want a camera, you're getting an HD camera, you're getting this frame rate, and be glad you have images. No, no, no, no, no. It's like, no, no, this is my problem. Solve my problem. And that's the exciting part. That gets us from like the compute nerds that we are to, hey, we can solve end-to-end problems, and that's really even more fun for us.

Jimmy Carroll:
Yeah. Okay. So, I see what you mean there by being system engineers as opposed to just folks that really know VHDL code well, right?

Ray Hoare:
Right.

Jimmy Carroll:
So, you know, on that note, I guess there's a lot of noise these days about GPU versus FPGA for edge AI and other compute intensive processes, right? So, in our conversations, which has been plenty, we've had this discussion before, but for the audience, right? Like what's the honest answer? When does each one of these win? Where do FPGAs still have a clear edge and vice versa?

Ray Hoare:
Right, right. And just to be clear, so our customer is the customer, not the vendor, right? So, we're solving customer problems. And I will have to tell people, and I will continue to tell people, Hey, listen, if you could do it in software, you should do it in software. It's much easier. And then so that includes GPUs, which is great. So, we do a bunch of stuff with Jetsons, and we do a bunch of things with FPGAs. And they have kind of their niche, right? The general purpose machine vision, a Jetson, which is a GPU in an embedded environment, is a great solution. If you can handle, let's say the latency of 40 milliseconds, which is really fast, to get your first image back. And maybe you want 25 frames a second, 20, 30, maybe 50 frames a second and to do some processing. Fantastic. Right? It's, it's the right solution. So, like the Allied Vision Alecs camera, which has the embedded as a 5 megapixel or 12 megapixel sensor with a Jetson all in one nice compact form factor. Fantastic. We love it. We're doing a lot of things with it, bar code reading, etc., and that's a great solution. Now where it doesn't do well or where there's an alternative solution is, well, what if I need submillisecond? You know, that 40 milliseconds to get the frame into the Jetson, sometimes it's like, well, forget it. I gotta respond. I have a control system. So, I'm seeing something like a laser, and I'm doing a compute, and then I'm changing what's going on with the laser. You really got to be really, really, really tight. So, that latency is critical. Or if you want to go really fast. If you want 1000 frames a second, you can't do that in an Nvidia Jetson at this time. So, you got to do FPGAs. You got a lot more data that's just not designed. That's a high-speed camera. So you got to have a higher speed interfaces than MIPI.

Jimmy Carroll:
Yeah. It's a really good answer. And I just think if you try to put it into context some more, what you all do is unique in the sense that if a customer comes to you with a processing problem or a data problem, you can help solve that. And that's simplifying it. It's a lot more than that, but I wanted to ask about some use cases that I think would help kind of paint a picture of not only what you do, but maybe what are some of the common high data rate, high-speed challenges as well. So, on that note, there are so many high-speed, high data rate cameras these days. What do you do with all that data when it comes in? Right? So, that firehose of data problem. Where does it come from, and why are FPGAs, in your opinion, uniquely positioned to handle it?

Ray Hoare:
Right. So, if you take a machine vision camera, and you broke open the case, you would see that there's an image sensor and there's an FPGA in there. So, whether you use the FPGA for just moving the data to the host, in nearly all machine vision cameras, there's an FPGA in there. Now some of them are a little bit bigger, and we can put some compute inside them. Our GigaSens camera is one of those things where we can actually put some compute in it. A lot of the FPGAs on the market for machine vision cameras, they don't have enough room in them. They made them just big enough to to meet the problem. And all they can do is like, send it along. So, at high-speed cameras, we're at 50 gigabits per second, right? And if you look at a CHP camera, well, that's four lanes of CXP going full tilt. That's 40 gig, right? So, now CXP is getting faster. That's great. RDMA is coming. That's great. But what are you going to do with the information? So, you're going to get that massive firehose of information from the sensor, and do you need to respond to it in real time? Or are we just capturing data that we're going to look at maybe later in minutes or hours? If you need to respond to it in seconds, well, you don't want to put it on a disk and then read it from a disk, right? You just added all sorts of latencies. So, you really shouldn't procrastinate those decisions. You got to take that data coming in. And 50 gigabits is really, these machine vision cameras, we're going 40, 50, now we have 100 gig cameras. Like, what are you going to do with it? How are you going to process it? You can't procrastinate the problem, so you might as well deal with it upfront.

Jimmy Carroll:
Yeah, yeah. For sure. On that note, a 50 gigabit per second camera that's operating at 2000-plus frames per second. Not every application in the world, obviously, in machine vision is going to need that speed or, you know, it just won't need that much. But many will. So, what are some real-world applications that do, and how have you helped enable these?

Ray Hoare:
Sure. So, one example. If you think of anything involving a laser, just think of, okay, if it involves a laser and you're trying to do some sort of image processing with it, it's going to be fast. Because whether that's additive manufacturing where you're taking a laser and injecting heat through a laser to a powder and melting it. And that's called melt-pool monitoring, where you have to look at that pool, and if it's not a big enough pool, you didn't melt it enough. If it's too big a pool, it's flopping everywhere. So, you have to be able to look at that melt-pool monitoring, respond to it in real time, and control the power of the laser and everything else in the system, right? And to tune that. So, that's an example of you got to grab the data. You got to do the processing as it comes in, tune your system. That's a control system, right? You got, you got the data coming in, you're going to do the calculation, you're going to respond to it. That's where latency is like the big, big one. You're not waiting 30 milliseconds or 15 milliseconds. You're like, I need to be in millisecond or submillisecond range. So that's one example. Laser tracking for various military as well as scientific applications where you're trying to measure where something is positionally, you're shining lasers on it to figure out where its position is, well, you got a control system again, right?

Ray Hoare:
I'm going to move something, adjust something, make sure it's just right. And so those lasers, you're going to get them into the sensor, figure out where the position of the laser is in your image, and that tells you about your subject, and you can correct it. So, those are two of the laser ones. Other things are, if I'm looking at 3D metrology, where we're taking a laser line, and we're shining a laser line on a subject. Well, the offset of that laser line is the height of the object, right? And that's how we get our Z-dimension. So, you got to be able to . . . Each, each one of those pictures that measures that offset of the laser line is only one line of your final image. You're doing a big scan. So, it's got to be really, really fast. So, those are two examples where FPGAs in that real time in the data as it comes in, before the next frame comes in, you're done with the compute. That's where it's really critical.

Jimmy Carroll:
Now as far as where you guys fit in there, how do you help enable these applications?

Ray Hoare:
That's a great question. So, we get all sorts of questions, which is a lot of fun. That's like one of the fun parts of my job is I learn all sorts of new things. We're compute nerds, and so we get a bunch of compute problems. So, a customer comes in and says, Hey, I'm trying to solve this problem. Can it be solved? And those are always the fun ones. Can we solve this? This is the engineer in me. But what we look at, and we say, Okay, what is the compute? What's the data rate coming in? All right, we're going to take that algorithm, we're going to model it in software, and then we're going to convert it into the FPGA inside of the camera. For example, our GigaSens camera, we have enough FPGA space in there that we can do real-time compute. So, we're experts at FPGA design. Nobody . . . our customers don't need to do that. They're like, Hey, I want a camera that does X, Y, and Z. Here's my model, my MATLAB, my Python, whatever it is. Can you do that in the camera? Or here's my problem. Then we're like, Aha, this is fun. We can then, just for nerds, right? So, then we're like, we get inside the camera, and we can put it into the camera, and then what they get out is a custom camera.

Jimmy Carroll:
Yeah, interesting. There's been a number of different products you've mentioned here that I want to talk about. Not that we just want to hawk products, of course, because that's not what you do anyway. But one product that I know you're very excited about from talking to you about it, and it's not yours, so, like I said, we're not just promoting it, is that Alecs open smart camera from Allied Vision. And we've talked a lot about this before, but for the audience, what type of new applications could emerge here, and how how could people more easily, I guess, deploy edge AI applications with it?

Ray Hoare:
Yeah, it opens up edge compute in general, whether you're putting it in this Alecs camera that has the GPU in it or you're putting it in the GigaSens camera with the FPGA running at super high frame rates. The big thing is we can take algorithms and put them to the edge. And the fun thing with AI is you can kind of go, I don't know, is this possible? And the customers can go out on Claude or ChatGPT and start researching the problem and say, Okay, generate me some Python code. Right? If you have Claude or Claude Code, go generate it. Just tell it to give you a solution for this. Give it some data, and tell it, Hey, use computer vision and give me a Python program. And if you're not, or even don't tell it, give you Python program. Do the compute for me, and show me this as possible. And it will go off, and it will actually generate the code and do the processing. And you can be like, No, that's not quite right. Do it like this. And you can interact with Claude that way. And then you're like, Hey, wow, this is possible. And for us, that's perfect, right? So, we just want people to say, Hey, dream big. Even if Claude's not behaving for you, right? We know how to massage it and beat it into submission and get it to do what we want to do because we're computer vision people too, like, all right, we can help you do that. And it's going to take a while, right? And Claude's going to the cloud doing it, but don't think of it that way. Think of it as, this is how I'm going to prototype my algorithm and see what's possible.

Ray Hoare:
So, go explore. Go figure it out. This is just a fantastic time, right? Anybody can. It's accessible. So, that's the fun part, right? And then we can help them and be like, Ah, I see what your problem is. You've got some data, right? Let me try this, that, and the other thing and give it a little more guidance with computer vision knowledge and then rapidly prototype and say, Look, this is possible. This is real. This is real. And then we can say, Okay, now we put it into a camera and there's a process for that. But it's a definitive process after that. And then all of a sudden you've got this compute at the edge. So, specifically I'll answer your question, like the Allied Vision Alecs camera is an open camera. You can put anything you iwant on there. You buy the camera, it's open. And the nice thing is it's all enclosed, right? The lens has an enclosure, I think it's IP 65 or 67, so it's all enclosed. Spray it down, doesn't matter, right? So, like, okay, great. And there's built-in lights from Smart Vision. They've already integrated them. It's all like it's a package deal. It's ready for your algorithm, it's ready to deploy. And I think that opens up a lot of lower-quanity applications. You know, GM is going to do what GM is going to do, right? They're going to spend billions of dollars on this, and they're going to make a custom solution. But now all these other applications that we have access to with this camera.

Jimmy Carroll:
Yeah, I thought of you when I saw that Super Bowl ad for OpenAI. And it was like, you can just build, and you're like, dream big, try to build it, see what you can do, right?

Ray Hoare:
Very exciting, very exciting.

Jimmy Carroll:
We kind of talked about embedded vision. And that's one of those terms that, if you seen over the years, it kind of means different things to different people. And in some ways that's edge AI lately, right? But maybe a more traditional or, I don't want to call it traditional, but another form of embedded vision is projects involving MIPI cameras, MIPI sensors, and embedded FPGAs. And I'm wondering, what are some interesting applications you've worked on lately? And are there any types of applications that need this combination? And then again, where do you come in?

Ray Hoare:
Right, right. So, if we go back to that Alecs camera, it's actually a MIPI camera inside of there all hooked together. So, if you're like, Oh, that's not the sensor I want. Well, if you want a few of them defined, I don't know as what, but anything in the Allied Vision cameras that has a MIPI sensor, you're like, Oh, I saw that MIPI camera. I want this resolution in that camera. Then it gets customized, right? So, that's all possible. But in general, then you could say, Well, no, I'm going to buy my own Jetson and hook it to a MIPI camera or my own FPGA and hook it to MIPI camera. You name it, Sony probably has a sensor for it, right? But specifically some of the challenges and opportunities there. The challenges with the color sensor is that you don't get RGB. It doesn't come back at you like, Oh, here's a pretty PNG file. No, it doesn't work like that. You get a Bayer pattern, and then you your reds and your greens and your blues are not all perfectly balanced. They have different sensitivity for your lighting, yada, yada. So, you got to do what's called an ISP, an image signal processor, behind the camera to get a good image out. So, maybe within that image you might have some bad pixels. You have to correct for the bad pixels, right? I mean it's going to happen.

Ray Hoare:
Otherwise you're going to pay out. You're just too expensive, right? We can correct for that. A few bad pixels are not going to change your image. And so you can just replace that with its nearest neighbors on a few of them. And then we got to know, Is that in your key measurement area? Okay. Well, all right, but then we're also at the deep Bayer. It comes at a Bayer pattern that is not RGB. So, how do you convert it from the sensor pattern to RGB? Well, you got to do that conversion, and then you got to do color correction because not all the sensors, all the different lighting sensors, are the same. And then you have the white balance. So, you have to make sure everything is in balance. So, all of those things are part of this ISP. And that's part of this thing, this challenge. But then the opportunities within that, with a MIPI camera, is that we can then correct for lighting. So, there's something called flat-field correction, where I can take a light, and I'm focusing a light, but as I get away from the center, the light dissipates. And so we can actually balance out that light with flat-field correction. So, there's some fun things and opportunities that we can do with ISPs, whether it's in an FPGA or a Jetson.

Jimmy Carroll:
Yeah, for sure. I mean, as far as those ISP tasks that you mentioned, those apply to obviously a wide range of applications and industries, but what are some areas where you're seeing MIPI cameras being used a lot? Like, you know, ADAS systems come to mind, or what else?

Ray Hoare:
Yeah. So, ADAS is huge, and that's into the automotive. And so you're looking at a whole bunch of cameras. You're trying to feed them in, you're trying to get them to be together and as a common picture. The other thing is barcode reading. We're looking at barcode reading. And can I read the barcode from a 12 megapixel image? Wait a second, right? Our scanners are great. You're going to scan this little barcode, and it's all going to come through, and you're going to be fine. But if I have a 12 megapixel image, I have to first find them. Then I could do the decoding. So, that's really where, if your fiducial points, if you're trying to measure something instead of, Oh, here's my measure, that's all great. Those are some, definitely some big ones.

Jimmy Carroll:
Trying to think of what else you've talked about that I wanted to circle back on. RDMA, RoCE v2. We mentioned that earlier. So, GigE Vision 3.0 is officially out.

Ray Hoare:
Yeah.

Jimmy Carroll:
And we've talked about this for a bit. And I believe that you recently built a custom GigE Vision GUI over a long weekend, right?

Ray Hoare:
Yeah, that was a lot of fun. I was just having a good time with it. So, we had this custom camera application that we're doing, and like, okay, well, how do I, I kind of . . . I got a prototype this and I need to be able to send the camera. We're in the middle of development. So, this was even before . . . This was just standard GigE Vision 2.0. We're like, Okay, I need a camera simulator. Okay. So, all right, well, I'm using Claude, and I'm like, all right, let's get this camera simulator. Well, it's giving me a nice pattern, you know, that you see on the screen. No, no, I really want a laser moving around. So, I'm like, okay, use Chat Claude and modify. So, modify that. And then, okay, now we're going to send it through a different socket to an Aravis receiver, and then I want to put it to this GUI, and I want to measure this, that, and the other thing. And it's just rapid prototype. Rapid, rapid, rapid, just like, okay. And I was just like, holy crap, that actually worked, you know? So, we're in this age of dream big and bring in the experts to help you guide the process. So, it doesn't quite work for you? That's okay. Right? You know, the rest of us are banging our heads against the wall too, right? And this is the fun part, right? We're like, what can I do? What can I do? And so, GigE Vision, sending GigE Vision packets, receiving GigE Vision packets, you name it. It's all possible. I don't want a GigE Vision packet. I want an x, y coordinate into my frames. I wanted this, or I wanted that. I want my graphical interface to look like this, and I'll put this here. Dream big. I mean, that's just, that's the exciting part for me. Just all the things you can do and, you know, 600,000 lines of code last last month. We've been trying everything, right? Like, okay.

Jimmy Carroll:
It really is wild the way the ways you can use AI. And that's another good kind of practical example of how AI has changed what's possible. One area you mentioned earlier and that we've talked a lot about lately is in defense. There's been some notable technological developments there that's not necessarily built for the defense space but specifically benefit them. Thinking things like high-speed, like we talked about, FPGAs, but then also RFSoCs, which are a hot topic right now. Maybe you could talk a little bit about what those are and then what's driving these developments? And what do you bring to that space that maybe a traditional defense contractor wouldn't?

Ray Hoare:
Right. So, we've been talking all this time about computer vision. And what do you mean we're talking about RF now? It's like, what? This doesn't relate. But it's actually the same thing, right? I've got a firehose of data coming in, whether it's pixels or packets or RF samples. You've got more data that you can just sit on. You've got to react to it in real time. You need a control system of some sort. If we're trying to detect frequencies that maybe drones are using, and we shouldn't be seeing drones here, wait a second, right? You know, or sound. They all make a funny sound. They're like, Okay, I'm looking at different spectrum from this RFSoC, this RF system on chip. So, what that really is . . . In the FPGA world, we used to have glue logic as ANDs and OR gates. And then we're like, Oh, we can do multiplies. Oh, wow. No, now we can do high-speed I/O, and then they said, Well, why don't we put a CPU inside of there? And so now the latest chip from AMD has 18 CPUs in it. Eighteen. There are 10 real cores, like real Arm cores, eight real Arm cores, and then 10 application-specific cores, plus FPGA logic, plus AIDS. I mean, I don't know what do you want to do, right? And then we have RF input coming into some of these.

Ray Hoare:
I'm like, okay, now I'm directly sampling RF frequencies, bringing it into the chip at 18 Gigasample per second over a whole bunch of different channels. So, you just got more data coming in, more compute coming in. And as compute nerds, that's what we bring to the table, right? Like, I don't care. What's your data? What's your compute? What are you trying to do with it? Right? Because you can't just store it to disk. You gotta react to it. So, that's the fun part. So, RFSoC is really good for defense and all sorts of test and measurement applications and other applications in medical. But really, we bring to the table, is we understand how to take the data, do real-time compute, and turn it into knowledge. So, you got raw data come in, you gott knowledge coming out. We're doing it 20 years. This is kind of fun for us. And like now we have these great tools that are like, Oh, try this out, try that out, try this. So, now we can all put the whole thing together on a chip and interface it. And even out of the back of those chips, okay, you got 100 gig link coming out. Like, good grief. Like what do you want to do? It really is a phenomenal time to be doing what we do.

Jimmy Carroll:
Well, I mean, if we're staying off the course of computer vision, machine vision, one thing I wanted to ask you about was your involvement in networking, specifically time-sensitive networking. First of all, what's that mean? Right? I think a lot of people in the audience probably do, but what type of applications involve correlating data from multiple sensors in near real time or real time, and is this becoming a more common request for you?

Ray Hoare:
It is, it is. So, now instead of just, I have one sensor. I have multiple sensors. And then I have to know that those sensors are coming in with the same timestamp. And in Ethernet, or standard Ethernet, you send data and the router is allowed to just drop your data. Like, what? That's not fair. It is. It's just like, Hey, I've got congested. I'm just going to drop your stuff. You figure it out. And so we layer protocols on top of it. But smart people said, Wait a second. We're better than that. What if we came up with a new standard called TSN or Time-Sensitive Networking, where it's really Ethernet 2.0, if you will, where I'm going to define streams of data all together. I'm not going to just have random data. I'm going to a priori say these computers are sending this data at this rate. These computers are sending this data at this rate. And I'm going to go through this switch. And those are called streams. And then we can schedule, and we can say, Yeah, you can do that. And they can all be tightly synchronized. So, and you can actually do time slices, you can do bandwidth control. And so there's a bunch of stuff in there.

Ray Hoare:
So, really now we have a network that can handle lots of different nodes in a time-synchronized manner. We can have reliable data transport. No packets are dropped. That's unheard of. But this is why it's really important, right? So, we can do that with networking. And then on the edge, something we've been working on is enabling FPGA designers to send packets seamlessly and without going through all sorts of software stacks. So, we have a UDP IP core that enables programmable logic to write data to a FIFO, and then out it goes into the network. And on the other side it comes to a UDP socket, which is then like a Python program, etc. So, if you think of it, this is like programmable logic to Python interface. We're sending data, and we can actually send it at a much faster rate than software can. So, software is really not that good. Linux is really not that fast at sending packets. It's a nice general purpose, but we can send data much more efficiently, like four times more efficiently than Linux can because we're doing it programmable logic and we're nerds, right? You know, we tweet. That's the fun part.

Jimmy Carroll:
Fair enough. We've covered quite a bit here, but if someone's listening to this, or if you meet somebody in person at a trade show or some other event, and they're running an industrial or defense or warehouse-type program where they have a problem with data rates or machine vision that they think is unsolvable, what's the first thing you ask them? What's the first thing you want them to tell you?

Ray Hoare:
Yeah. So, what is the source of your data? Is it an image sensor? Is it a packet, is it an RF? Where is your data source? Okay. How many pixels, how many frames per second? If you're talking about networking, are we talking 1 G, 10 G, 40 G, 25, 100 G. How much data rate are we talking about? RFSoC? How many samples per second? How many channels, how many bit widths? That gives me an idea of the flow of data that we like to call it our firehose, right? You know, where's my firehose coming? Because then we have to handle the firehose. We're on the other side of that firehose. Then there's, all right, well, what do you want to do with it? This is raw data, you know. Where's the knowledge in the raw data? What is the algorithm? What are you trying to pull out of it? Are you just trying to find out that, Hey, I see an RF that correlates to a drone, or I see an image coming in, and I see a barcode coming in, or what is it, right? I'm looking at packets. What are we looking for? What are we extracting? And so what is that compute? So, we want to prototype that compute, we're going to prototype it in Python. Python is great.

Ray Hoare:
You can run all sorts of data through Python and get AI to spew it out. We're not going to put that in the chip. But that gives us an executable spec of what you're trying to do. And then we can play with it and modify it and then, all right, so then that's your compute. And then where are you sending it? Who gets it? Is it the controller that's part of your control system, and you're feeding it back? Is it your machine vision host where you're going to say, Aha, that part was manufactured, and yes, it was within spec. Are we interfacing to your warehouse management system that, oh yes, that's that barcode for that pallet with that number at this time in that location. Okay. It's on that shelf. Okay, great. Got it. So, really, where does the data come from? What are we extracting from the data, and where are we sending the data to? Those are the big things that I'm looking at from a customer. And then I'm also trying to figure out, okay, now I know functionally what you're doing. Well, you have a latency issue. Like, is it a control system where I got to respond within a certain amount of milliseconds? All right. Well, everybody's got latency, but is it seconds or is it milliseconds or is it submilliseconds?

Ray Hoare:
If I'm trying to detect a projectile, I'm submilliseconds, right? We kind of need to know that, right? If I'm picking something up with a forklift, and I'm taking it somewhere, well, I've got a few seconds to once I picked it up and I'm moving, you know, I've got some time. So, but I got to be done by the time you get there, right? I got to be ready to pick up the next. So, these are all things that are really important. And then one last thing is that I kind of glossed over is size, weight, and power. Heat, right? So, this is unfortunately, Jimmy, this is kind of the problem that we carry around with us at the edge is that, well, if we're using GPUs, we're doing a huge amount of compute, you got to consider the power and the thermal, right, because it's going to take some compute. And the more efficiently we do it at the edge, the less size, weight, and power there is. So, that's the benefit of the FPGAs. It takes longer to get it to there with AI. We're getting really, really fast, but it's still longer than putting it on a GPU. But if your GPU is great, and you're like, hey, 15, 20 watts no problem. Fantastic. Like a forklift. It's fine.

Jimmy Carroll:
Sure. Before we wrap it up here, maybe almost the opposite question of that is, what type of applications are out there today that you think you have a specific solution for that people working on these systems might not be aware of?

Ray Hoare:
Yeah, we really got into computer vision a lot. And so, we've actually spent a lot of time with computer vision and how do we take images, look at images, extract meaning from images, and then put that into cameras. So, if someone is saying, Hey, I don't know if a camera can do this, or I have an idea. Well, come to us. If you've got a computer vision problem, we'd love to hear about it. We can put it into an Alecs camera, or Alecs camera, we can put it in an FPGA camera, can embed it, all sorts of opportunities there for things. If you are looking at RF or packets, these are the things, like tell me what your problem, what your problem is, right? Now tell me what your application is that we're trying to solve. We're going to jump into the trenches with you and help you solve your edge compute problem, right? And that's where we're at. We're at the edge. We're doing the compute at the sensors. We understand machine vision from photons to bouncing it to lenses to light, you know, the whole thing. And we'll help you solve your problem. And if we can't solve it, if we don't think we're the right people, we'll tell you, right?

Jimmy Carroll:
Fair enough. I mean, we have covered quite a bit, but is there anything else we haven't discussed that you want to put out there?

Ray Hoare:
Dream big. I would just say dream big. This is an exciting time to be a dreamer and to be like, I've got problems to solve. Can you help me solve our problem? And I love talking to customers. And you know, we don't charge for that. We don't. I'm just, hey, tell me about how can we help you? And if we can't help you, we'll let you know. But maybe we can give you some ideas on how to do it. And so this is the fun part of my job. And I'd love to talk with people who have real problems. We're not a huge organization. We don't have a bunch of bureaucracy. We're very customer driven. Reach out, give me a call. Send me an email. Love to.

Jimmy Carroll:
Yeah. Fair enough. I mean, on that note, I would encourage everybody to check out concurrenteda.com, follow Ray and Concurrent EDA on LinkedIn. If anybody has any questions, I'd be happy to pass them along. Reach out to me at Jimmy@techb2b.com or at manufacturing-matters.com. And Ray, once again, thank you, really appreciate it, and I hope you have a great weekend.

Ray Hoare:
Thank you, Jimmy. Appreciate it. This was fun.

About this transcript

The transcript on this page was created automatically with Sonix, which combines transcribing English audio with fast m4a-to-text conversion. Learn more about our audio-to-text converter.

Wondering how accurate automated transcripts are? how to remove metallic sound from audio explains how the industry measures it, and our guide to capturing great audio shows how to get the cleanest results from your recordings.

Create a free Sonix account to transcribe your own recordings in minutes — and check our pricing before you commit.

Jimmy Carroll: [00:00:02] Hi, everybody. My name is Jimmy Carroll. I’m the vice president of operations at Tech B2B Marketing. And welcome to this episode of the Manufacturing Matters podcast, where we discuss the trends and technology shaping the manufacturing industry and beyond today. I’ve got the pleasure of being joined today by my friend Dr. Ray Hoare, who is the founder of Concurrent EDA. Ray, thanks so much for taking the time. Really appreciate it.

Ray Hoare: [00:00:24] My pleasure, Jimmy.

Jimmy Carroll: [00:00:26] Great. So, we’re going to talk a lot about FPGAs and embedded vision and AI and a lot of other fun stuff today, but I guess kind of to set the table, you’ve been in the FPGA and embedded vision space for a long time now. So, in the last month, I feel like there’s been a fairly dramatic shift. What’s changed most to you?

Ray Hoare: [00:00:44] So, I’ve been doing this 20 years at Concurrent EDA, 10 years before that, so quite a while. And really in the past six months, probably a year, but really the past six months, even a couple of months, everything’s changed. I shouldn’t say everything, but fundamentally how we do things has changed. And obviously I’m talking about AI. And everybody’s familiar with ChatGPT and Grok, and your Tesla, if you have one, or however you do it, or then Claude Code. And Claude Code has just transformed software engineering from, oh, how we do code to how we do testing to how we look at problems. And it’s not so much that the engineering mentality has changed, or how we approach a problem has changed, but our capability has changed. So, we’re compute nerds, right? So this is who we are. I’m happy. Happy title. I, you know, PhD and nerd-hood of computer. This is the fun stuff. But just in the past month, one month, we’re all in on Claude Code, and we’re using it very purposefully, but 600,000 lines of code was generated. Like it’s just, it’s phenomenal. So, the last time that this sea change happened, that it was such a big jump, was when we had compilers, and we went from assembly code — now this is like way back from like the dawn of time, right — to C code and then high-level languages.

Ray Hoare: [00:02:20] But it’s really that compiler. So, now we have this AI level that we go from detailed specs down into code and then looking at code. And it’s just, it’s just changed everything from our approach to problems to the amount we can do and the scope of what we can do and the scope of testing that we can do. And that’s something that I think is really important to understand is it’s not just about generating code because we can generate code, we can handwrite code, but right now we can do more testing and more code testing than we ever have. So, rather than just functional, yes, it works and we’ll put it on the board and hopefully it continues to work. No, now we can run it through gobs of testing and actually look, Hey, did every line of code get coverage, did every branch get coverage. So, we can really get into the nitty-gritty. So, it’s very exciting.

Jimmy Carroll: [00:03:14] Yeah, absolutely. And AI, like you said, it’s changing everything, not even just in your space but day-to-day life, right? Like looking outside the other day with my kids, and they’re like, Look at the size of that beetle and what kind of beetle is it, Dad? I’m like, let me, let me find out for you.

Ray Hoare: [00:03:29] Quick. Just look it up.

Jimmy Carroll: [00:03:30] Yeah. I should have set the table here by asking this, but I guess in this part I’ll ask a two-part question. You’ve described Concurrent EDA as making a shift from being an FPGA GPU specialist to system engineers. So, the first question I was going to ask is, What do you mean here? And what does this mean for your customers? But then also, before you answer that, tell us a little bit about like, what’s the short description of what Concurrent EDA does?

Ray Hoare: [00:03:59] Right. So, we take algorithms and move them into electronics. So, we take software and move them into electronics. If you want a custom camera, well, what is a camera? Well, it’s something that takes pixels and produces a result. Well, we can take pictures, we can generate MP4s. But now with computer vision, I can say, Oh, am I seeing the right measurement of that object? What am I seeing? Teslas, you know, their self-driving. Is that thing in the road a stick or is that a person. Well, you’ve got to know. So, fundamentally, now we can take cameras and images and now get content out of it. So, we’re compute nerds. And so we look at the world from a bits and bytes and ops and flows and all this stuff. And this is where we live, which is a lot of fun for me because I’m a nerd, but really now, I’m not just now inside the chip in that little corner or that little piece of the system and all this other stuff that has to go with it. Well, now we can do all the other stuff that goes with it. So, some of the time, some of the software engineering that we go to like, okay, well, you want to do processing from the data to the host PC.

Ray Hoare: [00:05:11] Okay. Well, all right, well, we’re going to do that. What kind of interface do you want? All right, now we do that in real time. So, we go from from chips now to systems. So, system is now we’re like looking at everything from which light did you pick and all of the physics that go into that sending. In computer vision, we’re essentially throwing and catching photons, right? So, the throwing of the photon, the light, the bouncing that photon off into the sensor is just as important as catching it in the sensor and processing. So, really, you got to go all the way back to, Where’s my light source? How is it getting to the subject? How is it reflecting off the subject? What is the reflectivity through the lens into the sensor? Which sensor is it? Is the subject moving? All these things now are all intertwined. And then you get an image. Okay, so now you know you got an image, and now you can do the compute.

Ray Hoare: [00:06:11] Now do you want to do the host? You want to do it in the camera? Do you want to do it in the cloud? Where do you want to do it? And so we can actually explore a bunch of these things. And the rapid exploration with AI is just phenomenal, right? Because before like, oh, well, we’re going to explore one or two things. Well, now we’re going to explore five things and figure out which one’s the best and look at the calculations. And if we’re not sure, we have encyclopedia at our fingertips with Claude or ChatGPT or something. You got to double check them, but they’re really quite good at doing the calculation. So, it’s amazing. And we can customize it. So, we’re not like, Oh, you want a camera, you’re getting an HD camera, you’re getting this frame rate, and be glad you have images. No, no, no, no, no. It’s like, no, no, this is my problem. Solve my problem. And that’s the exciting part. That gets us from like the compute nerds that we are to, hey, we can solve end-to-end problems, and that’s really even more fun for us.

Jimmy Carroll: [00:07:11] Yeah. Okay. So, I see what you mean there by being system engineers as opposed to just folks that really know VHDL code well, right?

Ray Hoare: [00:07:20] Right.

Jimmy Carroll: [00:07:20] So, you know, on that note, I guess there’s a lot of noise these days about GPU versus FPGA for edge AI and other  compute intensive processes, right? So, in our conversations, which has been plenty, we’ve had this discussion before, but for the audience, right? Like what’s the honest answer? When does each one of these win? Where do FPGAs still have a clear edge and vice versa?

Ray Hoare: [00:07:48] Right, right. And just to be clear, so our customer is the customer, not the vendor, right? So, we’re solving customer problems. And I will have to tell people, and I will continue to tell people, Hey, listen, if you could do it in software, you should do it in software. It’s much easier. And then so that includes GPUs, which is great. So, we do a bunch of stuff with Jetsons, and we do a bunch of things with FPGAs. And they have kind of their niche, right? The general purpose machine vision, a Jetson, which is a GPU in an embedded environment, is a great solution. If you can handle, let’s say the latency of 40 milliseconds, which is really fast, to get your first image back. And maybe you want 25 frames a second, 20, 30, maybe 50 frames a second and to do some processing. Fantastic. Right? It’s, it’s the right solution. So, like the Allied Vision Alecs camera, which has the embedded as a 5 megapixel or 12 megapixel sensor with a Jetson all in one nice compact form factor. Fantastic. We love it. We’re doing a lot of things with it, bar code reading, etc., and that’s a great solution. Now where it doesn’t do well or where there’s an alternative solution is, well, what if I need submillisecond? You know, that 40 milliseconds to get the frame into the Jetson, sometimes it’s like, well, forget it. I gotta respond. I have a control system. So, I’m seeing something like a laser, and I’m doing a compute, and then I’m changing what’s going on with the laser. You really got to be really, really, really tight. So, that latency is critical. Or if you want to go really fast. If you want 1000 frames a second, you can’t do that in an Nvidia Jetson at this time. So, you got to do FPGAs. You got a lot more data that’s just not designed. That’s a high-speed camera. So you got to have a higher speed interfaces than MIPI.

Jimmy Carroll: [00:09:56] Yeah. It’s a really good answer. And I just think if you try to put it into context some more, what you all do is unique in the sense that if a customer comes to you with a processing problem or a data problem, you can help solve that. And that’s simplifying it. It’s a lot more than that, but I wanted to ask about some use cases that I think would help kind of paint a picture of not only what you do, but maybe what are some of the common high data rate, high-speed challenges as well. So, on that note, there are so many high-speed, high data rate cameras these days. What do you do with all that data when it comes in? Right? So, that firehose of data problem. Where does it come from, and why are FPGAs, in your opinion, uniquely positioned to handle it?

Ray Hoare: [00:10:44] Right. So, if you take a machine vision camera, and you broke open the case, you would see that there’s an image sensor and there’s an FPGA in there. So, whether you use the FPGA for just moving the data to the host, in nearly all machine vision cameras, there’s an FPGA in there. Now some of them are a little bit bigger, and we can put some compute inside them. Our GigaSens camera is one of those things where we can actually put some compute in it. A lot of the FPGAs on the market for machine vision cameras, they don’t have enough room in them. They made them just big enough to to meet the problem. And all they can do is like, send it along. So, at high-speed cameras, we’re at 50 gigabits per second, right? And if you look at a CHP camera, well, that’s four lanes of CXP going full tilt. That’s 40 gig, right? So, now CXP is getting faster. That’s great. RDMA is coming. That’s great. But what are you going to do with the information? So, you’re going to get that massive firehose of information from the sensor, and do you need to respond to it in real time? Or are we just capturing data that we’re going to look at maybe later in minutes or hours? If you need to respond to it in seconds, well, you don’t want to put it on a disk and then read it from a disk, right? You just added all sorts of latencies. So, you really shouldn’t procrastinate those decisions. You got to take that data coming in. And 50 gigabits is really, these machine vision cameras, we’re going 40, 50, now we have 100 gig cameras. Like, what are you going to do with it? How are you going to process it? You can’t procrastinate the problem, so you might as well deal with it upfront.

Jimmy Carroll: [00:12:32] Yeah, yeah. For sure. On that note, a 50 gigabit per second camera that’s operating at 2000-plus frames per second. Not every application in the world, obviously, in machine vision is going to need that speed or, you know, it just won’t need that much. But  many will. So, what are some real-world applications that do, and how have you helped enable these?

Ray Hoare: [00:12:58] Sure. So, one example. If you think of anything involving a laser, just think of, okay, if it involves a laser and you’re trying to do some sort of image processing with it, it’s going to be fast. Because whether that’s additive manufacturing where you’re taking a laser and injecting heat through a laser to a powder and melting it. And that’s called melt-pool monitoring, where you have to look at that pool, and if it’s not a big enough pool, you didn’t melt it enough. If it’s too big a pool, it’s flopping everywhere. So, you have to be able to look at that melt-pool monitoring, respond to it in real time, and control the power of the laser and everything else in the system, right? And to tune that. So, that’s an example of you got to grab the data. You got to do the processing as it comes in, tune your system. That’s a control system, right? You got, you got the data coming in, you’re going to do the calculation, you’re going to respond to it. That’s where latency is like the big, big one. You’re not waiting 30 milliseconds or 15 milliseconds. You’re like, I need to be in millisecond or submillisecond range. So that’s one example. Laser tracking for various military as well as scientific applications where you’re trying to measure where something is positionally, you’re shining lasers on it to figure out where its position is, well, you got a control system again, right?

Ray Hoare: [00:14:27] I’m going to move something, adjust something, make sure it’s just right. And so those lasers, you’re going to get them into the sensor, figure out where the position of the laser is in your image, and that tells you about your subject, and you can correct it. So, those are two of the laser ones. Other things are, if I’m looking at 3D metrology, where we’re taking a laser line, and we’re shining a laser line on a subject. Well, the offset of that laser line is the height of the object, right? And that’s how we get our Z-dimension. So, you got to be able to . . . Each, each one of those pictures that measures that offset of the laser line is only one line of your final image. You’re doing a big scan. So, it’s got to be really, really fast. So, those are two examples where FPGAs in that real time in the data as it comes in, before the next frame comes in, you’re done with the compute. That’s where it’s really critical.

Jimmy Carroll: [00:15:24] Now as far as where you guys fit in there, how do you help enable these applications?

Ray Hoare: [00:15:30] That’s a great question. So, we get all sorts of questions, which is a lot of fun. That’s like one of the fun parts of my job is I learn all sorts of new things. We’re compute nerds, and so we get a bunch of compute problems. So, a customer comes in and says, Hey, I’m trying to solve this problem. Can it be solved? And those are always the fun ones. Can we solve this? This is the engineer in me. But what we look at, and we say, Okay, what is the compute? What’s the data rate coming in? All right, we’re going to take that algorithm, we’re going to model it in software, and then we’re going to convert it into the FPGA inside of the camera. For example, our GigaSens camera, we have enough FPGA space in there that we can do real-time compute. So, we’re experts at FPGA design. Nobody . . . our customers don’t need to do that. They’re like, Hey, I want a camera that does X, Y, and Z. Here’s my model, my MATLAB, my Python, whatever it is. Can you do that in the camera? Or here’s my problem. Then we’re like, Aha, this is fun. We can then, just for nerds, right? So, then we’re like, we get inside the camera, and we can put it into the camera, and then what they get out is a custom camera.

Jimmy Carroll: [00:16:39] Yeah, interesting. There’s been a number of different products you’ve mentioned here that I want to talk about. Not that we just want to hawk products, of course, because that’s not what you do anyway. But one product that I know you’re very excited about from talking to you about it, and it’s not yours, so, like I said, we’re not just promoting it, is that Alecs open smart camera from Allied Vision. And we’ve talked a lot about this before, but for the audience, what type of new applications could emerge here, and how how could people more easily, I guess, deploy edge AI applications with it?

Ray Hoare: [00:17:15] Yeah, it opens up edge compute in general, whether you’re putting it in this Alecs camera that has the GPU in it or you’re putting it in the GigaSens camera with the FPGA running at super high frame rates. The big thing is we can take algorithms and put them to the edge. And the fun thing with AI is you can kind of go, I don’t know, is this possible? And the customers can go out on Claude or ChatGPT and start researching the problem and say, Okay, generate me some Python code. Right? If you have Claude or Claude Code, go generate it. Just tell it to give you a solution for this. Give it some data, and tell it, Hey, use computer vision and give me a Python program. And if you’re not, or even don’t tell it, give you Python program. Do the compute for me, and show me this as possible. And it will go off, and it will actually generate the code and do the processing. And you can be like, No, that’s not quite right. Do it like this. And you can interact with Claude that way. And then you’re like, Hey, wow, this is possible. And for us, that’s perfect, right? So, we just want people to say, Hey, dream big. Even if Claude’s not behaving for you, right? We know how to massage it and beat it into submission and get it to do what we want to do because we’re computer vision people too, like, all right, we can help you do that. And it’s going to take a while, right? And Claude’s going to the cloud doing it, but don’t think of it that way. Think of it as, this is how I’m going to prototype my algorithm and see what’s possible.

Ray Hoare: [00:18:53] So, go explore. Go figure it out. This is just a fantastic time, right? Anybody can. It’s accessible. So, that’s the fun part, right? And then we can help them and be like, Ah, I see what your problem is. You’ve got some data, right? Let me try this, that, and the other thing and give it a little more guidance with computer vision knowledge and then rapidly prototype and say, Look, this is possible. This is real. This is real. And then we can say, Okay, now we put it into a camera and there’s a process for that. But it’s a definitive process after that. And then all of a sudden you’ve got this compute at the edge. So, specifically I’ll answer your question, like the Allied Vision Alecs camera is an open camera. You can put anything you iwant on there. You buy the camera, it’s open. And the nice thing is it’s all enclosed, right? The lens has an enclosure, I think it’s IP 65 or 67, so it’s all enclosed. Spray it down, doesn’t matter, right? So, like, okay, great. And there’s built-in lights from Smart Vision. They’ve already integrated them. It’s all like it’s a package deal. It’s ready for your algorithm, it’s ready to deploy. And I think that opens up a lot of lower-quanity applications. You know, GM is going to do what GM is going to do, right? They’re going to spend billions of dollars on this, and they’re going to make a custom solution. But now all these other applications that we have access to with this camera.

Jimmy Carroll: [00:20:25] Yeah, I thought of you when I saw that Super Bowl ad for OpenAI. And it was like, you can just build, and you’re like, dream big, try to build it, see what you can do, right?

Ray Hoare: [00:20:35] Very exciting, very exciting.

Jimmy Carroll: [00:20:37] We kind of talked about embedded vision. And that’s one of those terms that, if you seen over the years, it kind of means different things to different people. And in some ways that’s edge AI lately, right? But maybe a more traditional or, I don’t want to call it traditional, but another form of embedded vision is projects involving  MIPI cameras, MIPI sensors, and embedded FPGAs. And I’m wondering, what are some interesting applications you’ve worked on lately? And are there any types of applications that need this combination? And then again, where do you come in?

Ray Hoare: [00:21:13] Right, right. So, if we go back to that Alecs camera, it’s actually a MIPI camera inside of there all hooked together. So, if you’re like, Oh, that’s not the sensor I want. Well, if you want a few of them defined, I don’t know as what, but anything in the Allied Vision cameras that has a MIPI sensor, you’re like, Oh, I saw that MIPI camera. I want this resolution in that camera. Then it gets customized, right? So, that’s all possible. But in general, then you could say, Well, no, I’m going to buy my own Jetson and hook it to a MIPI camera or my own FPGA and hook it to MIPI camera. You name it, Sony probably has a sensor for it, right? But specifically some of the challenges and opportunities there. The challenges with the color sensor is that you don’t get RGB. It doesn’t come back at you like, Oh, here’s a pretty PNG file. No, it doesn’t work like that. You get a Bayer pattern, and then you your reds and your greens and your blues are not all perfectly balanced. They have different sensitivity for your lighting, yada, yada. So, you got to do what’s called an ISP, an image signal processor, behind the camera to get a good image out. So, maybe within that image you might have some bad pixels. You have to correct for the bad pixels, right? I mean it’s going to happen.

Ray Hoare: [00:22:41] Otherwise you’re going to pay out. You’re just too expensive, right? We can correct for that. A few bad pixels are not going to change your image. And so you can just replace that with its nearest neighbors on a few of them. And then we got to know, Is that in your key measurement area? Okay. Well, all right, but then we’re also at the  [00:22:57]deep Bayer. It [00:22:58] comes at a Bayer pattern that is not RGB. So, how do you convert it from the sensor pattern to RGB? Well, you got to do that conversion, and then you got to do color correction because not all the sensors, all the different lighting sensors, are the same. And then you have the white balance. So, you have to make sure everything is in balance. So, all of those things are part of this ISP. And that’s part of this thing, this challenge. But then the opportunities within that, with a MIPI camera, is that we can then correct for lighting. So, there’s something called flat-field correction, where I can take a light, and I’m focusing a light, but as I get away from the center, the light dissipates. And so we can actually balance out that light with flat-field correction. So, there’s some fun things and opportunities that we can do with ISPs, whether it’s in an FPGA or a Jetson.

Jimmy Carroll: [00:23:56] Yeah, for sure. I mean, as far as those ISP tasks that you mentioned, those apply to obviously a wide range of applications and industries, but what are some areas where you’re seeing MIPI cameras being used a lot? Like, you know, ADAS systems come to mind, or what else?

Ray Hoare: [00:24:12] Yeah. So, ADAS is huge, and that’s into the automotive. And so you’re looking at a whole bunch of cameras. You’re trying to feed them in, you’re trying to get them to be together and as a common picture. The other thing is barcode reading. We’re looking at barcode reading. And can I read the barcode from a 12 megapixel image? Wait a second, right? Our scanners are great. You’re going to scan this little barcode, and it’s all going to come through, and you’re going to be fine. But if I have a 12 megapixel image, I have to first find them. Then I could do the decoding. So, that’s really where, if your fiducial points, if you’re trying to measure something instead of, Oh, here’s my measure, that’s all great. Those are some, definitely some big ones.

Jimmy Carroll: [00:25:02] Trying to think of what else you’ve talked about that I wanted to circle back on. RDMA, RoCE v2. We mentioned that earlier. So, GigE Vision 3.0 is officially out.

Ray Hoare: [00:25:12] Yeah.

Jimmy Carroll: [00:25:13] And we’ve talked about this for a bit. And I believe that you recently built a custom GigE Vision GUI over a long weekend, right?

Ray Hoare: [00:25:25] Yeah, that was a lot of fun. I was just having a good time with it. So, we had this custom camera application that we’re doing, and like, okay, well, how do I, I kind of . . . I got a prototype this and I need to be able to send the camera. We’re in the middle of development. So, this was even before . . . This was just standard GigE Vision 2.0. We’re like, Okay, I need a camera simulator. Okay. So, all right, well, I’m using Claude, and I’m like, all right, let’s get this camera simulator. Well, it’s giving me a nice pattern, you know, that you see on the screen. No, no, I really want a laser moving around. So, I’m like, okay, use Chat Claude and modify. So, modify that. And then, okay, now we’re going to send it through a different socket to an Aravis receiver, and then I want to put it to this GUI, and I want to measure this, that, and the other thing. And it’s just rapid prototype. Rapid, rapid, rapid, just like, okay. And I was just like, holy crap, that actually worked, you know? So, we’re in this age of dream big and bring in the experts to help you guide the process. So, it doesn’t quite work for you? That’s okay. Right? You know, the rest of us are banging our heads against the wall too, right? And this is the fun part, right? We’re like, what can I do? What can I do? And so, GigE Vision, sending GigE Vision packets, receiving GigE Vision packets, you name it. It’s all possible. I don’t want a GigE Vision packet. I want an x, y coordinate into my frames. I wanted this, or I wanted that. I want my graphical interface to look like this, and I’ll put this here. Dream big. I mean, that’s just, that’s the exciting part for me. Just all the things you can do and, you know, 600,000 lines of code last last month. We’ve been trying everything, right? Like, okay.

Jimmy Carroll: [00:27:22] It really is wild the way the ways you can use AI. And that’s another good kind of practical example of how AI has changed what’s possible. One area you mentioned earlier and that we’ve talked a lot about lately is in defense. There’s been some notable technological developments there that’s not necessarily built for the defense space but specifically benefit them. Thinking things like high-speed, like we talked about, FPGAs, but then also RFSoCs, which are a hot topic right now. Maybe you could talk a little bit about what those are and then what’s driving these developments? And what do you bring to that space that maybe a traditional defense contractor wouldn’t?

Ray Hoare: [00:28:05] Right. So, we’ve been talking all this time about computer vision. And what do you mean we’re talking about RF now? It’s like, what? This doesn’t relate. But it’s actually the same thing, right? I’ve got a firehose of data coming in, whether it’s pixels or packets or RF samples. You’ve got more data that you can just sit on. You’ve got to react to it in real time. You need a control system of some sort. If we’re trying to detect frequencies that maybe drones are using, and we shouldn’t be seeing drones here, wait a second, right? You know, or sound. They all make a funny sound. They’re like, Okay, I’m looking at different spectrum from this RFSoC, this RF system on chip. So, what that really is . . . In the FPGA world, we used to have glue logic as ANDs and OR gates. And then we’re like, Oh, we can do multiplies. Oh, wow. No, now we can do high-speed I/O, and then they said, Well, why don’t we put a CPU inside of there? And so now the latest chip from AMD has 18 CPUs in it. Eighteen. There are 10 real cores, like real Arm cores, eight real Arm cores, and then 10 application-specific cores, plus FPGA logic, plus AIDS. I mean, I don’t know what do you want to do, right? And then we have RF input coming into some of these.

Ray Hoare: [00:29:36] I’m like, okay, now I’m directly sampling RF frequencies, bringing it into the chip at 18 Gigasample per second over a whole bunch of different channels. So, you just got more data coming in, more compute coming in. And as compute nerds, that’s what we bring to the table, right? Like, I don’t care. What’s your data? What’s your compute? What are you trying to do with it? Right? Because you can’t just store it to disk. You gotta react to it. So, that’s the fun part. So, RFSoC is really good for defense and all sorts of test and measurement applications and other applications in medical. But really, we bring to the table, is we understand how to take the data, do real-time compute, and turn it into knowledge. So, you got raw data come in, you gott knowledge coming out. We’re doing it 20 years. This is kind of fun for us. And like now we have these great tools that are like, Oh, try this out, try that out, try this. So, now we can all put the whole thing together on a chip and interface it. And even out of the back of those chips, okay, you got 100 gig link coming out. Like, good grief. Like what do you want to do? It really is a phenomenal time to be doing what we do.

Jimmy Carroll: [00:30:53] Well, I mean, if we’re staying off the course of computer vision, machine vision, one thing I wanted to ask you about was your involvement in networking, specifically time-sensitive networking. First of all, what’s that mean? Right? I think a lot of people in the audience probably do, but what type of applications involve correlating data from multiple sensors in near real time or real time, and is this becoming a more common request for you?

Ray Hoare: [00:31:20] It is, it is. So, now instead of just, I have one sensor. I have multiple sensors. And then I have to know that those sensors are coming in with the same timestamp. And in Ethernet, or standard Ethernet, you send data and the router is allowed to just drop your data. Like, what? That’s not fair. It is. It’s just like, Hey, I’ve got congested. I’m just going to drop your stuff. You figure it out. And so we layer protocols on top of it. But smart people said, Wait a second. We’re better than that. What if we came up with a new standard called TSN or Time-Sensitive Networking, where it’s really Ethernet 2.0, if you will, where I’m going to define streams of data all together. I’m not going to just have random data. I’m going to a priori say these computers are sending this data at this rate. These computers are sending this data at this rate. And I’m going to go through this switch. And those are called streams. And then we can schedule, and we can say, Yeah, you can do that. And they can all be tightly synchronized. So, and you can actually do time slices, you can do bandwidth control. And so there’s a bunch of stuff in there.

Ray Hoare: [00:32:38] So, really now we have a network that can handle lots of different nodes in a time-synchronized manner. We can have reliable data transport. No packets are dropped. That’s unheard of. But this is why it’s really important, right? So, we can do that with networking. And then on the edge, something we’ve been working on is enabling FPGA designers to send packets seamlessly and without going through all sorts of software stacks. So, we have a UDP IP core that enables programmable logic to write data to a FIFO, and then out it goes into the network. And on the other side it comes to a UDP socket, which is then like a Python program, etc. So, if you think of it, this is like programmable logic to Python interface. We’re sending data, and we can actually send it at a much faster rate than software can. So, software is really not that good. Linux is really not that fast at sending packets. It’s a nice general purpose, but we can send data much more efficiently, like four times more efficiently than Linux can because we’re doing it programmable logic and we’re nerds, right? You know, we tweet. That’s the fun part.

Jimmy Carroll: [00:33:59] Fair enough. We’ve covered quite a bit here, but if someone’s listening to this, or if you meet somebody in person at a trade show or some other event, and they’re running an industrial or defense or warehouse-type program where they have a problem with data rates or machine vision that they think is unsolvable, what’s the first thing you ask them? What’s the first thing you want them to tell you?

Ray Hoare: [00:34:25] Yeah. So, what is the source of your data? Is it an image sensor? Is it a packet, is it an RF? Where is your data source? Okay. How many pixels, how many frames per second? If you’re talking about networking, are we talking 1 G, 10 G, 40 G, 25, 100 G. How much data rate are we talking about? RFSoC? How many samples per second? How many channels, how many bit widths? That gives me an idea of the flow of data that we like to call it our firehose, right? You know, where’s my firehose coming? Because then we have to handle the firehose. We’re on the other side of that firehose. Then there’s, all right, well, what do you want to do with it? This is raw data, you know. Where’s the knowledge in the raw data? What is the algorithm? What are you trying to pull out of it? Are you just trying to find out that, Hey, I see an RF that correlates to a drone, or I see an image coming in, and I see a barcode coming in, or what is it, right? I’m looking at packets. What are we looking for? What are we extracting? And so what is that compute? So, we want to prototype that compute, we’re going to prototype it in Python. Python is great.

Ray Hoare: [00:35:45] You can run all sorts of data through Python and get AI to spew it out. We’re not going to put that in the chip. But that gives us an executable spec of what you’re trying to do. And then we can play with it and modify it and then, all right, so then that’s your compute. And then where are you sending it? Who gets it? Is it the controller that’s part of your control system, and you’re feeding it back? Is it your machine vision host where you’re going to say, Aha, that part was manufactured, and yes, it was within spec. Are we interfacing to your warehouse management system that, oh yes, that’s that barcode for that pallet with that number at this time in that location. Okay. It’s on that shelf. Okay, great. Got it. So, really, where does the data come from? What are we extracting from the data, and where are we sending the data to? Those are the big things that I’m looking at from a customer. And then I’m also trying to figure out, okay, now I know functionally what you’re doing. Well, you have a latency issue. Like, is it a control system where I got to respond within a certain amount of milliseconds? All right. Well, everybody’s got latency, but is it seconds or is it milliseconds or is it submilliseconds?

Ray Hoare: [00:37:01] If I’m trying to detect a projectile, I’m submilliseconds, right? We kind of need to know that, right? If I’m picking something up with a forklift, and I’m taking it somewhere, well, I’ve got a few seconds to once I picked it up and I’m moving, you know, I’ve got some time. So, but I got to be done by the time you get there, right? I got to be ready to pick up the next. So, these are all things that are really important. And then one last thing is that I kind of glossed over is size, weight, and power. Heat, right? So, this is unfortunately, Jimmy, this is kind of the problem that we carry around with us at the edge is that, well, if we’re using GPUs, we’re doing a huge amount of compute, you got to consider the power and the thermal, right, because it’s going to take some compute. And the more efficiently we do it at the edge, the less size, weight, and power there is. So, that’s the benefit of the FPGAs. It takes longer to get it to there with AI. We’re getting really, really fast, but it’s still longer than putting it on a GPU. But if your GPU is great, and you’re like, hey, 15, 20 watts no problem. Fantastic. Like a forklift. It’s fine.

Jimmy Carroll: [00:38:17] Sure. Before we wrap it up here, maybe almost the opposite question of that is, what type of applications are out there today that you think you have a specific solution for that people working on these systems might not be aware of?

Ray Hoare: [00:38:32] Yeah, we really got into computer vision a lot. And so, we’ve actually spent a lot of time with computer vision  and how do we take images, look at images, extract meaning from images, and then put that into cameras. So, if someone is saying, Hey, I don’t know if a camera can do this, or I have an idea. Well, come to us. If you’ve got a computer vision problem, we’d love to hear about it. We can put it into an Alecs camera, or Alecs camera, we can put it in an FPGA camera, can embed it, all sorts of opportunities there for things. If you are looking at RF or packets, these are the things, like tell me what your problem, what your problem is, right? Now tell me what your application is that we’re trying to solve. We’re going to jump into the trenches with you and help you solve your edge compute problem, right? And that’s where we’re at. We’re at the edge. We’re doing the compute at the sensors. We understand machine vision from photons to bouncing it to lenses to light, you know, the whole thing. And we’ll help you solve your problem. And if we can’t solve it, if we don’t think we’re the right people, we’ll tell you, right?

Jimmy Carroll: [00:39:46] Fair enough. I mean, we have covered quite a bit, but is there anything else we haven’t discussed that you want to put out there?

Ray Hoare: [00:39:56] Dream big. I would just say dream big. This is an exciting time to be a dreamer and to be like, I’ve got problems to solve. Can you help me solve our problem? And I love talking to customers. And you know, we don’t charge for that. We don’t. I’m just, hey, tell me about how can we help you? And if we can’t help you, we’ll let you know. But maybe we can give you some ideas on how to do it. And so this is the fun part of my job. And I’d love to talk with people who have real problems. We’re not a huge organization. We don’t have a bunch of bureaucracy. We’re very customer driven. Reach out, give me a call. Send me an email. Love to.

Jimmy Carroll: [00:40:39] Yeah. Fair enough. I mean, on that note, I would encourage everybody to check out concurrenteda.com, follow Ray and Concurrent EDA on LinkedIn. If anybody has any questions, I’d be happy to pass them along. Reach out to me at Jimmy@techb2b.com or at manufacturing-matters.com. And Ray, once again, thank you, really appreciate it, and I hope you have a great weekend.

Ray Hoare: [00:40:59] Thank you, Jimmy. Appreciate it. This was fun.