Creating your own parts allows you to package logic together and helps us understand how
pieces of hardware design are connected together. Below I show the steps for creating
a block out of logic gates, later we will see how to do this with the hardware description
language verilog. Note that by using blocks we are able to focus on the port behavior of the
block. For example if I was implementing a half adder, I know that I would want my inputs to
be A and B and my outputs to be the sum of A and B and the carry of A and B, I dont have to
worry about the interal gates of the circuit as much once the block is implemented.
To create your own parts, follow the steps below:
- Create the internal circuritry of the block. For example, if I wanted to
create a block to represent a half adder, I would create
this circuit. Note that the inputs to the blocks are designated with the "port
in" symbol from the Pseudo library and the outputs of the block are designated with
"port out" symbols. Refer to the basic parts page for
the port in and port out symbols. You must label the input and output ports! Just take
the text tool from the pallet and click on the port and type the name in. In the half adder
I have shown, I labled the ports A, B, C and S.
- Now that we have the internal circurtry for the part, we are ready to package it up.
To do this open the DevEditor from the Designworks menu.
- Click on the options menu of the DevEditor and choose Sub-Circuit
Part Type. Then, if the circuit you are going to use for the interal circuit is open,
choose Internal Circuit and select the appropriate design. Otherwise choose External Circuit and
open the saved circuit.
- To create the actual symbol, click on the options menu and choose Autocreate
symbol. Click on extract pin list and change or delete the name if you wish. Then click on
generate to have DesignWorks create the symbol for you. The symbol should appear in the DevEditor
window as shown here.
- Before we can use the part we have to save it. To do this, select save as from the file menu
in the DevEditor. This window should pop up. Choose the part library
and change the name of the part if you want to change it. Idealy parts should be save into your
own part library so you can use them later.