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语句。


相关推荐
代码游侠2 小时前
ARM开发——阶段问题综述(二)
运维·arm开发·笔记·单片机·嵌入式硬件·学习
张祥6422889042 小时前
误差理论与测量平差基础笔记十
笔记·算法·机器学习
云边散步5 小时前
godot2D游戏教程系列二(4)
笔记·学习·游戏开发
BORN(^-^)5 小时前
《产品经理方法论》阅读笔记
笔记·产品经理
jrlong6 小时前
DataWhale大模型基础与量化微调task4学习笔记(第 2 章:高级微调技术_RLHF 技术详解)
笔记·学习
傻小胖6 小时前
13.BTC-思考-北大肖臻老师客堂笔记
笔记·区块链
風清掦7 小时前
【江科大STM32学习笔记-04】0.96寸OLED显示屏
笔记·stm32·学习
胡西风_foxww7 小时前
ObsidianAI_学习一个陌生知识领域_建立学习路径和知识库框架_写一本书
人工智能·笔记·学习·知识库·obsidian·notebooklm·写一本书
AI视觉网奇7 小时前
huggingface-cli 安装笔记2026
前端·笔记
idontknow2338 小时前
DPDK学习笔记(1):二层转发应用例代码解析
c语言·网络·笔记·学习