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

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

Verilog程序由关键词module和endmodule进行定义。

定义模块的步骤:

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

定义端口:

端口的类型:input、output

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

verilog 复制代码
input  cin;

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

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

结构描述

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

数据流描述

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

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

行为描述

一般使用Initial或Always语句描述。

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

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

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

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


相关推荐
志尊宝8 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
沪上企服通9 小时前
历史账套科目重映射与规则版本重算:旧账梳理的“口径复位”工程
笔记·架构
Go Work14 小时前
2026 Cadence SPB 24.1中文版安装图文详解(附安装包)
经验分享·笔记
ACP广源盛1392462567314 小时前
HDMI2.0 转 DP1.4 桥接方案评估:国产 GSV2125C@ACP 芯片选型笔记
笔记·硬件架构·hdmi·type-c·国产芯片
龙仔72514 小时前
RustDesk 自建服务器 Key 强校验配置笔记
运维·服务器·笔记
悟乙己15 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
PC2005-cloud15 小时前
MySQL学习笔记:GTID 主从复制,从原理到实践,告别传统 Binlog+Position 的痛点
笔记·学习·mysql
悟乙己17 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:关联技术(二)
笔记·学习·金融
yi01118 小时前
LeetCode 424. 替换后的最长重复字符|不定长滑动窗口:如何判断窗口是否合法?
笔记·python·算法·leetcode·双指针·滑动窗口
杨逢昌工厂6S管理18 小时前
116——杨逢昌:归位三定闭环法的旺季轻量化执行方案与工具清单
经验分享·笔记·职场和发展·学习方法