美文网首页
Verilog HDL基本结构

Verilog HDL基本结构

作者: 海青简书号 | 来源:发表于2016-11-08 20:45 被阅读246次

通过上一篇《VerilogHDL入门》,我们大致了解Verilog的一个基本结构,即:

//**模块名定义**
module mux2_1(a, b, s, y); 

//**引脚方向定义
  input a, b, s; 
  output y;
//**寄存器、导线定义
  reg result; //reg 表示寄存器 

//结构或行为描述
  always @(a, b, s) 
  begin 
    if(!s)  result = a; 
    else   result = b; 
  end

//信号连接
  assign y = result;

//**模块定义结束
endmodule

本篇主要说的是中间部分的“结构或行为描述”
这一部分是整个模块设计的重点,但语法很简单。能够使用的语句只有三种:

1、assign = 
2、always @(  )
3、元件例化

这三种描述方式:

1、可以多次使用
2、相互之间不可嵌套
3、相互之间没有时间先后

再解释一遍:由于Verilog表述module的功能、结构,类似生活中的商业合同条款,所以这些“条款”是没有先后顺序的。module里,所有的“条款”都只能用上面三种语句块的形式。上面的例子中,assign可以和always语句块对调顺序,并没有任何不同。

1、assign =     //  一般用于表述结构连接、数据流,也可以表述行为
2、always @(  ) //  行为描述
3、元件例化      //  结构描述

相关文章

网友评论

      本文标题:Verilog HDL基本结构

      本文链接:https://www.haomeiwen.com/subject/knlqyttx.html