Home Forums Technical Notes Connectivity Across Levels of Hierarchy

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #818
    NeilMackenzie
    Keymaster

    Connectivity Across Levels of Hierarchy in DesignWorks™

    Purpose of This Note

    This DesignNote describes methods for making signal connections between levels of hierarchy.

    Most of what is described here is condensed from the DesignWorks manual.

    This note applies to: Windows Macintosh
    DesignWorks Professional 3.0 + 3.0 +
    DesignWorks Lite N/A N/A
    LogicWorks N/A N/A
    Notes: N/A – not applicable to this version. “3.0 +” indicates version 3.0 and later.  Since this note may apply to multiple versions and platforms, there may be some variation in exact configuration of menu commands and screen layouts from that shown in this note, but the same principles apply.

    Introduction

    Connecting signals across levels of hierarchy in DesignWorks can be accomplished in three ways.

    1. Using device attributes with the $SIGSOURCE statement in the Report generator.
    2. Signal connectors such as “Plus5V” in the Pseudo Devs library.
    3. Port Connectors.

    Of these three methods the first two affect only the netlist generated by the Report module. The simulation module in DesignWorks will only connect signals that use port connectors.

    Using $SIGSOURCE and Device Attributes

    This information is found in the DesignWorks manual.

    Any number of special names can be specified as “signal sources” using the $SIGSOURCE keyword in a report form file. The Report Generator searches the attributes attached to each device in a design for fields with these names. The pin number(s) specified in the value field of the attribute will be attached to a list for the signal of the same name.

    For example, most of our library parts have a “Power” and “Ground” attribute.

    In a circuit with two components U1, a 7404, and U2, a 74133:

    • U1 has the attribute Power with a value of “14”.
    • U2 has the attribute Power with a value of “16”.

    In a report form the statement $SIGSOURCE(Power) will cause the report generator to extract the pin number “14” from the device, say U1, and place it in the pin list for a signal called “Power”.

    <dl “>Power U1-14, U2-16

    This ability is intended to allow power and ground nets to be creatted with out the necessity of having explicit power and ground pins and signals on every device. This should not be used for general signal connection.

    Using Signal Connectors

    This information is found in the DesignWorks manual.

    Information on creating signal connectors with the DevEditor can be found in the DesignWorks manual.

    There are several pre-defined signal connectors in the Pseudo Devs library, Plus5V, Plus12V, Minus15V, etc…

    You may create new ones using the DevEditor module. There are only two tricky parts to making a signal connector:

    1. Signal connectors can have only one pin, the name of the pin must be the name of the signal you wish to connect. For example to create a signal AGND the pin of the signal connector must be named AGND.

    2. You must set the primitive type of the new signal connector to “SIGNAL CONNECTOR” using the “SubCircuit & Part Type…” dialog found in the DevEdit menu.

    Using Port Connectors

    For detailed information on creating port and Bus port connectors refer to Creating Port Connectors.

    Port connectors connect a signal between a device’s pins and its internal circuit.

    There are different port connectors for the three most commonly used pin functions in the Pseudo Devs library, Port In (Input), Port Out (Output) and Port Bidir (Bidirectional).

    There are two design modes that can be followed when creating a hierarchical device, bottom-up and top-down design.

    If your parent device has no bus pins then designing top-down and bottom-up are equally simple.

    If a parent device has a bus pin then it is necessary to create a bus port connector for the internal circuit specific to the bus (Refer to Creating Port Connectors for details on this).

    From the point of view of creating bus port connectors it is easiest to design top-down.

    Top Down Design

    In the top-down method DesignWorks will create all the port connectors for you.

    For example:

    1. Create a symbol with the DevEditor module. Use either manual pin placement or the auto symbol generation.
    2. Set the pin functions for all the pins on the device. The default is Input, if you have this incorrectly set the simulator will not function correctly.
    3. Save the symbol to a library.
    4. Place the part from the library onto a schematic page
    5. Push into the part by double clicking on it. A dialog will appear indicating that the part has no internal circuit and prompting you to create one, answer OK.
    6. A new circuit window will appear with all the port connectors in place. Now create your internal circuit. If the internal circuit is split across pages you must use page connectors to connect signals. Only one port connector may exist for each pin on the parent device. The port connectors may be on different pages.
    7. When the internal circuit is complete, close the window by selecting “Pop-up” from the pop-up menu or click the close box on the top left corner of the circuit window.
    8. From the “Part Type” sub menu in the “Options” menu, select “Save to Lib…”.
    9. Select the same library that the part was originally saved (step 3 above).

    You now have a part in the library with an attached sub-circuit.

    Bottom Up Design

    In the bottom-up method, DesignWorks requires that you create the port connectors to match the pins on the parent device. For most signals you can use the pre-defined port connectors found in the Psuedo Devs library.

    The Pseudo Devs library has only the Input, Output and Bidirectional port connectors. If you need to use others, such as “Tri-state” or “Open Collector” you must first create these parts with the DevEditor module. In addition, if your internal circuit needs to export a bus you will require a custom bus port connector.

    A bus port connector can be kept in a library the same as a signal port connector, but to be re-used the internal pins in the connector device must match the signals being exported from the bus. (See DesignNote #DW3.0-4). In general you will need to create a new bus port connector for each bus being exported from an internal circuit.

    After your internal circuit is created there are two ways of associating it with a device:

    1. An internal circuit. In this case the sub-circuit is saved in the library along with the part.
    2. An external circuit. In this case the sub-circuit is saved as a seperate design and is loaded only when the part is placed on a schematic page. The sub-circuit is not saved in the library along with the part. Control over this is handled by commands in the “Sub-Circuit” sub menu in the “Options” menu. Documentation of these features is found in the “DesignWorks 3.1.1 Release Notes” as this is a new feature not found in versions prior to 3.1.1.

    The type of sub-circuit is assigned by the DevEditor module in the “SubCircuit & Part Type…” dialog.

    Internal Circuit

    1. Have your sub-circuit design open in DesignWorks.
    2. Select the DevEditor module from the tools menu.
    3. Select the “SubCircuit & Part Type…” dialog from the DevEdit menu.
    4. Select the “Internal Circuit…” option.
    5. Select the open design from the list of open designs in the Internal circuit dialog.
    6. Select “Internal”.
    7. Select “Done” to exit the “SubCircuit & Part Type…” dialog.
    8. The Device editor will extract the pin list from the sub-circuit and display them in the pin list.
    9. Now either use manual pin placement or use “Auto Create Symbol…” from the DevEdit menu to create the symbol for the functional block.
    10. Save the part to a library.

    External Circuit

    1. Have your sub-circuit design saved on a disk.
    2. Select the DevEditor module from the tools menu.
    3. Select the “SubCircuit & Part Type…” dialog from the DevEdit menu.
    4. Select the “External Circuit…” option.
    5. Select the saved design from file selection dialog.
    6. Select “Open”.
    7. Select “Done” to exit the “SubCircuit & Part Type…” dialog.
    8. The Device editor will extract the pin list from the sub-circuit and display them in the pin list.
    9. Now either use manual pin placement or use “Auto Create Symbol…” from the DevEdit menu to create the symbol for the functional block.
    10. Save the part to a library.
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.