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
            按位与&、或|、非~、异或^、同或~^(运算结果和输入位数一样


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM