By Dean ~ September 27th, 2011. Filed under: SDR & SCA.
Grant Martin’s very insightful post over on his “Taken For Granted” blog touches on two subjects near and dear to my heart — Software Defined Radio and Performance Engineering. Mr. Martin asserts that the term “Software Defined Radio” has gone “out of fashion” because the words are often taken too literally.
His position, with which I whole heartedly agree, is that the traditional definition is far too binary. Radio systems run the gamut (I didn’t want to use spectrum here…) from pure hardware to nearly pure software. As Mr. Martin so eloquently phrases it,
‘… this definition seems to take an “all or nothing” position in which everything that was done hard (with hardware) is now done soft (as software running on processors). This is a little too absolutist. I think in modern embedded systems, the key phrase is “software-defined“, but not necessarily “100% software implemented”. That is, software running on embedded processors defines the functionality of the system, and will definitely be the implementation vehicle for much of that functionality, but not necessarily all of it. However, where functions continue to be delivered via hardware blocks, software, and the processors it runs on, will control it, shape it, and thus define what it is.’
The real challenge lies in determining the “right” mix of hardware and software. You need to strike the optimal balance between requirements for performance / functionality and constraints on power consumption, package size, schedule & BOM costs. Fortunately, there is a solution. Performance Engineering allows you to examine all aspects of your system and ensures that all trade-offs are made based on real data. As Mr. Martin so ably points out, later in his post:
“[This notion of Software-defined everything] emphasises [sic] the need for sophisticated up-front design space exploration and architectural analysis: that is, part of ESL (electronic system level design)”
He’s absolutely right, and our solutions are by far the most effective way of performing these analyses for complex highly constrained embedded systems. I’d even go so far as to say that you cannot achieve the best possible design for these challenging systems without a Performance Engineering approach. I’d love to hear from you if you disagree.