Project 4 Errata Page

8-11-2004 WOA important stuff man!!!
  • download the Makefile and data.dat files over again to your proj folder. Many thanks to Kevin to figure all these out!
8-11-2004 Important Architecture Notice
  • craziness of architectures. Don't run your codes on Nova or any sun4u machine. It's something about the null at the end. seems like the x86 machines default x to 0, so your strings become null terminated automatically. it seems like the "Received character'x'"string is missing the null at the end. So try running your codes on torus or pentagon, or similar machines, until we update you more on the status. you can use the command uname -X to get info for the machine.
8-10-2004 Sample Tests
  • Are put up at this address: ~cs61c/lib/proj4/test
    to run these, first connect the DMP port of the regFile in your single.v to the wire dumpDataMem. then do the following for each test that you run, for example for simple.ex do:
    cp simple.ex.text text.dat
    vvp cpu.vvp > dump
    diff dump simple.ex.regdump
8-10-2004 Proj3 Tests
  • Will produce incorrect dump files right now. Your memory has been updated, and is much more complex now. We'll try to make it produce dump files that you can use to test your processor, but for now, don't panic if you get the "does not match" message!
8-10-2004 James sez:
  • "on line 219 of single.v, there is a semi missing after the halt." Nice catch, it's been corrected.
8-10-2004 iecho update
  • When running your handler on your CPU, you will need to finish the simulation at some point, otherwise the output file will not be closed. So change your __start function to this, and take the first 2 lines that uses mtc0 out:

    __start:
    lui $t0,0xffff # Enable receiver interrupts.
    addi $t1,$0,2
    sw $t1,0($t0)
    loop:
    readchar:
    addi $v0,$0,12 # readchar syscall
    syscall
    beq $v0,$0,readchar # if the result of the syscall is
    # zero, then try again.
    addi $s0, $0, 0xff #[add this line] memio return -1 as a byte, once it gets to the end of the input file.
    beq $s0, $v0, fin #[add this line] if end of the file, go t fin and halt the processor
    lui $a0,0x1001 # la $a0,string
    ori $a0,$a0,0x0000
    sb $v0, 20($a0) # Store char 'x' into output string.
    print:
    addi $v0,$0,4 # print syscall
    syscall
    lb $t0,0($a0)
    bne $t0,$0,print # if the result of the syscall is
    # not zero, then try again.
    beq $0,$0,loop
    fin:
    # [add this line] halt # [add this line]
8-9-2004 Part 1 Specs Updated
  • The specifications for part 1 have been updated to match better with the comments in the code provided.
8-7-2004 rcvRing address
  • is at 0x90000288. If you grabbed the file iecho.s before this announcement, make sure to correct this.
8-6-2004 Project 4 Help-Session
  • Sunday at 6:00PM 306 Soda (aka HP Auditorium) Make sure to make it!