FPGA学习笔记——Verilog基本语法
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA学习笔记——Verilog基本语法相关的知识,希望对你有一定的参考价值。
###### 【该随笔中部分内容转载自小梅哥】 #########
- 组合逻辑: 多路选择器、加法器(半加器、全加器)、译码器(地址译码器、显示译码器、2-4译码器、3-8译码器)、乘法器
- 时序逻辑: 计数器、分频器、定时器、移位寄存器
一、Verilog文件的基本结构
1、模块声明 模块名 端口列表
2、端口类型、位宽定义
3、功能描述
//模块描述方式一(先列出端口,再描述端口类型)
//此方式虽然行数多,但是方便后面例化端口,推荐使用
module name(
,
,
//最后一个不需要“,”
);
//端口类型描述
//功能描述
endmoule
//模块描述方式二(端口列表和端口类型一起描述)
module name(
//端口列表 + 类型描述
);
//功能描述
endmoule
二、数据类型
- 线与型wire(默认值z—高阻)
- 寄存器型reg
- 存储器型(memory)
memory型数据常用于寄存器文件、ROM和RAM建模等,是寄存器型的二维数组形式,它是将reg型变量进行地址扩展而得到
//一般格式:
reg[n-1 : 0] 存储器名[N-1 : 0];
//定义位宽为n,深度为N的寄存器组
- parameter型(常量参数)(也可以用localparam)
三、数据表示
assign x = 4\'b1001; //二进制
assign x = 4\'d9; //十进制
assign x = 4\'hc; //十六进制
四、运算
1、加(+)——加法器
减(-) ——减法器(逆运算)
乘(*) ——乘法器
除(/) ——除法器ip核(尽量不用)
2、 逻辑运算
逻辑与&&,或||,非!(运算结果只有一位true/false)
按位与&、或|、非~、异或^、同或~^(运算结果和输入位数一样)
以上是关于FPGA学习笔记——Verilog基本语法的主要内容,如果未能解决你的问题,请参考以下文章
[从零开始学习FPGA编程-16]:快速入门篇 - 操作步骤2-4- Verilog HDL语言描述语言基本语法(软件程序员和硬件工程师都能看懂)