Documentation for Event Capture Beta. Brandon Rumberg Patrick Brandt

Similar documents
Asynchronous (Ripple) Counters

Counter dan Register

COMP2611: Computer Organization. Introduction to Digital Logic

Experiment: FPGA Design with Verilog (Part 4)

B. Sc. III Semester (Electronics) - ( ) Digital Electronics-II) BE-301 MODEL ANSWER (AS-2791)

Department of Electrical and Computer Engineering Mid-Term Examination Winter 2012

WINTER 15 EXAMINATION Model Answer

BABAR IFR TDC Board (ITB): system design

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

Digital Fundamentals: A Systems Approach

Final Exam review: chapter 4 and 5. Supplement 3 and 4

MUHAMMAD NAEEM LATIF MCS 3 RD SEMESTER KHANEWAL

EE178 Spring 2018 Lecture Module 5. Eric Crabill

Interfacing Analog to Digital Data Converters. A/D D/A Converter 1

University of Victoria. Department of Electrical and Computer Engineering. CENG 290 Digital Design I Lab Manual

Digital Blocks Semiconductor IP

Fingerprint Verification System

Delta-Sigma ADC

CMS Conference Report

DALHOUSIE UNIVERSITY Department of Electrical & Computer Engineering Digital Circuits - ECED 220. Experiment 4 - Latches and Flip-Flops

YEDITEPE UNIVERSITY DEPARTMENT OF COMPUTER ENGINEERING. EXPERIMENT VIII: FLIP-FLOPS, COUNTERS 2014 Fall

Sequential Circuit Design: Principle

Inside Digital Design Accompany Lab Manual

Chapter 4. Logic Design

Counters

Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

ASYNCHRONOUS COUNTER CIRCUITS

CHAPTER 4: Logic Circuits

BE1-81O/U Frequency Protection. Washington State University Hands-On Relay School.

AN-822 APPLICATION NOTE

TV Synchronism Generation with PIC Microcontroller

AD9884A Evaluation Kit Documentation

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

Midterm Exam 15 points total. March 28, 2011

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Major Differences Between the DT9847 Series Modules

Flip-Flops. Because of this the state of the latch may keep changing in circuits with feedback as long as the clock pulse remains active.

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

EE 109 Homework 6 State Machine Design Name: Score:

MODEL QUESTIONS WITH ANSWERS THIRD SEMESTER B.TECH DEGREE EXAMINATION DECEMBER CS 203: Switching Theory and Logic Design. Time: 3 Hrs Marks: 100

A clock is a free-running signal with a cycle time. A clock may be either high or low, and alternates between the two states.

Computer Organization & Architecture Lecture #5

Hello and welcome to this presentation of the STM32L4 Analog-to-Digital Converter block. It will cover the main features of this block, which is used

Fast Quadrature Decode TPU Function (FQD)

Lecture 8: Sequential Logic

CHAPTER 4: Logic Circuits

EECS 270 Midterm 2 Exam Closed book portion Fall 2014

COSC 243. Sequential Logic. COSC 243 (Computer Architecture) Lecture 5 - Sequential Logic 1

Quad ADC EV10AQ190A Synchronization of Multiple ADCs

BER MEASUREMENT IN THE NOISY CHANNEL

Digital Logic Design ENEE x. Lecture 19

MODULE 3. Combinational & Sequential logic

DIGITAL ELECTRONICS MCQs

EECS150 - Digital Design Lecture 10 - Interfacing. Recap and Topics

BABAR IFR TDC Board (ITB): requirements and system description

Video Surveillance *

Figure 1: Feature Vector Sequence Generator block diagram.

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

For Teacher's Use Only Q Total No. Marks. Q No Q No Q No

Decade Counters Mod-5 counter: Decade Counter:

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

1. Convert the decimal number to binary, octal, and hexadecimal.

PROCESSOR BASED TIMING SIGNAL GENERATOR FOR RADAR AND SENSOR APPLICATIONS

Analog to Digital Conversion

Snapshot. Sanjay Jhaveri Mike Huhs Final Project

AIM: To study and verify the truth table of logic gates

