Easy Tutorial
❮ Android Tutorial Http Verilog Fsm ❯

2.1 Verilog UDP Basics

Category Advanced Verilog Tutorial

The built-in gate primitives introduced in gate-level modeling, such as and, or, nor, etc., are all part of the standard primitives provided by Verilog, commonly referred to as built-in primitives.

Additionally, Verilog allows users to write their own primitives, known as User Defined Primitives (UDP).

In UDP, no other modules or primitives can be called, and the calling method is identical to that of gate-level primitives.

There are mainly two types of UDPs, which will be introduced one by one later.

UDP Definition

The definition of UDP does not rely on module definitions, so it can appear outside of module definitions or be defined separately in a file.

The format for defining UDP is as follows:

Example

primitive UDP_name (
  output_name,
  list_of_input);

  output_declaration;
  list_of_input_declaration;
  [reg_declaration];
  [initial_statement];

  table
    list_of_table_entries;
  endtable
endprimitive

UDP Explanation

Port Declaration:

Initialization

The initial statement can be used to initialize the output port (reg type) of a sequential logic UDP, which is optional.

State Table

-0.1 Digital Logic Design

-0.2 Verilog Coding Style

-0.3 Verilog Code Guide

-1.1 Verilog Gate Types

-1.2 Verilog Switch-Level Modeling

-1.3 Verilog Gate Delay

-2.2 Verilog Combinational Logic UDP

-2.3 Verilog Sequential Logic UDP

-3.1 Verilog Delay Models

-3.2 Verilog specify Block Statements

-3.3 Verilog Setup and Hold Times

-3.4 Verilog Timing Checks

-3.5 Verilog Delay Backannotation

-4.1 Verilog Synchronous and Asynchronous

-4.2 Verilog Clock Domain Crossing: Slow to Fast

-4.3 Verilog Clock Domain Crossing: Fast to Slow

-4.4 Verilog FIFO Design

-5.1 Verilog Reset Introduction

-5.2 Verilog Clock Introduction

-5.3 Verilog Clock Division

-5.4 Verilog Clock Switching

-6.1 Verilog Low Power Introduction

-6.2 Verilog System-Level Low Power Design

-6.3 Verilog RTL-Level Low Power Design (Part 1)

-6.4 Verilog RTL-Level Low Power Design (Part 2)

-7.1 Verilog Display Tasks

-7.2 Verilog File Operations

-7.3 Verilog Random Numbers and Probability Distributions

-7.4 Verilog Real to Integer Conversion

-7.5 Verilog Other System Tasks

-8.1 Verilog PLI Introduction

-8.2 Verilog TF Subroutines

-8.3 Verilog TF Subroutine List

-8.4 Verilog ACC Subroutines

-8.5 Verilog ACC Subroutine List

-9.1 Verilog Logic Synthesis

-9.2 Verilog Synthesizable Design

WeChat Subscription

English:

❮ Android Tutorial Http Verilog Fsm ❯