【Verilog数字系统设计(夏宇闻)3-----Verilog语法的基本概念1】

Verilog数字系统设计(夏宇闻)3-----Verilog语法的基本概念1

概述

Verilog HDL是一种用于数字系统设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型,也称为模块。Verilog HDL既是一种行为描述的语言也是一种结构描述的语言。这就是说,无论描述电路功能行为的模块或描述元器件或较大部件互联的模块都可以用Verilog语言来建立电路模型。如果按照一定的规则和风格编写,功能行为模块可以通过工具自动地转换为门级互联的结构模块。Verilog模型可以是实际电路的不同级别的抽象。

模型类型

抽象的级别和它们所对应的模型类型共有以下5种:

(1) 系统级(system-level):用语言提供的高级结构能够实现待设计模块的外部性能的模型。
(2) 算法级(algorithm-level):用语言提供的高级结构能够实现算法运行的模型。
(3) RTL级(registertransfer level):描述数据在寄存器之间的流动和如何处理、控制这些数据流动的模型。
以上三种都属于行为描述,只有RTL级才与逻辑电路有明确的对应关系。
(4) 门级(gate-level):描述逻辑门以及逻辑门之间连接的模型。与逻辑电路有确定的连接关系,以上4种数字系统设计工程师必须掌握。
(5) 开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。

一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一 个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块有交互联系的现存电路或激励信号源。利用VerilogHDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构,以此来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。

行为描述语言具有功能

Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。这种行为描述语言具有以下功能:

  1. 可描述顺序执行或并行执行的程序结构;
  2. 用延迟表达式或事件表达式来明确地控制过程的启动时间;
  3. 通过命名的事件来触发其他过程里的激活行为或停止行为;
  4. 提供了条件如if-else,case等循环程序结构;
  5. 提供了可带参数且非零延续时间的任务(task)程序结构;
  6. 提供了可定义新的操作符的函数结构(function);
  7. 提供了用于建立表达式的算术运算符、逻辑运算符、位运算符;
  8. Verilog HDL语言作为一种结构化的语言非常适用于门级和开关级的模型设计。

因其结构化的特点又使它具有以下功能:

1.提供了一套完整的表示组合逻辑的基本元件的原语(primitive);
2.提供了双向通路(总线)和电阻器件的原语;
3.可建立 MOS 器件的电荷分享和电荷衰减动态模型。
4.Verilog HDL 的构造性语句可以精确地建立信号的模型。 这是因为在 Verilog HDL 中 ,提供了延迟和输出强度的原语来建立精确程度很高的信号模型 。 信号值可以有不同的强度, 可以通过设定宽范围的模糊值来降低不确定条件的影响。

小结

(1) Verilog HDL程序是由模块构成的。 每个模块的内容都是位于 module 和 endmod­ule 两个语句之间 。 每个模块实现特定的功能 。
(2) 模块是可以进行层次嵌套的。 正因为如此, 才可以将大型的数字电路设计分割成不同的小模块来实现特定的功能 。
(3) 如果每个模块都是可以综合的, 则通过综合工具可以把它们的功能描述全都转换为最基本的逻辑单元描述,最后可以用 一个上层模块通过实例引用把这些模块连接起来 ,把它们整合成一个很大的逻辑系统。
(4) Verilog模块可以分为两种类型: 一种是为了让模块最终能生成电路的结构,另一种只是为了测试所设计电路的逻辑功能是否正确 。
(5) 每个模块要进行端口定义,并说明输入 、输出口 , 然后对模块的功能进行描述。
(6) Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。
(7) 除了endmodule语句外 ,每个语句和数据定义的最后必须有分号。
(8) 可以用/ * …… * /和//……对Verilog HDL程序的任何部分作注释。 一个好的 、有使用价值的源程序都应当加上必要的注释,以增强程序的可读性和可维护性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周猿猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值