On Mon, May 11, 2009 at 01:52:15PM -0700, Eric Brombaugh wrote: > > 1) A task that requires a lot of smart people to complete must suffer > from a lack of adequate tools. > > 2) A task that can be completed with inadequate tools can't be very complex.
I don't know that you can decompose my position like that. A task that requires a lot of smart people to complete would take fewer people if the tools were better. > Coming from a background as a wireless systems engineer as well as a > chip designer, I'm here to tell you that there's nothing simple about > the chips I've worked on: the Wifi chipsets I was doing 6 years ago were > complex enough that no one person understood _everything_ that was > happening in them. I would distinguish between "necessary complexity" and "unnecessary complexity". I can write a C program without understanding the instruction set or register architecture of the processor I'm on. Modern compilers will do a very good job of insulating me from the performance implications. But I bet your Wifi chip had guys who were great at DSP and who modelled the whole system in Simulink. Then they had to communicate those ideas to another team who understood the inner workings of the chip process you were working in and who then had to translate the whole system into VHDL or Verilog. > The only way these things are at all possible is with a wide variation > in levels of abstraction. They guy designing the transistors doesn't > know about the circuits they go into, while the architect working on the > memory management can't be bothered with the ESD structures of the I/O > pads. That's all true. I just don't think it goes far enough. I don't know if that's because it's a Hard Problem or if it's because engineers have expectations that are too low. As a software engineer I came to the party with much higher expectations. I would compare the current state of FPGA development tools with my early 8-bit computer experience. On my Commodore 64 I cared about every memory location on the system. I wrote anything remotely important by hand in assembly. Writing Verilog is at the abstraction level of approximately a macro assembler. At the high end it might reach up into the level of BASIC. -- Ben Jackson AD7GD <[email protected]> http://www.ben.com/ _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

