Integrating Implementation Modules: A Step-by-Step Guide
This guide will support you going step-by-step on the process of integrating implementation modules on Celus database.
First, let’s have a quick introduction of what is an implementation module and how does it differs from other block types:
Implementation module: Is the lowest level of the description of a hardware system. Its structure is described through a netlist, in form of schematics and bill-of-materials, and a PCB layout. Its behavior is described through a set of keywords, attributes and features, much like a datasheet does for a component.
Concept block: It is one level of abstraction above the Implementation module. It describes a certain category of modules by their topology or functionality, without going into details of electrical implementation. Examples of such categories are temperature sensors, an LDO supply or bluetooth transceivers. Concept blocks might be realized through one or more implementation modules.
Design block: It is above Concept blocks in the abstraction hierarchy. Design blocks represent a very broad functional view of the underlying concept and implementations, and help to visualize the overall picture of a specific design.
So, now that you understand the differences between these kind of blocks, let’s focus on integrating the implementation module.
Opening the Integration Wizard
After logging in, in the project dashboard, open the option for module integration.
Click on Implementation to open the implementation wizard.
Once the Implementation wizard is opened, fill out the fields with the information about your block.
Block name: A name for your module
Short description: A short description of your module, with no more than 60 characters.
Full Info: A more descriptive text explaining the details about your module, at least 60 characters long.
Block category: Select between Module, Microcontroller and Supply possibilities, the one matching the most your module.
Functions: A collection of pre-selected keywords that help describe the functionality of your module. You can select several, and the design needs at least one.
CAD files upload: Drag and drop your design files into the window to upload design files: - For Eagle: Schematics in *.sch, Layout in *.brd and BOM in *.csv files - For Zuken Cadstar: Schematics in *.csa, Layout in *.cpa and BOM in *.csv files To delete a file uploaded by mistake, click on its name below the upload box.
To proceed after filling out all relevant information click Next. The button will be only available if all fields are filled correctly.
Specifications of your module
The next screen is for entering the specification values for the module. There are pre-selected specification keys to be used, and the collection can be extended, but not from the program itself.
Once your specifications are filled up, click Next.
Defining the Ports available
The next screen is for the definition of the Ports of the module. Ports are the interfaces of the module with other modules, and exclude interfaces to external PCB connections through connectors.
To add a new port, click +Add Port. To edit the new port, click on the edit icon. Change the port direction through the drop-down menu.
Port ID: Used to refer to this port on other contexts outside of the implementation module, as for example on concept blocks. A unique name has to be chosen for each port on the same design.
Port type: Describes which type of port is this one. For signal ports, several options are available. For supply ports, there are pre-selected voltage levels commonly used on the industry, like 3V3 for 3.3V or 5V0 for 5.0V.
Specifications: Enter specifications for this port only, even if they are overlapping with specifications of the overall module.
Signals: Used to describe classes of signals. - Signal type: Signals are always defined as at least a pair. For common signals, like single digital lines or analog voltages, signal type shall be always signal, together with its counterpart reference, which is usually GND. For more complex ports, such as I2C or UART, the description is as below: - I2C: sda, scl, reference - UART, USART, CAN: tx, rx, reference - SPI: miso, mosi, ss, sck - Signal Name: Contains the name of the net on the uploaded schematic that is a part of the port.
After filling all fields, click on Next to go to the last page.
The last part can be filled with information about the PCB layout of the module.
Edge alignment: If your module should be placed on the edge of the generated boards, because it contain external connectors or for whatever other reason, you can specify on here which edge shall be placed on the edge.
Route priority: Dictates the priority on placing and routing the module on the final board. Higher values have higher priority.
Specifications: Here, extra specifications for the board can be entered.
Signal types: Here, the signals previously defined can be assigned to one of four categories, which will impact on how to route those signals: Basic, VCC, GND and Hi-Freq.
Once this screen is filled with the information of your module, click on Complete to finally upload your block to the database.