#181 – An Interview with Dave Vandenbout - Xceptional XESS Xenagogue

Download episode · 43 MB
Also on Apple · Spotify · YouTube · RSS
Show Notes
Welcome Dave Vandenbout of XESS!
- Though XESS is prounounced "Ex-Ess", the XuLA board is pronounced "zoo-la".
- Chris confused INXS and Styx. Sorry, classic rock fans.
- Dave worked at Bell Labs for 6 years in the late 70s and then went back to school at NC State to get his PhD.
- XESS started as a company writing spreadsheet software for the MicroVAX.
- This later turned into a one-man enterprise after Dave got sick of doing grant proposals and no hands-on research
- His first book (self published ) was The FPGA Workout. It detailed using the Intel FX780. The internal SRAM made it possible to embed a micro.
- This trend continued as Dave made hardware to go along with books. The Student EPX31 had an 8051 on board.
- Dave thinks tinkering with the Commodore 64 allows for comprehension of the system, but that's not as possible anymore.
- Xilinx vs Altera isn't really a big battle at XESS. Pick one, use it.
- The XESS boards help abstract out some of the hardware confusion by including the mapping file.
- The new(er) Stick It family allows easy expansion of peripherals.
- One good way to ensure you can build a system is to preserve the tools. Virtual machines are the best way these days.
- Dave (Jones) laments FPGAs having too many IO when sometimes you want a powerful part without the IO overhead (and cost).
- Rent's Rule - more gates, more IO
- These days, FPGAs are basically software companies.
- Another book that Dave has written is, "FPGAs?! Now What?" It's a great primer into getting started.
- More recently, Dave has been playing around with MyHDL, which uses Python to abstract out more of the design. This is in place of VHDL or Verilog. Dave wants to build a training course with Python Notebooks.
- To be a good designer, you really still need to know the hardware and how your code will generate. This also helps portability because you aren't using vendor specific macros.
- A small processor can be defined in a couple hundred lines of code.
- XESS code and projects are now kept on GitHub. The designs, including the hardware, are open source.
- Dave is in the middle of a transition from EAGLE to KiCad. Welcome to the fold.
Transcript
Dave Vandenbout: This is The Amp Hour Podcast, recorded on January 20th, 2014. Episode 181, with guest Dave Vandenbout. Exceptional, excess, xenagogue.
Dave Jones: Welcome to the Amp Hour. I'm Dave Jones from the EEV blog.
Chris Gammell: And I'm Chris Gammell from Contextual Electronics.
Dave Vandenbout: And I'm Dave Vandenbout from XS Corporation. And that sound you hear is Chris and Dave scraping guests off the bottom of the barrel.
Dave Jones: Off the bottom of the lab floor. Yeah, really? No. No.
Chris Gammell: Dave's just so busy. We could not get a hold of him. He's making too many FPGA boards.
Dave Jones: Thanks for joining us, Dave.
Dave Vandenbout: Thank you very much for having me on, guys. And you're a listener, too. Yes, I've been listening since show 16, sitting out in the parking lot of Lufkin Middle School, waiting to pick people up and listening to you guys on the radio. Well, actually, on the thing that plays through the radio.
Chris Gammell: Right. Yeah, radio is a pretty tenuous proposition these days. You never really know what it actually is. Yeah, exactly. So we were interested to learn. So you actually, you were one of the sponsors for the 555 contest, right?
Dave Vandenbout: Yeah, that's how I actually first got on Twitter. And it was when I saw an announcement in EDN or EE Times about the 555 contest. And I said, I've got to get in contact with these guys and donate some boards to you. And the only way I could find any link I could find was on Twitter. So then that's when I got on Twitter.
Chris Gammell: Beginning of the end. Yeah.
Dave Vandenbout: Proud to say that over three years, I've amassed a massive following of 314 followers. That's right. Yeah. With a bullet. Good times. There you go.
Dave Jones: Good times. And ironically, providing probably some of the most complex silicon available today as a prize for some of the oldest silicon. Yeah. Knowing to man.
Chris Gammell: Time to upgrade, son. And...
Dave Vandenbout: Exactly. Exactly. You know, some of the people that I sent prizes out to, you know, they said, well, I'm not even really sure what this thing does, you know. That's good, though.
Chris Gammell: You know, you got to start somewhere. Well, yeah. We were surprised to learn how you actually pronounce the company name. Because I've been saying this wrong from the beginning since you did sponsor the contest. It's actually XS. I always thought it was Zess or... Yeah. I don't know. Yeah.
Dave Vandenbout: I mean, a lot of people have done that. When we first started the company back in the late 80s, around 1990, it was actually called X Engineering Software Systems. And that's still the official name of the company. But it was always easier to say XS. And then whenever you tell anybody that on the phone, they say it's AXS. And they say A-C-C-E-S-S, which used to be an old Microsoft database system. Yeah, right. And then we named, you know, having a board named Zula now, which is X-U-L-A. And it's pronounced Zula, which gets them even more confused. And, well, I solved all those problems. I stopped answering the phone. There you go.
Chris Gammell: I would start doing it like, no, XS. You know, like the band, InXS. But no Y.
Dave Vandenbout: Yeah. Not many people remember InXS, though.
Chris Gammell: Oh, come on, man. Were they the ones that come sail away? Wasn't that them? Was that them? Or no, someone else?
Dave Vandenbout: No, that was... Wasn't that Rush? Come Sail Away? Sail Away With Me?
Chris Gammell: No, I think... I don't know if that's... You know, the music... It definitely was not InXS. The music, Chris. No? Oh, jeez. Who was it? Now I've got to look it up. I'm singing it in my head like Kurtman sang it, basically.
Dave Jones: Oh, they are an Australian band, by the way. That was sticks. Oh, yeah. Men at work, too. Australian, thank you very much.
Chris Gammell: InXS was? Yep.
Dave Jones: Yeah.
Chris Gammell: Okay. Yeah, they were like a big romance band or something. They were like a hair band or something like that, weren't they? No, they were. InXS?
Dave Vandenbout: No.
Chris Gammell: Man, I don't know anything about music apparently. I don't think they were a hair band.
Dave Vandenbout: No? No, come say it. No. I'm sure. I'm pretty sure that was... That was sticks. That was sticks.
Chris Gammell: Oh, yeah, sticks. They're the hair band. That's right.
Dave Jones: Can we get back to the 1990s here? I guess so, yeah. And you've been running the company since the 90s. Tell us about it. How did you get into it? Where did you work before? Did it start as a midnight engineering company in the garage? Is it still a midnight engineering company in the garage?
Dave Vandenbout: Well, it's one guy and that's me. But, you know, actually I started off in 79 with Bell Laboratories and worked there until 1983 and went back to school to get a PhD. And then after the PhD, I was a university professor for about six or seven years. And while I was there, one of my... Actually, the professor that had advised me as a PhD student had hurt his back and was lying in bed and didn't have anything else to do. So he wrote a spreadsheet that runs on scientific workstations. At that time, they were like microvaxes, things like that back then. Right. And back then when you wanted to use a spreadsheet, you used it on a PC. So you did all your accounting and everything on the PC for your funding and everything. And then you'd drag it all over onto your workstation and you'd do all of your documentation and everything on the workstation. So he said it'd be a lot easier if we just have a spreadsheet that worked on a workstation. So he did that and it looked like there was some interest commercially in providing that spreadsheet on workstations to all the other engineers and scientists out there that use that. And so I got involved with him and another guy got involved with him. We had a kind of a company on the side while we were university professors working on that spreadsheet. And that was back when you could sell a spreadsheet on a workstation for $995. Holy crap. Oh, yeah, man. It was a great market to be in if you could reach those people. But you didn't have the internet back then. So you had to advertise through magazines. You had to have retail packages. Make sales calls and stuff. Retail packages, software boxes and everything. And so we hired a or we went into a cooperative venture with a marketing company that had been marketing software for quite a while. And that didn't turn out so well. And eventually, you know, eventually years later, probably around 96 or 97, the software, the spreadsheet software was kind of just booted out of the company. And I took over most of the company to do what I'm doing now. But what I learned when we were doing that, when we were trying to develop the software as professors and get it sold while maintaining our day jobs is that didn't work out very well. I said one time, I said, you know, you can stand on the dock or you can stand in the boat. But if you put a foot in the boat and a foot on the dock, you're going to end up with your ass in the water. And that's where we are right now.
Chris Gammell: I like that, yeah. And your groin is going to hurt the next day too. Oh, yeah.
Dave Vandenbout: So they stayed with the university, which was a wise thing for them to do. But I just was not really that.
Dave Jones: You went off and. Yeah.
Dave Vandenbout: I just, I really, you know, didn't, I mean, published a lot of papers and all that stuff. But at the end of it, it turned out to be that you're spending all of your time looking for money and then looking for students to do the research while you write another grant proposal to get some more money to go find some students to do some more research. And you're never really doing anything except. Except kind of like managing this kind of research. Right. But not doing any of it. And I've always heard it said that what professors really want is they want to be a grad student, but they want to be paid like a professor because. You're right. The grad students have all the fun. So at the end of 93, I left and I just used the excess company that we had going there as it's kind of a framework to to do things that I wanted out outside of the university setting. So I just kind of went off to be a consultant. And I'd love to tell you that I planned everything out. And, you know, I had all my ducks lined up when I did that. But pretty much I never planned anything in my life. And I just kind of left the university.
Dave Jones: Neither has pretty much any other engineer.
Dave Vandenbout: I was going to say you're in good company here. So I just kind of went out there and I said, well, what am I going to do now? So the first thing I did in like 94 was I actually wrote a little book that I self-published called FPGA Workout, which took some lab materials that I used in the university and kind of packaged them up into a book. It was about 200 pages long. And I had 2,000 copies of that printed up for like, I guess it was four or five dollars a piece. And I had four to 50 boxes of books in my house. And I was selling those to, you know, I mailed 300 of them, one to every electrical engineering department in the country. And back then, looking all those up was kind of hard. Finally, I went all over. And I was surprised that there were actually 300 electrical engineering departments in the United States. But I mailed off 300 of those guys. And I sold over the course of a few years, I sold 1,500 of them. And then I had that last 200 kind of like hanging around in the house. And I finally got sick of looking at them. I went out to the landfill and I had a bulldozer run over them. Oh, no. I mean, you know, the thing is it was based on an Intel FPGA. Did you guys know that Intel used to make FPGAs?
Chris Gammell: I did not know. And that's weird because it's come full circle. They're doing that again now.
Dave Vandenbout: They're talking about it, aren't they? They're making them for other companies.
Dave Jones: Oh, yeah, they're fabbing, but they're not doing that. Right.
Dave Vandenbout: But they had a chip back then called the FX780. And it was more of a CPLD, actually. But the thing that distinguished it was that it had actually little 256 by 8 SRAM blocks in it along with the logic. And you could actually make a little microcontroller out of that chip and store the programs inside, which is something you couldn't do in any of the other chips. And so I had the book that I wrote. And it actually goes all the way through doing the logic design. And then it shows how to build a microcontroller that would work in the FPGA.
Chris Gammell: Which is interesting because that's how lots of them are doing embedded micros now as well, if not hard-coded processors.
Dave Vandenbout: And the thing is, after I wrote the book and I actually developed the little board that used that FPGA on it, then Intel decided to get out of the FPGA business. But luckily they sold it. Thanks to that, yeah. They sold it to Altera and Altera rebranded the chip so I could still keep selling that for a while. But then pretty much the market for that book went away. So there's a reason to finally drag them out in the landfill and let the bulldozers have them.
Chris Gammell: Go over them, yeah. So what was the market like in 94? I mean, I know FPGAs and CPLDs were around since the 80s, right? Yeah, since about 85. Okay, so 94, was it mostly like military research kind of applications? Were there any commercial people doing that?
Dave Vandenbout: Lots of universities, lots of small engineering firms that wanted to get involved. Because back then, a lot of the FPGA tools were very expensive for people. And so I was offering a very low-cost board. And the software that Intel and Altera eventually were offering was free. So you could get it and you could actually develop with the FPGA at that time and do it all for a couple hundred bucks. It's interesting to talk about military and things like that. I had one guy call me up and the product that I was selling was called like a Student EPX-31. It was a combination of that FPGA and an 8031 microcontroller on the same board. And I was selling it mainly to students and universities and things like that. And he called up and he was very interested in the board and said, yeah, we got to get some of these. He said, the only problem is this organization will not buy anything that has student in the title. That's demeaning to us. And I said, well, you know, kind of like if you pull the stick out of your ass, you could probably buy one. But, you know, that is an attitude you keep running into with people. But they're so worried about being taken seriously that everything matters to them. It's got to have the right name. It's got to have the right look. But that was the market back then. And since then, you know, it's really broadened out quite a bit. Thank goodness. But, you know, there's still a lot of fear in people when you say FPGAs that, you know, they go, eh, I'm not sure I want to get involved in that. And, you know, really, when you look at the microcontrollers that people are using nowadays that have 5,000 page data sheets. Because how does an FPGA even seem scary to you if you're using chips like that? Because, you know.
Chris Gammell: Why do you think people are still, I mean, still scared of it then? I mean, what do you see as your, you know, I'm guessing you support a lot of the boards you do. So you probably get a lot of that, right?
Dave Vandenbout: Yeah. I think that the people that are scared of it is just that it's using different languages like VHDL and Verilog. It's not C, it's not C++, it's not Python, it's not, you know, this or that or the other. And, you know, with FPGAs, if you're not real careful with them, they try to do everything at once, you know. I mean, you see people try to program FPGAs and they'll get their Verilog of VHDL and they'll do it sequentially and they'll think that that's how it should go. And then when you turn it on at all, like, you know, there's no timing or anything. It just goes boom and everything tries to happen.
Dave Jones: Well, that's the difference because it's not a pre-programmed architecture debugged ready to run your sequential program. In fact, it doesn't run a sequential program unless you actually design a processor into it. And that's the huge difference because it's not just another programming language. It's a whole different way of looking at programmable devices.
Dave Vandenbout: Right. It's all parallel versus sequential. You know, if you're in a processor world, what you're mainly doing is sequential. And what you're worried about in a lot of cases is latency. Can I get to everything in time that's happening in parallel out in the world and handle it with my sequential process? What you end up doing is a lot of interrupt processing and worried about your latency. When you get out into the FPGA, it's all completely reversed. You're saying, oh, it's easy to handle all these parallel processes and I'm not worried about latency anymore. But now, how do I do the sequential stuff? And when you want to do sequential stuff, you have to do a finite state machine or something. Machine. Yeah, exactly. And when you do FSMs, you know, as a professor in university, I found that students do not like FSMs very well. And they have a real hard time understanding those and writing them out. But that's what you've got to use.
Dave Jones: And that's the thing I've found because I've worked at a FPGA company. Well, a company that's an FPGA company that shall remain nameless. Yeah, yeah.
Chris Gammell: We're really hiding your motive.
Dave Vandenbout: Is that full up stakes corporation?
Dave Jones: That's shoot ourselves in the foot corporation. Geez, what was I going to say? The thing is, like, people grow up learning sequential programming. It's almost second nature to them, right? So when they want to get a job done, oh, I use a micro. And, you know, FPGAs are just put into the too hard basket unless you absolutely need to. That's what I've found. Like, unless you have that niche application that goes, oh, look, this processor isn't going to do it. I need to do some other method. I'm streaming anything. Streaming. Streaming. Yeah. Or, you know, handling, you know, 20 channels of ADC at once or something like that, all in parallel and processing it and doing FFTs all in parallel and all that sort of jazz. Right.
Dave Vandenbout: You pull the FPGA out when you need it.
Dave Jones: It's the tool of last resort.
Dave Vandenbout: Right.
Speaker ?: Right.
Dave Vandenbout: And that kind of goes hand in hand with what you were saying before. I think you've said it, Dave, is that the way to learn about FPGAs is to first have an application for it. If you have an application for it, then you can learn it because then you can see how it fits into that application. If you just go at it, you know, I'm going to learn about FPGAs. I'm going to do a little thing here, a little thing there.
Dave Jones: I'm going to blink a lead and do a, you know. Yeah. It almost seems pointless. You go, well, I can do this with one line of code in my micro.
Dave Vandenbout: Yeah.
Dave Jones: Yeah, yeah, exactly.
Dave Vandenbout: And I do see, you know, people do call up the company and they say, well, I want to use an FPGA for this and I'll talk with them for a while about it. And I say, you know, it's a low bandwidth thing that you're doing there. It's human interactions. It's, you know, it's really just going to be so much easier for you to do some things with a micro. You know, if you've got something where you need a lot of, where you have parallel processes and a lot of fast latency that you have to worry about, then you can start looking at FPGA. But, you know, I try to give them, you know, I don't always make a sale, but I try to get them at least pointed in the right direction.
Dave Jones: Yeah. And that's one of the reasons why Altium, oh, oops, named them, failed. Their complete vision failed because their vision was that, you know, FPGAs would be the future and everyone would use them for everything. And that just hasn't turned out to be the case. And it's obvious, you know, why? Well, there's many, there's other technical reasons as well. But, yeah, it's always going to be a niche thing, I think. I just can't see them going mainstream, even the FPGA vendors. And this is the interesting part. We've talked about this before. Even the FPGA vendors are realizing that, oh, it's not, you know, the be-all, end-all tool we thought it would be, or the be-all, end-all chip. So they're now putting all these hard silicon on there, you know. They're putting ARM processors on there. They're putting, you know, ADCs on there. They're putting all sorts of these, all these hard peripherals on there to try and match the microcontrollers.
Dave Vandenbout: That was, I think, the entire motivation for the zinc, you know. You know, when you look at the market materials for zinc, one of the first things they say about zinc is, hey, this thing starts without even having the FPGA programmed. You don't even have to program the FPGA to start working with the zinc. You know, so they're going to those software guys and saying, you know, this is not as hard as you think. And, you know, you can start off with it right away.
Chris Gammell: Well, that's like the Altera system builder thing, too, where they say, oh, you can design a whole system and we'll do all the back-end stuff. And it's like, that's great until something breaks. And then you're screwed. Or you need to do anything outside of what they already give you.
Dave Vandenbout: Yeah, then go and try to unravel all that spaghetti trying to find out where that one thing is that's going wrong. Yeah. And, you know, that is one of the reasons why, you know, there's a lot of – well, let me go back a minute. I bought a Commodore 64 back in like 1982. Wow, that is going back a bit. We're going back a bit, yeah. You know, the Commodore was a great system back then. I mean, compared to the Apple and everything else because it was so inexpensive. And you get in there, you could understand all the things that were going on with it. And I don't program the Commodore anymore. But there are a lot of people who still do. And that's because it's a system that you can get into and understand what's going wrong and find it and fix it. But with a lot of these systems that we have now that have such great capabilities, if anything goes wrong down in there somewhere, it's multiple days trying to figure out exactly why it is. Because it's hidden under so many layers of abstraction. And it could happen in so many different places. You have to, like, open up a box. Look inside. There's another box in there. Open that box. Oh, there's another box. And you look in there and that's not the box. You close that one up. You go, you know, you're saying, where is the problem?
Dave Jones: Is that the – is that always going to be the problem with FPGAs? I possibly think so because by their very – you know, ignoring the ones with the hard silicon on them, right, but just FPGA fabrics trying to do something. By their very nature, they are dumb. They're a sea of gates. They don't do anything. So you're always – They're only as dumb as the guy programming them do. Exactly. So if – but if you want to put a soft processor into that, well, it's code. You know, it's not that hard silicon that's guaranteed to work. You know, you've got all these massively complex, you know, software tools behind it to compile it all. But even if your soft core comes pre-compiled, there's so many, you know, layers of that onion that can go wrong.
Dave Vandenbout: Well, I mean, there is that, but I think that the problem – that problem still exists with hard-coded processors that you put on a board. I mean – It can do. I mean, you still put things around it.
Dave Jones: But the chip is guaranteed to work, though. Yeah. The chip that you buy, you know it's good. So, you know, it must be a – you know.
Dave Vandenbout: Yeah, but I mean, what if I took that soft core, that HDL, and made it into a hard chip, and then I gave it a hard chip? You know, then you would think that one is guaranteed to work. So you should be able to make the soft core be guaranteed to work if you run it at the same speed. The only real wild card in there is the development tools. If they shifted the development tools and their map and their case differently, then if you got an error there, then you're screwed, glued, and tattooed. I mean –
Chris Gammell: Well, don't worry. Just upgrade to the next version, right? That's what I was telling you.
Chris Gammell: That's even worse. Oh, God.
Dave Jones: Down, down, download our latest three-gigabyte patch. Oh, God. Oh, God.
Chris Gammell: You know. So how do you deal with that work? I mean, because you work with this stuff every – I mean, I've worked with FPGAs in the past, but you're doing it every day. How do you even start to support all of these different boards that you build? And then, you know, you probably get a lot of this ricocheting from this software. He doesn't have that many.
Dave Jones: That's how. Probably deliberately, right?
Dave Vandenbout: Well, the thing that I do is I try to make modules that are – that abstract away some of the problems. Like, I've got an SD RAM on the board, which is a big advantage in that it's cheap and it provides a lot of storage. It's – disadvantages that it's hard to use. So I've got a module you can pull into your Barrel log or VHDL code, and it will make the SD RAM look like an SRAM. And, you know, that's been – you know, I've had that since 2001, and it's pretty well debugged and it works. And you can give that to your customers and say, all right, now this is – you're not going to get all the flexibility you have with SD RAM if you do it all hard code by yourself. But it will save you a lot of troubles. It will get you started faster. And when you hit a performance roadblock, you can change it around and you can start to do your own stuff after you're sure that your main system starts to work. So I do – you know, when I was young, I used to work as a bricklayer. Now I think of myself as a plumber, you know. I make the pipes. I get them connected together. I hand them over, and then somebody else builds a house on top of that knowing that they've got the water that's coming in. But –
Chris Gammell: There's like a joke in here somewhere. I just – I can't put it in. There's a bum crack joke. Yeah, exactly. Yeah, yeah, yeah. I'm not quick enough today. Need coffee or something.
Dave Jones: There's a title for today's show, Bum Cracking. It's got that bum crack in it.
Dave Vandenbout: Please, please, guys. I'm struggling with enough of a disadvantage in life without being the guy that's on the Bum Crack Show. I mean, I know in 17 years or so, you guys are going to have your 1,000th amp hour show, and you're going to go back to them all, and you're going to say, man, let's pick out the one that's the most erudite, knowledgeable show of all, and I'll guarantee you that show is not this show. But at least don't title it The Buck Crack Show. I don't know what the – We'll try. I don't know what the alliteration would be on that. Yeah, we'll work on it. We'll brainstorm after the show.
Chris Gammell: No, no butt crack. Oh, goodness. Okay. So how do you decide then – okay, so you've had a couple different product iterations now. How do you decide to jump to another Logic family? And I mean, so you're mostly doing Xilinx stuff. Yeah. It seems like –
Dave Vandenbout: I mean, people have asked for Altera stuff, and I say I don't really have any – there is no problem with Altera stuff. But to the average person, Altera, Xilinx is like Coke and Pepsi. I mean, there's nothing you're getting from one that for the most part you're not getting from the other. So I say, yeah, I could build an Altera board for you. But what I'm going to do then is I'm going to have two boards, two different families, no real difference between them. So I'm just going to be supporting twice as my stuff without getting twice as many different capabilities there.
Chris Gammell: The reason to change would be when Altera approaches you and they say, well, we want another development board in the marketplace. Here's a nice discount on your chips. Yeah.
Dave Vandenbout: I've actually designed development boards for both. So I've been involved with both. But right now on my own, it's just not worth – I can't deliver anything to my customer by having two families that I can't already deliver by having one family. Right. So – Yeah. But when I switch from one iteration to the next, it's mainly that the density has gotten up to the point where people are starting to expect it. And the prices have fallen to the point where it's viable for me to start putting them on there. And the availability is such that I'm not banging heads with a lot bigger customers that can buy up everything and parts on location, things like that. I mean, back in around 2000, I did have a board called the XSV board. And it had an $800 FPGA on it. And the board – Good Lord. Yeah. The board sold for like –
Dave Jones: What are you talking about?
Dave Vandenbout: The board sold for like $1,600. So I knew that I could not have the boards manufactured with the FPGA on them. So I had all the boards manufactured with no FPGA on them. And I would hand them out the FPGA, which was in a 240-pin PQFP. I'd hand them out one on there whenever I sold them. Yeah, but it's an $800 profit on the board right there. So it makes it worthwhile to sit there and put the chips on them.
Dave Jones: So you order one from DigiKey. So if you get an order, you place an order for one.
Dave Vandenbout: No, I would order trays of 30 from – Oh, okay. And one time I dumped a tray.
Speaker ?: Oh, my God.
Dave Vandenbout: Oh, no. I dumped a tray of $800 chips. And after I – Oh, no. After I changed my underwear, I went back and started picking them up. And these were – you know, these were PQFPs, but they were – they had a big – Quad – yeah. They had a big heat slug in them. They weighed a ton. I mean, so when they fell, if they fell on their pins, their fins were like – I mean, their pins were bastard. Thud. Yeah. So luckily, you know, only like two or three dropped to the floor and they, you know, they hit the carpet. And then you know what happens to a chip when you drop on carpet? Those little legs dig into the carpet, into the threads of the carpet.
Dave Jones: Yeah, yeah, yeah.
Dave Vandenbout: So you got to tease it out of there. Then I would get those chips back and then with a little magnifier, I would pick at the pins until they all straightened out.
Chris Gammell: Oh, man. And that was the day Dave got rid of his shag carpet. Yeah. Why shag? Why?
Dave Vandenbout: I've been a lot more careful with trays of parts since then, although I've never handled any that were as expensive as that. I mean, back then – That's crazy. That $800 chip was 800,000 gates. And now you're buying 1.5 mega gate chips and they cost $30, you know. I mean, there's no comparison. Right. Yeah. That's crazy. Plus, they're BGA's. You drop them, no big deal.
Chris Gammell: Yeah. As long as you don't step on them afterwards, you're fine. Man, that's crazy. So, you know, it's interesting talking about these boards too because you abstract out one of the processes that always kind of tripped me up whenever like FPGA stuff came down. I mean, I guess you still have a little bit, but the pin association side of things. I guess it's less of a problem here, but I think about, you know, you put down pins, you create a footprint in a schematic for an FPGA and you give it a name, you know, L12 or whatever it is. And then you hook it up to your memory and then, you know, you get – it's the wrong pin. You think, oh, it's programmable. It's no problem. But then you're totally screwed because it's a memory only pin.
Dave Jones: That's where the 800-page data sheet comes in. Exactly.
Chris Gammell: So there's that and then also making sure that your data file is right. Even if you do hook them all right to where the IO pin is hooked out to an IO pin on your breakout board here or, you know, the board I'm designing, the IO pin, then you have to also go through and make sure each one's hooked up internally correctly and it's just, ugh. Right. I'm guessing you just give them a file, right? Oh, yeah.
Dave Jones: Or you accidentally put one pin on the wrong bank and you've just halved your performance. Yeah. You know, you halved your possible performance. Right, exactly.
Dave Vandenbout: Yeah. Yeah.
Dave Jones: And you don't find out until you spun your board.
Dave Vandenbout: Oh, yeah.
Speaker ?: Yeah.
Dave Vandenbout: What I do is I provide for a lot of the – for the FPJ boards, I'll provide projects that go with those FPJ boards. And then I also have the smaller sticket boards that have little peripheral chips on them that you can hook up to the FPJ. And each one of those comes with a design that shows how to use it and all the pin assignments that are there for it. And, you know, the manuals and everything have all that information in there so they can trace back and say that this pin on the FPJ goes to this pin on the Zula board. And that Zula pin goes to this pin on that particular connector on that sticket board. You know, so they can trace through all that. Right. And then I have –
Chris Gammell: And the green grass grows all around, all around. Yeah.
Dave Vandenbout: And I have, you know, some automated tools that help them, you know, map the peripheral from one port to another port if they decide to move it or things like that. But, yeah, a lot of people have a lot of problems with assigning the pins and keeping them all straight. And then even when you assign them in the FPJ tool, sometimes those assignments don't take. And you've got to check your pin list to make sure you've got to go against the pin list and say, well, I said it was going to be on A12. And now it's on A13, so it shifted over a bit. You know, why did it do that? It shouldn't do that. Right. And you have to go through and pick that out. That doesn't happen very often anymore that I've seen with my customers, but that used to be a problem, you know, years ago.
Chris Gammell: Yeah, I do like those CAD tools that do the flexible pins where you can say, oh, this is a flexible I.O. pin. You don't necessarily have to assign it to – you know, as long as it's not a memory pin coming in or something like that, it's okay. You can just assign whatever there. And then the tool does the optimizing. That's always nice.
Dave Jones: Well, I haven't used the FPGA tools for quite, you know, like seriously for quite some time now. How are they in terms of stability? Like do you recommend people always keep up to date with the absolute latest version? Or do you say, no, look, stick with this version. It's no and solid performer, you know, and it works with this board, no problems.
Dave Vandenbout: I think that most people – How is the software stability these days? I don't have that much problem with the stability of the design tools that I use them. And I think most people just kind of follow along and grab the version of the tool whenever they get started. If you sell a customer a board, you know, he's going to – right now he's going to download 14.5 or whatever it is from Xilinx. And he's not going to go back. He's not going to go back to 13 or 12 or whatever, which I might have developed the designs in that go with that board. But he can still bring those forward and they will still compile just fine on the 14 versus, you know, when I did them on a 12 or 13. So it hasn't been that big of an issue with the designs that I'm doing. And it's when you get to packing the FPGA full. It's when you get to driving the frequency up towards F max. That's when you, you know, start to run into those problems. And, you know, like I said, a lot of the customers I'm working with are just looking for a vanilla FPGA to get into their application. And they're not out there, you know, doing a cell tower base station, you know, which would be difficult.
Dave Jones: Well, I've shot some videos on some FPGA development boards. I haven't released them yet because I'm going to do some more. It's going to be like four or five of them. And I found that this is one of the big name development boards, you know, low cost, you know, sub hundred dollar development boards out there. And they sent it to me, you know, and I installed it. I just downloaded the latest tool and as they recommended in their thing, and it just didn't work. And it was like, and then I went back to them and they said, oh, no, no, no. You've got to download this older. This is an older board. You've got to download this older version of the tools, you know.
Dave Vandenbout: And, oh, it's like, oh, you know, so painful. What was the thing that wouldn't work on that? I mean, it can't be penicent.
Dave Jones: Oh, I can't actually, I can't recall off the top of my head, but it was just, yeah, it was just silly. It didn't support something or other. And I can't remember, but yeah, it was just a horrible experience. It really was. Imagine if you were a beginner, geez, you'd be put off FPGAs for life. Yeah, exactly.
Dave Vandenbout: Oh, well, I'll tell you, the guys that get put off FPGAs for life are, I can't imagine the number of times that I will get emails from people to say, I found this old XSV board. And I want to learn how to use it, you know, learn FPGAs using this. But my computer doesn't have a parallel port on it anymore. And, you know, you just want to say, you know, that board is 13 years old. You know, you do not want to touch that board. I mean, I know.
Chris Gammell: This is not a 555 timer.
Dave Vandenbout: I know it's effectively free, but you would be much better off spending it, you know, $70 or $100 or whatever to get a board that's current. And, you know, avoid the headaches of, you know, don't pull your hair out.
Dave Jones: Is that, because that's kind of different to the microcontroller feel. Because you, like, most of the software will still support all these old boards and old chips and things like that. So, you know, you can sort of use it and drag out a 13-year... Thank you, GCC, right? Yeah, exactly. Well, and the, yeah. And the vendor tools will actually support them. They've always had the same, you know, ICSP, you know, programming interface. So, as long as you can, you know, your programmer can hook into that, you're sweet.
Chris Gammell: Yeah, but you're just writing code for that. You're not actually, like, putting programming gates. You're just, you know, you're not optimizing programming gates.
Speaker ?: Yeah, I know.
Dave Jones: Yeah, it's different. And there's one of the disadvantages. Yeah, I've got a ton of old FPGA boards here, and they're absolutely useless. You know, you just, you know, there's just no point. I could give them away, but that'd be cruel, because people just wouldn't be able to use them properly.
Dave Vandenbout: And the other thing is, at least for Xilinx, is in their webpack tools, their free tools, they do start dropping off the older chips out of there, because they don't want to support those anymore. So, you can't compile for an XC4000 in Xilinx webpack anymore. And I believe some of the Spartan 2s are dropping out of there, if they haven't already. Yep. So, you know, you can't even go back and use those tools.
Dave Jones: Yeah, that's what happened on one of my boards, yeah. Just can't use them. It's a pain in the ass.
Dave Vandenbout: But I would imagine that you would, you know, you'd have a similar situation if you're updating your compiler technology, that you would still have a problem maybe with earlier chips.
Dave Jones: You could do. In my experience, not nearly as bad as FPGAs, though. Yeah. I mean, you usually have a stack machine. I've programmed, you know, 15-year-old micros. Yeah.
Dave Vandenbout: I mean, you have a machine that's got a stack, it's got an ALU, it's got a program counter. You know, it's probably not going to be too different from what you've already got today. So, yeah, I can see how that would still work.
Chris Gammell: Yeah. Yeah. Smaller, lower power. Yeah. Yeah. Yeah. Do you notice the, so the last time I was using FPGAs was when, do you remember the ISC that had, like, the big CD-ROMs with the F14 on the front of them? I think it was 12 or 11, maybe. Hmm. But it's been a while, whatever. Do you notice that some of the packing algorithms have gotten, have changed over time?
Dave Vandenbout: Oh, you're talking about the places around stuff?
Chris Gammell: Yeah. Yeah.
Dave Vandenbout: Well, they're always trying to make it better. It's not packing, Chris. It's place and route. Well, I mean, there's, you know, there's the mapping phase and the packing phase and then there's, you know, the place and route phase and so on and so forth. You know, you get the three phases in there. But they, they're changing the, and I don't work for L-Terror, as I don't, obviously. But I've heard, or they have said that they're changing the routing algorithms or the mapping algorithms to take advantage of their Vertex 7 architecture. So, they may not, they may not.
Dave Jones: But what does that do to the other?
Dave Vandenbout: It may not be as good for, yeah, it may not be as good for the early Spartan 6 or the Spartan 2 or whatever. But, you know, they've made their money on those, and that's not their concern. You know, that can't be their real concern anymore. They've got to move on to Vertex 7 or, you know, RTX, Kintix, whatever they're calling it.
Chris Gammell: Oh, yeah, all that stuff.
Dave Vandenbout: So, yeah, I mean, it's potentially possible you'll get your, you know, your new compiler tools, your new place and route tools, and maybe they don't work as well with your older designs. And in that case, there's a good reason to have your virtual machine all loaded up with your old tools and ready to pull it out at any moment.
Dave Jones: Right, yeah. That's right.
Dave Vandenbout: Yeah, that's a very good tool or idea right there. You know, that's what Jack Gansel talks about, you know, with old processors, supporting old processors. Make sure you keep all of your old tools there and at least a virtual machine so you can start running this.
Dave Jones: All that old DOS image, you know, that image of that DOS hard drive with the parallel port.
Dave Vandenbout: And boy, that's it. When you go back to that, you know, you really do cringe, you know.
Chris Gammell: Yeah, you start to appreciate the modern stuff, right? Yeah.
Dave Vandenbout: That's why I don't know why people go back and do a lot of that stuff with Commodore 64s and things like that because I used that stuff, you know, 30 years ago. And it was crap then, but it was all we had and it worked. And it worked, you know, it was fine. But, I mean, I said it was crap.
Dave Jones: Well, they do it for fun. You don't do it for any series. It's reason why it's just mucking around.
Dave Vandenbout: They really get into it. And, I mean, that's fine. I mean, they're, you know, all of humanity is a search function. We're all searching different things. And so they're just one search function that's looking over in that area. And, you know, that's cool. But I really wouldn't want to spend my time doing that because I just cannot stand seeing that interface anymore. It's just, oh. It'll drive you nuts.
Dave Jones: Anyway, do you share the pain that I've always had and many others have had with FPGAs is that to get high logic density, you have to get high pin count. And that has always pissed me off.
Dave Vandenbout: You can't find a 20-pin FPGA, right?
Dave Jones: I'd be happy for a 44-pin quad flat pack with a million gates. Yeah. You know, it was like back in, you know, I can remember I needed like a million gates back in the day or whatever. And I needed like four I.O. pins. It was like serial in, serial out. That's all I needed. And the only chip that did the job was a 1,200-pin BGA. I kid you. You know? So we had to use a 1,200-pin BGA for like for serial in, serial out.
Dave Vandenbout: And you're paying a ton for those pins. That's where all your cost is, right in there in those pins. Exactly.
Dave Jones: Yep. Yep. Exactly.
Dave Vandenbout: I mean, in a way, when you look at the Zula board, it's kind of like that 40-pin device. It's not as small as a 44-pin PQFP, but it's kind of like giving you that simple 40-pin interface with a 1.5 million gate FPGA on it. And so it kind of speaks to that need. But obviously, it's, you know, it's still too big.
Dave Jones: But that's not at the chip level, though.
Dave Vandenbout: Yeah, it's not at the chip level.
Dave Jones: Yeah, at the chip level. Yeah, yeah, exactly.
Dave Vandenbout: You know, you're familiar with Rens Rule, which says that the more gates you have, the more IOs you need. And they kind of follow that. And it makes sense, you know. But, yeah, there's always going to be us guys that would like to have a smaller package and could use a hell of a lot of gates to go with it. But those applications are, you know, they're relatively few compared to applications that need a lot of gates and a lot of pins.
Dave Jones: That's always been their excuse.
Dave Vandenbout: Yeah, yeah.
Dave Jones: Yeah. I've, you know, asked at some high levels and they've always come back and said, sorry, but, you know, there's just no call for that. You know. And I'm going, well, I think you're wrong. If you build it, they will come. Yeah.
Dave Vandenbout: Yeah. And they say, well, you know, you go talk to Intel and get them to change their fab and their packaging and then we'll put this together. That'll be Altera's responsibility. Right. You know what would solve that problem? What would get us around that problem? You know, if we just had some kind of like chip printer that we could use in our home.
Chris Gammell: Oh, don't start that. Don't go there, man. Oh, wait. Wait a minute. Wait a minute. You're not joining this conversation as a friend to me on that. I'm just. You come to my house and you disrespect me.
Dave Vandenbout: I've really got an issue. I've got to get out of the way here right now. Okay.
Chris Gammell: Go for it. Come on. Bring it on.
Speaker ?: All right.
Chris Gammell: Here it comes.
Dave Vandenbout: Okay. Chip printer, Arduino, women in engineering, 3D printing, open source. Bingo. I win. Bingo. I win. Everybody else put your cards away. You know what?
Chris Gammell: Dave, you know what? We're not. No more listeners on the show ever. No one who's ever heard of the show before is ever allowed on again. What do I get for winning?
Dave Vandenbout: I know it's too well. What do I get for winning bingo? Like a date with Sina Gomez or, you know? I promise I'll have her home on a school night.
Dave Jones: You get a free course at contextual electronics.
Chris Gammell: Oh, there we go. Party time. We're sorry. I don't think Selina's going to want to go there. No, that's not the hard date spot these days.
Dave Vandenbout: Oh, well. Okay. Now that I blew everybody off track here. Yeah. You're done. You're done. Chip printer. Yeah. Forget that. Oh, my God. Actually. Actually.
Dave Jones: So, have I heard something about in recent news about one of the vendors? I can't remember who was thinking about addressing this market finally, the low pin count, high density market.
Dave Vandenbout: I thought, would it be Lattice? Which doesn't exist at the moment. Would it be Lattice? Maybe?
Dave Jones: Yeah, it could be. It might be one of the minor players, perhaps.
Dave Vandenbout: Lattice is always like the Uncola of the FPGA vendors. Yeah. Whatever it is. Yeah, yeah. Whatever nobody else will do, they'll do it. L-A-Yellow. Yeah. Sorry, Lattice folks. I liked your video. I mean, I do like Lattice. I haven't used the chips, but I do like what they do and the kind of like avant-garde hippie-ish way they go at it, you know, that we're doing our own thing over here. You bastards can do it your way, but we're doing it this way.
Dave Jones: You can keep your 80% of the market share. We're going after 2%.
Chris Gammell: Yeah.
Dave Jones: What do you think about the...
Chris Gammell: I mean, you do open source hardware for your development boards. You do open source development for your development boards, but, I mean, do you ever see any prospect of the tools opening it up at all, or do you think it's just doomed to be, you know... I mean, there's... Altera, Xilinx, and Lattice, and Micro Semi trailing, you know, that kind of thing.
Dave Jones: Oh, they're doomed. They're too big. They're too big, too complex.
Dave Vandenbout: Yeah, I mean, there's so much intellectual property, and there's so much advantage to keeping that stuff secret for Altera and Xilinx that I don't see that they're ever going to open source that. I just, you know...
Dave Jones: No.
Dave Vandenbout: It can't happen. Can't happen. And if you do open source it, I don't see that it's any advantage to Altera and Xilinx. I just don't think that anybody's, you know, the open source community is going to be out there, you know, making any real improvements for them.
Dave Jones: And you wouldn't want to. These things are complex enough and buggy enough, dare I say, at the best of times. You know, no, to open source it would be absolutely foolish. Now, I've heard that the FPGA companies, they have more people dedicated to the software than they do to all of the hardware, testing, verification, everything.
Dave Vandenbout: I've got to believe that.
Dave Jones: They are effectively software companies. That's effectively what they are.
Dave Vandenbout: Yeah. I mean... Software is that big. And they, you know, they're probably getting at least a little bit of help from their foundry partners. I mean, the foundry partners are using the FPGAs now for the process drivers. You know, back in the, you know, late 80s and 90s, they were using memory chips for the process drivers. Now they use FPGAs because, you know, the...
Chris Gammell: You mean like how they're leading edge? Yeah. They're doing like the 14 nanometer stuff.
Dave Vandenbout: Yeah, the drive, you know, if we can get the FPGAs through there, then we can get anything. You know, like they used to say, if we can get the SD, you know, the DRAMs through here, then we can do anything else. Oh, yeah.
Chris Gammell: Right. Flash, right. Yeah, exactly. Yeah. So, they're using the FPGAs. Yeah, it's true because, I mean, the logic unit or however, you know, they all have different names for them. Right. But the logic unit with the SRAM cell and the flip-flop and everything else. Yeah, I mean, they're just... That's the same usually, right?
Dave Vandenbout: Right. Exactly. Yeah. It's just a big old regular array. You know, it has a little heterogeneity in there. You know, you got little blocks for the DSP elements and little blocks for the RAMs and stuff like that. But, yeah. Then the rest of it's all a great big sea of identical logic gates going through there.
Chris Gammell: Yeah. Right. And they get process improvements. Right. And then, like, the fabric improvements sometimes, too. But mostly, that's all process-based. Right. Where they're getting better silicon. Yeah.
Dave Jones: And then instantly doubles your speed and halves your power. Right. Yeah. You know, allows you to put twice the density. Right.
Chris Gammell: And you have to use a 0.25-volt voltage rail and everything else like that. Like those... Yeah, right. Every friggin' part of these days.
Dave Jones: What is the current lowest FPGA?
Dave Vandenbout: I know the ones that I've been using, you know, around 1.1 or 1.2 core-volt, as I believe...
Dave Jones: Yeah.
Dave Vandenbout: I don't know...
Dave Jones: Isn't someone down to 0.9 or something stupid?
Chris Gammell: There may be. I heard 0.75, actually. I thought I remember...
Dave Jones: 0.75, yeah. Right.
Chris Gammell: Because I remember thinking, like, wow, that's really close to a diode drop. Yeah, I know. It's, like, dangerously close. That's, like, no noise allowed. Yeah. So you don't have to deal with that kind of stuff, though, on your boards. I mean, I see linear regulators on boards. Yeah. That's a good indication.
Dave Vandenbout: Yeah, you got... I mean, the good thing about the Spartan 6 and the Spartan 3A is that they dropped out that 2.5 voltage, and all you have to do is have the 3.3 and the 1.2, and so you can bring in the 5 volts from the USB, put a couple of regulators on there, and you're ready to go. Yep. It's just having, you know, the 2.5, which is really just some, you know, to run the garbage JTAG stuff on there for the most part. The configuration circuitry was doing the 2.5, I think. It was all auxiliary stuff, so it was kind of a waste to have that out there, but, you know, so it makes the chip a lot, you know, it makes the board a lot simpler to have it that way.
Dave Jones: What about the I.O. voltages these days, and they're continually dropping support for 5 volts. Next thing you know, they'll be dropping support for 3.3, you know.
Dave Vandenbout: Hopefully not soon, because there's still a lot of stuff out there that needs to go with the 3.3, but on the very high-end... 5's annoying. Yeah. But on the very high-end FPJs, you know, that are being hooked up to, you know, the very high-end chips to make things go, then they may be able to get away with starting to drop out 3.3. But for the bread-and-butter systems, which are using the smaller FPJs and trying to push those into more and more applications where there may be more and more volume, then they better at least stick with the 3.3. Yeah. But there's still a ton of interest out there with 5-volt stuff.
Dave Jones: Yeah, with 5-volt interfacing, yeah.
Chris Gammell: Well, especially because you can use them as replacements for other 5-volt chips that are dropping off the map, too, right? Right. I mean... You can't get those anymore.
Dave Vandenbout: I built something called the LogicPod, which you can put the Zula board into it, and it essentially brings all the 33 I.O. pins out to this header, and then you can either set the header pins to run at 1.8 or 2.5 or 3.3 or 5 volts. And a lot of people want that LogicPod because they want to interface the 5-volt devices.
Dave Jones: Did you have external translators for that?
Dave Vandenbout: Yeah, yeah. Yeah, you know, like the 16T245. T. Yeah, from TI. Those are the only ones I could find that would handle the 5-volt. There's an equivalent from NXP, but it's only going up to 3.3 volts. So, you know, again, dropping the voltages down.
Dave Jones: So they're even dropping support on the bloody translators. Translate it. Exactly. You know, the world's going to shit, I'm telling you.
Chris Gammell: Eventually, they're just going to put them out in a field, run over them with a big bull noser or something, you know? Yeah, yeah.
Dave Vandenbout: Go join my book. So what about your customers for excess?
Chris Gammell: I mean, so who do you see using this stuff? Maybe to help our listeners kind of get an idea of how they might use it in their own projects.
Dave Vandenbout: Oh, well, you know, tons and tons of students, tons and, you know, tons of small guys in engineering firms that just want to get familiar with it, need a quick way to, you know, get it into the circuitry. Take mine and you can hammer it into your circuit board and it's going to work. Whereas the other ones are all kind of like standalone boards that have headers that pop off of them or, you know, they're more like standalone computers or standalone development boards.
Chris Gammell: Yeah, use like a ribbon cable and you'll be able to connect.
Dave Vandenbout: So, I mean, you had your guest on last week, Dave, from the, you know, the Fluke Designer and he was talking about his new job at MSI or MIS, a measurement institute. Rice Lake. Oh, okay. Rice Lake, it's called. And he said, yeah, they're doing those load cells that measure, you know, weight of, you know, he said there's no difference between a five pound load cell and a five ton load cell. You know, it's all the same thing. So, he designed that little one inch circuit board that has the amplifier and the other circuitry that's needed in every load cell. And then you could just plop it. Just drop it in. Plonk it any way you want. That's the same. Yep. That's the same problem I had with my FPGA boards is people kept asking me for different peripherals that go around the FPGA. So, they said, can you spin a new board? And we'll buy five of them and we'll pay double the cost. And, you know, you can't do that. And, you know, you try to explain to them and they're coming from, you know, a university background. And so, they don't really understand that you can't spin just five boards and do all the development for that. So, I got to the point where I said, you know, I'll just put all the, you know, the good stuff on one little board here, the FPGA and the SD RAM and the programming circuitry, etc. And then I'll put peripherals around that that can be plugged and unplugged. And then whenever anybody wants anything, I can build a little board for them and then it'll do that. And that kind of, you know, was my, also my attempt to try to get to like lean manufacturing that, you know, one of your guests, Eric Ries or Eric Ries. Ries, yeah. Yeah, he talked about that now that you don't have to build the whole board from scratch every time you can build just the little module that does just the little thing that you want to do. You can do that a whole lot faster and get that out a whole lot quicker. And you don't have a lot of infrastructure involved in it anymore. So, you can iterate it. You get it out to the customer and do that. And yeah, it does kind of what I want it to do. But, you know, if you could change this or that and then you can go ahead and do that. And, you know, that's a capability I didn't have before because you had to build boards that were much bigger and more complicated. And when you change one part, other parts would change. Right. And then somebody wants something different. So, yeah, that was kind of where I started from, you know, a few years ago when I changed the kind of orientation of the product line around to being more of this component architecture versus the all-in-one architecture.
Chris Gammell: That's good. Do you run into speed issues at all? I mean, that's always one thing I think about with doing connectors and stuff like that, especially like the 0.1 inch kind of standard headers. But that doesn't really start to kick in until, you know, a couple hundred megahertz, right?
Dave Vandenbout: Well, you know, it'll definitely kick in around, you know, 100 megahertz, you know, or, you know, 50 megahertz, you know, it kicks in. But mostly what you're seeing is the high-speed stuff was between the SD RAM and the FPGA because you're doing a lot of data swapping and things going on there. So that's all incorporated on the same board through very short traces. And then when you get off of the FPGA off the board, then you're usually going to lower speed peripherals with the I2C interfaces or, you know, simple bus interfaces, things like that, that aren't, you know, going in the 100 megahertz region. So you can get away with a lot that way.
Chris Gammell: What do you usually clock on the FPGAs at these days? Is it still hovering 1, 200 megahertz or so in terms of like internal clocking, not IO? Yeah.
Dave Vandenbout: Well, it's fed with a clock of 12 megahertz. And it's all pale out. And then it's all – Right. Yeah. And that's – it's kind of strange that people still kind of key off on it and say, it's only got 12 megahertz going in and people don't understand it. Yeah. And? That there's a lot of – there's a lot of capability in there to make as many clock speeds in there as you want. So – but internally, you know, a lot of the example designs I put out are, you know, 100 megahertz designs. They're pretty easy to route. They don't have a lot of timing problems. And the SD RAM is 133 megahertz. So, you know, if you go too much faster than that, you're definitely going to have a problem.
Chris Gammell: That's another thing I usually find with FPGAs too is like, you know, you tell someone, oh, this is 100 megahertz design. And if they're used to like micros or even like – Oh, yeah. Micro controllers or microprocessors, right, where you, you know, oh, well, my computer runs at 4 gigahertz. It's just like, yeah, but I'm running, you know, 25 channels in parallel. Right. I'm doing the same amount of data overhead. And it's just like – it's such a crazy, crazy comparison. It's like you don't need that. Because they're – And in fact, you're burning more power.
Dave Jones: And your PC is drawing 100 watts. Yeah, exactly. I mean, just a chip, you know.
Dave Vandenbout: Because they're in the sequential mindset and you're in the, you know, you're in the parallel low latency mindset. Yep. Completely different.
Dave Jones: Although FPGA can match that, you know. You can get ones that operate, you know, ridiculously high speeds. And, you know, you have to put massive, you know, water-cooled heat sinks on the bloody things to get the heat of them out, just like the latest Intel processor, you know.
Dave Vandenbout: And a lot of your board areas eating up with all the bypass caps that you have to put around them.
Speaker ?: Yeah.
Dave Vandenbout: That's right.
Dave Jones: Oh, yeah. And the 12-layer board to route out all the bloody I.O. pins.
Dave Vandenbout: Yeah. Yeah, I mean, on the Zula 2 board, I've got the 256-ball BGA on one side and I've got the SD RAM on the other side. So, luckily, I was able to find a routing that would get the pins from one to the other through a four-layer board, you know, using two layers, you know, for power and ground. That's not easy, folks. Yeah. But – Yeah. Yeah. You know, I mean, when you talk about pin assignment, that's where its hair is on the printer wiring board is when you're looking, man, I've got to get this pin over here and I've got that pin over there. And the FP – Printed wiring board?
Dave Jones: Haven't anyone called it a printed wiring board since 1930? 1930.
Dave Vandenbout: I do that every now and then. I was talking to my sister on the phone a few months ago and we were talking about something. And I said, well, you know, that motion picture came out a few days, you know. And she said, motion.
Chris Gammell: Oh, I was listening to a photograph last night. Motion picture. Yeah. Grandpa.
Dave Jones: But, yeah. And I was listening to this latest song on the hip ride.
Dave Jones: And I talked to the haberdasher. Yeah.
Dave Vandenbout: But, yeah, I mean, the ability to swap the FPJ pins around and everything and get the pins that are needed close to where they need to be. I mean, that's pretty essential for getting the board layers down. But, yeah, if you can't do that, a 12-layer board is definitely in the running for you.
Dave Jones: That's painful.
Dave Vandenbout: Yeah.
Chris Gammell: So, tell us about this. I think we talked about it on the show a while back. I don't know how many episodes ago. But what about this e-book that – I don't even know if you call it just a PDF, I guess. Yeah.
Dave Vandenbout: FPJ. FPJ is now what?
Chris Gammell: Yes. I always liked the title. It was very incredulous. Yeah.
Dave Vandenbout: Like, what the hell? I've got an FPJ now. What do I do with it? Yeah. And, you know, I've written a number of books. Both, you know, I did the self-published book and I've written for Prentice Hall. And, you know, just writing books is not a very good – you know, not a very good way to get paid. Yeah. Forrest Mim's notwithstanding, writing books is not a good way to make you money. But you can justify writing a book if you can sell something that goes with the book. In that case, it's, you know, the FPJ board. So even my first book, FPJ Workout, you know, it was sold mainly with the idea of selling boards that go along with it. And, you know, so FPJ is now what is kind of like the latest incarnation of that. And I just go through design examples building up all the way from, you know, installing the software up to, you know, compiling designs and software simulating, getting them downloaded into the board. In this case, it would be the Zula or the Zula 2 board. And then how to use peripherals like the SDRAM. And I've still got some chapters to write. But I'm thinking that that kind of format for a book may be an outmoded way to do it now.
Chris Gammell: Well, maybe. But if you keep writing chapters in there that's writing tutorials sucks donkeys, then I will always read that. That's what immediately drew me to the book.
Dave Vandenbout: Well, maybe, Chris, maybe I could satisfy that just by, you know, writing chapters, you know, of various rants about, you know, send in a topic and let Dave rant about it. There you go. And that would keep you happy. But... Yeah, that'll work fine.
Chris Gammell: You do a weekly column.
Dave Vandenbout: But, you know, when I, you know, I've got a ton of Python books here. But I found out when I want to write a Python program that what I do is I go out onto the Google and I type in what my question is. And I go and I find, you know, somebody to solve it. Yeah, the big old answer machine. And it comes back with the answer for me. And I learn a language that way. Yeah. And so I'm starting to think that maybe there is a better way in terms of writing a tutorial. So it's almost like an executable tutorial broken down into little chunks that are easy to find instead of this, you know, big PDF file that nobody ever seems to find.
Chris Gammell: Well, no, that's a good, I mean, that's a good call. And having him, like, as modules where, you know, you can kind of jump in and out. Yeah. That's nice, too. Yeah. Which is how a lot of books are set up. But, you know, you have to go get the book.
Dave Vandenbout: I've been looking around. There's a, you may have heard of it. There's a language called MyHDL that... Yeah, I was going to ask you about that. It's, you know, it's just a Python library that you can, you know, load up and do logic design with it. And I'm thinking that if you can do that, there's another thing called Python notebooks now that are... Dave, you may have been familiar with a program called MathCAD. But, you know, it used to allow you to write notebooks and insert figures and write out equations and everything. And, well, Python notebooks are kind of like that. And you can execute the Python code right in the notebook and the student can run it. You know, he can modify the code and run it and see what happens. And if you could make a logic textbook that has, you know, MyHDL code in it and then allows the students to change the MyHDL code around to change the way the circuit works and then view it in a, you know, a logic analyzer that runs right in the notebook. And then I've got all this Python interfacing that goes to the Zula boards so they could eventually get to the point where they're downloading the program into the FPJ that's on the board and running it and getting all this status information back from that. I'm thinking that would be probably, I don't know, a better environment to learn in rather than just have the PDF book and trying to follow through it. Because I can't tell you the number of people that say, man, I had to go through 80 pages in this book to, you know, get an LED to blink. And the reason is because it's 80 pages of screenshots that say, you know, every step you got to go through, you know, this is the screen you'll see. This is the next screen you'll see. You do this, you know, click on this link, blah, blah, blah, and you go through and it is 80 pages. But it's because it's 80 pages of everything shown.
Chris Gammell: 80 pages, 120 words, right?
Dave Vandenbout: Yeah, exactly. I mean, it's the easiest book in the world to write because it's just cutting and pasting stuff from the tool over into the book. But, you know, it has a bad marketing feel in that, you know, people think they've got to go through 80 pages just to get from one end to the other. And I think that there's probably a simpler way to get people started with FPJs than having them, you know, all of a sudden throw this big tome down in front of them. And then they go, oh, my God, here we go. Oh, my fingers. I mean, you know, that's...
Chris Gammell: Yeah, you're right. It's almost like you almost need like an Arduino module for FPJs.
Dave Jones: FPJs. Well, I was in the process of designing a FPGA Arduino compatible board at one stage, but, yeah, never got it finished, unfortunately.
Chris Gammell: I don't think even like compatible, though, because there are others out there like that. And there's also, you know, plugins for BeagleBone and stuff like that. But I mean just like the same kind of... Like Dave's talking about with like, you know, getting that first blink is one of the big, the powerful things about an Arduino is getting to that point where you say, I did that. And then you're hooked. Then you'll go read the 80-page manual. That's right. Yeah. Yeah, exactly.
Dave Vandenbout: I mean, those FPJ boards that are going to be sitting on top of BeagleBones and Raspberry Pis aren't really solving that problem because... No. Now you've got... How do I program the FPJ? And how do I make it talk to the Raspberry Pi?
Chris Gammell: I know. All right, I'll spend six months going right after a program on the Pi and then, yeah.
Dave Vandenbout: I mean, if you think you're solving a problem by doing that, what you're really doing is you're making two problems.
Chris Gammell: Right. Yeah, yeah. It's totally true. It's true.
Dave Vandenbout: I mean, I gave a talk once about an FPGA board that I built for Altera that had eight FPJs on this ISA card. And you had to program the FPJs to talk to each other through these predefined buses and everything. And there were no real tools to handle that. I just said, you know, you write the programs and then you know the pin assignments to go from there. And after I got done giving the talk, a guy from the audience came up to me and said, you're scary. You're a scary, scary person. Do you think any of us are going to do that? But, I mean, yeah, it's a big cognitive load to manage all of that, all those pins that are going on there. And it's a big cognitive load when you get a processor and an FPGA together all of a sudden. Now you've got a sequential machine and a machine that's definitely not sequential trying to talk to each other. And it's really not simple. I mean, that's why I think the Zinc is a good step forward in that they're integrating the processors and the FPGA more tightly together. And they're putting an integrated tool set together there. And I think that's going to be easier than common two different boards together. Anyway. Yeah. My opinion.
Dave Jones: So has the Arduino of the FPGA world yet to happen? And is it inevitable, I guess?
Dave Vandenbout: Or is it just too darn hard? I don't believe it's too hard. I think that... I'm sure it's not. I think that we've just got the wrong language. Oh, yeah? Oh, that's interesting. Well, I think something like MyHGL is a lot simpler. And you can build things on top of that that do even more levels of abstraction. I mean, another implementation of the same ideas is MATLAB and... Oh. What's the other company? Mathematica. National Instruments.
Chris Gammell: Oh, National Instruments. Yeah, LabVIEW.
Dave Jones: Yeah, LabVIEW. LabVIEW. Well, there comes the argument, though, that you're not learning an industry tool. Okay? You might be able to get a job done, but then you're not really learning a tool that's used in industry.
Dave Vandenbout: Well, Arduino's not either. So, from that point of view... I mean... That's true. It is.
Dave Jones: Yes, it is. No, Arduino is real C. You are programming in real C. It's not real C. It is real C, dude. It's not real C. Go look it up right now.
Chris Gammell: Look it up right now. It's not. I know it's not. It's called wiring, and it's not real C. It's C. It's real C.
Dave Vandenbout: Well, there are two environments for Arduino, aren't there? I mean, I thought that there is a non-C environment, which is what you're talking about, Chris.
Dave Jones: The Arduino environment uses the GCCC compiler.
Chris Gammell: It's not real C.
Dave Jones: It's real C.
Chris Gammell: Okay.
Dave Jones: It's real C. It's just got a couple of top-level things taken care of, like the libraries and the configuration stuff. But apart from that, you're writing in real C.
Dave Vandenbout: Okay.
Dave Jones: Sorry, dude. You are.
Dave Vandenbout: I've never programmed in Arduino, so...
Dave Jones: It's close enough to real C to... We don't need to argue about this. It's fine. We're talking about a TGS. We don't, because I'm right. No, you're not. But no, but see, that's the argument. Like, with the lab view and things like that, yeah, you can get a job done really easily, but you're not using a... You know, you're not learning, you know, sort of a proper industry tool. Or if you get, you know, a nice basic interpreter or something, yeah, that's great for your microcontroller. That's wonderful. You can program it, but...
Dave Vandenbout: But if you get a job done, does anybody really care? I mean, isn't it a lot cheaper to buy the tool than it is to try to educate the people?
Dave Jones: That's the argument. Well, that's the argument right there. I mean... You know, it's... No, if you're getting a job done, there's nothing wrong with that. But then you'll have the whole bunch of people in the industry going, well, you're not learning a useful industry tool.
Dave Vandenbout: And my point would be that... You're not learning... You know, there's not a... I mean, there's not an economic justification for me to learn the real industry tool because it's going to take me longer. There may not be. That's right. There may not be.
Dave Jones: And I'm not pro or against either way. I'm just, yeah, stating the argument. There's always going to be that big argument there, is when you get those real high-level abstraction tools, like we're talking about using Python to program, you know, HDL, FPGAs, well, you know, is that...
Dave Vandenbout: But in the end, that does compile down into VHDL and Verilog.
Dave Jones: Right. Yep.
Dave Vandenbout: But, I mean, the point is, can you get a simplified environment that will get people introduced to FPGAs the way that the simplified Arduino introduces people to microcontrollers? And I think, yes, I mean, those are... Oh, it's possible, yeah. Yeah, those are existing tools that are expensive, but they will do that. They just haven't gotten to the point where they're widely available to, you know, Tom, Dick, and Harry that want to buy a little FPGA board and use it. But I think that free open source tools like MyHGL and Python may be a way to get you there.
Chris Gammell: Hmm. That's interesting.
Dave Jones: And there may not be an incentive for somebody to actually put the effort in to do it either. Right. Because FPGAs are that niche thing. Like, you know, if you just want to flash a LED and do some other stuff, well, you know, use an Arduino or some other microboard, you know. There's just no point.
Dave Vandenbout: It's probably going to come from the open source community by a guy that's interested in doing it. You know, there's not a great big market for people. Because the people that are doing that that need to be introduced to FPGAs, you know, it's not a big market. It's not until they're designing base stations and things like that that people want to service them. Right. Yeah, yeah. I mean, Arrow and Abnet couldn't give a shit, you know.
Dave Jones: Yeah. And you're not going to use your, you know, your FPGA and your little wearable electronic LED flashy gadget, you know. It's just… Overkill and too much power. There's just no point. That market's already solved. Yeah, exactly.
Chris Gammell: It's already solved. What do you see most people… I mean, I know about the regional differences, but what do you see most people programming in when they are programming? Programming directly? Is it mostly Verilog or VHDL or what do you see?
Dave Vandenbout: Well, most of my people eventually get over to VHDL because I provide all my examples that way. But, you know… Nice. It's… I mean, you know, you got the obvious bifurcation that everything to the west and California and I think Asia is Verilog and everything to the east. You know, east of the Mississippi all the way over to Europe is VHDL. Yeah, all the military stuff is VHDL, right? Yeah, but it's such a tiresome argument. I'm just so sick of it. I mean, the tool… You know, neither one's better than the other. They both do kind of the same thing. They both are a pain in the ass sometimes for different reasons and… Totally agree. I mean… I mean… But it's what you've got and it's what you've got to use. So, you know, go ahead and do what you can with it. I mean, you know… I get so sick of the internet where, you know, people say, oh, you use X. That means you are Y. And, you know, usually X is Verilog and Y is dumb. You know, they just jump from one thing to, you know, from one little piece of evidence to this massive conclusion. But, you know, like I said, these are the things that you got. These are what you've got to use. And, you know, please don't make value adjustments because I'm trying to get a job done.
Chris Gammell: You see that because then people don't have all the… They don't have selection on the tutorials then?
Dave Vandenbout: Oh, no. No. I mean, I'm not going to… I just don't think it's, you know, worth the effort. I think that if you know one, you can learn the other. It's not a big… It's not a big semantic gap. The hard part… I mean, you know, Dave, you've talked about it before. The hard part is the parallel nature of it. I mean, if you get the model in your head about how circuitry works in parallel and you understand that parallel model, then VHDL and Verilog are going to, you know, do just fine for you. But if you don't understand that parallel model, you can't write either language. Yeah.
Dave Jones: That's why I've always actually preferred, you know, doing FPJs and PLD stuff and programmable logic in schematic capture because it's something that I'm always familiar with. Oh, I need a flip-flop there. I need a counter. Drag it in. You know, there it is. Hook it up.
Dave Vandenbout: I'll give you my opinion of schematic captures. I hope that I never have to do it again. But, you know, the problem I found was when Xilinx updates their tools, their schematic capture stuff does not go along with the ride. You know, they're… I see those gates there, but I'm not doing anything with those.
Chris Gammell: Nope. Not going to touch it.
Dave Vandenbout: They're always abandoning you on schematic capture, you know. The file formats change. You know, we can't do anything with them. And I've always had a problem that if you're an OCD kind of person, you know, you spend all your time fiddling with the schematic, making all the wires go the right way and everything. And I… You're right. 90-degree turns, yeah. You know, it's like being thrown into a tar pit, you know.
Speaker ?: You're right.
Dave Jones: But it's something familiar. I mean, every electronics designer knows about gates and flip-flops. They understand it, right? But, you know, how do they… But to get your mind around how a counter works in HDL code is, you know, is an entirely different ballgame. There's an interesting thing that when I was working at Altium, they found out that in the hilletry side of things, right, they wouldn't… They couldn't… They used schematic capture instead of HDL because if it was HDL, it was deemed to be source code. So source code came under a different set of rules which meant that they had to verify each line of code in their product, right? And, you know, it would cost like, you know, there's some generic cost of like $100 per line of code to, you know, verify code in the military world or something.
Dave Vandenbout: Well, couldn't they have passed their HDL to the thing that converts it into a schematic diagram that nobody in the world can read? Oh, God.
Dave Jones: Talk about spaghetti. That's what a lot of them did. So they'd put in schematic and then they'd go, look, here's our schematic. This is not a programmed product. It's schematic. Even though the… Then they'd use the schematic to regenerate the HDL. There's tiny gates inside.
Dave Vandenbout: You know what? You know, if you showed me… But it worked. If you showed me that schematic, Dave, at a review meeting or something, I would say to you, you scare me. Yeah, I know.
Chris Gammell: Punch them in the nose and walk out of the room, really.
Dave Jones: But anyway, that's what they did. That's what they did to get around and a lot of other big companies to get around, especially in other regulated markets like medical and, you know, stuff like that. Source code comes under different rules. So if you do it in schematic and it generates the HDL, then that's fine.
Dave Vandenbout: I'll say that… Anyway, I thought that was cool. One of the things that I… One of the… Two of the things I really hate about schematics are, you know, making a big change to your architecture is a big deal in a schematic, not as big a deal with HDL. And doing a diff, you know, version control in a schematic is a lot harder than doing it on a HDL. Uh-oh. I'm getting these messages here that say, better finish it up. You guys there? Hello. Nope. Hello. Sorry.
Chris Gammell: Dave doesn't know how to type messages to me, just me. Ah, okay. I'll take that out. Yes, what were we saying?
Dave Jones: Yes, because we are at 100. We are at 100.
Chris Gammell: Yeah.
Dave Jones: An hour and 21 minutes.
Dave Vandenbout: Sorry, guys. I haven't talked to anybody in years, so, you know. Running off of the mouth.
Chris Gammell: Brilliant. So, I wanted to ask, have you found limits on the My HDL side of things? Because I am intrigued by this. I do think it's an interesting project. Have you found any limits on what it can do?
Dave Vandenbout: I haven't explored it in detail yet, but my concern is how well it's going to handle non-logic things in the FPGA. Like, how does it handle the JTAG interface that you can use in the FPGA and hook to your circuits? Can it handle that? Can it handle, you know, how would it handle a microblaze if it was in there? It doesn't have representations for these very high-level blocks that you can drop in. Because, you know, obviously designers make a lot of use of those because it's prepackaged, you know, and it's supposed to work when you put it in there. And, you know, you'd like to be able to do that in My HDL. Are we going to have to clean room design those ourselves and put that into the My HDL library in order to make that work? Now, there's probably somebody out there screaming right now, oh, you idiot! We already know how to do that! But, you know, I'm not familiar enough yet with it to tell you that. But that would be a concern that I have.
Chris Gammell: Well, that's interesting with those – because I know the FPGA guy that I worked with is very vehement about that when he's, like, talking about being able to port designs and making sure you don't use, like, the native stuff from a vendor, so, like, the special blocks from Xilinx or Altera or whatever. Right. You know, kind of abstracting that out and stuff. And that is another question about if My HDL would do that kind of stuff or then when it, you know, when Xilinx updates their software, if it's going to break all your programs there and it has to go redo all that.
Dave Vandenbout: I mean, I hate those special purpose blocks. I know why people use them because they get better density, they get faster speeds. Yeah. But, you know, whenever you move from one family to another, those macros change and then you've got to change the design around it so much. I love the fact that you can infer a lot of the circuitry from VHDL or Darilog and it'll be put in there automatically for you. They'll drop the primitives in there for you. But, you know, I understand why people do it, but it is a pain to have those special purpose modules.
Chris Gammell: Well, that's actually a good reason to start, like Dave said, with the schematic side of things, because a lot of the best designers I know with FPGAs, they understand, when they type a line of code, they say, that's going to be a flip-flop right there. You know, that's going to be a register or whatever. And it's like if you don't do that and you're just kind of blindly coding like I do, it doesn't work out well, right? You know, you're like, oh, well, I type three lines of code and my part's full now. What happened here? You actually have to have that association so that you understand that while you're coding.
Dave Vandenbout: I mean, what you really need to do nowadays is drive the – excuse me, going through puberty here – after, you know, after 40 years. But you should drive the compiler around a little bit, try little pieces of code, and then bring it into the RTL viewer where it shows you the gates for it and get a feel for it. But after a while, you probably want to get away from that level, that kind of primitive level coding and get up higher in abstractions as long as you understand what you're doing. And primarily, you just have to understand that parallel mode of execution and how things work that way. But it's, you know, like I said, when Verilog or VHDL can infer, you know, rams and other things from loops that you put into the coding, you know, that's, you know, pretty powerful, you know, inferences going on there. And you'd like to make use of that and go up even higher. You know, I've seen entire microcontrollers described in, you know, a couple of hundred lines of VHDL because they've got the abstractions right, they've got the macros right that they put into their code, and you can read through it and say, yeah, I see how that is a processor. And, you know, since code is read a lot more than it's written, that's, you know, that's pretty nice to have.
Chris Gammell: Definitely. That's really cool. So you have a GitHub account as well, right? So you're sharing all your projects there. Maybe people could go check those out.
Dave Vandenbout: Oh, yeah, they're all linked in off the website and all through the manuals and everything else. And GitHub is probably the place where most of my projects go now. I have some projects on the website that are linked there directly, but really the interesting stuff is all going on on GitHub.
Chris Gammell: Okay. How was the experience with FPGA stuff and GitHub? Because I've had problems in the past with, like, a lot of binary files. Oh, no. I mean, I know you can exclude stuff, but... No. All I...
Dave Vandenbout: Is it... Well, I think I put the bit files out there sometimes, but not often. But mainly it's just a couple of files. It's an XISE file, which is a project file. It's VHDL files, and it's a UCF file, which assigns the pins, you know, the IO to the pins. That's... That's... And then there's a... A README file. And I mean, really, when you look at it, it's like 20 or, you know, 20 or 30 K bytes of code. I mean... Yeah, that's not bad. Not very much of anything in there. So, you know, it downloads fast, you know, compiles pretty fast. So, you know, go from there. Cool. That's really cool. So, no binary stuff.
Dave Jones: And all your boards are open source hardware?
Dave Vandenbout: All the recent boards are. There's still a few of the older boards that aren't and never will be because it's not worth...
Dave Jones: In which package?
Dave Vandenbout: Uh, like the XSA board, the XSA 3S1000, which had a, uh, I mean, a Spartan 3 1000 on it. You know, that was done back in 2004. And, uh, it's not being sold anymore. I just discontinued that one. And it'll never be open source because it's not worth it. But, uh, all the Zula stuff and the Stick It stuff is all open source. Using which, uh, CAD package? Oh, uh, it's in, uh, Eagle right now. But, uh, I'm making the shift over to CAD, you know, uh, primarily because, you know...
Dave Vandenbout: You know, Chris and Chris and, you know, was it Adam Wolf had that, had that pretty, uh, pretty extensive talk about CAD and, uh, and then, you know, the fact that...
Chris Gammell: And Mike Osman too? Mike Osman's doing the Dye Show on there?
Dave Vandenbout: Yeah, I didn't hear that one. But, uh, then there's a CERN that's doing the, uh, you know, that's getting involved in, in KiCAD. And I just get the, you know, I just get the feeling. I used to use a, uh, a paid for program called Zera as, you know, for graphic, graphics design. But now I use an open source program like, like Inkscape, which is at least as good, if not better than that. It doesn't cost any money and it gets improved all the time. And I'm having a feeling that KiCAD is, you know, on that cusp between, uh, between being, uh, you know, better than, better than Eagle. So, like, like Adam said, you know, it's not going to make you 10 times more efficient to be in KiCAD or Eagle over the other one. But, uh, at least I'll, I'll be sure that my open source stuff can be opened by everybody now if it's done in KiCAD. And that's not true in Eagle anymore. Plus, I'm not upgrading to the version 6. So, now we're having all kinds of problems with people wanting version 5 or version 6. And it's, it's a mess. So, uh, you know, I, I, I just as soon get away from Eagle now and try KiCAD if I can just get all of my design flow into, into KiCAD the way I want it to be.
Chris Gammell: Hot keys, man. It's all about the hot keys.
Dave Vandenbout: Yeah, I need, I need to get, what I need is I need to get my, uh, my board cost or software moved over that, you know, you can just punch a button and it'll go and say, I want to build, you know, a hundred of these boards. How much is it going to cost? And it goes out to DigiKey and Mouser and pulls all the prices in for you and says, well, it's going to cost this much if you do it here, that much if you do it here. And, you know, get a good quick estimate on that. So, I want to, you know, get functionalities like that that I got with the ULPs with Eagle. I want to get that same stuff over on, uh, on KiCAD. And I'm hoping that they're going to integrate the Python scripting with the KiCAD, which will make everything really easy to do. And, uh, I can pull over all those ULPs I use and use them on, on KiCAD. And, you know, I think that's going to happen. I don't know if it's happened yet. I'm still looking around trying to figure it out.
Chris Gammell: Yeah, I think the Python stuff's in the pipeline. So, it's, it's not quite there yet, but yeah, it's, uh, it's cool. And if you're a Python guy already, that's, that's a good start.
Dave Vandenbout: Yeah, well, I'm, I'm, I'm starting to do a lot more Python than anything else now. I, I, it sure is a lot better for me than Pearl because when they write something in Pearl, I write it and then, you know, three days later I say, huh? What, what am I, what was that all about? Was I drunk? Yeah, really? Was I drunk? Yeah.
Chris Gammell: I mean, it's got, I'm pretty sure the guy that wrote Pearl said that about Pearl as well.
Dave Vandenbout: I think he's got, he's got so much syntactic sugar in there that, you know, there's more than one way to do it. Well, there's about a billion ways to do it in, in Pearl and, and, you know, I can't figure out any of them.
Chris Gammell: Does that mean you're not a, a tickle guy? You're not a tickle guy with the FPGA?
Dave Vandenbout: I've seen tickle, but, uh, yeah, I mean, you know, had some experience with it, but I, but I don't like it very much. I mean, I don't, I don't, I don't know why, but I just don't like it very much.
Chris Gammell: Well, it seems like all the, all of the, the backend scripting stuff for the FPGA and place and route stuff, that's all tickle. It's all glued together with tickle.
Dave Vandenbout: Yeah. I mean, I don't, I don't really, I don't really see that at the level I'm at, you know, mainly working at it from the front end, trying to get a design done. I don't really, you know, screw around on the backend very much, but, uh, I've just seen the TTCL, TK stuff with the Python, uh, main graphical interfaces done using that. I mean, the default and then everybody, nobody really uses it, but that's just happens to be the default for it. But, uh, you know, I just don't like it, but I wouldn't call anybody stupid if they did like it.
Chris Gammell: Well, speaking of, uh, calling people stupid, uh, Dave, Dave, uh, Dave was right, by the way. I did look it up on, uh, on Wikipedia. It was C. It's a, wiring is a library. So we can, we can end the episode with me being wrong.
Dave Vandenbout: See, if you listen to the show, you will learn something.
Chris Gammell: Brilliant.
Dave Vandenbout: If you stay with it long enough.
Chris Gammell: 181 episodes in. Finally.
Dave Jones: But you're still not going to cave on the chip printer.
Chris Gammell: No, probably not. No, you're not even going to mention it. I'm neutral.
Dave Jones: Yep, I win.
Chris Gammell: Yeah, all right. We had another neutral. That's fine. I am Switzerland.
Dave Jones: Thank you very much for, there you go. Thank you very much for joining us, Dave.
Dave Vandenbout: Thank you very much, guys, for having me on.
Dave Jones: Where can people catch you? Where can people follow you and, uh, stalk you?
Dave Vandenbout: Uh, they can catch me on Twitter at, uh, D-E-V-B is me. And, uh, my website is www.xess.com. That's like X-Ray Edwards, Samuel, Samuel. And, uh, and I don't have a Facebook. Or if I do, I don't want anybody to go look at it. Good. And, uh, that's, that's about it.
Chris Gammell: All right. Well, Dave, thanks for being on. We'll, uh, we'll push everyone your way as soon as we get more FPGA questions. Okay.
Dave Vandenbout: Thank you very much, guys.
Chris Gammell: It's been good talking about it. Thank you.
Dave Jones: Awesome. Thanks, Dave. See you.
Chris Gammell: Talk to you soon.
Dave Jones: Bye. Bye. Bye. Bye.
Speaker ?: Bye. Bye.
Dave Vandenbout: We used to, uh, we used to say, uh, you know, there was a joke about Bell Labs. A woman goes on her honeymoon. She comes back and her friends ask her, well, what was honeymoon like? And she says, well, my husband's a Bell Labs engineer. So he spent the honeymoon night sitting on the edge of the bed telling me how good it was going to be when I finally got it.
Archived Discussion (15)
Comments are closed. Archived from the original site.
Show archived discussion (15)Hide discussion
8051AlteraCommodore 64FPGAIntelINXSLatticeMicroMyHDLparallelPythonStyxXESSXilinx
Keep current
Every episode, plus the occasional job post, in your inbox.

I'd be nice to get that a run again... I could use an sdram controller reference right about now! Anyone know if there's any licensing restrictions, or if it's even open source?
The problem with the XSA-100 is it's using the Spartan-2 FPGA. The newer versions of the free Xilinx WebPACK tools stopped supporting that device, so you'd have to install an earlier version. In addition, you're using an older FPGA with no built-in multipliers, smaller block RAMs, fewer gates. It gets to the point (IMO) where it's not worth your time to reclaim older electronics versus just moving to the newer stuff. Although, like many, I don't like throwing stuff away.
I prefer buying $3 Atmel µC and programming them, with the AVR Dragon.
Thanks,
-Rami
Now I gotta know the punchline about the women that went on her honeymoon vacation?!!