Project Reciew - Final
Project Reciew - Final
Guided By
Dr. Jayanta Biswas
Presented By
N. Siva Kumar
115040011
Abstract
This project implements a pipeline processor with Bluespec
System Verilog (BSV) using the concepts of concurrency, scheduling,
parallelism and pipeline hazards optimization. The pipeline processor
performance is compared with a sequential processor in terms of cycles
per instruction (CPI) and average execution time for a single instruction.
The functionality of the designed processors is verified with GTK cycle
accurate simulator. Altera design flow is adopted to verify the static
timing analysis and to exploit multi-corner timing issues.
Project Layout
Problem Definition
The major problem of executing
multiple instructions in a scalar
program is the handling of data
dependencies. If data dependencies
are not effectively handled, it is
difficult to achieve an execution
rate of more than one instruction
per clock cycle.
Bluespec
System
Verilog
Sequential
Processor
Pipeline
Processor
Altera Timing
Analysis
Pipeline Architecture
Instruction Format
MB
Ack.
Source2
Register
Or
Read2
Register
6-bit
32 regs
Source1
Register
Or
Read1
Register
6-bit
32 regs
Address Fields
Destination
Register
Or
Write
Register
6-bit
32 regs
Opcode
5-bit
32 inss
The saving of ALU result prior to write-back stage helps in forwarding data to the
successive dependent instruction.
TIMING ANALYSIS
Compiled in Altera Quartus II version 9.1 web edition for Stratix-III
platform
Fmax for the sequential processor is obtained at 18 MHz
For pipeline processor the value of Fmax is 168 MHz
This variation is due to resources overlapping in the sequential
design along with data hurdles and timing synchronization issues
4187 LUTs are utilized by the pipeline design
CONCLUSION
A Sequential processor is designed without pipeline register implementation. The
design is analysed to gain the insight for hurdles and timing issues. The verilog version
of the design program is obtained from Bluespec and static timing analysis is performed
using Altera Quartus II tool. A Pipeline processor is designed using pipeline registers and
analyzed in terms of concurrency, cycles per instruction and hazards optimization.
Detailed analysis is performed with optimization protocols for maximum throughput.
Scheduling analysis is throughly worked out for timing synchronization between the
pipeline stages. Timing analysis is performed using the same Altera tool and is
determained to work at 168 MHz for Stratix-III platform.
PUBLICATION
References
1. In-System FPGA Prototyping of an Itanium Microarchitecture,
Roland E. Wunderlich and James C. Hoe, IEEE International
Conference on Computer Design (ICCD04).
2. 802.11a Transmitter: A Case Study in Microarchitectural
Exploration, Nirav Dave, Michael Pellauer, Steve Gerding, &
Arvind, 4th IEEE/ACM International Conference on Formal
Methods and Models for Co-Design, 2006.
3. Modular Compilation of Guarded Atomic Actions, Muralidaran
Vijayaraghavan, Nirav Dave, and Arvind, 978-1-4799-09056/13/2013 IEEE
4. A tool to support Bluespec System Verilog coding based on UML
diagrams, Sergio H. M. Durand and Vanderlei Bonato, 978-1-46732421-2/12/2012 IEEE
5. Computer Architecture-A Quantitative Approach. 4E, John L.
Hennessy and David A. Patterson
THANK YOU