EE 3755 - FAQ

Miscellaneous Questions

Checking my class account E-mail frequently is inconvenient, how can I have it forwarded to another address?
Create a file named .forward (the file name starts with a period and must be all lower cases) in your class account home directory. Put the E-mail address to which you want E-mail forwarded in the file. An easy way to do this is with the following command (from a shell):
echo >! ~/.forward
Be sure to substitute your own E-mail address.
Back to Questions

There's a course packet for this course, but the instructor's name is Skavantzos. Should I buy it?
No, the course is being taught differently this semester. Handouts and other material will be put on the Web, so there will be no course packets.
Back to Questions

How can the questions below have been frequently asked it the material they refer to hasn't been taught yet?
Good question. Many of the questions were asked in earlier ECE Verilog courses, they're here because they might be useful in this class. Perhaps FAQ should stand for "Favorite Anticipated Questions," that would certainly be more accurate in some cases.
Back to Questions

Questions on MIPS and SPIM (The MIPS Simulator)

How do I take certain bit positions from one register, combine them with other bit positions from a second register, and write the result in to a third register? For example, suppose $t0 = 0x12345678 and $t1 = 0xaaaaaaaa; how do I put 0x1aa45678 in $t3?
Like this:
        li $t0, 0x12345678
        li $t1, 0xaaaaaaaa

        # Write $t3 with 0x1aa45678  (bits 27:20 of $t1, the rest from $t0).
        lui $t4, 0x0ff0     # $t4 -> 0x0ff00000   Called a /mask/.
        and $t3, $t0, $t4   # $t3 -> 0x02300000
        xor $t3, $t0, $t3   # $t3 -> 0x10045678
        and $t4, $t1, $t4   # $t4 -> 0x0aa00000
        or  $t3, $t3, $t4   # $t3 -> 0x1aa45678

        # Write $t5 with 0x12345aa8  (bits 11:4 of $t1, the rest from $t0).
        andi $t5, $t0, 0x0ff0  # $t5 -> 0x00000670
        xor  $t5, $t0, $t5     # $t5 -> 0x12345008
        andi $t6, $t1, 0x0ff0  # $t6 -> 0x00000aa0
        or   $t5, $t6, $t5     # $t5 -> 0x12345aa8
Back to Questions

SPIM appears to have loaded only part of my program. What happened to the rest of it?
It's possible that SPIM stopped loading your program when it encountered an error. Check the bottom pane of the window for error messages. It might be necessary to narrow the other windows, this can be done by dragging the black rectangles near the right side.
Back to Questions

Why aren't my jumps or branches jumping or branching where they should?
Make sure that the label used in the branch or jump instruction and target line are identical. If SPIM cannot resolve a label it will use zero for the offset (branches) or instruction index (jumps), this is easy to see when looking at the coded form of the instruction in hexadecimal.
Back to Questions

I cannot get my program to start running. The run-program dialog box shows a starting address of zero, but the text window shows my program starting at 0x400000. What am I doing wrong?
Make sure the label at the beginning of the program is "__start", there are two underscores before start.
Back to Questions

Questions on Verilog

Modelsim won't compile this: nibble = word[pos+3:pos]. What do I do?
Replace it with this: nibble = word >> pos (assuming nibble is four bits). Follow this link for other Leonardo-synthesizable ways to read part of a vector, along with their costs.
Back to Questions

Questions on Exams

Questions on the ModelSim Software

When I try to start the simulator using the slide-up menu nothing happens.
It's possible that the design database is locked. If there's a file named "_lock" in the work directory delete it. Another option is to delete the entire work directory and recreate it.
Back to Questions

When I try to run the simulator, **poof**, the windows disappear! What happened?
This happens when your disk quota is exceeded. Delete files that end in .wlf. (Don't do this while running the simulator. If you're using the file manager, don't just throw them in the trash, shred them too. Interestingly, files take up less after being shredded. :-) . Use du | xdu from your home directory to find where space is being used.
Back to Questions

When I tried to compile Verilog a dialog popped up titled "Error in Tcl Script" containing an unhelpful error message. What's going on?
This happens when you click a compile button or select a compile menu entry when a compile window is already open. Click "Ok" in the dialog and look for the original "Compile HDL Source Files" dialog.
Back to Questions

Questions on the Workstations, Operating System, etc.

Which hosts can I telnet into?
Choose one of these:,,,,,,,,,,,,,
You might want to check the workstation load by running top. If the load averages (average number of processes ready to execute) are above 0.5 you might want to log in elsewhere.
Back to Questions

Can I run the simulator and other graphical software from my PC or Mac at home?
Yes. You'll first need to install an X-server on your computer. On a dialup connection text editing is a bit sluggish and graphics (such as selecting a menu item) are painfully slow (but usable in an emergency). On a broadband connection (cable modem, DSL, T1-equipped apartment building, etc) graphics are merely sluggish. See the procedures page for instructions on setting up an X-server and connecting to our system.
Back to Questions

My workstation has what looks like a floppy disk drive. How can I copy files to a floppy disk?
Use the command mcopy foo.v a:. See the mtools manpage for other floppy commands. (From a shell: man mtools or xman then search for mtools. From Emacs: M-x man then enter mtools.)
Back to Questions

I get disk quota exceeded messages. Should I be concerned?
Yes. You have two disk space quotas, a lower one and a higher one. To find your quota and the amount of space used enter the command  quota -v . The number under the usage column is the amount of space used, the number under "quota" is the lower quota and the number under "limit" is the higher quota. If your usage is between the two limits you'll get warnings for several days, then you won't be able to use more disk space. ("Time left" refers to the amount of time until this happens.) You will never be allowed to exceed your higher quota. To get a graphical representation of how much space things take up issue  du | xdu  in a shell from your root directory.
Back to Questions

ECE Home Page Course Home Page
David M. Koppelman -
Modified 12 Aug 2012 17:16 (2216 UTC)