Verilog编程

  • Post author:
  • Post category:其他




什么是Verilog

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

  1. 系统级(system): 用语言提供的高级结构实现设计模块外部性能的模型。

  2. 算法级(algorithm): 用语言提供的高级结构实现算法运行的模型。

  3. RTL级(Register Transfer Level):描述数据在寄存器之间流动和如何处理和控制这些数据流动的模型。

  4. 门级(gate-level):描述逻辑门以及逻辑门之间的连接的模型。

  5. 开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。



门电路

  1. 非门
module top_module( input in, output out );
	assign out=~in;
endmodule

在这里插入图片描述

  1. 与门
module top_module( 
    input a, 
    input b, 
    output out );
	assign out=a&b;
endmodule

在这里插入图片描述



逻辑相关

  1. 组合逻辑:

    创建一个位宽,2比1的多路复用器。当sel=0时,请选择a。当sel=1时,选择b。
module top_module( 
    input a, b, sel,
    output out ); 
     assign out = (sel) ? b : a;

endmodule

在这里插入图片描述

  1. 完整加法器

    创建一个完整的加法器。一个完整的加法器添加三个位(包括随身行李),并产生一个总和和进行。

    代码相关内容
module top_module( 
    input a, b, cin,
    output cout, sum );
    assign{cout,sum} = a + b + cin;
endmodule

在这里插入图片描述



版权声明:本文为weixin_43281232原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。