2.4 Use the Add->Wave->Signals in region menu item in the signals window to create a wave window.
2.5 Force values on each of the input signals (a, b, cin) using the signals window. First select a signal as shown:
2.6 Next choose Edit->Clock from the top menu bar and fill out the dialogue box as shown. This will make a square wave (clock) on signal a with a 50% duty cycle, 20 ns period and starting low. Click OK. Then add a clock force to b (40 ns period) and cin (80 ns period).
2.7 Run the simulation. In the simulation command window type "run 80 ns" followed by the Return key as shown below.
2.8 Select the wave - default window and use the Zoom Full button to show the simulation results. Make sure your results look similar to the one below.
A Leonardo Spectrum window like the one below should appear. (Leonardo may scramble your colors briefly - don't worry about it.)
Leonardo Spectrum has two operating modes: Quick Setup and Advanced Setup. Two buttons under the top menu bar select between the modes. See the figure below. The buttons are under the Edit menu item; the one with the red Q is the Quick Setup button while the one with the red A is the Advanced Setup button.
3.3 Use the Tools->Variable Editor... item from the pull down menus to bring up the System Variables dialog box. Select the edifout_power_ground_style_is_net variable and set it to TRUE then left click Apply. Use the same method to set:
max_fanout_load to 14Hint: You can save the command file at this point and replay it for future sessions of Leonardo to automate setting these variables. To save it select File->Save Command File... from the top menu bar and type in a filename ("leo_vhdl", for example) then click OK. Next time you start Leonardo, choose File->Run Script from the top menu bar then navigate to this script.
force_user_load_values to TRUE
vhdl_write_component_package to FALSE
vhdl_write_use_packages to library IEEE, adk; use IEEE.STD_LOGIC_1164.all; use adk.all;
3.4 In the Quick Setup window set the Technologyto ASIC->Mentor Graphics->AMI 0.5u(typ). Use the Open Files button to navigate to your VHDL directory then select the adder1.vhd file for input. Your window should look like:
3.5 Toggle to Advanced Setup mode. In the Advanced Setup window left click on the Output tab. Then select Verilog for the output Format as shown below. Note Leonardo will automatically set Filename to adder1.v. Leave the other values as the defaults.
3.6 Go back to Quick Setup mode and left click the Run Flow button. Lots of messages will scroll through the transcript window. The final messages will be similar to those shown below for a successful synthesis.
After the VHDL model is synthesized into a gate level description, it is always a good idea to simulate the resulting design to ensure it functions correctly and the output matches the behavioral description. There are some legal, synthesizable VHDL constructs that, when synthesized, will not produce the same output as the functional description and synthesis tools have been know on rare occasions to produce incorrect results...4.1 Map the compiled library of Verilog descriptions for the ADK parts into the proper location to compile the post-synthesis structural description (this library has been pre-compiled for you):
4.2 Compile the Verilog gate level (structural) description:
>> vmap adk $ADK/lib/adk_verilog>> vlog adder1.v4.3 Simulate the structural description of the adder using the precompiled gate library (command line below). The simulator should run as before and you should see the appropriate output as before. Note: The gate level library does not include timing information so you will not see delays on your signals. Also the result signal has been altered by synthesis. This is OK. Close ModelSim after verifying the gate level implementation.>> vsim adder1 -L adk
This dialogue box has one strange property - whenever you click the Netlist File(s)... button or the Output Directory... button or the Mapping File(s)... button it opens the same dialogue box. A little confusing if you are not expecting it...
5.2 You will need to fill out all three of the top fields. Click on the Netlist File(s)... button (or either of the other two) to show the following dialogue box. Note the slider scroll on the bottom of this dialogue box - this box is wider than will show in the default DAIC window.
5.3 Fill in the Netlist File(s) file list by first highlighting the adder1.v file in the left file list then clicking the Add-> button for the top right file list.
5.4 Fill in the Output Directory file list by first left clicking on the BrowseUp (yellow folder with the up arrow in it) then highlighting lab7 in the left file list then left clicking the Add-> button for the middle right file list.
5.5 Fill in the Map File(s) file list by navigating to the /mentor/adk3_0/technology directory, highlighting the adk_map.vmp file in the left file list then left clicking the Add-> button for the lower right file list. Your dialogue box should look as shown.
5.6 Click OK for this dialogue box then OK for the Import Verilog dialogue box. DAIC will begin importing the design from your Verilog gate level netlist. When it completes, you will see the following message in the lower left status line:
5.7 Open the schematic for adder1 by left clicking on the Schematic button in the Open portion of the session palette. You will notice DAIC has created a component for adder1. Double click on it, highlight the schematic and click OK. Click OK again to open the schematic. You schematic should look something like:
5.8 Click on the session button in the right palette. Then click on the Symbol button in the Open portion of the schematic and open the symbol as you did the schematic. Your symbol should look something like:
5.9 Close the symbol window. Simulate the schematic as you have done in previous labs. There is one difference now: your schematic has a lot of properties not normally associated with schematcis. So when you are setting up the simulation, you should not check the Automatic check design before netlist option in the Setup Simulation Environment dialogue box.
5.10 Close the EZ wave viewer. End the simulation. Now you are in familiar territory - just click on the Prep for Layout button as before and wait for the prep to complete. Then exit DAIC.
The schematic, symbol and part created use ADK ami05 library parts
which have an associated layout. You can now use IC Station to either
perform schematic driven layout manually as you did in lab5 or fully automated
palcement and routing as described in lab8.