Synthesis Technology E102 Quad Temporal Shifter User Guide Version 1.0. Dec

LATCHES & FLIP-FLOP. Chapter 7

Logic Design II (17.342) Spring Lecture Outline

EE 121 June 4, 2002 Digital Design Laboratory Handout #34 CLK

COMP sequential logic 1 Jan. 25, 2016

Analogue Versus Digital [5 M]

Tutorial Introduction

Review of digital electronics. Storage units Sequential circuits Counters Shifters

ELECTRICAL ENGINEERING DEPARTMENT California Polytechnic State University

Slide 1. Flip-Flops. Cross-NOR SR flip-flop S R Q Q. hold reset set not used. Cross-NAND SR flip-flop S R Q Q. not used reset set hold 1 Q.

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

HOLITA HDLC Core: Datasheet

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

2.6 Reset Design Strategy

ASNT_PRBS20B_1 18Gbps PRBS7/15 Generator Featuring Jitter Insertion, Selectable Sync, and Output Amplitude Control

FPGA Development for Radar, Radio-Astronomy and Communications

Name: Date: Suggested Reading Chapter 7, Digital Systems, Principals and Applications; Tocci

problem maximum score 1 28pts 2 10pts 3 10pts 4 15pts 5 14pts 6 12pts 7 11pts total 100pts

EXPERIMENT #6 DIGITAL BASICS

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

a) (A+B) (C+D) b) AB+CD c) AC+BD d) (A+D) (B+C)

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

ISSCC 2006 / SESSION 18 / CLOCK AND DATA RECOVERY / 18.6

CS 261 Fall Mike Lam, Professor. Sequential Circuits

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) WINTER 2018 EXAMINATION MODEL ANSWER

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

Block Diagram. deint_mode. line_width. log2_line_width. field_polarity. mem_start_addr0. mem_start_addr1. mem_burst_size.

FPGA IMPLEMENTATION AN ALGORITHM TO ESTIMATE THE PROXIMITY OF A MOVING TARGET

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

Experiment 8 Introduction to Latches and Flip-Flops and registers

PESIT Bangalore South Campus

Chapter Contents. Appendix A: Digital Logic. Some Definitions

Transcription:

Documentation for Event Capture Beta Brandon Rumberg Patrick Brandt 1

Table of Contents About This Document...3 Top Level...4 Input Block...6 Window Set...8 Calc Variance...10 Remove Bias...12 Find Bias...13 Sum of Squares...14 Square of Sums...15 Average Variance...16 Threshold...17 Format&Buffer...19 Ram Control...21 Lights Counter...23 Illustration Index Illustration 1: Event Capture Top Level Diagram...4 Illustration 2: Input Block Diagram...6 Illustration 3: Window Set Block Diagram...8 Illustration 4: Calc Variance Block Diagram...10 Illustration 5: Remove Bias Block Diagram...12 Illustration 6: Find Bias Block Diagram...13 Illustration 7: Sum of Squares Block Diagram...14 Illustration 8: Square of Sums Block Diagram...15 Illustration 9: Average Variance Block Diagram...16 Illustration 10: Threshold Block Diagram...17 Illustration 11: Format&Buffer Block Diagram...19 Illustration 12: Ram Control Block Diagram...21 Illustration 13: Lights Counter Block Diagram...23 2

About This Document Event Capture Beta comes in three flavors. First is the single ADC, two input (1GHz sampling) version which is detailed in this document. In addition there exists a 2-ADC, 2-input (2GHz sampling) and a 2-ADC, 4-input (1GHz sampling) version. All versions of Event Capture Beta have the same functionality so although this document is written for the 1-ADC 2-input mode, it applies to the other modes with minor exceptions. This document discusses the FPGA portion of the design in a top-down manner. Each subsystem is presented by including a description of the purpose of the subsystem as well as a description of the inputs and outputs. The purpose of the Event Capture design is to detect short transient events and record them with high time resolution. Motivation and results are described in more detail in notes 2,3, and 4 in the Cicada Notes series. 3

Top Level Illustration 1: Event Capture Top Level Diagram 4

