• Home
  • Publications
  • CV
  • Contact
  • Kress Enterprise, LLC
  • ARCHIVE
James Kress

Pipelined Processor ~ Spring 2012

Pipelined Processor Diagram
Data Path for the Processor

Part 1: Register File

The first stage was to create the register file that would be used to store the working data for the processor. This was implemented in Xilinx, and tested using ModelSim. 

The description for the register file is provided in the 'part01_reg_file.pdf' file. It gives a description of the needed functionality and naming conventions.  The final report is given as 'group17_part1_report.pdf'. This file gives a description of our design process, the design schematic, and a rundown of our testing methods. 

Part 1 Files

part01_reg_file.pdf
File Size: 32 kb
File Type: pdf
Download File

group17_part1_report.pdf
File Size: 151 kb
File Type: pdf
Download File

Part 2: Adder

The second stage of the project was to create a high performance 16-bit 2's compliment adder. To improve code readability and reusability, we created the adder in three parts. First, we created a single-bit adder. This adder was then instantiated four times to create the four-bit adder, which was then instantiated four times itself, to create the 16-bit adder. 

The description for the adder is provided in the 'part02_adder.pdf' file. It gives a description of the needed functionality and naming conventions.  The final report is given as 'group17_part02_report.pdf'. This file gives a description of our design process, the design schematic, and a rundown of our testing methods. 

Part 2 Files

part02_adder.pdf
File Size: 22 kb
File Type: pdf
Download File

group17_part02_report.pdf
File Size: 96 kb
File Type: pdf
Download File

Part 3: ALU

The third stage of the project was the create the ALU (Arithmetic Logic Unit). The ALU has the ability to perform the following operations: "ADD, SUB, NAND, XOR, SHL (shift left), and SHRA (shift right arithmetic)". 

The description for the ALU is provided in the 'part03_alu.pdf' file. It gives a description of the needed functionality and naming conventions.  The final report is given as 'group17_part03_report.pdf'. This file gives a description of our design process, the design schematic, and a rundown of our testing methods. 

Part 3 Files

part03_alu.pdf
File Size: 46 kb
File Type: pdf
Download File

group17_part03_report.pdf
File Size: 173 kb
File Type: pdf
Download File

Part 4: Single Cycle Processor

The fourth stage of the project was to put together everything that we had done previously, and create a single cycle processor. This processor has the ability to do all of the operations listed in '', which constitutes a complete instruction set. 

The description for the processor is provided in the 'part04_singlecycle.pdf' file. It gives a description of the needed functionality and naming conventions.  The final report is given as 'group17_part04_report.pdf'. This file gives a description of our design process, the design schematic, and a rundown of our testing methods.

Part 4 Files

part04_singlecycle.pdf
File Size: 29 kb
File Type: pdf
Download File

group17_part04_report.pdf
File Size: 250 kb
File Type: pdf
Download File

Part 5: Pipelined Processor

The final stage of the project was to modify the single cycle processor, and turn it into a pipelined data path with hazard detection and forwarding. This part of the project was very difficult, and took a great deal of time to create a design that would function efficiently as well as effectively.

The description for the pipelined processor is provided in the 'part05_pipelined.pdf' file. It gives a description of the needed functionality and naming conventions.  The control table and final running times for individual instructions are given as 'control_table_and_timing.pdf'. 

Part 5 Files

part05_pipelined.pdf
File Size: 23 kb
File Type: pdf
Download File

control_table_and_timing.pdf
File Size: 153 kb
File Type: pdf
Download File

Powered by Create your own unique website with customizable templates.