---
title: Verilog 入门教程（零基础、教材版）
url: "https://www.fpgalearn.com/course/1508.html"
kind: course
id: 1508
excerpt: Verilog HDL是一种硬件描述语言，用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述，并可在相同描述中显式地进行时序建模。
author: 周老师
tags: FPGA入门基础, fpga实验, FPGA实验课程, FPGA教程, FPGA线上教材, FPGA自学
word_count: 1319
source: "https://www.fpgalearn.com"
---

# Verilog 入门教程（零基础、教材版）

> 标签：FPGA入门基础、fpga实验、FPGA实验课程、FPGA教程、FPGA线上教材、FPGA自学
> Verilog HDL是一种硬件描述语言，用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述，并可在相同描述中显式地进行时序建模。

- 课程分类：FPGA进阶/中级
- 课程标签：FPGA入门基础、fpga实验、FPGA实验课程、FPGA教程、FPGA线上教材、FPGA自学
- 主讲：周老师
- 章节数：7
- 课时数：56
- 价格：3.8

## 课程介绍

**第一章 Verilog简介**
**第二章 HDL入门指南**
**第三章 Verilog语言要素**
**第四章 Verilog中的表达式**
**第五章 门级电路模型化**
**第六章 Verilog编码技术**
**第七章 设计练习进阶(10个设计例子和分析)**
Verilog HDL是一种硬件描述语言，用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述，并可在相同描述中显式地进行时序建模。
Verilog HDL 语言具有下述描述能力：设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外，Verilog HDL语言提供了编程语言接口，通过该接口可以在模拟、验证期间从设计外部访问设计，包括模拟的具体控制和运行。
Verilog HDL语言不仅定义了语法，而且对每个语法结构都定义了清晰的模拟、仿真语义。因此，用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力，其中许多扩展最初很难理解。但是，Verilog HDL语言的核心子集非常易于学习和使用，这对大多数建模应用来说已经足够。当然，完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。

## 课程大纲
### 1. 第一章 Verilog简介（4 课时 · 20分）
- 什么是Verilog HDL？
- 历史
- 主要能力
- 习题

### 2. 第二章 Verilog HDL入门指南（8 课时）
- 模块
- 时延
- 数据流描述方式
- 行为描述方式
- 结构化描述形式
- 混合设计描述方式
- 设计模拟
- 习题

### 3. 第三章 Verilog语言要素（9 课时）
- 标识符
- 注释
- 格式
- 系统任务和函数
- 编译指令
- 值集合
- 数据类型
- 参数
- 习题

### 4. 第四章 Verilog中的表达式（4 课时）
- 操作数
- 操作符
- 表达式种类
- 习题

### 5. 第五章 门级电路模型化（15 课时）
- 内置基本门
- 多输入门
- 多输出门
- 三态门
- 上拉、下拉电阻
- MOS开关
- 双向开关
- 门时延
- 实例数组
- 隐式线网
- 简单示例
- 2-4解码器举例
- 主从触发器举例
- 奇偶电路
- 习题

### 6. 第六章 Veriolg HDL的编码风格（6 课时）
- 一般的命名规则
- 文件格式组织
- 端口定义
- 文件头部
- 提倡运用注释
- 错误代码举例

### 7. 第七章 设计练习进阶（10个设计例子和分析）（10 课时）
- 单的组合逻辑设计
- 简单时序逻辑电路的设计
- 利用条件语句实现较复杂的时序逻辑电路
- 设计时序逻辑时采用阻塞赋值与非阻塞赋值的区别
- 用always块实现较复杂的组合逻辑电路
- 在Verilog HDL中使用函数
- 在Verilog HDL中使用任务（task）
- 利用有限状态机进行复杂时序逻辑的设计
- 利用状态机的嵌套实现层次结构化设计
- 通过模块之间的调用实现自顶向下的设计
