Verilog复习(一)| 模块的定义

模块(module)是Verilog的基本描述单位,用于描述某个设计的功能或结构,及其与其他模块通信(连接)的外部端口。

Verilog程序由关键词moduleendmodule进行定义。

定义模块的步骤:

  • 定义模块的端口
  • 定义模块内部连接到端口的信号类型
  • 定义内部信号
  • 描述模块内部实现的功能

定义端口:

端口的类型:input、output

Scalar (single bit) - 不需要给出信号的位数

verilog 复制代码
input  cin;

Vector (multiple bits) - 需要定义具体的位数,范围从左往右

verilog 复制代码
output 	[7:0] OUT;

结构描述

一般使用内部元件、自定义的下层模块对电路进行描述。

数据流描述

一般使用连续赋值assign语句描述。

verilog 复制代码
 assign [delay] LHS_net = RHS_ expression

行为描述

一般使用InitialAlways语句描述。

  1. initial语句:此语句只执行一次。
  2. always语句:此语句总是循环执行, 或者说此语句重复执行。

只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语句和always语句在0时刻并发执行。

来自always语句和initial语句(只有寄存器类型数据可以在这两种语句中赋值)的值能够驱动门或开关。

而来自于门或连续赋值语句(只能驱动线网)的值能够反过来用于触发always语句和initial语句。


相关推荐
.Cnn3 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
九成宫4 小时前
IT项目管理期末复习——Chapter 10 项目沟通管理
笔记·项目管理·软件工程
23471021274 小时前
4.14 学习笔记
笔记·python·学习
sonnet-10295 小时前
函数式接口和方法引用
java·开发语言·笔记
skylijf5 小时前
2026 高项第 6 章 预测考点 + 练习题(共 12 题,做完稳拿分)
笔记·程序人生·其他·职场和发展·软件工程·团队开发·产品经理
今天你TLE了吗5 小时前
LLM到Agent&RAG——AI概念概述 第二章:提示词
人工智能·笔记·后端·学习
九成宫7 小时前
IT项目管理期末复习——Chapter 9 项目人力资源管理
笔记·项目管理·软件工程
2601_949817927 小时前
大厂Java进阶面试解析笔记文档
java·笔记·面试
John.Lewis7 小时前
C++进阶(12)附加学习:STL之空间配置器(了解)
开发语言·c++·笔记
独小乐7 小时前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm