From birk@nyquist.ee.ualberta.ca Tue Sep 16 15:28:19 1997 Date: Tue, 16 Sep 1997 15:27:03 -0600 (MDT) From: Birk Gershom Subject: EE552 LAB 1 Message-Id: EE552 Lab 1 TA: Gershom Birk email: birk@ee.ualberta.ca news: ualberta.courses.ee.552 Take a few minutes to go over these notes. Do it Now! Don't delay! Introduction to Tools Mentor Graphics is the name of the software used in this lab to create and simulate digital circuits. Actel Designer is the name of the software package used to transfer the design from the Mentor (Mentor Graphics) tools out the SCSI port of a Sun Workstation and into a SCSI device called the "Actel Activator 2S". This hardware device has a small socket into which your actel FPGA is placed. From there the chip is "written" by selective fuse burning. The 1's and 0's of this are (literally) taken care of by the software and so as a designer you see little more than a nice colorful graphical interface within the Solaris Workstation GUE. Of course, in the case of Xlinix chips, the Actel software and Hardware above is replaces by Xlinix's equivalent (more or less). Mentor Tools Mentor Graphics provides many programs under one name (in the way that Microsoft Office is a package of many business tools). We will use Design Manager (dmgr), Design architect (da) and QuicksimII (quicksim). (i) dmgr dmgr is a project and database management tool. From dmgr you can move files (DO NOT TRY THIS) copy files (DO NOT TRY ANYTHING LIKE THIS AT ALL!!), launch tools like da and quicksim, and generate viewpoints (more on this later). It is a good idea to become familiar with this tool as it will smooth project management. (ii) da da is a schematic capture program. It is a multipurpose CAD tool for creating circuit diagrams. Once a circuit diagram is created, da's job is finished. Another program is used to take the schematic from da and create something useful. For example, there is a program to convert the da schematics into something that Actel designer can recognize. From there you can burn a chip. Alone da is useful only for creating nice looking schematics and printing them out. (iii) quicksim quicksim is a digital simulator. You may have used it in EE480 or a similar VHDL lab. It's purpose is to simulate a circuit based on FUNCTIONAL models such as boolean gates, wires and input waveforms. Thus it does not use concepts such as Voltage, Current, Resistance, KVL, KCL or any such theory. It knows AND, OR, INV, etc. It really is a little more complicated than that but such is the nature of the world. Use quicksim to test the functionality of your circuits. It is a good way to predict the behavior of an FPGA. (iv) Viewpoints You need not worry about this. It's FYI. A viewpoint is a CONTEXT in which a program to see a SCHEMATIC. From da a schematic contains only the information you put there along with the information in the LIBRARIES you use (i.e. gen_lib, act_lib, etc). If you want to simulate the circuit you must first create a viewpoint (this is done automatically for you in the lab). For digital simulation, only the data pertainent to digital simulation is extracted from the schematic. That is: the connectivity, the behavior of the elements, the rise/fall times and delays, --- EE280 stuff. On the other hand, if you wanted to do an ANALOG simulation using, for example, ACCUSIM (we won't use this in this course) you need device models, resistances, voltages --- EE 340, EE350, EE570 type stuff). In fact, there are numerous viewpoints that can be created depending on how you want to LOOK at the circuit. On with the Lab hints.... I suggest using the directory structure as follows: /CEB532/home/your_id/ee552/labs - put lab work here /CEB532/home/your)id/ee552/project - put ALL project work here (you probably won't start your project for a while) Hint (1): Zoom out by 2 press "-" Zoom in by 2 press "+" Hint (1a): in the schematic window press the MMB draw a big red question mark. You will get a screen describing all the strokes available. Pay attention to the ZOOM ones. They will speed your use of the tools immensely. Libraries gen_lib: This is only a simple default library containing many well known elements. It is not used for FPGA creation. Rather it is good for testing an idea or learning the tools. act_lib; This is the library supplied by Actel. Use this for your project. It contains the elements realizable in the FPGA so you don't have to work exclusively with 2-1 MUX's. Hint (2): To copy: with the "control" key depressed "click and drag" with the MMB. This will move the objects that are SELECTED. (i.e. select them first) To Move: do the same but depress the "ALT" key instead. HINT (3): READ THIS IF ANYTHING!!!!!!!..... Change Text Values. put the mouse pointer over a bit of test and press "shift-f7". THIS IS SUCH A GREAT TIMESAVER!!!! you can change any visible property, name, comment, whatever! Don't be shy, use it often Addition to PART 3: First of all, to get "nice" symbols, try this: With the schematic of full_adder open and active, pull down the menu Miscellaneous and select "Generate Symbol". This will bring up a screen with a few options. Note the one "Replace existing?" choosing yes will overwrite any previous symbols for this sheet (full_adder). Hit "Okay". Next time you use this take a close look at the options and try to guess what they do. You'll be creating Symbols good enough for the National Art Gallery by the end of the term. Once your symbol has been created, do the following: unselect all (F2) press RMB and select "Properties (logical)" ==> "Add Single Property" You will get a window. In the field that says "New Property Name" put "COMP" In the field that says "New Property Value" put "full_adder" Select stability switch "Fixed" Hit "Okay" Place the label inside your symbol. You have just explicitly defined the name of your component. press RMB and select "Properties (logical)" ==> "Add Single Property". In the field that says "New Property Name" put "INST" In the field that says "New Property Value" put "full_adder" Select stability switch "Variable" Hit "Okay" Place the label inside your symbol. Check and save. You have just set the default instance name. When you use this part in a circuit later you should get "error: duplicate instance name" after checking the schematic. This is good. It forces you to explicitly specify an instance name for each duplicate part you have. This is a good way to simplify simulation of large circuits. Hint (4): ANOTHER REALLY USEFUL ONE !!! (first, go to your Solaris front panel manager and click the little icon between the printer and the filing cabinate. A window pops up. Press the little keyboard. De-select "auto Repeat" and hit "Okay". Go back to da) Use F8 to zoom area. If you get this one you're on your way to making 60 SCM (schematics per minute, similar to typing in WPM). Combine this with the "Zoom fit" stroke to get great dexterity in the world of Mentor Graphics. Have a nice day. Gershom