北航夏宇闻verilog讲稿ppt
时间:2026-01-21
时间:2026-01-21
Verilog HDL 基础语法入门
第一讲
课程简介
目的: 简单介绍Verilog HDL语言和仿真工具 介绍讲课计划 介绍如何不断地学习新的有关知识
讲座中关于Verilog HDL的主要内容讲课内容主要包括:Verilog 的应用 Verilog 语言的组成部件 结构级的建模与仿真 行为级的建模与仿真 延迟参数的表示 Verilog 的测试平台: 怎样产生激励信号和控制信号 输出响应的产生、记录和验证
任务和函数 用户定义的元器件(primitives) 可综合风格的Verilog 建模
讲座中关于Verilog仿真工具的主要内容讲课内容主要包括: 如何对所做的设计进行编译和仿真 如何使用元器件库 如何用Verilog-XL命令行界面调试代码 如何用图形用户界面(GUI) 延迟的计算和标记 仿真性能建模 循环多次仿真
第二讲:Verilog 的应用目的: 了解用HDL语言设计数字逻辑的优点 了解Verilog 主要应用领域 了解Verilog 的发展历史 了解电路系统的不同层次的Verilog抽象
Verilog 的应用Verilog HDL是一种用于数字逻辑电路设计的语言:- 用Verilog HDL描述的电路设计就是该电路
的 Verilog HDL模型。 - Verilog HDL 既是一种行为描述的语言也 是一种结构描述的语言。这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的 Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们 对应的模型类型共有以下五种:
Verilog 的应用 系统级(system): 用高级语言结构实现设计模块的外 部性能的模 算法级(algorithmic): 用高级语言结构实现设计算 法的模型。 RTL级(Register Transfer Level): 描述数据在寄存 器之间流动和如何处理这些数据的模型。 门级(gate-level): 描述逻辑门以及逻辑门之间的连 接的模型。
开关级(switch-level): 描述器件中三极管和储存节 点以及它们之间连接的模型。
Verilog 的应用一个复杂电路的完整Verilog HDL模型是由若 个 Verilog HDL 模块构成的,每一个模块又 可以由若干个子模块构成。利用Verilog HDL语言结构所提供的这种功能就可以构 造一个模块间的清晰层次结构来描述极其复杂的大型 设计。
Verilog HDL行为描述语言作为一种结构化和 过程性的语言,其语法结构非常适合于算法级 和RTL级的模型设计。这种行为描述语言具有 以下八项功能:
Verilog 的应用 可描述顺序执行或并行执行的程序结构。 用延迟表达式或事件表达式来明确地控制过程的启动 时间。
通过命名的事件来触发其它过程里的激活行为或停止 行为。 提供了条件、if-else、case、循环程序结构。
提供了可带参数且非零延续时间的任务(task
)程序结 构。 提供了可定义新的操作符的函数结构(function)。
Verilog 的应用 提供了用于建立表达式的算术运算符、逻辑运算符、 位运算符。 Verilog HDL语言作为一种结构化的语言也非常适 合于门级和开关级的模型设计。 Verilog HDL的构造性语句可以精确地建立信号的 模型。这是因为在Verilog HDL中,提供了延迟和输出 强度的原语来建立精确程度很高的信号模型。信号值 可以有不同的的强度,可以通过设定宽范围的模糊值 来降低不确定条件的影响。
Verilog 的应用
Verilog HDL作为一种高级的硬件描述编程语言,有 着类似C语言的风格。其中有许多语句如:if语句、 case语句等和C语言中的对应语句十分相似。如果读者 已经掌握C语言编程的基础,那么学习 Verilog HDL并 不困难,我们只要对Verilog HDL某些语句的特殊方面 着重理解,并加强上机练习就能很好地掌握它,利用 它的强大功能来设计复杂的数字逻辑电路。下面我们 将对Verilog HDL中的基本语法逐一加以介绍。
模块的抽象技术指标:用文字表示 用算法表示 用高级行为的Verilog模块表示
行为综合 综合前仿真 逻辑综合
RTL/功能级:用可综合的Verilog模块表示
门级/结构级:用实例引用的Verilog模块表示
版图布局/物理级:用几何形状来表示
综合后仿真
布局布线
第三讲.简单的 Verilog HDL 模块目的: 通过简单的例子了解Verilog模块的基本构成 了解Verilog模块的层次结构和行为模块 了解Verilog模块的测试
简单的 Verilog HDL 模块下面先介绍几个简单的Verilog HDL程序,然后从中分 析Verilog HDL程序的特性。 例[2.1.1]: module adder ( count,sum,a,b,cin ); input [2:0] a,b; input cin; output count; output [2:0] sum; assign {count,sum}=a+b+cin; endmodule 这个例子描述了一个三位的加法器。从例子中可以看 出 整 个 Verilog HDL 程 序 是 嵌 套 在 module 和 endmodule声明语句里的。
简单的 Verilog HDL 模块例[2.1.2]: module compare ( equal,a,b ); output equal; //声明输出信号equal input [1:0] a,b; //声明输入信号a,b assign equal=(a==b)?1:0; /*如果两个输入信号相等,输出为1。否则为0*/ endmodule这个程序描述了一个比较器.在这个程序中 ,/*........*/ 和 //......... 表示注释部分 , 注释只 是为了方便程序员理解程序,对编译是不起作用的。
简单的 Verilog HDL 模块例[2.1.3]:module trist2(out,in,enable); output out; input in, enable; bufif1 mybuf(out,in,enable); endmodule 这个程序描述了一个三态驱动器。程序通过调用一个实 例元件bufif1来实现其功能。
…… 此处隐藏:671字,全部文档内容请下载后查看。喜欢就下载吧 ……上一篇:青少年成长小组计划书
下一篇:万科产品定位建议报告[1]