03 verilog基础语法-模块结构
2023-09-14 09:16:17 时间
虚拟机:VMware-workstation-full-14.0.0.24051
环 境:ubuntu 18.04.1
文章目录
一、学习内容(上半部分)
二、模块的结构
(1)Verilog HDL的模块结构
- Verilog的基本设计单元是“模块 (block) ”
- Verilog 模块的结构由在module和endmodule关键词之间的4个主要部分组成:
(2)逻辑功能定义
在Verilog 模块中有3种方法可以描述电路的逻辑功能:
> assign语句
如assign x = (b & ~c);
assign语句又称连续赋值语句,常用于描述组合逻辑
> 门元件例化(instantiate)
如and u_and2(f,a,b,c);
其中and 是与门门元件的关键字,u_and3是例化的元件名。
· 注1: 元件例化即是调用Verilog HDL提供的元件;
· 注2:元件例化包括门元件例化和模块例化 ;
· 注3: 每个实例的名称必须唯一。
> always块语句
always @(posedge clk) begin//当时钟上升沿到来时执行一遍块内语句
if(load)begin
out <= data; // 同步预置数据
end
else begin
out <= data + 1 + cin; // 加1计数
end
end
always块 语 句 常 用 于 描 述 时 序 逻 辑 , 也 可描 述 组 合 逻 辑 。 可 用 if-else 或case语句多种手段来表达逻辑关系 ,同时always和assign是并发执行的,因此always内不可包含assign语句。
- 常见module模板
module <顶层模块名>(
input 输入端口列表,
output 输出端口列表
);
//(1)使用assign语句定义逻辑功能
wire 结果信号名;
assign <结果信号名> = 表达式;
//(2)使用always块定义逻辑功能
always@(<敏感信号列表>)begin
xxx;
end
//(3)子模块例化
<module_name><instance_name>(
.module_port(inst_port),
.module_port(inst_port)
);
endmodule
(3)Verilog关键字
关键字是verilog语法规定的,用来组织语言结构或元件,因此用户自定义的变量等不能与关键字重复,下面是Verilog HDL的关键字,红色为常用的关键字。
(4)标识符
三、小结
作者:xlinxdu
版权:本文版权归作者所有
转载:欢迎点赞、评论和转载,但未经作者同意,必须保留此段声明,必须在文章中给出原文连接。
相关文章
- 4-07python语法基础-内置模块-hashlib模块
- 4-05python语法基础-内置模块-json模块
- SQL Server调优系列基础篇(常用运算符总结——三种物理连接方式剖析)
- python语法基础-内置模块-os,sys
- 4-07python语法基础-内置模块-hashlib模块
- C# 使用Log4Net记录日志(基础篇)
- 100天精通Python(进阶篇)——第38天:多进程multiprocessing模块基础+代码实战
- 【零基础】python基础知识 01:只需五分钟,明白python学习方法
- 〖Python零基础入门篇(56)〗- Python的加密模块 - hashlib 与 base64
- 〖Python零基础入门篇(60)〗 - 随机模块 - random
- [译]Vulkan教程(13)图形管道基础之Shader模块
- Selenium基础 — Selenium中的expected_conditions模块(二)
- 【0基础转行测试的看过来】一个初级测试工程师(能找到工作的水平就行)1、学多久2、学什么?
- python基础===zmail,收发邮件的模块
- python基础===python os.path模块
- Golang中基础的命令行模块urfave/cli
- 中级软件设计师考试(软考中级)网络与信息安全基础
- Java基础--awt详解以及简单应用
- Go语言基础:切片slice的声明及使用