摘要:
Various approaches for co-simulating an electronic system design are described. In one approach, a hardware design function block in the design is instantiated, along with a specification of a software execution platform including external ports and software to execute on the platform. In response to a user instruction to import the software execution platform into the design, a software execution platform interface block is automatically instantiated. A first simulation model is generated from the hardware design function block and the software execution platform interface block and a second simulation model is generated from the software execution platform. The design is co-simulated using the first and second simulation models. Data is communicated between the first simulation model and the second simulation model via the interface block.
摘要:
A system and method for distributing and accessing files in a distributed storage system uses an ordered list of the storage nodes in the system to determine the storage node on which a file is stored. The distributed storage system includes a cluster of storage nodes and may also include one or more client nodes that participate in the system as storage resources. Each node (client and storage) stores an ordered list of the storage nodes in the system, allowing any of the nodes to access the file. The list is updated whenever a new storage node is added to the system, an existing storage node is removed from the system, or a new storage node is swapped with an existing storage node. Each one of the nodes may independently compute a new mapping of files to the storage nodes when the ordered list is changed.
摘要:
Implementing a type-safe heterogeneous containers in a memory arrangement of a computing system. In one embodiment, a main object of a class is specified in program source code. The class has a variant type, and the variant type provides at least two different data types, at least one of which is a linear array of objects of one of the data types. The class includes methods for putting and getting a variant object of the variant type in and from the main object. An application of a visitor method, which includes a respective operator for each of the different data types, is specified in the program source code for each method for getting a variant object from the main object. Compilation of the source code results in code that executes the one of the operators corresponding to the data type of a referenced variant object of the main object.
摘要:
A method (100) of translating an imperative language function into a parameterized hardware component can include the steps of using (102) formal imperative function arguments to represent at least one among a component input port and a component parameter and distinguishing (104) between formal imperative function arguments intended as component parameters from formal imperative function arguments intended as component input ports. The method can generate (106) hardware description by providing a framework where imperative language functions can be translated into hardware components by being instantiated, combined and simulated. Arbitrary code can be associated (108) to a function-importing block as parameterization code and enabling an assignment of arbitrary code to actual imperative function arguments. The arbitrary code can be executed (110) in an interpreter that analyzes assigned variables by name and compares variable names with the formal argument identifiers in an imported function.
摘要:
Methods are provided for processing design information of an electronic circuit design. A single path or multiple paths that are produced by a first design tool are an input for the method. Each path includes an ordered set of element names of the electronic circuit design. Each element name of each path is pattern matched with the names of design blocks of the electronic circuit design produced by a second design tool. Data indicative of a path produced by the second design tool that includes the design blocks that are pattern matched to the ordered set of element names is the output of the method.
摘要:
A technique for manipulating the layering order of graphical objects in a digital canvas or document is disclosed. A graphics object that is included in a layer in the digital canvas or document is selected. The digital canvas or document is searched in order to define a subset of graphics objects that includes the selected graphics object and any other graphics objects that overlap with the selected graphics object. A layering-order control enables a user to move the layer associated with the selected graphics object to a depth in the digital canvas or document that includes a layer associated with one of the other graphics objects in the subset of graphics objects. The concurrent re-positioning of multiple layers associated with two or more selected graphics objects is also disclosed.
摘要:
Translation of high-level design blocks into a design specification in a hardware description language (HDL). Each block in the high-level design is assigned to a group. A set of attributes is identical between the blocks in a group. For each group of blocks, a respective set of parameters having different values on subblocks of at least two blocks in the group is determined. An HDL specification is generated for each group. The HDL specification for a group has for each parameter in the set of parameters, a parameter input.
摘要:
Implementing an electronic design having software-implemented blocks and hardware-implemented blocks. A specification of the electronic design is created in response to selection of blocks from a library, and at least one of the blocks is available for implementation in a selectable one of a software implementation for an embedded processor on a programmable logic device (PLD) and a hardware implementation on the PLD. A specification of each block in a first subset is obtained from the library and translated into an execution function of the software implementation of the block. Peripheral functions are generated for connections between blocks in the first subset and blocks in a second subset, which are designated for a hardware implementation on the PLD. A program is generated that invokes each peripheral function and each execution function in an order determined from the interconnections between the blocks.
摘要:
A method of accessing, from a host application written in a first programming language, a subroutine written in a second programming language can include serializing input data expressed as an XTable formatted in a first programming language into a string representation of the input data. The method further can include de-serializing the string representation of the input data as an XTable formatted in the second programming language and executing the subroutine, wherein the XTable formatted in the second programming language is processed as input. Output data returned from the subroutine that is expressed as an XTable formatted in the second programming language can be serialized into a string representation of the output data. The string representation of the output data can be de-serialized into an XTable formatted in the first programming language.
摘要:
Method and apparatus for component naming is described. Parameters (305) for a target component are obtained (201). The parameters (305) are hashed (202) to provide a hash value (203). The hash value (203) is used to construct a name (205) of the target component.