<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://AY2021S2.qt5201.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chua+Rui+Ming</id>
	<title>QT5201U wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://AY2021S2.qt5201.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chua+Rui+Ming"/>
	<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php/Special:Contributions/Chua_Rui_Ming"/>
	<updated>2026-08-09T16:50:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1395</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1395"/>
		<updated>2021-04-30T09:43:53Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Summary Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||800px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. Such issues have to be taken into consideration and represent our future work. Other users would have to consider their own power amplification needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1394</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1394"/>
		<updated>2021-04-30T09:43:42Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Summary Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||700px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. Such issues have to be taken into consideration and represent our future work. Other users would have to consider their own power amplification needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1393</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1393"/>
		<updated>2021-04-30T09:43:23Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. Such issues have to be taken into consideration and represent our future work. Other users would have to consider their own power amplification needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1392</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1392"/>
		<updated>2021-04-30T09:42:43Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. Such issues have to be taken into consideration and represent our future work. Other users would have to consider their own power amplication needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1391</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1391"/>
		<updated>2021-04-30T09:42:23Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. Such issues have to be taken into consideration and represent our future work. We then leave other users to consider their own power amplication needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1390</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1390"/>
		<updated>2021-04-30T09:41:51Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. Such issues have to be taken into consideration and represent our future work. We leave other users to consider their own power amplication needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1389</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1389"/>
		<updated>2021-04-30T09:38:32Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. We leave future users to consider their own power amplication needs.&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1388</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1388"/>
		<updated>2021-04-30T09:35:30Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which caused the transistor to overheat. &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1387</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1387"/>
		<updated>2021-04-30T09:34:23Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM required a relatively high current which resulted in overheating of the transistor. &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1386</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1386"/>
		<updated>2021-04-30T09:33:53Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor in our possession was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM requires a relatively high current which resulted in overheating of the transistor. &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1385</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1385"/>
		<updated>2021-04-30T09:33:14Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. Amplification may be required for our FPGA to work with other devices. In this section, a resistance network with a transistor was designed to amplify the output pulses from our FPGA up to 7V for an Electro Optic Modulator (EOM). &lt;br /&gt;
&lt;br /&gt;
As shown in the picture, a TIP29C NPN transistor was hired as the amplification component. The grounded resistor R4 represents the inner impedance of the EOM. Unfortunately, the 7V half-wave voltage of the EOM requires a relatively high current which resulted in overheating of the transistor. &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1378</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1378"/>
		<updated>2021-04-30T09:24:45Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Different Configurations For The Same Pulse Width (Theoretically) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Setting aside some margin of error for the fact that the increase was not in perfect multiples because of the limited step control of the phase difference, as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1374</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1374"/>
		<updated>2021-04-30T09:20:35Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Different Configurations For The Same Pulse Width (Theoretically) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a set of measurements. Barring the fact that the increase was not in perfect multiples due to the limited step control of the phase difference as well as the different frequency response of the circuit, this phenomenon was more or less observed.  &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1373</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1373"/>
		<updated>2021-04-30T09:17:56Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Project wiki for the Module QT5201U (Quantum control technology) - AY20/21S2&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the wiki project page. This will be the place for documenting projects. To be able to write something to this wiki, we need to create a user login manually. If you have not yet created an account, do let me know - Christian.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Deadline for the reports will be 30 April 23:59SGT!&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Project proposals==&lt;br /&gt;
