Using the Actel Libraries
Your circuit should have the input ports: clock, clear, A0, A1, B0, B1 and the output ports: product0 .. product3. Since you are designing a circuit for implementation on a chip, all inputs and outputs need to be buffered (at the chip pins). Use D-flipflops to latch all data inputs and outputs. Figure 1 gives an example of the signals flow (but with fewer inputs and outputs, and the combinational logic consists of a single inverter). The data signals should flow from input port through input buffers "inbuf" to D-flipflops, through all combinational logic for the multiplier, to the output D-flipflops, through the output buffers "outbuf" to the output ports. The clock is fed to a special input buffer "clkbuf" which drives the Actel ACT1's low-skew internal clock distribution network. Note: input, output and clock buffers are only used when connecting signals to the chip pins.
figure 1: example chip design
Check and save your design. Expect some warnings in the "check instance" category, when checking. Fix any other warnings.
Save a back-up copy of your schematic in case you need to return to it later.
You must now create a viewpoint that can be used to run the simulator. At the command line type:
To run quicksim from the command line in the directory ~/ee552/lab4 type;
Submit the timing wave forms that verify the operation of your circuit.
First convert the Mentor schematic to an EDIF netlist, which the Actel tools can process, using the mgc2edn command:
In order to use the Actel Designer Software at the command line type:
From the menu bar select
Make the following selections:
The Device Selection dialog box should then appear:
Make the following selections:
The Operating Conditions dialog box will then appear:
Make the following selections:
You are now ready to import your design. Using the menu bar select
Select the directory:
In the Import Netlist Options dialog box that appears,
Make the following selections:
(If you select "Auto Loaded Files", you will be given the option to enter: Criticality File, Delay Constraint File, Pin File)
Once the file has been imported you are now ready to run Designer
From the Designer Main Screen click on the Compile Button. This will compile the design, listing how many modules are required, how many I/O pins, and if there are fan out problems. You may receive a warning if one output drives more than 10 inputs (fanout of > 10). This may cause the signal to have a larger than average delay. A fanout of > 24 causes an error and the design will not compile. How many "input loads" does the clear on a master-slave flipflop contribute to a net?
Selecting the Pin Edit button will bring up a dialog box which can be used to fix I/O pins. Normally we let the software select the optimum placement. (Pins can be fixed by 'dragging' the pin name to the desired pin location). Once you have viewed the Pin Edit screen you can close it by
In the Layout dialog box that appears make the following selections:
Select the Fuse button.
A Fuse dialog box appears.
You may input a five hexadecimal character signature. This is useful
for identifying the chip later on. (It is only useful if the probe pins
have not been used as I/O pins).
Select
This will create a mult2.afm file
To create a file that can be used for back-annotated timing simulations select the extract button. In the Extract dialog box that appears select:
To generate a list of pin assignments select :
Type: Designer DB (*.adb)
File Name: ~/ee552/lab4/mult2/mult2.adb
Creating Back Annotated Simulation file
In the directory ~/ee552/lab4, type the command:
Next open quicksim (with "typical" timing parameters) by typing the command
Hint: When simulating it is important to get the right signal. If you want to look into an instance in quicksim: select the component instance and use
Determine the worst case delay from:
1. an input port to the D input of a D-flipflop
2. signal path from D-flipflop through the combinational logic to D-flipflop.
(Measure from the clock edge to the input of the next D-flipflop.) Explain
how you found the case (transition from previous data to current data)
which produced the worst case delay.
3. signal path from D-flipflop (from the clock edge) to output port.
4. What is the maximum clock frequency (you must include setup time)?
Simulate it.
5. Show the results of all 16 inputs.
Hand in simulations showing all of these measured values. Use the trace
window cursors (Function key F5) to measure the delay times. Write
on the timing diagram what you are measuring and the value. Rise times
and fall time may not always be equal. Equivalent paths in the circuit
will almost always have different delays due to different routing. Be careful
when looking for the worst case.
(Menu) -> File -> Netlist Optimizer ...
Source Design: (Browse - select mult2.edn)
Family: ACT1
How many logic modules did you start out with and end up with?