Verilog 教程
Verilog 教程
Verilog HDL(简称 Verilog )是一种硬件描述语言,用于数字电路的系统设计。可对算法级、门级、开关级等多种抽象设计层次进行建模。 Verilog 继承了 C 语言的…
Verilog 简介
Verilog 具有很强的电路描述与建模能力,能从多个层次对数字系统进行描述和建模。因此,在简化硬件设计任务、提高设计效率与可靠性、语言易读性、层次化和结构化设计等方面展…
Verilog 环境搭建
学习 Verilog 做仿真时,可选择不同仿真环境。FPGA 开发环境有 Xilinx 公司的 ISE(目前已停止更新)…
Verilog 设计方法
设计方法 Verilog的设计多采用自上而下的设计方法(top-down)。即先定义顶层模块功能,进而分析要构成顶层模块的必要子模块;然后进一步对各个模块进行分解、设计,直到到达无…
Verilog 基础语法
格式 Verilog 是区分大小写的。 格式自由,可以在一行内编写,也可跨多行编写。 每个语句必须以分号为结束符。空白符(换行、制表、空格)都没有实际的意义,在编译阶段可…
Verilog 数值表示
数值种类 Verilog HDL 有下列四种基本的值来表示硬件电路中的电平逻辑: 0:逻辑 0 或 “假”…
Verilog 数据类型
Verilog 最常用的 2 种数据类型就是线网(wire)与寄存器(reg),其余类型可以理解为这两种数据类型的扩展或辅助。 线网(wi…
Verilog 表达式
表达式 表达式由操作符和操作数构成,其目的是根据操作符的意义得到一个计算结果。表达式可以在出现数值的任何地方使用。例如: a^b ; //a与b进行异或操作 address[9:0…
Verilog 编译指令
以反引号 ` 开始的某些标识符是 Verilog 系统编译指令。 编译指令为 Verilog 代码的撰写、编译、调试…
Verilog 连续赋值
关键词:assign, 全加器 连续赋值语句是 Verilog 数据流建模的基本语句,用于对 wire 型变量进行赋值。 格式如下…
Verilog 时延
关键词:时延, 惯性时延 连续赋值延时语句中的延时,用于控制任意操作数发生变化到语句左端赋予新值之间的时间延时。 时延一般是不可综合的。 寄存器的时延也是可以控制的,这部…
Verilog 过程结构
关键词:initial, always 过程结构语句有 2 种,initial 与 always 语句。它们是行…
Verilog 过程赋值
关键词:阻塞赋值,非阻塞赋值,并行 过程性赋值是在 initial 或 always 语句块里的赋值,赋值对象是寄存器、整数、实数等…
Verilog 时序控制
关键词:时延控制,事件触发,边沿触发,电平触发 Verilog 提供了 2 大类时序控制方法:时延控制和事件控制。事件控制主要分为边沿触发事件控制与电…
Verilog 语句块
关键词:顺序块,并行块,嵌套块,命名块,disable Verilog 语句块提供了将两条或更多条语句组成语法结构上相当于一条一句的机制。主要包括两种类型:顺序块和并行块…
Verilog 条件语句
关键词:if,选择器 条件语句 条件(if)语句用于控制执行语句要根据条件判断来确定是否执行。 条件语句用关键字 if 和 else 来声明…
Verilog 多路分支语句
关键词:case,选择器 case 语句是一种多路条件分支的形式,可以解决 if 语句中有多个条件选项时使用不方便的问题。 case 语句 …
Verilog 循环语句
关键词:while, for, repeat, forever Verilog 循环语句有 4 种类型,分别是 …
Verilog 过程连续赋值
关键词:deassign,force,release 过程连续赋值是过程赋值的一种。这种赋值语句能够替换其他所有 wire 或 reg 的赋…
Verilog 模块与端口
关键词:模块,端口,双向端口,PAD 结构建模方式有 3 类描述语句: Gate(门级)例化语句,UDP (用户定义原语)例化语句和…