element14: John, please tell us a little about yourself
John: Basically, FPGA work is my main consulting activity. My primary customer - actually currently my only customer - is a former employer that I designed an FPGA for and they keep needing to add new features to it, or port it to a new version of their product, so I do that design.
I also do a certain amount of software work, and digital design to some extent, though I normally don’t do PC board design so much just because of a lot of resources are required to do that. The FPGA design work is great because all you need for that is a computer, although you do need to have some hefty equipment for testing out the prototypes to make sure that the FPGA works.
element 14: Also by having a main client that you're familiar with, you don't have to go through a lot of the aspects of being an independent consultant that engineers don't like - the selling part of it and the pursuing clients, for example,
John: That's true, that's very true. The luxury I have right now is the time I spend on an entrepreneurial project of my own that may or may not actually end up making me any money, ever - but that's what I like doing the best. The FPGA work helps pay the rent, so it's good for that. Plus, it's nice to go up and work on different problems every now and then. Just keeps your mind fresher than if you're only working on one thing.
element14: That is the lure of engineering, isn’t it? mano-a-mano, you against the problem. That's what makes it interesting.
John: One of my philosophies in engineering - on life, in general actually – is that I have to keep learning. If I'm in a job where I'm not learning anything, where I'm basically doing the same job year after year, that gets old for me very quickly. The consulting business is great because you have new problems to work on. Although sometimes, it's old problems [he laughs].
A recent one was where they needed me to take the same design that I had done twice before, and put it into a new context. But usually there's something else, a new aspect of it that makes it interesting, and usually it doesn't take that long. Like I said, it pays for pizza.
element14: Yes, I understand completely. I also saw on your bio page on element14 Community that in terms of formal education, you list the University of Wisconsin and then Stanford. Is that correct?
John: That's right. I got a Bachelor's from the University of Wisconsin at Madison, and a PhD from Stanford. The first one was in Electrical and Computer Engineering. The second one is strictly speaking Electrical Engineering, but the specialty is computer-aided design for digital--for electronics--not for mechanical design.
element14: I also noticed on your element14 Community bio page, that you had an interesting picture - obviously not of you, who is it?
John: That's Jules Verne.
element14: Tell me, why Jules Verne?
John: I really enjoyed reading Jules Verne when I was a kid. My father was an art historian - I grew up in Madison, Wisconsin. He was a professor there, and he could get me into the main university library. They have the most outstanding collection of Jules Verne books, both in English and French. I read most of his books. I feel that he got me going and helped inspire me in engineering. If you read Jules Verne novels he's considered one of the fathers of science fiction-- his form of science fiction is very much engineering, telling you basically how to build these things. It's not completely fantastic like H. G. Wells. It's basically taking technology that was available at the time, and taking it to the next level in fiction.
He was just a big inspiration. I figured for the avatar, you put in someone who has inspired you.
element14: How did you become aware of element14 Community? What made you decide to be a member?
John: It's very amusing a story. I was very active on the Raspberry Pi site. It captured my imagination when it was first announced that they were working on this, which was in the middle of 2011.
It was very exciting going up to the actual release day, which was leap day - February 29th of 2012. The problem was what happened: while they knew there was going to be a flood of activity they had no idea just how big a tidal wave of activity they were going to have. They had to shut down their server, just put up a static page, and you couldn't get on the forums anymore. But there was still all sorts of interest in Raspberry Pi so I went to the wiki - the Raspberry Pi wiki, which is at elinux.org-- and discovered that there was a link to the element14 site there, as another community site.
When I started checking it out, it became very clear that there were a lot of people wondering 'What the heck is going on with this thing (Raspberry Pi)?' and they couldn't get any information from the official site. I signed up, became a member because I knew a lot of their answers, and I thought it'd be fun to continue this conversation.
In many cases, people were saying, 'I don't know. What does it do? What about this?' I kept pointing them to the wiki; I said 'The wiki is still running fine because nobody is reading the manuals'."
element14: Everyone, including Premier Farnell, the parent company of element14 Community and involved with Raspberry Pi right from the outset, was surprised by the amount of activity that was involved with Raspberry Pi. They were happy, of course, because they were selling it.
John: It's a nice problem to have, but it was just a dreadful time before people could actually get the things. There were thousands of people who wanted these boards, right from day one. It was quite a difficulty for a few months there, but eventually they got out. I got mine in June of that year.
element14 Have you also dabbled in Arduino?
John: Actually, no. I've never done Arduino myself. I sometimes respond to things on the Arduino page, because a lot of the questions are really generic and would apply to any microcontroller, so it's easy for me to answer questions never having touched an Arduino.
element14: What areas of the element14 Community site do you find yourself attracted to? Is it the RoadTest, is it the Challenges? Or is it just the forum element of the site, the discussion of problems with other engineers?
John: Mostly, it's the forums. To a large extent, it's various people, because a certain number of us like me and Problemchild for example, we're interested in a lot of the same kind of things. Discussions get going.
Raspberry Pi was the thing that really got me started on the site. And BeagleBone Black, I've also discussed that quite a bit. I have a BeagleBoard which is the predecessor of the BeagleBone. I have a BeagleBoard from 2008, I mean, that's been around a lot longer than the Raspberry Pi.
One area I would love to see more activity in is the FPGA community. The way you create activity is to produce interesting content, and I'm hoping to put some very interesting content there, sometime this summer.
element 14: Great. One would think in an area like FPGA's, where unlike micro controllers there's just a handful of major suppliers, you'd think that they would make an all-out effort to get content on to the FPGA area within element14?
John: Yes, I don't know. I got interested in FPGAs, very early on, in the 1980's. Xilinx’s first chips came out around 1985. The frustration I've had always with FPGAs is that the internal bitstream format is hidden from you. You know what the architecture is, they publish it in terms of drawings and stuff, but since the bitstream format is hidden you cannot create your own tools, where you can produce your own bitstreams, download them to your parts and use them.
It's the same thing as if you buy a microprocessor, but you have to use the silicon vendor's tools in order to program that microprocessor. Nobody does that. People use other tools to write their C programs - although I understand that ARM has a terrific C compiler that costs a lot of money for the professional version. You can use other tools so you are not dependent on the silicon manufacturer.
Always it's been with FPGAs that you have to use the vendor's tools. This is very frustrating, because back in the late ‘80s and early ‘90s, I was doing university research, and I wanted to do FPGA research. I couldn't do proper FPGA research because I wouldn't be able to create tools that could actually program these FPGAs.
I could do these on-paper tools - tools that you can write papers about - but in terms of actually producing a useful tool that would perform a useful function for actual people , no, you couldn't do that unless you were actually working for one of these companies. It seems like a bad way to sell silicon.
element14: You would think with FPGAs trying to take sockets away from ASICS and things like that, that it would be in the interest of the few companies -- the Xilinxes and Alteras of the world-- to allow just that. One would think that they would benefit from it.
John: The excuse that they make is, they say that our customers say that they don't want people to be able to decode the bitstream and reverse engineer their products. You can say exactly the same thing about a microprocessor that has an external RAM that contains the program that the processor runs.
But people don't say, 'Oh gosh, you have to use a microprocessor with a closed instruction set so that people can't decrypt your code.' It's an argument that seems wrong to me, but I'm not an important customer for Xilinx. The stuff that I've designed, I typically try to design it so that it fits in the smallest, cheapest FPGA possible. The ones that cost $20 or less.
They don't make that much money from those. What they make money from are big arrays that cost thousands of dollars. It may be that the customers who use those are the ones who are adamant and the ones they don't want to offend.
The thing with FPGAs, one thing that was very interesting when I went to the EE Live conference a couple months ago--this year's version of the Embedded Systems Conference--there was a talk about the state of embedded computing; and one thing that was notable, was that FPGA use is falling. Planned FPGA use is falling.
Part of the problem is that system-on-chips (SoCs) now often provide resources that you used to have to put in an FPGA. The fact that you can get them on one chip already, you don't have to buy an FPGA. Another factor is just that it's hard to design these FPGAs; it's a very steep learning curve. People who do it all the time like I do, I've gotten used to the learning curve and I've learned the tricks that work. Somebody new starting out, they're going to have a dreadful time. It's literally drinking from a fire hose, or I should say figuratively like drinking from a fire hose, but it's very much the drinking from the fire hose problem - there's a whole lot of stuff you have to do.
element14: Thank you, John. I appreciate your comments and enjoyed chatting with you.
Check out what Johnbeetem is up to by clicking in his profile here.