Testing Results for a Video Poker System on a Chip

Similar documents
VGA Controller. Leif Andersen, Daniel Blakemore, Jon Parker University of Utah December 19, VGA Controller Components

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Spartan-II Development System

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

Lab # 9 VGA Controller

Lab #10 Hexadecimal-to-Seven-Segment Decoder, 4-bit Adder-Subtractor and Shift Register. Fall 2017

Lecture #4: Clocking in Synchronous Circuits

Design and Implementation of an AHB VGA Peripheral

Report on 4-bit Counter design Report- 1, 2. Report on D- Flipflop. Course project for ECE533

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

TSIU03: Lab 3 - VGA. Petter Källström, Mario Garrido. September 10, 2018

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Spartan-II Development System

2.6 Reset Design Strategy

ECT 224: Digital Computer Fundamentals Digital Circuit Simulation & Timing Analysis

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

SWITCH: Microcontroller Touch-switch Design & Test (Part 2)

Programmable Logic Design I

Field Programmable Gate Array (FPGA) Based Trigger System for the Klystron Department. Darius Gray

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

Using on-chip Test Pattern Compression for Full Scan SoC Designs

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Sharif University of Technology. SoC: Introduction

Rensselaer Polytechnic Institute Computer Hardware Design ECSE Report. Lab Three Xilinx Richards Controller and Logic Analyzer Laboratory

EE178 Lecture Module 4. Eric Crabill SJSU / Xilinx Fall 2005

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

Block Diagram. dw*3 pixin (RGB) pixin_vsync pixin_hsync pixin_val pixin_rdy. clk_a. clk_b. h_s, h_bp, h_fp, h_disp, h_line

Digital Blocks Semiconductor IP

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

Individual Project Report

LAB 3 Verilog for Combinational Circuits

CARLETON UNIVERSITY. Facts without theory is trivia. Theory without facts is bull 2607-LRB

AD9884A Evaluation Kit Documentation

Design of VGA Controller using VHDL for LCD Display using FPGA


Professor Henry Selvaraj, PhD. November 30, CPE 302 Digital System Design. Super Project

EE178 Spring 2018 Lecture Module 5. Eric Crabill

Lab 3: VGA Bouncing Ball I

Design and implementation (in VHDL) of a VGA Display and Light Sensor to run on the Nexys4DDR board Report and Signoff due Week 6 (October 4)

Traffic Light Controller

A 400MHz Direct Digital Synthesizer with the AD9912

Adding Analog and Mixed Signal Concerns to a Digital VLSI Course

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

CSE 352 Laboratory Assignment 3

ASNT8140. ASNT8140-KMC DC-23Gbps PRBS Generator with the (x 7 + x + 1) Polynomial. vee. vcc qp. vcc. vcc qn. qxorp. qxorn. vee. vcc rstn_p.

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

Laboratory 4 Check Off Sheet. Student Name: Staff Member Signature/Date: Part A: VGA Interface You must show a TA the following for check off:

Design and Simulation of a Digital CMOS Synchronous 4-bit Up-Counter with Set and Reset

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Syed Muhammad Yasser Sherazi CURRICULUM VITAE

TKK S ASIC-PIIRIEN SUUNNITTELU

EEM Digital Systems II

Chapter 4: One-Shots, Counters, and Clocks

Design and Implementation of Encoder for (15, k) Binary BCH Code Using VHDL

Inside Digital Design Accompany Lab Manual

Synchronous Sequential Logic

VT VGA TFT NEMA 4/12 Flat Panel Monitor. User s Guide

Display Technology.! Images stolen from various locations on the web... Cathode Ray Tube

1. Synopsis: 2. Description of the Circuit:

LAB 3 Verilog for Combinatorial Circuits

Radar Signal Processing Final Report Spring Semester 2017

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

Figure 1 Block diagram of a 4-bit binary counter

A video signal processor for motioncompensated field-rate upconversion in consumer television

Experiment # 4 Counters and Logic Analyzer

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

DLP Pico Chipset Interface Manual

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Digital Blocks Semiconductor IP

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

XTAL Bank DDS Version 0.02 Sept Preliminary, highly likely to contain numerous errors

StickIt! VGA Manual. How to install and use your new StickIt! VGA module

GENERAL RULES FOR EE314 PROJECTS

Lab 6: Video Game PONG

T1 Deframer. LogiCORE Facts. Features. Applications. General Description. Core Specifics

Single Channel LVDS Tx

ECE 270 Lab Verification / Evaluation Form. Experiment 9

Lab Assignment 2 Simulation and Image Processing

Debugging of Verilog Hardware Designs on Altera s DE-Series Boards. 1 Introduction. For Quartus Prime 15.1

A CONTROL MECHANISM TO THE ANYWHERE PIXEL ROUTER

Chapter 5 Flip-Flops and Related Devices

L11/12: Reconfigurable Logic Architectures

Main Design Project. The Counter. Introduction. Macros. Procedure

ECE532 Digital System Design Title: Stereoscopic Depth Detection Using Two Cameras. Final Design Report

L12: Reconfigurable Logic Architectures

IT T35 Digital system desigm y - ii /s - iii

Sequential Circuit Design: Principle

DE2-115/FGPA README. 1. Running the DE2-115 for basic operation. 2. The code/project files. Project Files

Electrical & Computer Engineering ECE 491. Introduction to VLSI. Report 1

MODULAR DIGITAL ELECTRONICS TRAINING SYSTEM

A Novel Low Power pattern Generation Technique for Concurrent Bist Architecture

EXOSTIV TM. Frédéric Leens, CEO

Digital Electronics II 2016 Imperial College London Page 1 of 8

