UART Parity Bit and Frame Structure

UART Frame Format UART (Universal Asynchronous Receiver/Transmitter) sends data in a structured frame that includes the following components: Start Bit: Always 0; indicates the beginning of the frame. Data Bits: The actual payload, typically 5 to 8 bits. Parity Bit (optional): Used for simple error detection. Stop Bit(s): One or two bits set to 1; mark the end of the frame. Parity Bit Modes Even Parity: The parity bit is set such that the total number of 1s (including the parity bit) is even. ...

July 16, 2025 · 2 min · EasyFPGA

Why AMD(Xilinx) Recommends Synchronous Resets

https://docs.amd.com/r/2021.1-English/ug949-vivado-design-methodology/When-and-Where-to-Use-a-Reset Advantages of Synchronous Resets BenefitExplanationBetter Resource MappingSynchronous resets can be mapped directly to more FPGA resources (e.g., flip-flops inside DSPs, BRAMs).Improved Logic PerformanceAsynchronous resets can negatively affect general logic timing paths and increase routing complexity.Simpler RoutingA global asynchronous reset might not increase control sets but does require routing reset wires to many elements, which can become complex.Protects Memory StructuresAsynchronous resets may corrupt the contents of BRAMs, LUTRAMs, and SRLs during reset assertion—especially if those resources are driven by asynchronously reset registers.Placement FlexibilityWith synchronous resets, the logic can be more easily remapped during implementation for better packing and performance.Compatibility with Dedicated BlocksSome blocks like DSP48s and BRAMs only support synchronous resets, so using asynchronous resets can prevent proper inference into those blocks. ...

June 30, 2025 · 1 min · EasyFPGA

Understanding Active-Low Resets in HDL Design

In HDL design (such as Verilog or VHDL), an active-low reset means the reset signal is enabled when it is low (logic 0). It is widely used in both ASIC and FPGA designs for several practical and electrical reasons: 1. Electrical Stability Logic low (0 volts, GND) is generally more stable and noise-immune than logic high (VCC). During power-up, signals tend to default to low due to internal pull-downs or the absence of a valid voltage, so using an active-low reset ensures that the system starts in a known, reset state. ...

June 30, 2025 · 2 min · EasyFPGA

FPGA Implementation of RoCEv2

What is the RoCE v2? RoCEv2, or RDMA over Converged Ethernet version2 is a network protocol that enable Remote Direct Memory Access (RDMA) over standard Ethernet networks using UDP/IP. It’s designed to deliver high-throughput, low-latency communication while minimizing CPU usage-making it ideal for data centers, high-performance computing, and storage systems. The link below is a lecture on RDMA. It provides a lot of useful information. https://www.coursera.org/learn/the-fundamentals-of-rdma-programming/home/info RoCEv2 Packet Format Ethernet Header Standard Ethernet frame header. ...

June 17, 2025 · 2 min · EasyFPGA

Skew Simulation

What is Skew? Skew refers to the timing difference in signal arrival between multiple paths that are supposed to be synchronized. shows a skewed waveform between data lines. Why Skew Simulation Is Necessary If you simulate your design assuming everything is perfectly aligned, you may encounter issues during actual testing. In real PCBs, skew naturally exists, which is why techniques like length matching are necessary. However, even with length matching, the impact of skew becomes more significant as signal speed increases. Therefore, it’s important to address skew issues during simulation. ...

June 16, 2025 · 2 min · EasyFPGA

Virtual Input/Output

https://www.amd.com/en/products/adaptive-socs-and-fpgas/intellectual-property/vio.html When debugging an FPGA, there are times when you need to modify settings or parameters and monitor internal signals in real time. Setting up communication interfaces, such as receiving input from switches and keys or using UART, can be a complex process. However, AMD FPGAs offer a solution with the Virtual I/O IP, which allows these tasks to be easily performed via JTAG. https://docs.amd.com/v/u/en-US/pg159-vio Xilinx Virtual Input/Output (VIO) is a soft IP core provided by Xilinx that allows you to monitor and control internal FPGA signals in real time using the Vivado Integrated Logic Analyzer (ILA) without needing physical I/O pins. ...

June 10, 2025 · 2 min · EasyFPGA

AXI with FPGA and SoC

AXI stands for Advanced eXtensible Interface. It is a part of the AMBA (Advanced Microcontroller Bus Architecture) protocol family, developed by ARM. AXI is designed for high-performance, high-frequency system designs and is widely adopted in FPGAs and SoCs. Zynq SoC connects between Processing System (PS) and Programmable Logic (PL) Interconnection between Xilinx IP cores (e.g., Block RAM, DMA, TEMAC) Communication with MicroBlaze processor AXI Interconnect to connect multiple master/slave devices ...

May 27, 2025 · 3 min · EasyFPGA

Trigger At StartUp

When debugging hardware using the Hardware Manager, the device connection is established after a delay following the initial boot. Once connected, you can configure trigger conditions and begin debugging. However, this delay means that the FPGA’s initial state cannot be examined using the Integrated Logic Analyzer (ILA), as it occurs before the device is accessible via the Hardware Manager. Illustrate a Hardware Manager connected to a device via JTAG, The Trigger At StartUp method enables you to define trigger conditions in the initial phase, immediately after the bitstream is downloaded and the system begins running. This allows you to debug the early stages of operation effectively. ...

March 28, 2025 · 3 min · EasyFPGA

Gigabit Ethernet with Xilinx FPGA and TEMAC IP

In FPGA-based designs, Ethernet is commonly used as a communication interface with PCs. Whether for data transfer, debugging, or network-based control, Ethernet provides a flexible and high-speed connectivity option. To integrate Ethernet into an FPGA, the design typically consists of: MAC (Media Access Control) Layer: Handles frame encapsulation and transmission. PHY (Physical Layer) Interface: Manages signal-level modulation and transmission over the Ethernet medium. Higher-Level Processing: Can be implemented using embedded processors (such as MicroBlaze or ARM in SoC FPGAs) or custom hardware logic for protocol handling. ...

March 21, 2025 · 7 min · EasyFPGA

Vivado’s Text Editor

Effectively utilizing Vivado’s Text Editor can greatly assist in FPGA design. Let’s explore the advantages of the Text Editor in Vivado IDE (Integrated Development Environment) when developing AMD (Xilinx) FPGAs. **On-the-fly syntax checking: **Instant syntax check **Assistance with errors and warnings: **Markers in red or yellow appear on the right scroll bar. They allow you to navigate directly to the location of syntax errors or warnings. Additionally, you can hover (move the cursor over) to identify the specific error ...

March 19, 2025 · 2 min · EasyFPGA