美文网首页
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