Description: Event Capture Beta determines when an event has occurred by comparing the current variance (over the past 32 samples) of the input with the average variance over a longer time (user definable). An event is said to occur when the current variance exceeds the average variance scaled by a user defined significance level: 2 Event occured if : current 2 average significancefactor Once an event is detected a delayed version of the signal is written into memory. A window length is defined by the user. The captured event should be centered in the window. The delay for the delayed version of the signal is chosen so the event will be centered and also accounts for the latency in doing the calculations described in the above paragraph: s delayed t =s t [ windowlength latency 2 calculation ] Starting at the left of Illustration 1, we see that the signals are digitized in the input subsystem after which they follow two paths. The top path is the event detection path. The bottom path delays the signal as described in the above paragraph and concatenates sets of four 8-bit samples to be stored in the 32-bit memory locations. Each subsystem is described in detail below. 5

Input Block Illustration 2: Input Block Diagram Description The Input subsystem is responsible for digitizing the incoming signal. Note that the sync pulse is down-sampled to the FPGA clock speed. Inputs Inputs Source Description sim_i Top level Input for polarization I sim_q Top level Input for polarization Q sim_sync Top level 1pps input 6

Outputs Outputs Destination Description i0:i3 q0:q3 calc_variance, format&buffer calc_variance, format&buffer sync calc_variance Sampled 1pps Sampled input for polarization I Sampled input for polarization Q 7

Window Set Illustration 3: Window Set Block Diagram Description The Window Set subsystem initializes the length of the FIFO buffer which is used to delay the signal in order to center the event in the window. On the rising edge of start_window, start_write is asserted and the counter will count to the value in the window_time. Once this value is reached, start_read is asserted. The multiplexer on the right was added in an attempt to allow the window length to be reset while the system is running. The idea is that the multiplexer switches to a constant value of one on the falling edge of start_window so that the buffer read is still enabled and the buffer will empty itself. However this portion of the design does not work so the system must be reset in order to effectively change the window length. This issue is described in Cicada Note #7. Inputs Inputs Source Description window_time start_window User defined Top level start The number of clock cycles to capture data on either side of an event When start_window goes high, start_write goes high, and the counter counts up to the window size before asserting start_read 8

Outputs Outputs Destination Description window_size enable start_write start_read RAM control RAM control format&buffer format&buffer Used by address counter to capture the correct number of samples When asserted, buffer size has been set so it is okay to capture events Begin writing to buffer Begin reading from buffer 9

Calc Variance Illustration 4: Calc Variance Block Diagram Description The Calc Variance subsystem is responsible for calculating both the current and long term variance of the incoming signals. From left to right in Illustration 4, we see that any DC offset is removed from the signal, then the current variance is calculated. The current variance is output from this subsystem and is also fed into the average variance. 10

Inputs Inputs Source Description i0:i3 ADC Input for polarization I q0:q3 ADC Input for polarization Q bias_rate_i bias_rate_q length_i length_q User Defined Register User Defined Register User Defined Register User Defined Register Rate that bias integrates to the DC offset Rate that bias integrates to the DC offset How often samples are used for averaging the variance How often samples are used for averaging the variance Outputs Outputs Destination Description curr_var_i Threshold Instantaneous variance of polarization I avg_var_i Threshold Average variance of polarization I curr_var_q Threshold Instantaneous variance of polarization Q avg_var_q Threshold Average variance of polarization Q 11

Remove Bias Illustration 5: Remove Bias Block Diagram Description Remove Bias does what one would expect from the name. The find_bias integrates to the bias offset of din1, this bias is subtracted from each concurrent sample. The algorithm used by find_bias is described in the next section. 12

Find Bias Illustration 6: Find Bias Block Diagram Description Find Bias digitally models an integrating filter as described in the Xilinx TechXclusives article Digitally Removing a DC offset. [1] 13

Sum of Squares Illustration 7: Sum of Squares Block Diagram Description This sums the squares of the last 32 samples. 14

Square of Sums Illustration 8: Square of Sums Block Diagram Description This squares the sum of the last 32 samples. 15

