To design LogiBLOX modules, follow these steps.
A LogiBLOX module is displayed in the Module Selector GUI as an illustration that is dynamically updated as you modify the module's fields. The LogiBLOX symbols are bundled into a library provided with your third-party design editor. The LogiBLOX library must be in your editor's library search path for you to access it. For more information, please refer to your CAE Interface User Guide.
Each LogiBLOX module can be considered a template with a base function. Refer to the Module Descriptions chapter for a list of these modules by function. After you have decided which module to use, start the LogiBLOX program. The Module Selector window is displayed.
When you invoke the Module Selector, the program displays the details of the last module you generated. If you are invoking the LogiBLOX program for the first time, the Module Selector displays the Accumulator's default settings.
When you modify an existing module, that module and all its characteristics are displayed for editing.
The graphical illustration of the module has check-boxes next to the optional pins. If you select a box, the symbol pin is displayed and is connected to the module. If you deselect the box, the pin disappears.
Use the attribute boxes to specify the module attributes. These attributes may affect the appearance of the module. Refer to the Module Descriptions chapter for a description of the module pins and attributes.
To specify your module, click on the pins you want to activate and the attributes you want to add to your module. The Module Selector dynamically reveals or hides the attributes and pins that are affected by your choice.
Figure 2.6 Module Selector Window |
Either type a name in the Module Name box to identify the module you want to create, or click on the pull-down arrow to see the list of modules that have already been created for your project. LogiBLOX uses this name to create files in which it saves the different outputs it generates for the module. If you select an existing module from the pull-down list and alter its characteristics, you must change the module name or you will overwrite the existing module. Overwriting an existing module implies that you want to update the selected module.
Do not give a LogiBLOX module the same name as an existing component in the Unified Libraries.
If you edit a LogiBLOX module that you have used multiple times in a design, either by repeatedly adding the same module or by copying it within the schematic tool, all copies of the module are also modified.
The Module Type box displays the type of the currently selected module. Click on the pull-down arrow to select another module type from the list of available modules.
Bus WidthSpecify the data bus width for the module. You can use one of the predefined settings (2, 4, 8, 16, or 32) from the pull-down menu, or type in a custom bus width in the text box. Generally, the minimum value allowed is 2 and the maximum value is 64. Decimal is the only valid base. All LogiBLOX bus pins are big endian, that is, the bits in a bus width of N are numbered N-1 through 0.
DetailsThe top part of the display shows a graphical illustration of the current module.
Use the check-marks to select or deselect optional pins on the symbol. For example, if you check the Overflow pin check box on the Accumulators module, the pin is automatically drawn on the symbol. Required pins, such as the Clock input pin, do not have check boxes.
Beneath the symbol image, LogiBLOX displays a list of the attributes that pertain to the module. You can assign values to particular attributes to further customize your module. To get online help for the attributes and their possible values, move the mouse pointer over the attribute, click the mouse button to move the focus, and press the F1 key.
OK buttonClick OK when you have completely specified the module and are ready to insert it into your design. The program implements the module and generates the requested simulation models, component declarations, or both.
A log window is also displayed and records any errors and warnings reported by the DRC.
If the DRC completes without any errors, the Module Selector performs the following operations (depending on what you have requested in the Setup window).
Click Cancel to quit the Module Selector. This operation discards any details you may have entered and leaves the project unchanged.
Setup buttonIf you wish to change device families or output types, click Setup and make your new choices in the Setup window.
You cannot change the device family after you have generated a module in the current session. To target a different device family, you must exit lbgui first and restart it.
Click User Prefs to set the editor you want to use for editing memory files. The default editor on UNIX platforms is vi. The default editor on Windows 95 and Windows NT is Wordpad.
Help buttonClick Help to access the online help tool.
Part of the power of LogiBLOX is its ability to customize each module to represent many functions. For example, you can customize the ADD_SUB module to work as an adder only, a subtracter only, or as both an adder and a subtracter.
To customize a module, select only the LogiBLOX module control pins that are needed, specify a bus size for the module, and specify module attributes when the default modes are not the desired ones.
To customize the module using the Module Selector, use the pin connections and attribute setup fields in this dialog box.
The Module Descriptions chapter lists all LogiBLOX modules and the attributes that are appropriate for each module. The same attributes are described in full detail in the Understanding Attributes chapter.
After designing the module, click OK to generate the module. Next, place the module on the schematic or paste the instantiation into your HDL file.
When you generate a module, a log window is displayed. The log window is a secondary window with scroll bars. LogiBLOX places any output messages generated by the DRC, symbol generator, model generator, and netlist generator processes in this window.
Each time you complete a module and press OK, the Module Selector calls the Design Rule Checker. If the DRC reports no errors, LogiBLOX generates the required output. If the DRC finds errors, LogiBLOX displays the error messages in the log window and the requested modules are not generated.
This section provides information on connecting your LogiBLOX modules to the rest of your design.
Insert LogiBLOX modules in your schematic and connect them with buses, nets, or both.
You should specify bus widths using your CAE tool's normal mechanism. These values should match those on the module`s bus pins.
Fill out the instantiation section of the HDL template file by indicating the module's connections to signals in your design.
This section provides information on changing or copying a LogiBLOX module.
To change a module that you have already placed on your schematic, select the module and invoke the Module Selector. The Module Selector displays the settings of the module that you want to edit.
If you copy a module within your schematic or add repeated instances to your schematic, the original module and all of its copies share the same module configuration and simulation model.
Subsequent modifications to any one of these modules change all copies of that module.
When editing a module, do not use the schematic editor's Editing commands. You must use LogiBLOX exclusively to ensure that the appropriate information in the .mod and behavioral files is up-to-date.
If you choose to copy a module from another design, such as by copying an entire hierarchical module, you must invoke the GUI, regenerate the module, and then dismiss it to recreate the module and create the simulation model for that module. Alternatively, if your design includes several copied modules, you can copy the HDL files into the new project directory and reanalyze them in the new environment.
To complete your LogiBLOX module description, you must edit an HDL template and specify the module pin connections. Refer to the interface guide for your EDA tool for specific instructions.
After a LogiBLOX HDL module is instantiated, it must be modified with the Module Selector. By invoking the LogiBLOX GUI in standalone mode, you can load the previous module's details and modify them with new edits.