Hi, I'm Ben Cooper, uml2hdl project manger, and I'd like take you on a quick tour of uml2hdl. First, we'll go over the various panels where we'll be working, and then we'll step through the uml2hdl design flow. |
|
Diagram Drawing Area The large central pane is the diagram drawing area where we create our diagrams. |
|
Navigator The navigator frame in the lower left displays a hierarchical tree of the design document. A uml2hdl document can contain multiple diagrams organized as a tree. When HDL is generated each diagram results in a separate HDL entity or module. As diagrams, or objects are added to the document they appear in the diagram tree. Selecting a node on the tree causes the diagram or object to be displayed in the diagram drawing pane. |
|
Overview The Overview pane at the upper left, provides a birds-eye view of the current diagram, and allows the user to move to objects of interest. |
|
Palette UML Objects are instantiated from UML Classes. The available UML Classes are displayed on the Palette frame at the upper right. uml2hdl includes a library of verified classes that provide standard HDL building blocks, such as counters and registers and so on. |
|
Properties Editors Properties Editors are used to specify design parameters. They are available in tabs on the lower right. |
|
Help Context Sensitive Help is available by clicking on the Help Icon with the question mark and arrow, then clicking on the frame you need help with. |
|
Instantiate
Now, we're ready to put it all together and go though the standard uml2hdl design flow. First Instantiate objects by dragging UMLClasses from the palette to the diagram. |
|
Configure
Second, configure the objects. Select an object, then use the Object Properties Editor to configure it to meet your design requirements. Each object should be assigned a descriptive name. When HDL is generated, variable names are created from the object name and the output name, so using a meaningful object name makes the generated HDL much more understandable. Properties that are constants, like the width of a counter, must be specified using a Named Constant. Assignment of named constants is done by selecting from the drop down list of currently defined Named Constants, or by selecting "Add" to define a new one. Each UML Class has additional properties that can be assigned to specify the required behavior for the object. These properties are selected from drop-down menus in the Object Properties Editor. |
|
Link
The third step is to specify the interconnections between the objects. |
|
Generate Now comes the fun part. Generate the HDL for your model. If you just want to see what the HDL for your current diagram look's like, select the HDL tab in the diagram pane. The formatted Verilog or VHDL is displayed instantly. |
|
Now that you have finished this quick tour I'm sure you will want to see uml2hdl in action implementing a real-world application. Our next screencast shows how to implement an asynchronous serial transmitter using uml2hdl. I'll meet you there.... |