• DEPARTMENT
    • Overview
    • Computing
    • Facilities
    • Organizations
    • Scholarship Awards
    • Employment
    • Advisory Committee
    • Contact
  • ACADEMICS
    • Undergraduate
      • Computer Eng.
      • Electrical Eng.
      • Ambassadors
    • Graduate
      • Information for Prospective Students
      • ECE Graduate Handbook
      • Graduate Forms
      • Ph.D. Qualifying Exam
      • Distance Education
      • Frequently Asked Questions (FAQ)
    • Courses
    • Student Survival kit
    • Distance Learning
  • PEOPLE
    • Faculty
    • Staff
  • PROSPECTIVE STUDENTS
    • Overview
    • FAQ
    • Considering ECE
    • Scholarships
    • PC Requirements
    • Office of Admissions
  • RESEARCH
    • Overview
    • Signal Processing & Communications
    • Digital Systems & Microelectronics
    • Power & High Voltage
    • Research Centers
      • Emerging Materials Research Laboratory
      • High Voltage Laboratory
      • Robotics
    • HPCC
  • ALUMNI
Team Zulu: - Ece
Personal tools
  • 38.107.191.107
  • Talk for this IP
  • Log in
Views
  • Page
  • Discussion
  • View source
  • History

Team Zulu:

From Ece

Jump to: navigation, search

Team Zulu is an ECE4713_Computer_Architecture project team that is currently working on implementing a partial CPU based on the MIPS architecture.

Contents

  • 1 Current Progress
  • 2 Team Members
  • 3 Individual Contributions
  • 4 Team Meetings
  • 5 Implementation Language and Hardware
  • 6 Project Proposal
    • 6.1 Design Overview
      • 6.1.1 Instruction Format
        • 6.1.1.1 R-Format
        • 6.1.1.2 I-Format
        • 6.1.1.3 J-Format
        • 6.1.1.4 L-Format
      • 6.1.2 Instructions
      • 6.1.3 Assembly Language and Machine Code for the Test Program (Pseudocode)
      • 6.1.4 Tasks and Schedule
      • 6.1.5 Planned Meetings
  • 7 Deliverables

Current Progress

Jacob Bowen is currently working on creating the instruction and data memories.

Jacob Morgan is working on finalizing our datapath.

Tim Pitts is working on finishing all combinatorial components of the datapath.

To date, most of the required components have been implemented, with the exception of a few. The team hopes to finish all of the coding by Thursday, November 19th.

Team Members

  • Jacob Bowen
  • Jacob Morgan
  • Tim Pitts

Individual Contributions

The table below lists the group members' contribution to different areas of the project.

Name Date Task Time Spent
Tim 10/28 Web Update 2 hours
Tim 10/31 Xilinx Project Creation and Initial Coding .5 hours
Jake B. 11/1 Hazard Detection Unit (design and testing) 2 hours
Jacob 11/1 - 11/3 Downloading and installing Xilinx 5 hours
Jacob 11/3 Shift left 2 bits module (design and testing) 2 hours
Jake B. 11/3 PC, Sign Extend, and Adder Modules (design and testing) 1.5 hours
Tim 11/5 Control Unit Module 2 hours
Jacob 11/6 IF/ID Pipeline Register (design and testing) 1 hours
Jake B. 11/6 Register File Module (design and testing) 1.5 hours
Tim 11/7 ALU Module 1.5 hours
Jake B. 11/7 Sign Extend Module (correction & testing) 15 minutes
Jacob 11/8 ID/EX, EX/MEM, and MEM/WB Pipeline Regiters (design and testing) 2.75 hours
Jacob 11/10 Created Components of the Schematic Datapath 1.75 hours
Jacob 11/11 Constructed the Schematic Datapath 6 hours
Jake B. 11/12 Instruction Memory Module
(CoreGen and testing)
2 hours
Tim 11/15 Forwarding Unit 2 hours
Jacob 11/16-11/18 Datapath Adjustments and Optimizations 5 hours
Tim 11/20 Top Level Module 2 hours
Tim 11/21 More Top Level 1 hour
Tim 11/22 And again with the top level... 1 hour

Team Meetings

The table below lists all team meetings that have been held to date.

Date(MM/DD/YY) Time In Attendance
10/27/09 2:30 - 3:00 P.M. All
11/5/09 2:00 - 2:30 P.M. All
11/10/09 4:30 - 4:45 P.M. All
11/15/09 9:30 - 10:30 P.M. All (Jacob M. via teleconference)
11/18/09 8:00 P.M. - 12:30 A.M. All

Implementation Language and Hardware

Team Zulu has decided to implement the processor on the Spartan3E-100 FPGA Basys Development Board using Verilog HDL.

Project Proposal

Design Overview

The instruction set was chosen to be capable of running the test program. Rising edge triggered clocking methodology will be used. Eight registers will be available for the program to use.

Instruction Format

R-Format
opcode rs rt rd funct
4 bits 3 bits 3 bits 3 bits 3 bits
I-Format
opcode rs rt immediate
4 bits 3 bits 3 bits 6 bits
J-Format
opcode        address       
4 bits 12 bits
L-Format
opcode rs immediate
4 bits 3 bits 9 bits

