Verilog硬件设计语言思维导图

这篇博客总结了Verilog硬件描述语言的基础知识,包括逻辑值、数字进制、数据类型、运算符、关键字、赋值方式以及条件和循环语句。提供了详细的解释和例子,适合初学者复习使用。文中还附带了思维导图PDF下载链接,帮助读者更好地理解和掌握Verilog。
摘要由CSDN通过智能技术生成

Verilog硬件设计语言思维导图

暑假期间总结的,内容都比较基础,可用作基础复习!文章最下方有思维导图PDF版本下载链接!
再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。

01逻辑值

逻辑 0

  • 表示低电平,也就是对应我们电路的GND

逻辑 1

  • 表示高电平,也就是对应我们电路的VCC

逻辑 X

  • 表示未知,有可能是高电平,也有可能是低电平

逻辑 Z

  • 表示高阻态,外部没有激励信号是一个悬空状态

02数字进制格式

二进制

  • 4’b0101表示4位二进制数字0101

八进制

  • 缩写为o,以0开头,由0~7组成的数。如,0126,050000

十进制

  • 4’d2表示4位十进制数字2(二进制0010)

十六进制

  • 4’ha表示4位十六进制数字a(二进制1010),十六进制的计数方式为0, 1, 2…9, a, b, c, d, e, f, 最大计数为f( f:十进制表示为15)

03数据类型

寄存器类型

  • 寄存器类型表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值过程中被保存下来。

    • reg
    • integer
    • real

线网类型

  • 线网表示Verilog结构化元件间的物理连线。它的值由驱动元件的值决定,例如连续赋值
    或门的输出。如果没有驱动元件连接到线网,线网的缺省值为z(高阻态)。

    • wire
    • tri

参数类型

  • 参数其实就是一个常量,常被用于定义状态机的状态、数据位宽和延迟大小等,由于它可以在编译时修改参数的值,因此它又常被用于一些参数可调的模块中,使用户在实例化模块时,可以根据需要配置参数。

    • parameter

04运算符

算术运算符

    • a + b

      • a 加上 b
    • a - b

      • a 减去 b
    • a * b

      • a 乘以 b
  • /

    • a / b

      • a 除以 b
  • %

    • a % b

      • a 模除 b

关系运算符

    • a > b

      • a 大于 b
  • <

    • a < b

      • a 小于 b
  • =

    • a >= b

      • a 大于等于 b
  • <=

    • a <= b

      • a 小于等于 b
  • ==

    • a == b

      • a 等于 b
  • !=

    • a != b

      • a 不等于 b

逻辑运算符

  • !

    • !a

      • a的非, 如果a为0, 那么a的非是1。
  • &&

    • a && b

      • a 与上 b,如果a和b都为1,
        a&&b结果才为1, 表示真。
  • ||

    • a || b

      • a 或上 b,如果a或者b有一个
        为1, a||b结果为1, 表示真。

条件运算符

  • ? :

    • a ? b : c

      • 如果 a 为真, 就选择 b,否则选择 c

位运算符

  • ~

    • ~a

      • 将 a 的每个位进行取反
  • &

    • a & b

      • 将 a 的每个位与 b 相同的位进行相与
  • |

    • a | b

      • 将 a 的每个位与 b 相同的位进行相或
  • ^

    • a ^ b

      • 将 a 的每个位与 b 相同的位进行异或

移位运算符

  • <<

    • a << b

      • 将 a 左移 b 位
    • a >> b

      • 将 a 右移 b 位

拼接运算符

  • {}

    • {a,b}

      • 将 a 和 b 拼接起来, 作为一个新信号

05关键字

module

  • 模块开始定义

input

  • 输入端口定义

output

  • 输出端口定义

inout

  • 双向端口定义

parameter

  • 信号的参数定义

wire

  • wire信号定义

reg

  • reg信号定义

always

  • 产生reg信号语句的关键字

assign

  • 产生wire信号语句的关键字

begin

  • 语句的起始标志

end

  • 语句的结束标志

posedge/negedge

  • 时序电路的标志

case

  • Case语句起始标记

default

  • Case语句的默认分支标志

endcase

  • Case语句结束标记

if

  • if/else语句标记

else

  • if/else语句标记

for

  • for语句标记

endmodule

  • 模块结束定义

06赋值

阻塞赋值

  • b = a

    • 在一个always块中,后面的语句会受到前语句的影响

非阻塞赋值

  • b <= a

    • 非阻塞赋值是由时钟节拍决定

07条件语句

if_else语句

  • if(表达式)
    语句
  • if(表达式)
    语句1
    else
    语句2
  • if(表达式)
    语句1
    else
    语句2
    else
    语句3

case语句

  • case(表达式)
    条件1:语句1;
    条件2:语句2;

    endcase

  • casez(表达式)
    条件1:语句1;
    条件2:语句2;

    endcase

    • casez语句用来处理不考虑高阻值z的比较过程
  • casex(表达式)
    条件1:语句1;
    条件2:语句2;

    endcase

    • casex语句则将高阻值z和不定值视为不关心的情况

08循环语句

forever语句

  • forever语句
  • forever begin
    多条语句
    end
    (必须写在initial)

reprat语句

  • reprat(表达式)语句
  • reprat(表达式) begin
    多条语句
    end

while语句

  • while(表达式)语句
    (为真执行,为假不执行)
  • while(表达式) begin
    多条语句
    end

for语句

  • for(表达式1,表达式2,表达式3)
    语句

09结构说明语句

initial语句

  • initial begin
    多条语句
    end

always语句

  • always<时序控制><语句>

task说明语句

function说明语句

百度网盘链接:
链接:https://pan.baidu.com/s/1PsCMBRHhdaeddmAyxepjGQ
提取码:uipu
(需要请自取)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值