===[[Wavemeter based on interferometer]]===&lt;br /&gt;
Basically, we are now trying to build a wavemeter based on Michelson interferometer. The goal is to measure laser with a wavelength from 1200nm to 1800nm which can be used for these lasers in our lab. This project consists of work about optics and electronic control. The control system is mainly implemented by using a Arduino UNO board and some basic circuits.&lt;br /&gt;
&lt;br /&gt;
===[[Coincidence Time Measurement of Pulsed Lasers &amp;amp; &amp;quot;Useful&amp;quot; Applications]]===&lt;br /&gt;
Proof-of-concept experiment to show how one may use commonly-available materials to measure difference in laser path lengths to sub-millimeter precision with a copper target (TBC). This experiment is done using a 355nm, 120 MHz, 10ps pulsed laser. Upon showing that such a measurement is possible, we shall go on to explore some for-fun applications of this &amp;quot;technology&amp;quot; and see how far and precise we can get.&lt;br /&gt;
&lt;br /&gt;
===[[Saturated Absorption Spectroscopy + Frequency Modulation Locking on the D2 line of Rubidium 87]]===&lt;br /&gt;
With a combination of the Saturation Spectroscopy and Frequency Modulation techniques, we aim at stabilizing the wavelength of a Diode Laser at approximately 780.246 nm which corresponds to the transition &amp;lt;math&amp;gt;5S_{1/2},F=2 \rightarrow 5P_{3/2},F=3&amp;lt;/math&amp;gt; of &amp;lt;sup&amp;gt;87&amp;lt;/sup&amp;gt;Rb. Additionally we will implement in the experiment a Red Pitaya, which is a minicomputer capable of replacing things like an Oscilloscope, Function Generator and PID controller. Therefore reducing the space needed for the experiment.&lt;br /&gt;
&lt;br /&gt;
===[[Control over the atomic spins within certain molecules by NMR technique]]===&lt;br /&gt;
NMR has been the workhorse for the experimental implementation of quantum protocols, allowing exquisite control of systems up to seven qubits in size. However, there exists some experimental limitations in terms of the cross-talk, coupled evolution, instrumental errors and so on. &lt;br /&gt;
Thanks to the current advanced pulse techniques, we can reduce these influences and extend this technique to a new stage that the experimental limits can be neglected. In this experiment, we try to use composite pulses to compensate RF field strength variations and frequency offsets.&lt;br /&gt;
&lt;br /&gt;
===[[Optical control of TMDCs valley pseudospin qubits]]===&lt;br /&gt;
Quantum dots or single electron transistors, allow for individual control of single charge or spin. In addition, some semiconductor monolayers possess a sizeable direct bandgap of ≈1.5–2 eV in the optical range allowing electrostatic confinement and optical manipulation of carriers. Therefore, we try to adopt the method of this theoretical paper, and see if we can control single qubit or couple 2 qubits optically.&lt;br /&gt;
&lt;br /&gt;
===[[A temperature-tunable etalon for optical telecommunication wavelength]]===&lt;br /&gt;
This project aims to build a Fabry-perot interferometer (also called Etalon) that works at the optical telecommunication wavelengths (1260nm-1625nm). This depicted etalon is made out of a single piece of polished silicon wafer with a thickness of about 100μm. The free spectral range (FSR) of the etalon can be adjusted by changing its thickness through temperature tuning. We will also explore the possibility of applying highly reflective (HR) coatings to the silicon wafer to achieve a high cavity finesse and a narrow transmission line-width.&lt;br /&gt;
&lt;br /&gt;
===[[Microwave control of superconducting cavity and qubit]]===&lt;br /&gt;
This project aims to perform a trial pre-experiment based on the cQED architecture including simulation, calibration, microwave control pulse programming, and so on.  The 3D superconducting cavity sample is anchored to the MXC flange inside the Bluefors dilution refrigerator to reach a temperature of around 10mK. On the other hand, the generation of microwave control pulses and the acquisition of output signals are handled by a QM quantum control device, connecting the sample via the control lines and the output lines accordingly. Hence, we can realize several bosonic states via cavity driving and qubit control.&lt;br /&gt;
&lt;br /&gt;
===[[A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)]]===&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain blocks of logic and interconnects which can be configured and reconfigured even after it is being deployed &amp;quot;in the field&amp;quot;. This enables flexible tunability in the function of FPGA-based devices. We seek to realise the claims of Zhu &amp;amp; Wang (2015) to utilise the Phase-Locked Loop (PLL) module in FPGA to implement a nanosecond pulse generator with adjustable frequency and pulse width. Our circuit was designed with Quartus Prime.&lt;br /&gt;
&lt;br /&gt;
==Material requests==&lt;br /&gt;
Please add stuff we should organize one way or the other here:&lt;br /&gt;
* more space&lt;br /&gt;
* cookies...&lt;br /&gt;
&lt;br /&gt;
==Stuff to be covered in the lecture slots on Mondays (sometimes Tuesdays as well)==&lt;br /&gt;
Feel free to add topics or aspects to this list. At the moment, this is just a copy of the tentative syllabus:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date !! Topic !! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 18.1.2021&lt;br /&gt;
|[https://youtu.be/vDIOn2SHLJE Paraxial optics, part 1] &lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Optical systems often work with Gaussian beams. We cover practical design techniques like the ABCD matrix formalism for simple optical systems.&lt;br /&gt;
|-&lt;br /&gt;
| 19.1.2021&lt;br /&gt;
|[https://youtu.be/yO3JcuCOVoc Paraxial optics, part 2] (only first part of lecture)&lt;br /&gt;
|-&lt;br /&gt;
| 25.1.2021||[https://youtu.be/nNU1eEOaPdY Optical cavities, part 1] || Many optical techniques require to work with optical cavities. We cover how to design them, and how to couple light into very basic devices. This lecture covered some theory basics.&lt;br /&gt;
|-&lt;br /&gt;
| 26.1.2021||[https://youtu.be/ekfhUi2JjFM Optical cavities, part 2]|| Some more aspects of optical cavities, and dielectric coatings for mirrors and such&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.2.2021||[https://youtu.be/h2LeznCpPTk Optical fiber technology] || Some properties of optical fibers as the most common optical waveguide are covered, including optical mode spectrum, dispersion and transmission properties.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.2.2021||[https://youtu.be/xblN-KzMz0Y  Optical modulators, part 1]&lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Many optical modulation techniques require rely on devices or materials where optical properties can be changed electrically; we cover accousto-optical and electro-optical devices, as well as liquid crystal systems.&lt;br /&gt;
|-&lt;br /&gt;
| 9.2.2021||[https://youtu.be/WfP5mahZrWU  Optical modulators, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.2.2021&lt;br /&gt;
|[https://youtu.be/m_F4DOHMNeU Homodyne detection techniques] || Measurement of optical fields in many continuous variable scenarios require knowledge of optical homodyning and heterodyning techniques. These techniques, similar to their radiofrequency counterparts, rely on multiplying field amplitudes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.2021&lt;br /&gt;
|[https://youtu.be/YkVlxxucLuA Frequency control of laser systems, part 1]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Many laser systems in quantum technologies require to have a well-defined frequency relationship with atomic transitions or solid state qubits. We cover typical techniques how laser systems can be controlled to a high enough accuracy, utilizing spectroscopy techniques and control systems.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.2021&lt;br /&gt;
|[https://youtu.be/72aVZwI4BHU Frequency control of laser systems, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.3.2021&lt;br /&gt;
|[https://youtu.be/jolUa_EGZEs Interface to computers]&lt;br /&gt;
| High level interfacing between computers and electronic hardware: Standard device languages; some serial protocols, some aspects of microcontrollers and FPGAs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.3.2021&lt;br /&gt;
|[https://youtu.be/1S0EAnooQMc Pulses in quantum control]&lt;br /&gt;
| Many quantum systems require short control pulses, either in form of optical pulses or radiofrequency pulses. This covers how they are used, and present a few techniques to generate such control pulses&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 22.3.2021&lt;br /&gt;
|[https://youtu.be/PHx-da7RLE8 High voltage techniques]&lt;br /&gt;
| Working with high voltages requires a spectrum of techniques that is differing from more conventional electronics. A few aspects (field emission, dielectric strength, specific components) are covered.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12.4.2021&lt;br /&gt;
|[https://youtu.be/K0U9ySRyvjs Control loops]&lt;br /&gt;
| Many experimental activities in controlling quantum systems require the control of classical systems, like the temperature stabilization of some device, or the frequency stabilization of a laser. This lecture gives a brief overview of some simple control concepts.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ||Practical aspects of superconducting systems || We cover different materials, transition temperatures, temperature measurement techniques and thermal insulation / conduction techniques.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* Math can be entered in LaTeX style: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; renders as &amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Should you miss any module or functionality of this wiki, please contact me (Christian Kurtsiefer).&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1370</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1370"/>
		<updated>2021-04-30T09:15:54Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Project wiki for the Module QT5201U (Quantum control technology) - AY20/21S2&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the wiki project page. This will be the place for documenting projects. To be able to write something to this wiki, we need to create a user login manually. If you have not yet created an account, do let me know - Christian.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Deadline for the reports will be 30 April 23:59SGT!&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Project proposals==&lt;br /&gt;
===[[Wavemeter based on interferometer]]===&lt;br /&gt;
Basically, we are now trying to build a wavemeter based on Michelson interferometer. The goal is to measure laser with a wavelength from 1200nm to 1800nm which can be used for these lasers in our lab. This project consists of work about optics and electronic control. The control system is mainly implemented by using a Arduino UNO board and some basic circuits.&lt;br /&gt;
&lt;br /&gt;
===[[Coincidence Time Measurement of Pulsed Lasers &amp;amp; &amp;quot;Useful&amp;quot; Applications]]===&lt;br /&gt;
Proof-of-concept experiment to show how one may use commonly-available materials to measure difference in laser path lengths to sub-millimeter precision with a copper target (TBC). This experiment is done using a 355nm, 120 MHz, 10ps pulsed laser. Upon showing that such a measurement is possible, we shall go on to explore some for-fun applications of this &amp;quot;technology&amp;quot; and see how far and precise we can get.&lt;br /&gt;
&lt;br /&gt;
===[[Saturated Absorption Spectroscopy + Frequency Modulation Locking on the D2 line of Rubidium 87]]===&lt;br /&gt;
With a combination of the Saturation Spectroscopy and Frequency Modulation techniques, we aim at stabilizing the wavelength of a Diode Laser at approximately 780.246 nm which corresponds to the transition &amp;lt;math&amp;gt;5S_{1/2},F=2 \rightarrow 5P_{3/2},F=3&amp;lt;/math&amp;gt; of &amp;lt;sup&amp;gt;87&amp;lt;/sup&amp;gt;Rb. Additionally we will implement in the experiment a Red Pitaya, which is a minicomputer capable of replacing things like an Oscilloscope, Function Generator and PID controller. Therefore reducing the space needed for the experiment.&lt;br /&gt;
&lt;br /&gt;
===[[Control over the atomic spins within certain molecules by NMR technique]]===&lt;br /&gt;
NMR has been the workhorse for the experimental implementation of quantum protocols, allowing exquisite control of systems up to seven qubits in size. However, there exists some experimental limitations in terms of the cross-talk, coupled evolution, instrumental errors and so on. &lt;br /&gt;
Thanks to the current advanced pulse techniques, we can reduce these influences and extend this technique to a new stage that the experimental limits can be neglected. In this experiment, we try to use composite pulses to compensate RF field strength variations and frequency offsets.&lt;br /&gt;
&lt;br /&gt;
===[[Optical control of TMDCs valley pseudospin qubits]]===&lt;br /&gt;
Quantum dots or single electron transistors, allow for individual control of single charge or spin. In addition, some semiconductor monolayers possess a sizeable direct bandgap of ≈1.5–2 eV in the optical range allowing electrostatic confinement and optical manipulation of carriers. Therefore, we try to adopt the method of this theoretical paper, and see if we can control single qubit or couple 2 qubits optically.&lt;br /&gt;
&lt;br /&gt;
===[[A temperature-tunable etalon for optical telecommunication wavelength]]===&lt;br /&gt;
This project aims to build a Fabry-perot interferometer (also called Etalon) that works at the optical telecommunication wavelengths (1260nm-1625nm). This depicted etalon is made out of a single piece of polished silicon wafer with a thickness of about 100μm. The free spectral range (FSR) of the etalon can be adjusted by changing its thickness through temperature tuning. We will also explore the possibility of applying highly reflective (HR) coatings to the silicon wafer to achieve a high cavity finesse and a narrow transmission line-width.&lt;br /&gt;
&lt;br /&gt;
===[[Microwave control of superconducting cavity and qubit]]===&lt;br /&gt;
This project aims to perform a trial pre-experiment based on the cQED architecture including simulation, calibration, microwave control pulse programming, and so on.  The 3D superconducting cavity sample is anchored to the MXC flange inside the Bluefors dilution refrigerator to reach a temperature of around 10mK. On the other hand, the generation of microwave control pulses and the acquisition of output signals are handled by a QM quantum control device, connecting the sample via the control lines and the output lines accordingly. Hence, we can realize several bosonic states via cavity driving and qubit control.&lt;br /&gt;
&lt;br /&gt;
===[[A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)]]===&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain blocks of logic and interconnects which can be configured and reconfigured even after it is being deployed &amp;quot;in the field&amp;quot;. This enables flexible tunability in the function of FPGA-based devices. We seek to emulate (with tweaks) the works of Zhu &amp;amp; Wang (2015) to utilise the Phase-Locked Loop (PLL) module in FPGA to implement a nanosecond pulse generator with adjustable frequency and pulse width. Our circuit was designed with Quartus Prime.&lt;br /&gt;
&lt;br /&gt;
==Material requests==&lt;br /&gt;
Please add stuff we should organize one way or the other here:&lt;br /&gt;
* more space&lt;br /&gt;
* cookies...&lt;br /&gt;
&lt;br /&gt;
==Stuff to be covered in the lecture slots on Mondays (sometimes Tuesdays as well)==&lt;br /&gt;
Feel free to add topics or aspects to this list. At the moment, this is just a copy of the tentative syllabus:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date !! Topic !! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 18.1.2021&lt;br /&gt;
|[https://youtu.be/vDIOn2SHLJE Paraxial optics, part 1] &lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Optical systems often work with Gaussian beams. We cover practical design techniques like the ABCD matrix formalism for simple optical systems.&lt;br /&gt;
|-&lt;br /&gt;
| 19.1.2021&lt;br /&gt;
|[https://youtu.be/yO3JcuCOVoc Paraxial optics, part 2] (only first part of lecture)&lt;br /&gt;
|-&lt;br /&gt;
| 25.1.2021||[https://youtu.be/nNU1eEOaPdY Optical cavities, part 1] || Many optical techniques require to work with optical cavities. We cover how to design them, and how to couple light into very basic devices. This lecture covered some theory basics.&lt;br /&gt;
|-&lt;br /&gt;
| 26.1.2021||[https://youtu.be/ekfhUi2JjFM Optical cavities, part 2]|| Some more aspects of optical cavities, and dielectric coatings for mirrors and such&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.2.2021||[https://youtu.be/h2LeznCpPTk Optical fiber technology] || Some properties of optical fibers as the most common optical waveguide are covered, including optical mode spectrum, dispersion and transmission properties.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.2.2021||[https://youtu.be/xblN-KzMz0Y  Optical modulators, part 1]&lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Many optical modulation techniques require rely on devices or materials where optical properties can be changed electrically; we cover accousto-optical and electro-optical devices, as well as liquid crystal systems.&lt;br /&gt;
|-&lt;br /&gt;
| 9.2.2021||[https://youtu.be/WfP5mahZrWU  Optical modulators, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.2.2021&lt;br /&gt;
|[https://youtu.be/m_F4DOHMNeU Homodyne detection techniques] || Measurement of optical fields in many continuous variable scenarios require knowledge of optical homodyning and heterodyning techniques. These techniques, similar to their radiofrequency counterparts, rely on multiplying field amplitudes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.2021&lt;br /&gt;
|[https://youtu.be/YkVlxxucLuA Frequency control of laser systems, part 1]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Many laser systems in quantum technologies require to have a well-defined frequency relationship with atomic transitions or solid state qubits. We cover typical techniques how laser systems can be controlled to a high enough accuracy, utilizing spectroscopy techniques and control systems.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.2021&lt;br /&gt;
|[https://youtu.be/72aVZwI4BHU Frequency control of laser systems, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.3.2021&lt;br /&gt;
|[https://youtu.be/jolUa_EGZEs Interface to computers]&lt;br /&gt;
| High level interfacing between computers and electronic hardware: Standard device languages; some serial protocols, some aspects of microcontrollers and FPGAs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.3.2021&lt;br /&gt;
|[https://youtu.be/1S0EAnooQMc Pulses in quantum control]&lt;br /&gt;
| Many quantum systems require short control pulses, either in form of optical pulses or radiofrequency pulses. This covers how they are used, and present a few techniques to generate such control pulses&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 22.3.2021&lt;br /&gt;
|[https://youtu.be/PHx-da7RLE8 High voltage techniques]&lt;br /&gt;
| Working with high voltages requires a spectrum of techniques that is differing from more conventional electronics. A few aspects (field emission, dielectric strength, specific components) are covered.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12.4.2021&lt;br /&gt;
|[https://youtu.be/K0U9ySRyvjs Control loops]&lt;br /&gt;
| Many experimental activities in controlling quantum systems require the control of classical systems, like the temperature stabilization of some device, or the frequency stabilization of a laser. This lecture gives a brief overview of some simple control concepts.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ||Practical aspects of superconducting systems || We cover different materials, transition temperatures, temperature measurement techniques and thermal insulation / conduction techniques.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* Math can be entered in LaTeX style: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; renders as &amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Should you miss any module or functionality of this wiki, please contact me (Christian Kurtsiefer).&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1368</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1368"/>
		<updated>2021-04-30T09:15:05Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Project wiki for the Module QT5201U (Quantum control technology) - AY20/21S2&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the wiki project page. This will be the place for documenting projects. To be able to write something to this wiki, we need to create a user login manually. If you have not yet created an account, do let me know - Christian.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Deadline for the reports will be 30 April 23:59SGT!&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Project proposals==&lt;br /&gt;
===[[Wavemeter based on interferometer]]===&lt;br /&gt;
Basically, we are now trying to build a wavemeter based on Michelson interferometer. The goal is to measure laser with a wavelength from 1200nm to 1800nm which can be used for these lasers in our lab. This project consists of work about optics and electronic control. The control system is mainly implemented by using a Arduino UNO board and some basic circuits.&lt;br /&gt;
&lt;br /&gt;
===[[Coincidence Time Measurement of Pulsed Lasers &amp;amp; &amp;quot;Useful&amp;quot; Applications]]===&lt;br /&gt;
Proof-of-concept experiment to show how one may use commonly-available materials to measure difference in laser path lengths to sub-millimeter precision with a copper target (TBC). This experiment is done using a 355nm, 120 MHz, 10ps pulsed laser. Upon showing that such a measurement is possible, we shall go on to explore some for-fun applications of this &amp;quot;technology&amp;quot; and see how far and precise we can get.&lt;br /&gt;
&lt;br /&gt;
===[[Saturated Absorption Spectroscopy + Frequency Modulation Locking on the D2 line of Rubidium 87]]===&lt;br /&gt;
With a combination of the Saturation Spectroscopy and Frequency Modulation techniques, we aim at stabilizing the wavelength of a Diode Laser at approximately 780.246 nm which corresponds to the transition &amp;lt;math&amp;gt;5S_{1/2},F=2 \rightarrow 5P_{3/2},F=3&amp;lt;/math&amp;gt; of &amp;lt;sup&amp;gt;87&amp;lt;/sup&amp;gt;Rb. Additionally we will implement in the experiment a Red Pitaya, which is a minicomputer capable of replacing things like an Oscilloscope, Function Generator and PID controller. Therefore reducing the space needed for the experiment.&lt;br /&gt;
&lt;br /&gt;
===[[Control over the atomic spins within certain molecules by NMR technique]]===&lt;br /&gt;
NMR has been the workhorse for the experimental implementation of quantum protocols, allowing exquisite control of systems up to seven qubits in size. However, there exists some experimental limitations in terms of the cross-talk, coupled evolution, instrumental errors and so on. &lt;br /&gt;
Thanks to the current advanced pulse techniques, we can reduce these influences and extend this technique to a new stage that the experimental limits can be neglected. In this experiment, we try to use composite pulses to compensate RF field strength variations and frequency offsets.&lt;br /&gt;
&lt;br /&gt;
===[[Optical control of TMDCs valley pseudospin qubits]]===&lt;br /&gt;
Quantum dots or single electron transistors, allow for individual control of single charge or spin. In addition, some semiconductor monolayers possess a sizeable direct bandgap of ≈1.5–2 eV in the optical range allowing electrostatic confinement and optical manipulation of carriers. Therefore, we try to adopt the method of this theoretical paper, and see if we can control single qubit or couple 2 qubits optically.&lt;br /&gt;
&lt;br /&gt;
===[[A temperature-tunable etalon for optical telecommunication wavelength]]===&lt;br /&gt;
This project aims to build a Fabry-perot interferometer (also called Etalon) that works at the optical telecommunication wavelengths (1260nm-1625nm). This depicted etalon is made out of a single piece of polished silicon wafer with a thickness of about 100μm. The free spectral range (FSR) of the etalon can be adjusted by changing its thickness through temperature tuning. We will also explore the possibility of applying highly reflective (HR) coatings to the silicon wafer to achieve a high cavity finesse and a narrow transmission line-width.&lt;br /&gt;
&lt;br /&gt;
===[[Microwave control of superconducting cavity and qubit]]===&lt;br /&gt;
This project aims to perform a trial pre-experiment based on the cQED architecture including simulation, calibration, microwave control pulse programming, and so on.  The 3D superconducting cavity sample is anchored to the MXC flange inside the Bluefors dilution refrigerator to reach a temperature of around 10mK. On the other hand, the generation of microwave control pulses and the acquisition of output signals are handled by a QM quantum control device, connecting the sample via the control lines and the output lines accordingly. Hence, we can realize several bosonic states via cavity driving and qubit control.&lt;br /&gt;
&lt;br /&gt;
===[[A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)]]===&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain blocks of logic and interconnects which can be configured and reconfigured even after it is being deployed &amp;quot;in the field&amp;quot;. This enables flexible tunability in the function of FPGA-based devices. We seek to emulate (with tweaks) and realise the works of Zhu &amp;amp; Wang (2015) to utilise the Phase-Locked Loop (PLL) module in FPGA to implement a nanosecond pulse generator with adjustable frequency and pulse width. Our circuit was designed with Quartus Prime.&lt;br /&gt;
&lt;br /&gt;
==Material requests==&lt;br /&gt;
Please add stuff we should organize one way or the other here:&lt;br /&gt;
* more space&lt;br /&gt;
* cookies...&lt;br /&gt;
&lt;br /&gt;
==Stuff to be covered in the lecture slots on Mondays (sometimes Tuesdays as well)==&lt;br /&gt;
Feel free to add topics or aspects to this list. At the moment, this is just a copy of the tentative syllabus:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date !! Topic !! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 18.1.2021&lt;br /&gt;
|[https://youtu.be/vDIOn2SHLJE Paraxial optics, part 1] &lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Optical systems often work with Gaussian beams. We cover practical design techniques like the ABCD matrix formalism for simple optical systems.&lt;br /&gt;
|-&lt;br /&gt;
| 19.1.2021&lt;br /&gt;
|[https://youtu.be/yO3JcuCOVoc Paraxial optics, part 2] (only first part of lecture)&lt;br /&gt;
|-&lt;br /&gt;
| 25.1.2021||[https://youtu.be/nNU1eEOaPdY Optical cavities, part 1] || Many optical techniques require to work with optical cavities. We cover how to design them, and how to couple light into very basic devices. This lecture covered some theory basics.&lt;br /&gt;
|-&lt;br /&gt;
| 26.1.2021||[https://youtu.be/ekfhUi2JjFM Optical cavities, part 2]|| Some more aspects of optical cavities, and dielectric coatings for mirrors and such&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.2.2021||[https://youtu.be/h2LeznCpPTk Optical fiber technology] || Some properties of optical fibers as the most common optical waveguide are covered, including optical mode spectrum, dispersion and transmission properties.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.2.2021||[https://youtu.be/xblN-KzMz0Y  Optical modulators, part 1]&lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Many optical modulation techniques require rely on devices or materials where optical properties can be changed electrically; we cover accousto-optical and electro-optical devices, as well as liquid crystal systems.&lt;br /&gt;
|-&lt;br /&gt;
| 9.2.2021||[https://youtu.be/WfP5mahZrWU  Optical modulators, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.2.2021&lt;br /&gt;
|[https://youtu.be/m_F4DOHMNeU Homodyne detection techniques] || Measurement of optical fields in many continuous variable scenarios require knowledge of optical homodyning and heterodyning techniques. These techniques, similar to their radiofrequency counterparts, rely on multiplying field amplitudes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.2021&lt;br /&gt;
|[https://youtu.be/YkVlxxucLuA Frequency control of laser systems, part 1]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Many laser systems in quantum technologies require to have a well-defined frequency relationship with atomic transitions or solid state qubits. We cover typical techniques how laser systems can be controlled to a high enough accuracy, utilizing spectroscopy techniques and control systems.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.2021&lt;br /&gt;
|[https://youtu.be/72aVZwI4BHU Frequency control of laser systems, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.3.2021&lt;br /&gt;
|[https://youtu.be/jolUa_EGZEs Interface to computers]&lt;br /&gt;
| High level interfacing between computers and electronic hardware: Standard device languages; some serial protocols, some aspects of microcontrollers and FPGAs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.3.2021&lt;br /&gt;
|[https://youtu.be/1S0EAnooQMc Pulses in quantum control]&lt;br /&gt;
| Many quantum systems require short control pulses, either in form of optical pulses or radiofrequency pulses. This covers how they are used, and present a few techniques to generate such control pulses&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 22.3.2021&lt;br /&gt;
|[https://youtu.be/PHx-da7RLE8 High voltage techniques]&lt;br /&gt;
| Working with high voltages requires a spectrum of techniques that is differing from more conventional electronics. A few aspects (field emission, dielectric strength, specific components) are covered.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12.4.2021&lt;br /&gt;
|[https://youtu.be/K0U9ySRyvjs Control loops]&lt;br /&gt;
| Many experimental activities in controlling quantum systems require the control of classical systems, like the temperature stabilization of some device, or the frequency stabilization of a laser. This lecture gives a brief overview of some simple control concepts.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ||Practical aspects of superconducting systems || We cover different materials, transition temperatures, temperature measurement techniques and thermal insulation / conduction techniques.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* Math can be entered in LaTeX style: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; renders as &amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Should you miss any module or functionality of this wiki, please contact me (Christian Kurtsiefer).&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1366</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1366"/>
		<updated>2021-04-30T09:07:34Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Summary Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a measurement. &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]] &lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
[[File:Table.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:Table.png&amp;diff=1365</id>
		<title>File:Table.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:Table.png&amp;diff=1365"/>
		<updated>2021-04-30T09:06:36Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1364</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1364"/>
		<updated>2021-04-30T09:05:17Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
=====FPGA Top Design=====&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Best Overall Performance===== &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Highest Frequency=====&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Results as a Function of Phase Difference=====&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
=====Different Configurations For The Same Pulse Width (Theoretically)=====&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a measurement. &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]] &lt;br /&gt;
&lt;br /&gt;
=====Summary Table=====&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1359</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1359"/>
		<updated>2021-04-30T09:03:16Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Product */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====Product=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
=====Architecture===== &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
=====Preview=====&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;1) Best Overall Performance&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2) Highest Frequency &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3) Results as a Function of Phase Difference &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4) Different Configurations For The Same Pulse Width (Theoretically) &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a measurement. &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1358</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1358"/>
		<updated>2021-04-30T09:02:30Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* FPGA Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
=====&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;=====&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;1) Best Overall Performance&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2) Highest Frequency &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3) Results as a Function of Phase Difference &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4) Different Configurations For The Same Pulse Width (Theoretically) &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a measurement. &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1258</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1258"/>
		<updated>2021-04-29T10:38:09Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;1) Best Overall Performance&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2) Highest Frequency &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3) Results as a Function of Phase Difference &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4) Different Configurations For The Same Pulse Width (Theoretically) &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a measurement. &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
While we have achieved our goal of creating a working Nanosecond Pulse Generator with our FPGA similar to the works of Zhu &amp;amp; Wang, it is important to recognise the fact that the pulses created by the FPGA belong to low-power pulse signals between 1.2-3.3V based on the specific I/O standard for the FPGA. &lt;br /&gt;
&lt;br /&gt;
Amplification may be required for our FPGA to work with other devices. In this section, we designed an amplifier with the intention of amplifying our pulses up to 7.8V based on the following schematics.  &lt;br /&gt;
&lt;br /&gt;
[[File:Amplifier.png||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Amplifer_2.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:Amplifer_2.jpg&amp;diff=1257</id>
		<title>File:Amplifer 2.jpg</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:Amplifer_2.jpg&amp;diff=1257"/>
		<updated>2021-04-29T10:22:56Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:Amplifier.png&amp;diff=1256</id>
		<title>File:Amplifier.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:Amplifier.png&amp;diff=1256"/>
		<updated>2021-04-29T10:21:56Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1255</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1255"/>
		<updated>2021-04-29T10:19:07Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA with an oscilloscope (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals, and/or the frequency of the clock signals (which can be adjusted in integer multiples of the clock oscillator), we can obtain different performances (in terms of pulse widths and frequencies) of our pulses.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;1) Best Overall Performance&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The best overall performance was obtained when the phase difference between the clock signals was set at 11.25 degrees while the frequency of the clock signal is 150MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 637ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 150MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:d11.25f150_Best_Performance.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Unfortunately, pushing the FPGA further, we were unable to obtain narrower pulses with that higher frequencies.&lt;br /&gt;
&lt;br /&gt;
[[File:D10f200 Too High Frequency For Pulse Width.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2) Highest Frequency &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The best frequency performance was obtained when the phase difference between the clock signals was set at 15 degrees while the frequency of the clock signal is 200MHZ. We obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 746 ps&amp;lt;/span&amp;gt; at a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;frequency of 200MHZ&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[File:D15f200 _Best _Frequency.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;3) Results as a Function of Phase Difference &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We recall from &amp;quot;Methods&amp;quot; that the way to obtain the pulses was to carve the pulses out from two clock signals. Theoretically, the pulse duration should increase with phase difference for the same frequency. When the phase difference between the clock signals were set at 9, 18 and 37.5 degrees and the frequency of the clock signal is 100MHZ, we obtained a &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 805 ps&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 1.2 ns&amp;lt;/span&amp;gt; and &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;pulse width of 2.27ns&amp;lt;/span&amp;gt; respectively. &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D18f100_Function_Of_Phase_Difference_2.png||600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:D37.5f100_Function_Of_Phase_Difference_3.png||600px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;4) Different Configurations For The Same Pulse Width (Theoretically) &amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Theoretically, the pulse duration should remain the same if the phase difference and frequency were increased with the same multiple. The plots below feature such a measurement. &lt;br /&gt;
&lt;br /&gt;
[[File:D3.37f50.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D9f100_Function_Of_Phase_Difference_1.png||600px]] &lt;br /&gt;
&lt;br /&gt;
[[File:D11.25f150_Best_Performance.png||600px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D3.37f50.png&amp;diff=1254</id>
		<title>File:D3.37f50.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D3.37f50.png&amp;diff=1254"/>
		<updated>2021-04-29T10:00:32Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D37.5f100_Function_Of_Phase_Difference_3.png&amp;diff=1253</id>
		<title>File:D37.5f100 Function Of Phase Difference 3.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D37.5f100_Function_Of_Phase_Difference_3.png&amp;diff=1253"/>
		<updated>2021-04-29T09:51:49Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D18f100_Function_Of_Phase_Difference_2.png&amp;diff=1252</id>
		<title>File:D18f100 Function Of Phase Difference 2.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D18f100_Function_Of_Phase_Difference_2.png&amp;diff=1252"/>
		<updated>2021-04-29T09:51:01Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D9f100_Function_Of_Phase_Difference_1.png&amp;diff=1251</id>
		<title>File:D9f100 Function Of Phase Difference 1.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D9f100_Function_Of_Phase_Difference_1.png&amp;diff=1251"/>
		<updated>2021-04-29T09:50:13Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Function of Frequency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Function of Frequency&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D15f200_Best_Frequency.png&amp;diff=1250</id>
		<title>File:D15f200 Best Frequency.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D15f200_Best_Frequency.png&amp;diff=1250"/>
		<updated>2021-04-29T09:36:31Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Best Frequency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Best Frequency&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D10f200_Too_High_Frequency_For_Pulse_Width.png&amp;diff=1248</id>
		<title>File:D10f200 Too High Frequency For Pulse Width.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D10f200_Too_High_Frequency_For_Pulse_Width.png&amp;diff=1248"/>
		<updated>2021-04-29T09:21:57Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Tried to maintain the narrow pulse width while pushing the pulse frequency up. Limit was reached.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Tried to maintain the narrow pulse width while pushing the pulse frequency up. Limit was reached.&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:D11.25f150_Best_Performance.png&amp;diff=1246</id>
		<title>File:D11.25f150 Best Performance.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:D11.25f150_Best_Performance.png&amp;diff=1246"/>
		<updated>2021-04-29T09:13:18Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Best Performance of our FPGA!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Best Performance of our FPGA!&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1242</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1242"/>
		<updated>2021-04-29T08:40:38Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. Our efforts in its entirety could be found here https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing which will lead to a Google Drive where our files are uploaded in its entirety. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Performance Characterisation&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse widths and frequencies) of our FPGA. &lt;br /&gt;
&lt;br /&gt;
Hence, we characterised the performance of our FPGA as a function of the Phase Difference and Clock Frequencies.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;1) Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;2) Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1211</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1211"/>
		<updated>2021-04-29T06:17:01Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. &lt;br /&gt;
&lt;br /&gt;
Our efforts in its entirety could be found this &amp;lt;a href=&amp;quot;https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing&amp;quot;&amp;gt;Test&amp;lt;/a&amp;gt;  which will lead to a Google Drive where our files are uploaded in its entirety &lt;br /&gt;
&lt;br /&gt;
In Zhu &amp;amp; Wang&#039;s paper &lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1202</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1202"/>
		<updated>2021-04-29T05:55:54Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
The bulk of our efforts went into the code to configure the Nanosecond Pulse Generator. The FPGA Top Design summarises the outcome of our efforts. &lt;br /&gt;
&lt;br /&gt;
Our efforts in its entirety could be found this https://drive.google.com/drive/folders/1weGO1Lyi6H_-A1OadQFYIO-wQEv0VXFj?usp=sharing  which will lead to a Google Drive where our files are uploaded in its entirety &lt;br /&gt;
&lt;br /&gt;
In Zhu &amp;amp; Wang&#039;s paper &lt;br /&gt;
&lt;br /&gt;
To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:Top_Design.png&amp;diff=1190</id>
		<title>File:Top Design.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:Top_Design.png&amp;diff=1190"/>
		<updated>2021-04-29T05:26:42Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Chua Rui Ming uploaded a new version of File:Top Design.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
FPGA Top Design&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1188</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1188"/>
		<updated>2021-04-29T05:11:22Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Top_Design.png|800px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1187</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1187"/>
		<updated>2021-04-29T05:08:52Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way, we obtain two pulses for every set of clock signals- At the front-end and tail-end of the first and second clock signals respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1186</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1186"/>
		<updated>2021-04-29T05:08:08Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. There are two reasons for our choice: Firstly, this simplifies the problem. Secondly, this way we obtain two pulses for every set of clock signals.&lt;br /&gt;
&lt;br /&gt;
This produces two rather than one narrow pulse for every pair of clock signals- At the front-end and tail-end of the first and second clock signals respectively:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:Top_Design.png&amp;diff=1185</id>
		<title>File:Top Design.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:Top_Design.png&amp;diff=1185"/>
		<updated>2021-04-29T05:05:05Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: FPGA Top Design&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
FPGA Top Design&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1158</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=Main_Page&amp;diff=1158"/>
		<updated>2021-04-28T19:01:53Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Project wiki for the Module QT5201U (Quantum control technology) - AY20/21S2&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the wiki project page. This will be the place for documenting projects. To be able to write something to this wiki, we need to create a user login manually. If you have not yet created an account, do let me know - Christian.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Deadline for the reports will be 30 April 23:59SGT!&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Project proposals==&lt;br /&gt;
===[[Wavemeter based on interferometer]]===&lt;br /&gt;
Basically, we are now trying to build a wavemeter based on Michelson interferometer. The goal is to measure laser with a wavelength from 1200nm to 1800nm which can be used for these lasers in our lab. This project consists of work about optics and electronic control. The control system is mainly implemented by using a Arduino UNO board and some basic circuits.&lt;br /&gt;
&lt;br /&gt;
===[[Coincidence Time Measurement of Pulsed Lasers &amp;amp; &amp;quot;Useful&amp;quot; Applications]]===&lt;br /&gt;
Proof-of-concept experiment to show how one may use commonly-available materials to measure difference in laser path lengths to sub-millimeter precision with a copper target (TBC). This experiment is done using a 355nm, 120 MHz, 10ps pulsed laser. Upon showing that such a measurement is possible, we shall go on to explore some for-fun applications of this &amp;quot;technology&amp;quot; and see how far and precise we can get.&lt;br /&gt;
&lt;br /&gt;
===[[Saturated Absorption Spectroscopy + Frequency Modulation Locking on the D2 line of Rubidium 87]]===&lt;br /&gt;
With a combination of the Saturation Spectroscopy and Frequency Modulation techniques, we aim at stabilizing the wavelength of a Diode Laser at approximately 780.241 nm which corresponds to the transition &amp;lt;math&amp;gt;5S_{1/2} \rightarrow 5P_{3/2}&amp;lt;/math&amp;gt; (also known as D2 line) of Rubidium 87. Additionally we will implement in the experiment a Red Pitaya, which is a minicomputer capable of replacing things like an Oscilloscope, Function Generator and PID controller. Therefore reducing the space needed for the experiment.&lt;br /&gt;
&lt;br /&gt;
===[[Control over the atomic spins within certain molecules by NMR technique]]===&lt;br /&gt;
NMR has been the workhorse for the experimental implementation of quantum protocols, allowing exquisite control of systems up to seven qubits in size. However, there exists some experimental limitations in terms of the cross-talk, coupled evolution, instrumental errors and so on. &lt;br /&gt;
Thanks to the current advanced pulse techniques, we can reduce these influences and extend this technique to a new stage that the experimental limits can be neglected. In this experiment, we try to use composite pulses to compensate RF field strength variations and frequency offsets.&lt;br /&gt;
&lt;br /&gt;
===[[Optical control of TMDCs valley pseudospin qubits]]===&lt;br /&gt;
Quantum dots or single electron transistors, allow for individual control of single charge or spin. In addition, some semiconductor monolayers possess a sizeable direct bandgap of ≈1.5–2 eV in the optical range allowing electrostatic confinement and optical manipulation of carriers. Therefore, we try to adopt the method of this theoretical paper, and see if we can control single qubit or couple 2 qubits optically.&lt;br /&gt;
&lt;br /&gt;
===[[A temperature-tunable etalon for optical telecommunication wavelength]]===&lt;br /&gt;
This project aims to build a Fabry-perot interferometer (also called Etalon) that works at the optical telecommunication wavelengths (1260nm-1625nm). This depicted etalon is made out of a single piece of polished silicon wafer with a thickness of about 100μm. The free spectral range (FSR) of the etalon can be adjusted by changing its thickness through temperature tuning. We will also explore the possibility of applying highly reflective (HR) coatings to the silicon wafer to achieve a high cavity finesse and a narrow transmission line-width.&lt;br /&gt;
&lt;br /&gt;
===[[Microwave control of superconducting cavity and qubit]]===&lt;br /&gt;
This project aims to perform a trial pre-experiment based on the cQED architecture including simulation, calibration, microwave control pulse programming, and so on.  The 3D superconducting cavity sample is anchored to the MXC flange inside the Bluefors dilution refrigerator to reach a temperature of around 10mK. On the other hand, the generation of microwave control pulses and the acquisition of output signals are handled by a QM quantum control device, connecting the sample via the control lines and the output lines accordingly. Hence, we can realize several bosonic states via cavity driving and qubit control.&lt;br /&gt;
&lt;br /&gt;
===[[A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)]]===&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) are digital integrated circuits (ICs) that contain blocks of logic and interconnects which can be configured and reconfigured even after it is being deployed &amp;quot;in the field&amp;quot;. This enables flexible tunability in the function of FPGA-based devices. We seek to emulate (with tweaks) the works of Zhu &amp;amp; Wang (2015) to utilise the Phase-Locked Loop (PLL) module in FPGA to implement a nanosecond pulse generator with adjustable frequency and pulse width. Our circuit was designed with Quartus Prime.&lt;br /&gt;
&lt;br /&gt;
==Material requests==&lt;br /&gt;
Please add stuff we should organize one way or the other here:&lt;br /&gt;
* more space&lt;br /&gt;
* cookies...&lt;br /&gt;
&lt;br /&gt;
==Stuff to be covered in the lecture slots on Mondays (sometimes Tuesdays as well)==&lt;br /&gt;
Feel free to add topics or aspects to this list. At the moment, this is just a copy of the tentative syllabus:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date !! Topic !! Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 18.1.2021&lt;br /&gt;
|[https://youtu.be/vDIOn2SHLJE Paraxial optics, part 1] &lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Optical systems often work with Gaussian beams. We cover practical design techniques like the ABCD matrix formalism for simple optical systems.&lt;br /&gt;
|-&lt;br /&gt;
| 19.1.2021&lt;br /&gt;
|[https://youtu.be/yO3JcuCOVoc Paraxial optics, part 2] (only first part of lecture)&lt;br /&gt;
|-&lt;br /&gt;
| 25.1.2021||[https://youtu.be/nNU1eEOaPdY Optical cavities, part 1] || Many optical techniques require to work with optical cavities. We cover how to design them, and how to couple light into very basic devices. This lecture covered some theory basics.&lt;br /&gt;
|-&lt;br /&gt;
| 26.1.2021||[https://youtu.be/ekfhUi2JjFM Optical cavities, part 2]|| Some more aspects of optical cavities, and dielectric coatings for mirrors and such&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.2.2021||[https://youtu.be/h2LeznCpPTk Optical fiber technology] || Some properties of optical fibers as the most common optical waveguide are covered, including optical mode spectrum, dispersion and transmission properties.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.2.2021||[https://youtu.be/xblN-KzMz0Y  Optical modulators, part 1]&lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | Many optical modulation techniques require rely on devices or materials where optical properties can be changed electrically; we cover accousto-optical and electro-optical devices, as well as liquid crystal systems.&lt;br /&gt;
|-&lt;br /&gt;
| 9.2.2021||[https://youtu.be/WfP5mahZrWU  Optical modulators, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.2.2021&lt;br /&gt;
|[https://youtu.be/m_F4DOHMNeU Homodyne detection techniques] || Measurement of optical fields in many continuous variable scenarios require knowledge of optical homodyning and heterodyning techniques. These techniques, similar to their radiofrequency counterparts, rely on multiplying field amplitudes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.2021&lt;br /&gt;
|[https://youtu.be/YkVlxxucLuA Frequency control of laser systems, part 1]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Many laser systems in quantum technologies require to have a well-defined frequency relationship with atomic transitions or solid state qubits. We cover typical techniques how laser systems can be controlled to a high enough accuracy, utilizing spectroscopy techniques and control systems.&lt;br /&gt;
|-&lt;br /&gt;
| 2.3.2021&lt;br /&gt;
|[https://youtu.be/72aVZwI4BHU Frequency control of laser systems, part 2]&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 8.3.2021&lt;br /&gt;
|[https://youtu.be/jolUa_EGZEs Interface to computers]&lt;br /&gt;
| High level interfacing between computers and electronic hardware: Standard device languages; some serial protocols, some aspects of microcontrollers and FPGAs&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15.3.2021&lt;br /&gt;
|[https://youtu.be/1S0EAnooQMc Pulses in quantum control]&lt;br /&gt;
| Many quantum systems require short control pulses, either in form of optical pulses or radiofrequency pulses. This covers how they are used, and present a few techniques to generate such control pulses&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 22.3.2021&lt;br /&gt;
|[https://youtu.be/PHx-da7RLE8 High voltage techniques]&lt;br /&gt;
| Working with high voltages requires a spectrum of techniques that is differing from more conventional electronics. A few aspects (field emission, dielectric strength, specific components) are covered.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|12.4.2021&lt;br /&gt;
|[https://youtu.be/K0U9ySRyvjs Control loops]&lt;br /&gt;
| Many experimental activities in controlling quantum systems require the control of classical systems, like the temperature stabilization of some device, or the frequency stabilization of a laser. This lecture gives a brief overview of some simple control concepts.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ||Practical aspects of superconducting systems || We cover different materials, transition temperatures, temperature measurement techniques and thermal insulation / conduction techniques.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* Math can be entered in LaTeX style: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; renders as &amp;lt;math&amp;gt;r^2=\sqrt{x^2+y^2}&amp;lt;/math&amp;gt;&lt;br /&gt;
* Should you miss any module or functionality of this wiki, please contact me (Christian Kurtsiefer).&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1157</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1157"/>
		<updated>2021-04-28T18:53:24Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. This produces two rather than one narrow pulse for every pair of clock signals- At the front-end and tail-end of the first and second clock signals respectively:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Summary Table&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1156</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1156"/>
		<updated>2021-04-28T18:23:59Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. This produces two rather than one narrow pulse for every pair of clock signals- At the front-end and tail-end of the first and second clock signals respectively:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||350px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
Summary Table&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-2.png&amp;diff=1155</id>
		<title>File:2-Figure3-2.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-2.png&amp;diff=1155"/>
		<updated>2021-04-28T18:23:19Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Chua Rui Ming uploaded a new version of File:2-Figure3-2.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-2.png&amp;diff=1154</id>
		<title>File:2-Figure3-2.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-2.png&amp;diff=1154"/>
		<updated>2021-04-28T18:20:56Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Chua Rui Ming uploaded a new version of File:2-Figure3-2.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1153</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1153"/>
		<updated>2021-04-28T18:15:07Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. This produces two rather than one narrow pulse for every pair of clock signals- At the front-end and tail-end of the first and second clock signals respectively:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:2-Figure3-2.png||300px]]&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
Summary Table&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-2.png&amp;diff=1152</id>
		<title>File:2-Figure3-2.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-2.png&amp;diff=1152"/>
		<updated>2021-04-28T18:14:08Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1151</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1151"/>
		<updated>2021-04-28T18:05:44Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Results */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. This produces two rather than one narrow pulse for every pair of clock signals- At the front-end and tail-end of the first and second clock signals respectively:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;FPGA Top Design&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
The FPGA Top Design summarises the outcome of our code behind the design of our FPGA. To characterise the performance of our FPGA, we measured the pulses produced by our FPGA (see below). We recall that one of the strengths of the FPGA lies in its adjustability; By adjusting the phase difference between the clock signals or the frequency of the clock signals we can obtain different performances (in terms of different pulse width and frequencies) of our FPGA. Hence, we characterised the performance of our FPGA as a function of the Phase Difference and as a function of Clock Frequency.     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Phase Difference&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Pulses as a function of Frequency&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The clock frequency may be adjusted in integer multiples of the clock oscillator (refer to FPGA Architecture). &lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Insert Image Here||300px]] &lt;br /&gt;
&lt;br /&gt;
Summary Table&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1150</id>
		<title>A Nanosecond Pulse Generator based on the Reconfigurable Phase-Locked Loop (PLL) Module in Field Programmable Gate Arrays (FPGAs)</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=A_Nanosecond_Pulse_Generator_based_on_the_Reconfigurable_Phase-Locked_Loop_(PLL)_Module_in_Field_Programmable_Gate_Arrays_(FPGAs)&amp;diff=1150"/>
		<updated>2021-04-28T17:42:21Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Members====&lt;br /&gt;
Zhang Xing Jian A0226453H,  Zhang Jian Ran A0226340R, Chua Rui Ming A0155387U&lt;br /&gt;
&lt;br /&gt;
====Motivation====&lt;br /&gt;
Field Programmable Gate Arrays (FPGAs) offer both the advantage of Programmable Logic Devices (PLDs) and Application Specific Integrated Circuits (ASICs) because it possesses the functional flexibility without the simplicity of the former and the functional complexity without the inflexibility of the latter&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). Furthermore, they are cheap and easy to implement which enables small groups to meet their hardware and software needs&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; (Maxfield, 2008). As a result, FPGAs represent a useful option to the production of narrow pulses which finds its role in a myriad of scientific applications&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; (Zhu &amp;amp; Wang, 2015). In our context, the generation of narrow pulses is of particular interest in the field of integrated photonics, for example, in the carving of pump light into short pulses for Spontaneous Four-Wave Mixing (SFWM) in silicon microring resonators&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; (Ma, 2020). The use of FPGAs to produce narrow pulses provides us with a compact and adjustable pulse generator compatible with integrated photonics technology.&lt;br /&gt;
&lt;br /&gt;
====FPGA Specifications====&lt;br /&gt;
&amp;lt;b&amp;gt;Product&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Our FPGA is the &amp;quot;DE0-Nano Development and Education Board&amp;quot; from Terasic (vendor)&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). The FPGA utilises Intel Altera&#039;s Cyclone IV family, specifically, the Cyclone IV E variant&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt; (Intel, n.d.). It measures 49 x 75.2mm. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Architecture&amp;lt;/b&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Some features of the make-up of our FPGA includes:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;22,320 Logic Elements&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;594 Embedded memory (Kbits)&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;66 Embedded 18 x 18 multipliers&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;4 General-purpose PLLs&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;53 Maximum FPGA I/O pins&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Its memory features 32MB Synchronous Dynamic Random-Access Memory (SDRAM), 2Kb I2C Electrically Erasable Programmable Read-Only Memories (EEPROM), and it has an on-board 50MHz clock oscillator&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Preview&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top and bottom view of the FPGA is featured below respectively&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; (Terasic Technologies, n.d.). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_top.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:DE0-Nano_layout_bot.jpg||400px]]&lt;br /&gt;
&lt;br /&gt;
====Phase-Locked Loop (PLL) Module====&lt;br /&gt;
&lt;br /&gt;
The PLL is the key component to our nanosecond pulse generator and would thus be elaborated upon in the following section. A PLL is a feedback control system that locks on the output signal of an oscillator to an input signal by monitoring and maintaining a phase between them. In Altera&#039;s FPGAs, the structure of the PLL is as follows&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Phase Frequency Detector&amp;quot; is used to compare the feedback signal with the input signal for any errors between them&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Charge Pump&amp;quot; is used to convert said error, which manifests itself as an error signal, to a correction current&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt; A &amp;quot;Loop Filter&amp;quot; is used to produce a correction signal from the correction current which is subsequently used to regulate the oscillation frequency of the &amp;quot;Voltage Control Oscillator&amp;quot;&amp;lt;/li&amp;gt;    &lt;br /&gt;
&amp;lt;li&amp;gt; The signal is then fed through the &amp;quot;Feedback Counter&amp;quot; back to the &amp;quot;Phase Frequency Detector&amp;quot; to complete the loop&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Architecture of Altera&#039;s FPGA&#039;s PLL&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (Intel, 2018)  &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Altera Phase-Locked Loop (Altera PLL) IP Core User Guide.png||600px]]&lt;br /&gt;
&lt;br /&gt;
====Methods====&lt;br /&gt;
&lt;br /&gt;
Since the PLL is reconfigurable, the phase, frequency and bandwidth of the PLL output signal may be adjusted in real-time. Logic operations may be executed on two signals produced by the PLL to &amp;quot;carve&amp;quot; out the difference between the two signals into a desired narrow pulse. In Zhu &amp;amp; Wang&#039;s paper (2015), they utilised the steps and logic operations to obtain such a pulse:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of an A OR B operation to produce clock signal C&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The implementation of a D = C XOR A operation to carve out the difference between the two signals to produce the narrow pulse&amp;lt;/span&amp;gt; &lt;br /&gt;
[[File:2-Figure3-1.png||300px]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
In our case, our method deviates from that of Zhu &amp;amp; Wang by implementing a two-step procedure to carve out the pulse. This was achieved simply by skipping the A OR B operation. This produces two rather than one narrow pulse for every pair of clock signals- At the front-end and tail-end of the first and second clock signals respectively:  &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;The production of two clock signals A and B of the same frequency, with a phase shift.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; &amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;The implementation of an C = B XOR A operation to produce the narrow pulses&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/i&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
For the uninitiated, the OR and XOR logic operation can be described by the truth tables and illustrated by the pulsed operations below as referenced from Electronics Hub&amp;lt;sup&amp;gt;8,&amp;lt;/sup&amp;gt;&amp;lt;sup&amp;gt;9&amp;lt;/sup&amp;gt; (Electronics Hub, 2017)&lt;br /&gt;
&lt;br /&gt;
[[File:OR.jpg||300px]] [[File:OR Pulsed.jpg||300px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XOR.jpg||200px]] [[File:XOR Pulsed.jpg||250px]]&lt;br /&gt;
&lt;br /&gt;
====Results====&lt;br /&gt;
&lt;br /&gt;
FPGA Top View&lt;br /&gt;
&lt;br /&gt;
Pulses as a function of Phase Difference &lt;br /&gt;
&lt;br /&gt;
Pulses as a function of Frequency &lt;br /&gt;
&lt;br /&gt;
Summary Table&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
====References====&lt;br /&gt;
[1] Maxfield, C. (2008). Fpgas: Instant access. In FPGAs: Instant access (1st ed., pp. 1-12). Burlington, MA: Newnes/Elsevier.&lt;br /&gt;
&lt;br /&gt;
[2] Zhu, Y., &amp;amp;amp; Wang, L. (2015). Design and implementation of nanosecond Pulse generator based ON RECONFIGURATION PLL in FPGA. Proceedings of the 2015 International Conference on Electronic Science and Automation Control. doi:10.2991/esac-15.2015.78&lt;br /&gt;
&lt;br /&gt;
[3] Ma, C. (2020). High-Quality Photon Pair Generation in Silicon Photonic Microring and Its Applications. UC San Diego. ProQuest ID: Ma_ucsd_0033D_19192. Merritt ID: ark:/13030/m5sf83ns. Retrieved from https://escholarship.org/uc/item/7ws930nj&lt;br /&gt;
&lt;br /&gt;
[4] Terasic Technologies. (n.d.). All FPGA boards - Cyclone IV - DE0-Nano development and Education Board. Retrieved March 23, 2021, from https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;amp;CategoryNo=139&amp;amp;amp;No=593&amp;amp;amp;PartNo=3#section&lt;br /&gt;
&lt;br /&gt;
[5] Intel. (n.d.). Cyclone® IV Fpgas devices - Intel® FPGA. Retrieved March 23, 2021, from https://www.intel.sg/content/www/xa/en/products/programmable/fpga/cyclone-iv.html&lt;br /&gt;
&lt;br /&gt;
[6] Intel. (2020). Intel® Quartus® Prime Software Suite. The Intuitive High-Performance Design Environment. Retrieved March 22, 2021, from https://www.intel.com/content/www/us/en/software/programmable/quartus-prime/overview.html&lt;br /&gt;
&lt;br /&gt;
[7] Intel. (2018, December 20). Altera phase-locked Loop (ALTERA PLL) ip core user guide. Retrieved March 23, 2021, from https://www.intel.com/content/www/us/en/programmable/documentation/mcn1401782837027.html&lt;br /&gt;
&lt;br /&gt;
[8] Electronics Hub. (2017, December 24). Digital logic or gate. Retrieved March 29, 2021, from https://www.electronicshub.org/digital-logic-or-gate/#OR_Gate&lt;br /&gt;
&lt;br /&gt;
[9] Electronics Hub. (2017, December 24). Exclusive or Gate(XOR-Gate). Retrieved March 29, 2021, from https://www.electronicshub.org/exclusive-or-gatexor-gate/#XOR_Gate&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
	<entry>
		<id>https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-1.png&amp;diff=1149</id>
		<title>File:2-Figure3-1.png</title>
		<link rel="alternate" type="text/html" href="https://AY2021S2.qt5201.org/index.php?title=File:2-Figure3-1.png&amp;diff=1149"/>
		<updated>2021-04-28T17:36:21Z</updated>

		<summary type="html">&lt;p&gt;Chua Rui Ming: Zhu &amp;amp; Wang&amp;#039;s Method of Carving Pulses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Zhu &amp;amp; Wang&#039;s Method of Carving Pulses&lt;/div&gt;</summary>
		<author><name>Chua Rui Ming</name></author>
	</entry>
</feed>