ECE 2274 Pre-Lab for Experiment Timer Chip

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Fraction by Sinevibes audio slicing workstation

Transcription:

Testing Results for a Video Poker System on a Chip Preston Thomson and Travis Johnson Introduction- This report examines the results of a system on a chip SoC video poker system. The report will begin with a short description of the project. It will then exam the testing methods employed. The results of the project will be shown pictorially and discussed. Finally, the paper will conclude with the authors opinions of the project including changes to the design that could be made in future design iterations and what the authors learned over the course of study. This SoC video poker system is a basic implementation of a slot machine. Essentially the project can be broken into two main modules: the VGA display controller and the poker engine. The VGA controller is responsible for displaying the game board, the five cards that make up the current hand (the cards toggle color based on their held status) and the bank displayed in hexadecimal (because binary is boring, just like synchronous design). The VGA controller accepts data from the poker engine. It is based on a 25 MHz clock for compatibility with standard VGA monitors. The display is a fairly standard 640x480 pixel resolution. The system outputs are meant to be wired to a standard 15 pin VGA connector. The output is RGB standard with vsync and hsync values set to the VGA standard. The poker engine is the guts of the system. It takes inputs from several switches. There are two resets, a deal/draw button and 5 inputs to hold or release each respective card. The system generates 5 random cards that are checked for validity through a hardware redundancy checking module. Each individual card is generated through a series of LFSRs. Once 5 random cards are generated into a valid hand, the player has the option to mark cards to hold and then finish the hand by pushing draw. The hand is then sorted internally with a bubble sort and checked for wins versus known combinations. In the case of a win, the bank is then incremented. At this point, the game is ready for the next hand. The system was designed in Verilog HDL, synthesized with synopsys tools using the UofUdigital library and simulated with the Cadence Design Suite. More information on this project including specific Verilog details is available in the authors final report on this project from ECE6710. The project was attached to a University of Utah pad ring. The chip area including the pads was 4 TCUs. The design was submitted for fabrication in the.5 micron 3 metal, 2 poly process using AMI design rules. The fabrication was performed by MOSIS, and the finished design is housed in an 84-pin ceramic PGA. The remainder of this report will cover the test setups and results. Testing Methodology- Initial functional testing was performed on the original verilog code using a Xilinx Spartan II FPGA. This design was synthesized using Xilinx ISE to produce a bitfile that

was subsequently tested by loading the file onto a Spartan II based XESS XSA board. This board had plenty of inputs, a VGA output and an adjustable oscillator. The board was then connected to a VGA monitor and the game was put to a priori tests. There were a few errors discovered through these first tests. There were some interesting errors with duplicate cards and a few graphical glitches. The design was then retested against verilog test benches (all these files are available with in the 6710 report and will soon be posted on Travis Johnson s website) and the state machine design was slightly altered to correct the errors. Once these errors were corrected the design was resynthesized and loaded back to the board. After extensive physical testing the board was deemed error free. The verilog code was then resynthesized with the synopsys design compiler and other tools such as silicon ensemble and Layout XL to generate the layout. The layout was DRCed and LVSed in Virtuoso then fitted to the University of Utah Pad ring. A small scale testing was performed, but due to time and resource constraints (lab quotas) only about 12 ms of code could be tested against the circuit. More testing information can be found in the previous paper detailing the design of this work. Once the fabricated chips were returned the chips were put to physical testing. Since the project was based on video, the bulk of testing was completed by wiring the chip up and verifying its functionality by trying to play the game. Initially, the chips were to be soldiered onto PCBs designed by one of the authors, but the boards were not ready in time for the testing. Instead, the chip was wired up to the XESS board and tested using its switches and clock as pictured below in figure 1.

Figure 1: Chip connected to the XESS XSA board. Unfortunately, the internal clock had a very low voltage (about 1.5v peak to peak). To compensate, a simple verilog code (out<=clk;) was used to take a clk signal out of one of the FPGA pins. This provided a 3.3vpp signal, but it was not even close to a clean square wave. The output is shown below in figure 2. Figure 2: Display using XSA Board CLK As can be seen, there was noticeable jitter in the picture. This is because the vsync and hsync were disrupted by the noise of the signal. This problem was corrected when a 5v 25 MHz oscillator was added to the setup. This new oscillator corrected the distorted video. The display is pictured below.

Figure 3: Chip and 25 MHz oscillator All though the display worked correctly, there were other problems. The system was supposed to go into a default state of a hand showing all 2 s of diamonds, but instead it displays all aces. The bank also didn t start at the proper value of 64h, instead it is always a random value. The resets on the board seem to work, but the game does not function when pushing the deal/draw button. The authors believe that the different synthesis tools may have changed the design during optimization. The chip was examined under a microscope to ensure that the general layout had been retained. No errors were found. The fact that the VGA controller also functions leads to the conclusion that the error is of a logic synthesis level and not a fabrication issue. Figure 4: Valid Hand Shown With Proper Oscillator

Schmoo- The chips were also put through a brief schmoo test against voltage and cycle time. The results are shown below along with the msa file. It passed in all cases. Figure 5: Schmoo Plot Conclusions- Overall, the project was very interesting to test. The authors learned the importance of adding more test structures like a ring oscillator at the least. The schmoo plot passed every test. This may be an indication that there may have been a problem with the choice of schmoo parameters for vsync and hsync. If the project were to be redone, the authors would definitely add more testing structures and integrate an oscillator that could be used to clock the circuit. It would also be nice to have the computing resources to carry out a longer test run and simulate more hands post synthesis. It also would have been nice to get the chips on a PCB for more direct reliable access than what was possible through wire wrapping to an XSA board.