Average Variance Illustration 9: Average Variance Block Diagram Description This sums the current variance at previous times as represented by this equation: 7 dout [n]= din[n k averagingdistance] k =0 Each output is held over averaging_distance clock cycles. 16

Threshold Illustration 10: Threshold Block Diagram Description Threshold is responsible for detecting events. The average variance of each channel is multiplied by the user defined significance level in variance_i or variance_q and compared to the current variance. If the current variance is greater then an event has occurred. 17

Inputs Inputs Source Description avg_variance_i :q curr_variance_ i:q variance_i:q calc_variance calc_variance User defined sync calc_variance 1pps Average variance of respective polarization Current variance of respective polarization. The ratio by which the current variance must exceed the average variance to trigger an event Outputs Outputs Destination Description avg_i:q curr_i:q EVENT User viewed User viewed RAM_control Average variance of respective polarization, viewed as an unsigned number with binary point at zero. (Otherwise number is truncated when run in hardware) Current variance of respective polarization, viewed as an unsigned number with binary point at zero. (Otherwise number is truncated when run in hardware) High when an event is detected in either polarization event_i:q top level scopes High when an event is detected in the respective polarization sync_out RAM_control 1pps 18

Format&Buffer Illustration 11: Format&Buffer Block Diagram Description This concatenates four 8 bit samples to be stored in a 32 bit location. These 32-bit values are then fed into a buffer. The depth of the buffer is the correct length so that the delay caused by running through the buffer is half the window time. The write enable and read enable pins as asserted by the the window_set to cause the buffer to be the desired depth. Inputs Inputs Source Description i0:i3 Input Sampled input for polarization I q0:q3 Input Sampled input for polarization Q we re window_set window_set Begin writing to the buffer Begin reading from the buffer 19

Outputs Outputs Destination Description i_chunk q_chunk Top level RAM s Top level RAM s Sets of four input samples that have been concatenated into one 32 bit word and delayed to be half the window time behind the detection of events Sets of four input samples that have been concatenated into one 32 bit word and delayed to be half the window time behind the detection of events 20

Ram Control Illustration 12: Ram Control Block Diagram Description This handles the addressing of the output RAM. Inputs Inputs Source Description enable window_set When high, the buffer size has been set so it is okay to capture events event threshold High when an event is detected inhibit reset User defined User defined sync threshold 1pps window_size window_set Setting to zero inhibits the capture of events After an event has been captured, this must be toggled to reset the event_hold and allow new events to be captured. Number of clock cycles to capture on either side of an event 21

Outputs Outputs Destination Description event_occ lights_counter High when an event has been captured and is ready to be read we top level RAM Write enable for capture RAM addr top level RAM Addressing for capture RAM s sync_out lights_counter 1pps 22

Lights Counter Illustration 13: Lights Counter Block Diagram Description This latches counter values when an event occurs and when a sync pulse arrives. It also counts the number of events that have been recorded and provides visual verification in the form of an LED. 23

Inputs Inputs Source Description event_occ sync RAM_control RAM_control High when an event has been captured and is ready to be read 1pps Outputs Outputs Destination Description count_hi_sync count_lo_sync count_hi count_lo count_hi_even t count_lo_even t event_cnt event_occ1 event_flash User read User read User read User read User read User read User read User read User read Top 32 bits of the system counter at the time of the last sync pulse before an event Bottom 32 bits of the system counter at the time of the last sync pulse before an event Top 32 bits of the system counter Bottom 32 bits of the system counter Top 32 bits of the system counter at the time of an event Bottom 32 bits of the system counter at the time of an event Number of events that have been captured since the system powered on High when an event has been captured and is ready to be read LED that lights to show when an event has been captured 24

References [1] Chapman, Ken. Digitally Removing a DC offset. Xilinx TechXclusives. http://www.xilinx.com/xlnx/xweb/xil_tx_display.jsp?ilanguageid=1&category=&sg lobalnavpick=&ssecondarynavpick=&multpartnum=1&stechx_id=kc_dig_offset Cicada Note Series https://wikio.nrao.edu/bin/view/cicada/cicadanotes 25