Stimulus signal generation for field programmable gate array- based gamma spectroscopy system
Code simulation or test bench enables verification of new Field Programmable Gate Array (FPGA) design to be done during code development stage. However, the conventional method to obtain stimulus data for simulation of FPGA based multichannel analyzer (MCA) requires actual radiation detector wit...
Saved in:
Main Author: | |
---|---|
Format: | Thesis |
Language: | English |
Published: |
2016
|
Subjects: | |
Online Access: | http://psasir.upm.edu.my/id/eprint/69935/1/ITMA%202016%205%20IR.pdf http://psasir.upm.edu.my/id/eprint/69935/ |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Universiti Putra Malaysia |
Language: | English |
Summary: | Code simulation or test bench enables verification of new Field
Programmable Gate Array (FPGA) design to be done during code
development stage. However, the conventional method to obtain stimulus
data for simulation of FPGA based multichannel analyzer (MCA) requires
actual radiation detector with tedious setup and dedicated software to
acquire and store the acquired data. In addition, the signal parameters
cannot be manipulated once data are acquired. The first objective of this
thesis is to develop a tool that can systematically generate stimulus data
required for code simulation of new FPGA based MCA. The second
objective is to design the architecture of MCA on FPGA, the test benches
required to verify the MCA functionality, and to simulate the MCA by utilizing
input stimulus generated on the first objective.
PulseGEN is the developed software that can generates Analog to Digital
Converter (ADC) sampling data of the detector amplifier signal in gamma
spectroscopy system. PulseGEN operations are divided into two modes;
Single/Pile-Up mode and Continuous Random mode. In Single/Pile-Up
mode, ADC data for one pulse or two pile-up pulses are generated. These
data will be used to verify MCA pulse height measurements and pile-up
rejection. In Continuous Random mode, PulseGEN generates continuous
ADC data to simulate actual nuclear counting process. These data will be
used to verify the histogram/spectrum produced by MCA and to evaluate the
overall performance of the MCA.
To demonstrate the application of PulseGEN data, an FPGA based MCA is
designed. The top module MCA_Controller consists of pulse height analyzer
(PHA), dual port RAM (DPRAM), and counter. PHA is designed as a finite
state machine (FSM) whereas the DPRAM is configured to have 4096 64-bit
words memory. The design is successfully synthesized by using Xilinx Synthesis Technology (XST) Software. Two test benches were created to
simulate MCA_Controller code. TB_MCA_FSM will verify the PHA pulse
measurement results and TB_MCA will evaluate the spectrum generated as
well as the overall functionality of the MCA.
PulseGEN simulation data have been compared against actual Sodium
Iodide (NaI) detector and pulser output pulses in terms of pulse height, width,
and shape. Difference on pulse heights is found less than 1% while the
difference on pulse width is less than 3%. Pulse shapes of the NaI detector,
pulser, and PulseGEN are also comparable to each other. By using
PulseGEN data as stimulus, code simulation results from the test bench are
presented. The functionality of the MCA design is verified as the simulation
results agreed with the actual measurement values.
In conclusion, PulseGEN has successfully generates stimulus data required
for code simulation of new FPGA based MCA. The architecture of MCA on
FPGA has been designed, and the test benches results confirmed that the
MCA is working according to specification. The contribution of this thesis is
PulseGEN that is able to generate various types of nuclear pulse ADC data.
PulseGEN data enable systematic simulation of the MCA code. The
simulation results will assist designer to optimize the output of the designed
MCA for the target application. |
---|