FPGA for Beginners Hardware Reference Guide

FPGA Board for beginner – FII-PRA006/010 Hardware Reference Guide

V1.2 FII-PRA006/010 Hardware Reference Guide Version Control Version Date Description V1.0 06/25/2019 Initial Release V1.1 07/15/2019 Add Description About PCF8591 V1.2 07/19/2019 Add Description About Oscillator and IIC Copyright Notice: © 2019 Fraser Innovation Inc ALL RIGHTS RESERVED Without written permission of Fraser Innovation Inc, no unit or individual may extract or modify part of or all the contents of this manual. Offenders will be held liable for their legal responsibility. Thank you for purchasing the FPGA development board. Please read the manual carefully before using the product and make…

Read More
FPGA for Beginners FPGA Tutor

FPGA Beginner Tutorial – Ethernet Experiment – FPGA Board for Beginner – Experiment 14

Experiment 14 Ethernet Experiment 14.1 Experiment Objective Understand what Ethernet is and how it works Familiar with the relationship between different interface types (MII, GMII, RGMII) and their advantages and disadvantages (our development board uses RGMII) Combine the development board to complete the transmission and reception of data and verify 14.2 Experiment Requirement Perform a loopback test to check if the hardware is working properly. Performing data verification Perform data transmission verification 14.3 Experiment 14.3.1 Experiment Principle Ethernet is a baseband LAN technology. Ethernet communication is a communication method that…

Read More
FPGA for Beginners FPGA Tutor

FPGA Beginner Tutorial – VGA Experiment – FPGA Board for Beginner – Experiment 13

Experiment 13 VGA Experiment 13.1 Experiment Objective Master the principle of VGA implementation Design a simple VGA image display (The design here is a vertical color bar) 13.2 VGA Principle VGA (Video Graphics Array) is a computer display standard that IBM introduced in 1987 using analog signals. VGA is a low standard that is supported by most manufacturers. PCs must support the VGA standard before loading their own unique drivers. The schematic diagram of the VGA PCB is shown in Figure 13. 1 Fig 13. 1 PCB schematics The VGA…

Read More
FPGA for Beginners FPGA Tutor

FPGA Beginner Tutorial – AD, DA Experiment – FPGA Board for Beginner – Experiment 12

Experiment 12 AD, DA Experiment 12.1 Experiment Objective Since in the real world, all naturally occurring signals are analog signals, and all that are read and processed in actual engineering are digital signals. There is a process of mutual conversion between natural and industrial signals (digital-to-analog conversion: DAC, analog-to-digital conversion: ADC). The purpose of this experiment is twofold: Learning the theory of AD conversion Read the value of AD acquisition from PCF8591, and convert the value obtained into actual value, display it with segment decoders   12.2 Experiment Requirement Perform…

Read More
FPGA for Beginners FPGA Tutor

FPGA Beginner Tutorial – IIC Protocol Transmission – FPGA Board for Beginner – Experiment 11

Experiment 11 IIC Protocol Transmission 11.1 Experiment Objective There is an IIC interface EEPROM chip 24LC02 in the test plate, capacity sized 2 kbit (256 bite). Since the data is not lost after the EEPROM is powered down, users can store some hardware setup data or user information. Learning the basic principles of the different IIC bus, mastering the IIC communication protocol Master the method of reading and writing EEPROM Joint debugging using logic analyzer 11.2 Experiment Requirement Correctly write a number to any address in the EEPROM (this experiment…

Read More
FPGA for Beginners FPGA Tutor Pocket Boards

FPGA Tutorial – Asynchronous Serial Port Design and Experiment – FPGA for Beginner – Experiment 10

Experiment 10 Asynchronous Serial Port Design and Experiment 10.1 Experiment Objective Because asynchronous serial ports are very common in industrial control, communication, and software debugging, they are also vital in FPGA development. Learning the basic principles of asynchronous serial port communication, handshake mechanism, data frame Master asynchronous sampling techniques Review the frame structure of the data packet Learning FIFO Joint debugging with common debugging software of PC (SSCOM, teraterm, etc.) 10.2 Experiment Requirement Design and transmit full-duplex asynchronous communication interface Tx, Rx Baud rate of 11520 bps, 8-bit data, 1…

Read More
FPGA Board Based FPGA for Beginners FPGA Tutor Pocket Boards

FPGA Tutorial – Use Dual-port RAM to Read and Write Frame Data – FPGA Board for Beginner – Experiment 9

9.1 Experiment Objective Learn to configure and use dual-port RAM Learn to use synchronous clock to control the synchronization of frame structure Learn to use asynchronous clock to control the synchronization of frame structure Observing the synchronization structure of synchronous clock frames using SignalTap II Extended the use of dual-port RAM Design the use of three-stage state machine 9.2 Experiment Requirement Generate dual-port RAM and PLL 16-bit width, 256-depth dual-port RAM 2 PLL, both 50 MHz input, different 100 MHz and 20 MHz outputs Design a 16-bit data frame Data…

Read More
FPGA Board Based FPGA for Beginners FPGA Tutor Pocket Boards

FPGA Tutorial – Use of ROM (Read-only Memory) – FPGA Board for Beginner – Experiment 8

8.1 Experiment Objective Study the internal memory block of FPGA Study the format of *.mif and how to edit *.mif file to configure the contents of ROM Learn to use RAM, read and write RAM 8.2 Experiment Requirement Design 16 outputs ROM, address ranging 0-255 Interface 8-bit switch input as ROM’s address Segment decoders display the contents of ROM and require conversion of hexadecimal to BCD output. 8.3 Experiment 8.3.1 Design Procedure Build a new project named memory_rom In Installed IP, choose Library > Basic Function > On Chip Memory…

Read More
FPGA for Beginners FPGA Tutor Pocket Boards

FPGA Tutorial – Hexadecimal Numbers to BCD Code Conversion and Application – FPGA Board for Beginner – Experiment 7

7.1 Experiment Objective Convert binary numbers to BCD Convert hexadecimal numbers to BCD 7.2 Experiment Principle Since the hexadecimal display is not intuitive, decimal display is more widely used in real life. Human eyes recognition is relatively slow, so the display from hexadecimal to decimal does not need to be too fast. Generally, there are two methods   a. Countdown method: Under the control of the synchronous clock, the hexadecimal number is decremented by 1 until it is reduced to 0. At the same time, the appropriate BCD code decimal…

Read More
FPGA for Beginners FPGA Tutor Pocket Boards

FPGA Tutorial – Use Multiplier and ModelSim – FPGA Board for Beginner – Experiment 6

6.1 Experiment Objective Learn to use multiplier Use ModelSim to output 6.2 Experiment Requirement 8×8 multiplier. The first input is 8-bit switch, and the second input is the output of an 8-bit counter. Observe the output in ModelSim. Observe the calculation result on 4 segment decoders. 6.3 Experiment Build a new project mult_sim Different from what we did before, we use EDA simulation. The actual setting is shown in Fig 6. 1 Design procedure Create a new file named mult_sim.v Add PLL, set the clock input frequency is 50 MHz,…

Read More