Project DAT: Data-Path-and-Controller Systems

This project is a compulsory part of the examination for the System-on-Chip Design course at the University of Twente. The goals of this project are: Background information on this project can be found in the document VHDL for Simulation and Synthesis. Please read the section on data path and controllers of that document before starting to work on this exercise.

This project has to be carried out in the same directory as project SYN. Once you have logged in, execute the command

get-module dat syn

to get the files for this proejct in a subdirectory syn (assuming syn is the name of the directory you used for project SYN).

Exercise DAT-1: Evaluate Given Data-Path-and-Controller System

The starting point for the data-path-and-controller system is given by the following files: First get acquainted with the files and try to understand how the code is structured. Compile the files and perform a simulation of the GCD computation on the 16-bit data-path-and-controller system as given in the configuration.

The GCD in project SYN used one clock cycle per iteration of Euclid's algorithm: the comparison, multiplexing and subtraction involved all took place within the same clock period. How many clock cycles are used in one iteration for the implementation on the data-path-and-controller architecture? Motivate your answer using the FSM of the controller and prove it by appropriate simulation waveforms.

Exercise DAT-2: Improve the GCD Controller

The provided controller that computes a GCD on the given data path can be improved. Think of such a solution. First draw the FSM and calculate the number of clock cycles per iteration. If the algorithm is not symmetric, i.e. the number of clock cycles is different for the case that the comparison fails or succeeds (the termination case where the two operands of the comparison are equal is not relevant), take the average of the number of clock cycles for the two cases as a measure for the performance.

Create a new architecture for the controller, called my_gcd and an appropriate configuration to simulate it. Verify that the GCD is correctly computed.

Sythesize the improved GCD using a loose constraint (say 10 ns). Verify that the postsynthesis simulation is also correct.

Exercise DAT-3: New Applications on Given Data Path

Replace the controller to create new application without touching the data path. Agree with the assistant on one of the following applications (choose a simple circuit if you are behind schedule): For each application, perform a presynthesis simulation, synthesize it with a loose constraint, and then perform a post-synthesis simulation.


Prepare a short report that contains:


Go (back) to  Sabih's Home Page.
Last update on: Sun Sep 11 00:36:32 CEST 2016 by Sabih Gerez.