Instructions

Name Mnemonic Operation Opcode Funct Format
Add add add $s1,$s2,$s3 1111 000 R
Subtract sub sub $s1,$s2,$s3 1111 001 R
And and and $s1,$s2,$s3 1111 010 R
Or or or $s1,$s2,$s3 1111 011 R
Nor nor nor $s1,$s2,$s3 1111 100 R
Xor xor xor $s1,$s2,$s3 1111 101 R
Set if less than slt slt $s1,$s2,$s3 1111 110 R
Add immediate addi addi $s1,$s2,4 0001 XXX I
Shift left sll sll $s1,$s2,4 0100 XXX I
Shift right srl srl $s1,$s2,4 0101 XXX I
Load word lw lw $s1,4($s2) 0110 XXX I
Store word sw sw $s1,4($s2) 0111 XXX I
Branch if equal beq beq $s1,$s2,Dest 1000 XXX I
Branch if not equal bne bne $s1,$s2,Dest 1001 XXX I
Jump j j Dest 1010 XXX J
Load lower immediate lli lli $s1,4 1011 XXX L
Lower upper immediate lui lui $s1,4 1100 XXX L
NOP nop nop 0000 XXX N/A

Assembly Language and Machine Code for the Test Program (Pseudocode)

$v0 = 0040hex;
$v1 = 1010hex;
$v2 = 000Fhex;
$v3 = 00F0hex;
$t0 = 0000hex;
$a0 = 0010hex;
$a1 = 0005hex;

while($a1 > 0)
{
     $a1 = $a1 – 1;
     $t0 = Mem[$a0];
     if($t0 > 0100hex)
     {
          $v0 = $v0 ÷ 8;
          $v1 = $v1 | $v0;
          Mem[$a0] = FF00hex;
     }
     else
     {
          $v2 = $v2 × 4;
          $v3 = $v3 Å $v2;
          Mem[$a0] = 00FFhex;
     }
     $a0 = $a0 + 2;
}

Assembly Language Machine Code
while:
slt $t0,$a0,$zero 0000 110 000 101 110
bne $t0,$zero,end 1001 101 000 011010
beq $a0,$zero,end 1000 110 000 011010
addi $a1,$a1,-1 0001 111 111 111110
lw $t0, 0($a0) 0110 110 101 000000
if:
addi $v0,$zero,16 0001 001 000 010000
slt $v1,$t0,$v0 0000 101 001 010 110
bne $v1,$zero,else 1001 010 000 001111
beq $t0,$zero,else 1000 101 000 001111
srl $v0,$v0,3 0101 001 001 000011
or $v1,$v1,$v0 0000 010 001 010 011
lli $t0,0x100 1011 101 100000000
lui $t0,0x7F 1100 101 001111111
sw $t0,4($a0) 0111 110 101 000100
j end 1010 000001100000
else:
sll $v2,$v2,2 0100 011 011 000010
nor $t0,$zero,$v3 0000 000 100 101 100
nor $v0,$zero,$v2 0000 000 011 001 100
or $t0,$t0,$v0 0000 101 001 101 011
or $v1,$v3,$v2 0000 100 011 010 011
and $v3,$t0,$v1 0000 101 010 100 010
lli $t0,0x0FF 1011 101 011111111
lui $t0,0x00 1100 101 000000000
sw $t0,8($a0) 0111 110 101 001000
endelse:
addi $a0,$a0,2 0001 110 110 000010
j while 1010 000000000000
end:

Tasks and Schedule

Image:TasksandSchedule.jpg

Planned Meetings

  • Tuesday, October 27th 4:30 P.M.
  • Thursday, October 29th, 4:30 P.M.
  • Sunday, November 1st, 6:00 P.M.
  • Tuesday, November 3rd, 4:30 P.M.
  • Thursday, November 5th, 4:30 P.M.
  • Sunday, November 8th, 6:00 P.M.
  • Tuesday, November 10th, 4:30 P.M.
  • Thursday, November 12th, 4:30 P.M.
  • Sunday, November 15th, 6:00 P.M.
  • Tuesday, November 17th, 4:30 P.M.
  • Thursday, November 19th, 4:30 P.M.

Deliverables

Project Proposal

Retrieved from "http://www.ece.msstate.edu/wiki/index.php/Team_Zulu:"
Navigation
  • Main Page
  • Community portal
  • Current events
  • Recent changes
  • Random page
  • Help
SEARCH
TOOLBOX
LANGUAGES
 
Toolbox
  • What links here
  • Related changes
  • Upload file
  • Special pages
  • Printable version
  • Permanent link
Powered by MediaWiki
  • This page was last modified on 23 November 2009, at 03:28.
  • This page has been accessed 376 times.
  • Privacy policy
  • About Ece
  • Disclaimers

Mississippi State University Home| PO Box 9571, Mississippi State, MS 39762 | Main Office: 1.662.325.3912

Bagley College of Engineering | Mississippi State University| Legal| Webmaster| Intranet

Page modified: Tue, 23 Sep 2008 15:18:39 CDT