Design of an Odd Frequency Divider Module Based on FPGA

Design of an Odd Frequency Divider Module Based on FPGA

In FPGA design, frequency division is often required. For even frequency division, the code is relatively simple; the clock is inverted when the counter reaches half of the division factor, thus completing the even frequency division.For odd frequency division, the approach is slightly more complex. First, two temporary frequency division variables need to be defined: … Read more

Creating Your Own Chip (Part 2) – UART Section

Creating Your Own Chip (Part 2) - UART Section

Word count: 1092, reading time approximately 6 minutes Continuing from the last session, today we will implement the functionality of UART, primarily using the hardware description language Verilog. The interface design is actually quite simple. If we distill its essence, it can be divided into three main parts: data acquisition, state machine, and interface timing. … Read more

Introduction to Excellent Verilog/FPGA Open Source Projects (Thirteen) – I2C

Introduction to Excellent Verilog/FPGA Open Source Projects (Thirteen) - I2C

Introduction to Excellent Verilog/FPGA Open Source Projects (Thirteen) – I2C 0 Introduction to I2C Official Website ❝ I2C – What’s That? The I2C bus specification was written by Philips Semiconductors, which later became NXP Semiconductors, and is now the maintainer of the I2C bus specification. Unfortunately, the latest I²C bus specification, NXP document version 6.0, … Read more

Why Caution is Required When Using For Loops in RTL Design

Why Caution is Required When Using For Loops in RTL Design

I have been writing RTL for over a decade and have encountered various engineering coding standards, constraints, and suggestions. Therefore, I am summarizing my experiences at this stage. The Verilog/SV coding suggestions and some engineering requirements mentioned and discussed in this series are based on what I have encountered and understood during my work process. … Read more