Synopsys Cocentric Tutorial

Prepared by Mahesh Dorai on 3/31/03.

The Synopsys System Studio offers a wide variety of modelling capabilities, providing you with the means to capture complex systems quickly and efficiently.  Systems studio's models are broadly divided into two distinct domains namely -
  1. Algorithmic
  2. Architectural
Algorithmic models describe the functionality of a system at an untimed level. This tutorial is a starting step towards understanding the functioning of Synopsys Cocentric. In this tutorial, we create data flow model, a type of Algorithmic model.

Data Flow Models : Data flow graph models are a type of Algorithmic model. These are data models in which the instances they contain communicate by means of FIFO queues of data travelling on nets. The other algorithmic model types are :

1. OR models
2. AND models
3. GATED models
4. PRIM models
5. SDS models

Architectural models capture the architecture of a system at various levels of granularity and abstraction. These models allow you to describe the overall platform architecture in terms of its buses,memories,processors and ASIC content.

Creating a Model structure -

source the .cshrc file by typing - source ~cad/.cshrc

To invoke Synopsys tools, type - synopsys_tools


Before we create a model design, we must create:

To start System Studio, enter the following command:  ccss &

Creating a Workspace - Select File --› New from the System Studio main menu bar. A dialog box appears. The Create Workspace dialog box, shown in Figure 1is displayed. Enter the name of the workspace that you wish to create. Click the Apply button. Don't click OK now.



Creating a Library - After you say Apply, another window appears that asks for the library name. Type a library name under the workspace that you have created. You can specify a different location for the library directory in the Location field if you want to. After you enter a library name (or accept the default name), click Apply. Again don't click OK.




Creating a Model - After you have clicked Apply, with the In the Create Library dialog box, select a library and click the Model tab. The dialog box changes to the Create Model dialog box, as shown in the Figure. If you do not select a library, the Model tab will not be visible.



After you choose the model tab, choose the DFG option from the options listed (figure shown below)




Now, you click Apply and then OK. You would have observed that we can choose from a variety of Algorithmic models for creating instances. If you select an implementation, the Implementation view opens with the appropriate type of implementation loaded (for example, for a primitive model a skeleton source code file is opened).

The DFG model that we are going to create is a simple model that consists of two blocks namely -

1. A sine wave generator &
2. A sink.

Both are existing models contained in the System Studio libraries. To create the model schematic, 1. If the “cocentric” library is collapsed, expand the library by clicking the plus sign (+) next to it in the Workspace window; expand the “algorithm” library and then select the “source” library. Refer the figure shown below.




Adding the SinGenerator to the Implementaion window - Click the Insert Instance button in the Schematics toolbar. Select the SinGenerator model from the “source” library located in the algorithm library. Move the cursor into the design area. You will see the outline of the block displayed as you move the cursor around. Click the left mouse button when the outline of the block is positioned where you want to place the block. The figure is shown below. Click the middle button of the mouse to disable the insert instance option.




Inserting the sink or the Write signal block into the implementation view - Select the WriteSignal block from the System Studio models “sink” library located in the algorithm library.  Position the WriteSignal block to the right of the SinGenerator block, as shown in the figure and click the left mouse button. Click the middle mouse button to cancel the insert Instance function. The figure is shown below:






Connecting the two blocks by a net - The next step is to connect the two blocks together with a net. Click the Insert Net button in the Schematic toolbar. Position the cursor over the output port of the SinGenerator block. Press and hold the left mouse button, and create a net by dragging a line to the input port of the WriteSignal block. Release the mouse button. The two blocks are now connected as shown in the figure below. Click the middle mouse button to cancel the Insert Net function.




Parametrizing the blocks - To finish the design, the blocks have to be parameterized. Position the mouse pointer over instance M1 (the SinGenerator model) and click the right mouse button. Choose Configure Object from the context-sensitive menu. The Configure Objects dialog box is displayed as shown in the figure below. Assign the expression atan(1.0) to the parameter “Increment” for the SinGenerator instance M1, and click OK. The schematic design is now complete. For our convenience, some of the parameters have default values (for example, in this model the WriteSignal instance is completely configured by the default parameter values. So we don't need to modify the values of the Write Signal block).



Simulating the models - You can create the executable simulation either automatically or manually. We first pick our simulation tool. We will be using the Cocentric data visualization tool (DAVIS) to enable us to visually analyze and graphically display data. It also has the ability to interact with a System Studio simulation.

Starting DAVIS - Select -->Tools-->DAVIS. This opens the DAVIS tool.

Go back to the Cocentric System Studio Window and select --> Simulation-->Simulate Model. All the steps will be performed automatically. These steps include creating the optimized executable code, compiling and linking the model, and starting the simulation in pause mode.

After a few seconds, you will get a message box as shown in the figure. Click OK and proceed to the DAVIS window.



Linking DAVIS and the earlier run Simulation - Now select -->File-->Open System Studio Simulation. Choose the model from the list of running or completed simulations. Make sure that you have selected the active simulation. The DatasetID on the right hand side of the dialogue box must have a value. Refer to the figure shown below. Click Apply and OK when you are ready.




Viewing the Output - When you have clicked Apply, you will observe the output on the graph page/sheet. You may choose to view the waveform on a smaller scale by selecting --View-->Zoom Area--> and giving suitable values.

 

Note - If you want to create a new workspace, you first have to close the exisitng workspace by choosing--> Select-->File-->close workspace.
You can now create a new workspace by choosing Select-->File-->New

Acknowledgements & References -

[1]. Getting Started with Synopsys Cocentric® System Studio

[2]. Synopsys Technical Support center - ccss_support@synopsys.com

[3]. Dr. Chandra Tan, Microelectronics Systems Research, University of Tennessee