Custom RTL Design: TX & RX

Custom RTL Design: TX & RX This is the first hands-on RTL episode. We translate the UART protocol specification directly into synthesizable SystemVerilog — starting from the mathematical relationship between clock frequency and baud rate, then building the TX FSM and RX center-sampling logic. Each design decision is derived from first principles so you can reproduce and modify it for any FPGA or baud rate. Design Requirements Target: 50 MHz system clock, 8E1 format ...

March 18, 2026 · 6 min · EasyFPGA

UART Implementation Methods

UART Implementation Methods FPGA engineers implementing UART face three choices — each suited to a different project context and level of control. Choosing the wrong approach wastes time: a vendor IP that cannot be customized, or a full processor SoC for a task that needs only a 100-line state machine. This episode provides the decision framework and maps the course structure to each approach. Three Approaches to UART on FPGA ┌─────────────────────────────────────────────────────────┐ │ UART on FPGA — 3 Methods │ ├─────────────────┬──────────────────┬────────────────────┤ │ Method 1 │ Method 2 │ Method 3 │ │ Vendor IP Core │ Soft Processor │ Custom RTL │ │ │ + UART IP │ Design │ ├─────────────────┼──────────────────┼────────────────────┤ │ Easy & fast │ Software-driven │ Full control │ │ AXI-compatible │ Highly scalable │ Best performance │ │ Limited flex │ High resources │ Longer dev time │ └─────────────────┴──────────────────┴────────────────────┘ Method 1: Vendor IP Core Use a verified UART IP from Xilinx/Intel — add via IP Catalog with a few clicks ...

March 17, 2026 · 4 min · EasyFPGA

RS-232 and RS-485 for UART Systems

RS-232 & RS-485 When FPGAs communicate with external devices over UART, the signal rarely stays at 3.3V CMOS all the way to the destination. RS-232 defines an electrical standard for single-ended serial links up to 15 m, while RS-485 uses differential signaling to reach 1,200 m on a multi-drop bus. The most important lesson of this episode: UART is a logical protocol, and RS-232/RS-485 are completely separate physical standards that FPGA GPIO cannot directly drive. ...

March 16, 2026 · 4 min · EasyFPGA

UART Frame Format

UART Frame Format Each UART transmission carries data inside a precisely defined frame. Understanding the purpose of every field — not just its name — is what separates a developer who can implement UART from scratch from one who only configures a vendor IP. This episode dissects the frame bit by bit, covering the transmission order convention, parity computation, and the overhead implications of different format choices. UART Frame Structure Every UART transmission is based on a fixed Frame structure. ...

March 15, 2026 · 5 min · EasyFPGA

What is UART?

What is UART? UART — Universal Asynchronous Receiver/Transmitter A hardware communication protocol for serial communication between two devices. UART is one of the oldest digital communication protocols still in active use. Despite being designed alongside early teletype systems, it appears in virtually every FPGA board, microcontroller, and development kit — because it needs only two wires and every terminal emulator on every operating system speaks it. This episode covers the fundamentals: what asynchronous communication really means, how baud rate works, and why clock drift is the central engineering challenge when implementing UART from scratch. ...

March 14, 2026 · 4 min · EasyFPGA

Understanding FPGA Speed Grades, Temperature Ranges, and Reliability Grades

When selecting an AMD/Xilinx FPGA you must specify three attributes beyond logic capacity and memory size: Speed Grade, Temperature Range, and Reliability Grade. Understanding all three helps you choose the right device — and avoid paying for more than you need. AMD UltraScale+ Device Ordering Information (Product Selection Guide) Speed Grade Speed Grade is a post-fabrication classification (binning) that reflects the worst-case switching performance of a specific chip coming off the wafer. Even chips from the same wafer lot will have small transistor-level variations — some will reliably meet tighter timing margins than others. Chips that can do so are assigned a higher (faster) speed grade. ...

January 17, 2026 · 4 min · EasyFPGA

Implementing a DDR Memory Interface on FPGA with Xilinx MIG

FPGAs are optimised for massive parallelism, but their on-chip memory resources are limited. Block RAM (BRAM) and UltraRAM (URAM) are fast and easy to use, but they typically provide only a few tens of megabits to a few hundred megabits of capacity. When your application needs gigabytes — high-resolution video frames, machine-learning weight tables, large look-up tables — external DDR memory becomes essential. Why External DDR Memory? Memory Type Location Typical Capacity Bandwidth Access Latency Distributed RAM On-chip (LUT-based) < 1 MB Very high 1 cycle Block RAM (BRAM) On-chip (dedicated) up to ~200 MB High 1–2 cycles UltraRAM (URAM) On-chip (UltraScale+) up to ~500 MB High 2–3 cycles External DDR Off-chip (dedicated chip) 1–16+ GB Medium-High ~50–100 ns For applications such as: ...

September 4, 2025 · 4 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 · 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