An innovative hardware /
software design tool provides four
modes of operation for converting an
electronic design specification and zero or more technology specifications into realization of the
electronic design in
computer hardware,
software and
firmware. The first mode of operation compiles design and logic technology specifications into a model which can be utilized for
behavioral analysis (such as
simulation or
formal verification) of logical characteristics (the model). The second mode of operation translates (compiles) partitions of the design and one or more logic technologies into one or more processor intermediates or binaries (embedded binary) suitable for execution on multi-purpose
processing units (embedded or
general purpose processors). The third mode of operation translates (synthesizes) partitions of the design and logic technology into a collection of cells and interconnects (net-
list implementation) suitable for input to
physical design processes such as is required to target a field-
programmable logic array (FPGA),
application specific integrated circuit (ASIC),
system-on-a-
chip (SOC) or custom logic). The fourth mode of operation analyzes (verifies) behavior of the embedded binaries running on
processing units and implementations augmented by additional physical technology and parameters, yielding a more detailed (accurate) prediction of the resulting hardware /
software system behavior when realized through manufacturing. Critically, the
design specification, logic specifications, physical specifications and definition of each multi-purpose
processing unit may be defined external to the hardware /
software design tool using an innovative augmentation of standard hardware description or
programming languages taught in this
patent application. In the prior art, specification of the logic technology, physical technology and embedded or
general purpose processor architecture are either incorporated directly into the
design tool by the tool developer or are maintained entirely external to the
design tool (such as an encapsulated component model or
intermediate code interpreter). The present invention is an innovative and valuable improvement over prior art in that design specifications are combined by the tool from distinct specification(s) of generalized logic, physical and processor technology, leading to more efficient behavioral design, opportunities for third parties to add functionality by incorporating generalized logic and physical technology modules into the analysis and synthesis process and opportunities for semi-automatic, goal-directed optimization through application of various logic, physical and processor technologies by the design tool.