Recently J P Morgan announced the use of an "FPGA Supercomputer" to cut risk calculation times from 8 hours to under 4 minutes. Calxeda announced low energy servers based on traditional embedded architectures, targeted for data centers. Tablet computers are already replacing desktops and laptops for many applications.
These trends have one thing in common - traditional embedded systems are slowly and steadily taking over not only the traditional desktop and server but also entering the domain of the mainframe and super computer !
These seemingly different manifestations of embedded systems can potentially share the same underlying design paradigm. When embedded designers start creating designs for smart devices, high performance devices and data center blades using the same common set of components, there will surely be disruption in the market place for all kinds of computing devices.
How will modeling languages and design platforms look like that will power these design teams ? Fortunately, the basic elements for such design platforms are already available today, to a different level of completeness from various existing ESL/EDA vendors.
I would say that the design platform for application driven embedded system level design should necessarily support the following features:
A) Languages
Support a family of simple and elegant architectural modeling and specification languages for
+ Hardware system modeling
+ Processor architecture modeling
+ Software behavior modeling
+ Unified system (hardware, software, communication, parallelization) configuration modeling
+ Unified system deployment modeling
B) Functionality
+ Processor and System Synthesis
+ Automated Synthesis of Verification suite
+ Virtual Prototyping (for performance analysis and software development, concurrent design)
+ Infrastructure Virtualization (Realize parts of the system on a processor or FPGA Cloud)
+ Parallelization Control Synthesis (Message exchange between processors/tasks/nodes)
+ SDK Synthesis
+ Deployment Plan Synthesis ( System level partitioning and scheduling )
Each of these distinct areas would include several tools to automate development and testing activities. Some of these would be used during specification time, others at execution time.
Go ahead and start creating specs for your own organizations large system modeling platform.
文章评论(0条评论)
登录后参与讨论