亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Verilog

Verilog 简介

Verilog 是一种硬件描述语言 (HDL)。 Verilog 是教育和商业用于设计 FPGA 和 ASIC 的两种语言之一。如果您不熟悉 FPGA 和 ASIC 的工作原理,您应该阅读此页面以了解 FPGA 和 ASIC 的介绍。 Verilog 和 VHDL 是最常用的两种 HDL。与 Java 或 C 等传统软件语言相比,Verilog 的工作方式非常不同。让我们从一个简单的例子开始。

首先,我们将创建一个 描述的 Verilog 文件 和门。作为复习,一个简单的 And Gate 有两个输入和一个输出。仅当两个输入都等于 1 时,输出才等于 1。下面是我们将使用 Verilog 描述的与门的图片。

安与门

让我们开始吧! Verilog 的一个基本单元称为线。现在让我们假设一条线只能是 0 或 1。这是一些基本的线逻辑:

  wire 	 and_temp;  
  assign and_temp = input_1 & input_2;

我们在第一行代码上创建了一个名为 and_temp 的连线。在代码的第二行,我们正在使用我们创建的电线并分配 电线。为了分配它,我们使用布尔 AND 函数,在 Verilog 中是与符号 (&)。如果您要描述上面显示的代码,您可能会说:“信号和_temp gets input_1 与 input_2 进行 AND 运算。”

Input_1 和 Input_2 是这段 Verilog 代码的输入。让我们显示输入和输出的完整列表。这是在 模块 中完成的 定义。 Module 是 Verilog 中的保留关键字,它显示了创建具有已定义输入和输出的代码块。

module example_and_gate 
  ( 
    input_1,
    input_2,
    and_result);
  
  input  input_1;
  input  input_2;
  output and_result;

这是您的基本模块。它定义了我们的名为 example_and_gate 的模块和 3 个信号、2 个输入和 1 个输出。让我们把所有东西放在一起完成文件。我们唯一缺少的是输出 and_result 的分配 .另一个注释,//在 Verilog 中用于注释。

///////////////////////////////////////////////////////////////////////////////
// File Downloaded from http://www.nandland.com
///////////////////////////////////////////////////////////////////////////////
module example_and_gate 
  ( 
    input_1,
    input_2,
    and_result);
  
  input  input_1;
  input  input_2;
  output and_result;

  wire 	 and_temp;  

  assign and_temp = input_1 & input_2;
  
  assign and_result = and_temp;

endmodule // example_and_gate

恭喜!你已经创建了你的第一个 Verilog 文件。

似乎您必须编写大量代码才能创建一个愚蠢的门?首先,盖茨并不愚蠢。其次,您是对的,HDL 需要大量代码来完成相对简单的任务。 Verilog 至少比 VHDL 更简洁,您可以对此感到欣慰。习惯这样一个事实,即在软件中做一些非常容易的事情会花费你在 HDL 中显着更长的时间,例如 Verilog 或 VHDL。但只要请一些软件人员尝试在 VGA 显示器上生成一个图像,以显示康威的生命游戏,然后看着他们惊奇地头晕目眩!顺便说一句,该视频是使用 FPGA 创建的。你很快就能做到这一点!


Verilog

  1. Verilog 教程
  2. Verilog 连接
  3. Verilog 作业
  4. Verilog 阻塞和非阻塞
  5. Verilog 函数
  6. Verilog 任务
  7. Verilog 时钟发生器
  8. Verilog 数学函数
  9. Verilog 时间格式
  10. Verilog 时间刻度范围
  11. Verilog 文件 IO 操作
  12. Verilog Hello World