Browse Prior Art Database

Bidirectional Wires In A Unidirectional Environment

IP.com Disclosure Number: IPCOM000169463D
Publication Date: 2008-Apr-17
Document File: 2 page(s) / 30K

Publishing Venue

The IP.com Prior Art Database

Abstract

Graphical simulation environments such as Simulink represent functional units with blocks, and unidirectional data transfer with wires. Users build systems by wiring blocks together. Complex "bus" protocols involve bidirectional data transfer, for instance transmitting a "ready" signal to avoid dropping data; we wish to represent a single bus with a single wire. However, the graphical wires only allow unidirectional data transfer.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Abstract

Graphical simulation environments such as Simulink represent functional units with blocks, and unidirectional data transfer with wires. Users build systems by wiring blocks together. Complex "bus" protocols involve bidirectional data transfer, for instance transmitting a "ready" signal to avoid dropping data; we wish to represent a single bus with a single wire. However, the graphical wires only allow unidirectional data transfer.

We wrap the atomic blocks representing functional units with dynamically-constructed subsystems, providing the latter to the user. Immediately prior to using the design, e.g. for simulation, each subsystem traces its connections to other subsystems, and parameterises a set of From/Goto blocks, which allow unidirectional data transfer without graphical wires, to connect the atomic functional units. The graphical connections made by the user are no longer the conduit for bus information.

Without these bidirectional buses, users must make redundant connections between blocks. As well as slowing the process of creation and needlessly complicating the high level design, this also increases the chance of mistakes, as for instance the return data may be mistakenly connected to the wrong block. The invention also allows buses to vary dynamically. Switching to a tool that supports bidirectional data natively would be hard to justify.

The Problem

Simulink allows groups of related signals to be represented by a single connection in the schematic. These could represent matrices, for example, or hardware buses as in the following example:

However, there is no support for bi-directional ports in Simulink: all the wires in a bus must start and end at the same block. If a hardware bus needs a reverse co...